Servidor MCP

MONARK

tech.monarkgate/monark
Datos y analítica Ciencia e ingeniería Público y accesible MCP 2025-11-25

Qué hace este MCP

Performs conformal calibration and coverage-gated decisions, along with analyses of Bitcoin signals and interbank liquidation cascades.

attest
projection of a committed Shōgen-verified witness (Binance BTCUSDT, self-notarized); the verifier is NOT executed at call time.
Esquema de entrada
{'type': 'object', 'properties': {}, 'additionalProperties': False}
Esquema de salida
{'type': 'object', 'required': ['price', 'provenance', 'label'], 'properties': {'label': {'type': 'string', 'description': 'Honesty label carried OUTSIDE the frozen price (K-1): the witness is demonstrative, not probative.'}, 'price': {'type': 'object', 'required': ['schema_version', 'subject', 'attestor', 'residual', 'transport', 'utterance', 'observed_at', 'octets_recalcules', 'verifier_revision'], 'properties': {'subject': {'type': 'string', 'pattern': '^[ -~]+$', 'minLength': 1}, 'attestor': {'type': 'array', 'items': {'type': 'object', 'required': ['identity', 'key'], 'properties': {'key': {'type': 'string', 'pattern': '^([0-9a-f]{2})+$'}, 'identity': {'type': 'string', 'pattern': '^[ -~]+$', 'minLength': 1}}, 'additionalProperties': False}, 'minItems': 1, 'uniqueItems': True}, 'residual': {'type': 'array', 'items': {'type': 'string', 'pattern': '^[ -~]+$', 'minLength': 1}, 'minItems': 1, 'uniqueItems': True}, 'transport': {'type': 'string', 'pattern': '^[ -~]+$', 'minLength': 1}, 'utterance': {'type': 'object', 'required': ['hash'], 'properties': {'hash': {'type': 'string', 'pattern': '^[0-9a-f]{64}$'}, 'bytes': {'type': 'string', 'pattern': '^([0-9a-f]{2})*$'}}, 'additionalProperties': False}, 'observed_at': {'type': 'object', 'required': ['clock', 'instant'], 'properties': {'clock': {'type': 'string', 'pattern': '^[ -~]+$', 'minLength': 1}, 'instant': {'type': 'integer', 'minimum': 0}}, 'additionalProperties': False}, 'schema_version': {'type': 'string', 'pattern': '^\\d+\\.\\d+\\.\\d+$'}, 'sens_emis_digest': {'type': 'string', 'pattern': '^[0-9a-f]{64}$'}, 'octets_recalcules': {'type': 'boolean'}, 'verifier_revision': {'type': 'string', 'pattern': '^[ -~]+$', 'minLength': 1}}, 'additionalProperties': False}, 'provenance': {'type': 'object', 'required': ['source_lot_sha256', 'source_verdict_sha256', 'shogen_head_sha'], 'properties': {'shogen_head_sha': {'type': 'string', 'pattern': '^[0-9a-f]{40}$', 'description': 'Source revision the fixtures were extracted from (pinned).'}, 'source_lot_sha256': {'type': 'string', 'pattern': '^[0-9a-f]{64}$', 'description': 'sha256 of the committed witness lot (CBOR), recomputed from the bytes.'}, 'source_verdict_sha256': {'type': 'string', 'pattern': '^[0-9a-f]{64}$', 'description': 'sha256 of the committed verifier output (UTF-8), recomputed from the bytes.'}}, 'additionalProperties': False}}, 'additionalProperties': False}
calibrate
split-conformal quantile at miscoverage α over caller-supplied nonconformity scores. MONARK does not see, store, or verify the caller's data or model, and does not validate that the supplied numbers are nonconformity scores of any model. Marginal 1−α coverage holds ONLY for future points exchangeable with the supplied scores; non-exchangeable data (e.g. distribution-shifted or time-ordered) voids it. Never a probability of being right.
Esquema de entrada
{'type': 'object', 'required': ['scores', 'alpha', 'nMin'], 'properties': {'nMin': {'type': 'integer', 'description': 'Minimum calibration count (>= 1); n < nMin fails closed to under_calib.'}, 'alpha': {'type': 'number', 'description': 'Target miscoverage in the open interval (0,1).'}, 'scores': {'type': 'array', 'items': {'type': 'number'}, 'maxItems': 10000, 'description': 'Caller-supplied nonconformity scores (BYO: the caller owns the score function; MONARK stays agnostic).'}}, 'additionalProperties': False}
Esquema de salida
{'type': 'object', 'required': ['qhat', 'n', 'alpha', 'method', 'set_digest', 'label', 'reason'], 'properties': {'n': {'type': 'integer', 'description': 'The number of supplied scores (echoed).'}, 'qhat': {'type': ['number', 'null'], 'description': 'The conformal quantile qÌ\x82, or null when the calibration is insufficient (fail-closed).'}, 'alpha': {'type': 'number', 'description': 'The target miscoverage (echoed).'}, 'label': {'type': 'string', 'description': 'Honesty label (K-1): the marginal coverage holds only under exchangeability with the supplied scores.'}, 'method': {'const': 'split', 'description': 'The conformal method â\x80\x94 always split.'}, 'reason': {'type': ['string', 'null'], 'description': 'under_calib when qÌ\x82 is null, else null on success.'}, 'set_digest': {'type': 'string', 'pattern': '^[0-9a-f]{64}$', 'description': 'calibDigest(scores): recalculable by reference; the audit tie to verdict.calib_digest (C2).'}}, 'additionalProperties': False}
cascade
Estimated liquidable amount from the real UKEMI cascade primitives (imported, never re-implemented): an Eisenberg-Noe clearing of the interbank system (L, e) with alpha=beta=1 yields the largest clearing vector L*; each node is then read as a leveraged position — collateral is its cleared balance-sheet value (external assets plus interbank receipts under L*), debt is its nominal obligations, liquidation threshold K=1 — and liquidableAmount sums the debts of the nodes whose cleared value, once shocked by the caller-carried 24h fraction, no longer covers their obligations. Shocking the whole cleared value is a v0 simplification; no source supports shocking interbank receivables. yhat is that liquidable amount: a monetary quantity in the reference asset, a single point that HIKAE conformalizes downstream — no guarantee, no score. Downstream, no cascade calibration is committed; the gate abstains (under_calib) on this class. This cascade tool is v0, replaced at U-5.
Esquema de entrada
{'type': 'object', 'required': ['L', 'e', 'shock', 'producedAt'], 'properties': {'L': {'type': 'array', 'items': {'type': 'array', 'items': {'type': 'number'}, 'maxItems': 64}, 'maxItems': 64, 'description': 'Nominal interbank liabilities matrix L[i][j] = what node i owes node j. Square, entries >= 0, zero diagonal.'}, 'e': {'type': 'array', 'items': {'type': 'number'}, 'maxItems': 64, 'description': 'External assets (liquidation value) per node at the clearing date. One value per node.'}, 'shock': {'type': 'number', 'description': '24h collateral price shock fraction in [0,1] â\x80\x94 a declared fixture parameter, not a dynamics model.'}, 'producedAt': {'type': 'string', 'description': 'Caller-carried RFC3339 instant, injected for hash stability (D4); the tool reads no clock.'}}, 'additionalProperties': False}
Esquema de salida
{'type': 'object', 'required': ['schema_version', 'task_class', 'yhat', 'predictor_id', 'produced_at'], 'properties': {'yhat': {'type': ['string', 'number']}, 'task_class': {'type': 'string', 'pattern': '^[ -~]+$', 'minLength': 1}, 'produced_at': {'type': 'string', 'format': 'date-time'}, 'predictor_id': {'type': 'string', 'pattern': '^[ -~]+$', 'minLength': 1}, 'schema_version': {'type': 'string', 'pattern': '^\\d+\\.\\d+\\.\\d+$'}, 'features_digest': {'type': 'string', 'pattern': '^[0-9a-f]{64}$'}}, 'additionalProperties': False}
gate
Coverage-gated decision from the real HIKAE L3 policy (commit/defer/abstain) over a caller-carried authorization budget B_t. Dispatches on task_class. For 'btc-dir-15m' it conformalizes against a committed synthetic calibration derived from the HIKAE S2a instrument (seed 101, n=300 draw), declared synthetic — a plumbing fixture, not a measured predictor. For 'cascade-liquidable-24h' no cascade calibration is committed; the gate abstains (under_calib) on this class. For 'stable-run-velocity-24h' (Narabi: a redemption-flow velocity forecast) the gate holds a committed stable-run velocity calibration for the USDe synthetic-dollar-whitelisted-redeem population (key narabi:persistence-v2@eip155:1/erc20:0x4c9edd5852cd905f086c759e8383e09bff1e68b3) over calm-window redemption flow; coverage is stated under the split-conformal bound of Barber, Candes, Ramdas and Tibshirani 2023 (Thm 2, unit weights): at least 1 − α minus the average total-variation gap between calibration windows and the next one; that gap is not estimated here and the calibration is measured non-stationary across half-years, so 1 − α is the coverage only if that gap is zero (exchangeability), which is not assumed here; no coverage is measured; for any other population, no stable-run velocity calibration is committed for this population; the gate abstains (under_calib). For 'liquidation-eligible-coverage' (Ukemi: a per-account liquidable-amount class, class A only) the served region is a conformal upper bound on the liquidable amount for the calibrated class; the lower edge is 0 by construction, not a calibrated bound; abstains (under_calib) outside it; this class requires alpha = 0.01, nMin = 100; calibrated on one recorded episode; no coverage is claimed on any other event; the H-3 exchangeability check is a report, a YES licenses nothing more; the bound holds only if yhat was produced by the frozen close-factor rule on a mono-collateral WETH account at the first crossing, which the gate does not check. When the caller instead supplies a `calibration` (its own nonconformity scores plus a `mode`: `interval` ⇒ region [yhat - q̂, yhat + q̂], or `set` ⇒ a conformal set over caller `candidates`), the gate conformalizes against THOSE caller-supplied scores (BYO): split-conformal quantile at miscoverage α over caller-supplied nonconformity scores. MONARK does not see, store, or verify the caller's data or model, and does not validate that the supplied numbers are nonconformity scores of any model. Marginal 1−α coverage holds ONLY for future points exchangeable with the supplied scores; non-exchangeable data (e.g. distribution-shifted or time-ordered) voids it. Never a probability of being right. A caller-carried `attested` price must declare a subject consistent with the committed task class (exact committed-URL membership; BYO classes do not accept `attested` in P1); the attestation is carried by the caller and is not re-verified at call time (the verifier is not executed here); `attest` only projects the committed witness — verify a caller-carried attestation offline with the Shōgen verifier; no temporal binding in P1. The gate only emits a decision; it never calls the named tool.
Esquema de entrada
{'type': 'object', 'required': ['prediction', 'params'], 'properties': {'params': {'type': 'object', 'required': ['remainingBudget', 'bFloor', 'tau', 'tauInterval', 'alpha', 'nMin', 'intent', 'tool', 'clockOpen'], 'properties': {'tau': {'type': 'number', 'description': 'Set-size threshold for the `set` path (>= 0).'}, 'nMin': {'type': 'integer', 'description': 'Minimum calibration count (>= 1).'}, 'tool': {'type': 'string', 'description': 'The NAMED gated tool (echoed, never invoked â\x80\x94 D0/D1).'}, 'alpha': {'type': 'number', 'description': 'Target miscoverage in (0,1).'}, 'bFloor': {'type': 'number', 'description': 'B_floor threshold (>= 0).'}, 'intent': {'type': ['string', 'number', 'null'], 'description': 'The intent tested against the region.'}, 'clockOpen': {'type': 'boolean', 'description': 'Whether the coverage window is still open (caller-owned).'}, 'calibration': {'type': 'object', 'required': ['scores', 'mode'], 'properties': {'mode': {'enum': ['interval', 'set'], 'type': 'string', 'description': '`interval` â\x87\x92 region [yhat - qÌ\x82, yhat + qÌ\x82]; `set` â\x87\x92 conformal set over `candidates`.'}, 'scores': {'type': 'array', 'items': {'type': 'number'}, 'maxItems': 10000, 'description': 'Caller-supplied nonconformity scores (interval mode requires all >= 0).'}, 'candidates': {'type': 'array', 'items': {'type': 'object', 'required': ['label', 'score'], 'properties': {'label': {'type': 'string', 'description': 'Candidate label (printable ASCII, unique, no `|`).'}, 'score': {'type': 'number', 'description': "The candidate's nonconformity score."}}, 'additionalProperties': False}, 'maxItems': 10000, 'description': 'Set-mode candidate labels with their nonconformity scores (required and non-empty when mode = set).'}}, 'description': "OPTIONAL BYO calibration (ADR-M007 D7): caller-supplied nonconformity scores + region mode. Present â\x87\x92 the gate conformalizes on the caller's model, not a committed class.", 'additionalProperties': False}, 'tauInterval': {'type': 'number', 'description': 'Width threshold for the `interval` path (>= 0).'}, 'remainingBudget': {'type': 'number', 'description': 'B_t â\x80\x94 remaining authorization capacity (caller-owned, D6).'}}, 'additionalProperties': False}, 'attested': {'type': 'object', 'required': ['schema_version', 'subject', 'attestor', 'residual', 'transport', 'utterance', 'observed_at', 'octets_recalcules', 'verifier_revision'], 'properties': {'subject': {'type': 'string', 'pattern': '^[ -~]+$', 'minLength': 1}, 'attestor': {'type': 'array', 'items': {'type': 'object', 'required': ['identity', 'key'], 'properties': {'key': {'type': 'string', 'pattern': '^([0-9a-f]{2})+$'}, 'identity': {'type': 'string', 'pattern': '^[ -~]+$', 'minLength': 1}}, 'additionalProperties': False}, 'minItems': 1, 'uniqueItems': True}, 'residual': {'type': 'array', 'items': {'type': 'string', 'pattern': '^[ -~]+$', 'minLength': 1}, 'minItems': 1, 'uniqueItems': True}, 'transport': {'type': 'string', 'pattern': '^[ -~]+$', 'minLength': 1}, 'utterance': {'type': 'object', 'required': ['hash'], 'properties': {'hash': {'type': 'string', 'pattern': '^[0-9a-f]{64}$'}, 'bytes': {'type': 'string', 'pattern': '^([0-9a-f]{2})*$'}}, 'additionalProperties': False}, 'observed_at': {'type': 'object', 'required': ['clock', 'instant'], 'properties': {'clock': {'type': 'string', 'pattern': '^[ -~]+$', 'minLength': 1}, 'instant': {'type': 'integer', 'minimum': 0}}, 'additionalProperties': False}, 'schema_version': {'type': 'string', 'pattern': '^\\d+\\.\\d+\\.\\d+$'}, 'sens_emis_digest': {'type': 'string', 'pattern': '^[0-9a-f]{64}$'}, 'octets_recalcules': {'type': 'boolean'}, 'verifier_revision': {'type': 'string', 'pattern': '^[ -~]+$', 'minLength': 1}}, 'additionalProperties': False}, 'prediction': {'type': 'object', 'required': ['schema_version', 'task_class', 'yhat', 'predictor_id', 'produced_at'], 'properties': {'yhat': {'type': ['string', 'number']}, 'task_class': {'type': 'string', 'pattern': '^[ -~]+$', 'minLength': 1}, 'produced_at': {'type': 'string', 'format': 'date-time'}, 'predictor_id': {'type': 'string', 'pattern': '^[ -~]+$', 'minLength': 1}, 'schema_version': {'type': 'string', 'pattern': '^\\d+\\.\\d+\\.\\d+$'}, 'features_digest': {'type': 'string', 'pattern': '^[0-9a-f]{64}$'}}, 'additionalProperties': False}}, 'additionalProperties': False}
Esquema de salida
{'type': 'object', 'required': ['schema_version', 'action', 'allow', 'tool', 'intent', 'verdict', 'remaining_budget', 'reason'], 'properties': {'tool': {'type': 'string', 'pattern': '^[ -~]+$', 'minLength': 1}, 'allow': {'type': 'boolean'}, 'action': {'enum': ['commit', 'defer', 'abstain']}, 'intent': {'type': ['string', 'number', 'null']}, 'reason': {'enum': ['covered', 'set_too_large', 'interval_too_wide', 'intent_not_in_region', 'under_calib', 'no_label_schema', 'budget_exhausted', 'clock_expired', 'upstream_timeout', 'attestation_absent', 'attestation_refused', 'binding_broken', 'non_evaluable']}, 'verdict': {'type': 'object', 'required': ['schema_version', 'task_class', 'method', 'alpha', 'n_calib', 'region', 'qhat', 'abstain', 'reason', 'residual', 'calib_digest', 'produced_at'], 'properties': {'qhat': {'type': ['number', 'null']}, 'alpha': {'type': 'number', 'exclusiveMaximum': 1, 'exclusiveMinimum': 0}, 'method': {'enum': ['split', 'hac-cp']}, 'reason': {'enum': ['covered', 'set_too_large', 'interval_too_wide', 'intent_not_in_region', 'under_calib', 'no_label_schema', 'budget_exhausted', 'clock_expired', 'upstream_timeout', 'attestation_absent', 'attestation_refused', 'binding_broken', 'non_evaluable']}, 'region': {'oneOf': [{'type': 'object', 'required': ['kind', 'labels', 'label_schema'], 'properties': {'kind': {'const': 'set'}, 'labels': {'type': 'array', 'items': {'type': 'string', 'pattern': '^[ -~]+$'}}, 'label_schema': {'type': 'string', 'pattern': '^[ -~]+$', 'minLength': 1}}, 'additionalProperties': False}, {'type': 'object', 'required': ['kind', 'lo', 'hi'], 'properties': {'hi': {'type': 'number'}, 'lo': {'type': 'number'}, 'kind': {'const': 'interval'}}, 'additionalProperties': False}]}, 'scores': {'type': 'array', 'items': {'type': 'number'}}, 'abstain': {'type': 'boolean'}, 'n_calib': {'type': 'integer', 'minimum': 0}, 'residual': {'type': 'array', 'items': {'type': 'string', 'pattern': '^[ -~]+$'}}, 'task_class': {'type': 'string', 'pattern': '^[ -~]+$', 'minLength': 1}, 'produced_at': {'type': 'string', 'format': 'date-time'}, 'calib_digest': {'type': 'string', 'pattern': '^[0-9a-f]{64}$'}, 'schema_version': {'type': 'string', 'pattern': '^\\d+\\.\\d+\\.\\d+$'}}, 'additionalProperties': False}, 'schema_version': {'type': 'string', 'pattern': '^\\d+\\.\\d+\\.\\d+$'}, 'remaining_budget': {'type': 'number'}}, 'additionalProperties': False}
Modificado
gate
27 de September de 2026 a las 02:50
Modificado
cascade
25 de September de 2026 a las 03:00
Modificado
gate
25 de September de 2026 a las 03:00
Modificado
gate
19 de September de 2026 a las 02:48
Añadido
calibrate
17 de September de 2026 a las 12:55
Añadido
attest
17 de September de 2026 a las 12:55
Añadido
cascade
17 de September de 2026 a las 12:55
Añadido
gate
17 de September de 2026 a las 12:55