{
  "meta": {
    "attribution": "Anchor Terminal (https://www.anchorterminal.com)",
    "docs": "https://www.anchorterminal.com/docs/",
    "generatedAt": "2026-10-04",
    "license": "CC-BY-4.0",
    "method": "https://www.anchorterminal.com/benchmark/",
    "methodology": "0.3",
    "openapi": "https://www.anchorterminal.com/openapi.json",
    "preview": false,
    "run": "2026-10-01",
    "runLabel": "October 2026 research run"
  },
  "tool": {
    "category": "",
    "endpoint": "https://www.routescore.io/api/mcp",
    "jsonUrl": "https://www.anchorterminal.com/api/v1/tools/routescore-mcp.json",
    "kind": "mcp",
    "listed": "indexed",
    "liveUrl": "https://www.anchorterminal.com/api/v1/live/routescore-mcp.json",
    "markdownUrl": "https://www.anchorterminal.com/tools/routescore-mcp.md",
    "mcpTools": {
      "check": {
        "checker": "anchor-check/1.0",
        "totalTokens": 9962,
        "counts": {
          "error": 0,
          "note": 0,
          "warn": 4
        },
        "findings": [
          {
            "rule": "TC13",
            "severity": "warn",
            "tool": "quote_lrt_slashing",
            "message": "underlying_avs_exposure (object with no properties)",
            "fix": "Declare the properties (or additionalProperties with a schema) and the array's items."
          },
          {
            "rule": "TC13",
            "severity": "warn",
            "tool": "record_execution",
            "message": "records[] (object with no properties)",
            "fix": "Declare the properties (or additionalProperties with a schema) and the array's items."
          },
          {
            "rule": "TC18",
            "severity": "warn",
            "tool": "quote_bridge_refund",
            "message": "readOnlyHint is true but the name says \"refund\"",
            "fix": "If it changes anything, readOnlyHint must be false."
          },
          {
            "rule": "TC22",
            "severity": "warn",
            "tool": "review_public_transaction",
            "message": "the definition is about 1,629 tokens",
            "fix": "Trim the description and parameter docs, or split the tool."
          }
        ]
      },
      "checkedAt": "2026-10-04T22:25:25Z",
      "count": 11,
      "note": "answered without the initialize handshake",
      "schemaTokens": 9962,
      "status": "ok",
      "tools": [
        {
          "name": "check_swap",
          "title": "Check swap before signing (pre-sign evidence)",
          "description": "CALL THIS BEFORE SIGNING AN ONCHAIN SWAP. Read-only pre-sign evidence check: given notional, chain, and an optional route and token, it returns a modeled route-quality grade, price-impact / slippage band, modeled MEV/execution exposure where observable, and a token registry read (recognized vs unverified), composed into a clear / caution / unsupported verdict with machine-readable reasons and caveats. Point-in-time decision support: it does not execute, route funds, sign, or promise an outcome — the agent still decides. Recognition is not safety, sellability, redemption, rights, liquidity, or investment-quality verification; unverified tokens, unknown order flow, and uncalibrated sequencer ordering downgrade the verdict rather than reading as safe. Relay the verdict, reasons, and caveats verbatim.",
          "inputSchema": {
            "additionalProperties": false,
            "properties": {
              "chain_id": {
                "description": "Chain ID. 1 = Ethereum (default), 4663 = Robinhood Chain.",
                "exclusiveMinimum": 0,
                "type": "integer"
              },
              "notional_usd": {
                "description": "Trade size in USD.",
                "exclusiveMinimum": 0,
                "maximum": 1000000000000,
                "type": "number"
              },
              "route": {
                "description": "Route id to score, e.g. 'uniswap-v3-rho'. Omit to score the chain's default public route.",
                "type": "string"
              },
              "slippage_allowance_bps": {
                "description": "Slippage allowance in bps. Default 50.",
                "maximum": 10000,
                "minimum": 0,
                "type": "number"
              },
              "token_in": {
                "description": "Token being sold (address or symbol).",
                "type": "string"
              },
              "token_out": {
                "description": "Token being received (address or symbol) — checked against Routescore's recognized-token registry (recognized vs unverified). RHC tokenized stock/ETF address-level recognition uses the Routescore registry contract address; symbol-only input is downgraded to unverified. Symbol-only recognition is not contract verification. Recognition is not a safety, sellability, rights, redemption, liquidity, or investment-quality verdict; unverified means Routescore has not confirmed the token.",
                "type": "string"
              }
            },
            "required": [
              "notional_usd"
            ],
            "type": "object"
          },
          "outputSchema": {
            "additionalProperties": true,
            "properties": {
              "caveats": {
                "description": "Caveat sentences to relay verbatim.",
                "items": {
                  "type": "string"
                },
                "type": "array"
              },
              "chain": {
                "additionalProperties": true,
                "description": "Resolved chain (chainId, name, supportLevel), or null.",
                "type": [
                  "object",
                  "null"
                ]
              },
              "commercial_disclosure": {
                "additionalProperties": true,
                "description": "No-pay-to-rank disclosure (paid_placement, score_influenced_by_partner, message).",
                "type": "object"
              },
              "confidence_band": {
                "additionalProperties": true,
                "description": "Confidence band (low, high, unit, label); low/high are null when not calibrated.",
                "type": "object"
              },
              "evidence_bundle_id": {
                "description": "Id of the evidence bundle; null when not persisted.",
                "type": [
                  "string",
                  "null"
                ]
              },
              "market_regime": {
                "additionalProperties": true,
                "description": "Reference-market open/closed regime evidence (additive).",
                "type": "object"
              },
              "methodology_version": {
                "description": "Methodology-version string, e.g. routescore.public_api.v1.",
                "type": "string"
              },
              "reasons": {
                "description": "Stable reason codes; open vocabulary — tolerate unknown codes.",
                "items": {
                  "type": "string"
                },
                "type": "array"
              },
              "record_id": {
                "description": "Id of the persisted evidence record; null if persistence failed.",
                "type": [
                  "string",
                  "null"
                ]
              },
              "record_output_hash": {
                "description": "sha256:\u003chex\u003e content hash of the record; null if persistence failed.",
                "type": [
                  "string",
                  "null"
                ]
              },
              "reference_price": {
                "additionalProperties": true,
                "description": "Basis-regime gap-state evidence for tokenized assets (additive).",
                "type": "object"
              },
              "route": {
                "additionalProperties": true,
                "description": "Scored route with modeled grade / quality / leak / slippage fields, or null.",
                "type": [
                  "object",
                  "null"
                ]
              },
              "score_state": {
                "description": "Overall state of the response.",
                "enum": [
                  "valid",
                  "degraded",
                  "partial",
                  "stale",
                  "unsupported",
                  "unavailable"
                ],
                "type": "string"
              },
              "source_freshness": {
                "additionalProperties": true,
                "description": "Per-source freshness reading (state, checked_at, max_age_seconds, sources[]).",
                "type": "object"
              },
              "token_safety": {
                "additionalProperties": true,
                "description": "Registry recognition read: recognized vs unverified, with flags and caveats. Recognition only.",
                "type": "object"
              },
              "trust": {
                "additionalProperties": true,
                "description": "The full nested trust envelope; additionally carries generated_at and decision_support_only.",
                "type": "object"
              },
              "verdict": {
                "description": "Advisory pre-sign verdict.",
                "enum": [
                  "clear",
                  "caution",
                  "unsupported"
                ],
                "type": "string"
              }
            },
            "type": "object"
          },
          "annotations": {
            "destructiveHint": false,
            "idempotentHint": false,
            "openWorldHint": true,
            "readOnlyHint": false,
            "title": "Check swap before signing (pre-sign evidence)"
          }
        },
        {
          "name": "get_preflight_record",
          "title": "Retrieve pre-sign evidence record",
          "description": "Retrieve the durable evidence record a prior check_swap call persisted — the \"record\" leg of plan → preflight → execute → record. Fetch one record by the record_id that check_swap returned. Owner-scoped: the configured key only ever sees records belonging to its own account. The record embeds the evaluated check_swap response payload (including its evidence_bundle_id, before the additive record_id / record_output_hash linkage fields) plus a canonical-JSON SHA-256 integrity hash (record_id and recorded_at excluded) so the evidence can be re-verified offline, and includes the stored evidence bundle. Read-only evidence: record creation rejects known execution-material keys (calldata, transaction payloads, signing material) and drops identity-shaped labels from the actor context.",
          "inputSchema": {
            "additionalProperties": false,
            "properties": {
              "record_id": {
                "description": "The record id returned by check_swap (its record_id field).",
                "minLength": 1,
                "type": "string"
              }
            },
            "required": [
              "record_id"
            ],
            "type": "object"
          },
          "outputSchema": {
            "additionalProperties": true,
            "properties": {
              "caveats": {
                "description": "Caveat sentences to relay verbatim.",
                "items": {
                  "type": "string"
                },
                "type": "array"
              },
              "commercial_disclosure": {
                "additionalProperties": true,
                "description": "No-pay-to-rank disclosure (paid_placement, score_influenced_by_partner, message).",
                "type": "object"
              },
              "confidence_band": {
                "additionalProperties": true,
                "description": "Confidence band (low, high, unit, label); low/high are null when not calibrated.",
                "type": "object"
              },
              "evidence_bundle": {
                "additionalProperties": true,
                "description": "The stored evidence bundle, or null when none was captured.",
                "type": [
                  "object",
                  "null"
                ]
              },
              "methodology_version": {
                "description": "Methodology-version string, e.g. routescore.public_api.v1.",
                "type": "string"
              },
              "record": {
                "additionalProperties": true,
                "description": "The full routescore.preflight_record.v0 document (schema, record_id, recorded_at, request, actor, policy_ref, response, integrity).",
                "type": "object"
              },
              "score_state": {
                "description": "Overall state of the response.",
                "enum": [
                  "valid",
                  "degraded",
                  "partial",
                  "stale",
                  "unsupported",
                  "unavailable"
                ],
                "type": "string"
              },
              "source_freshness": {
                "additionalProperties": true,
                "description": "Per-source freshness reading (state, checked_at, max_age_seconds, sources[]).",
                "type": "object"
              },
              "trust": {
                "additionalProperties": true,
                "description": "The full nested trust envelope; additionally carries generated_at and decision_support_only.",
                "type": "object"
              }
            },
            "type": "object"
          },
          "annotations": {
            "destructiveHint": false,
            "idempotentHint": true,
            "openWorldHint": false,
            "readOnlyHint": true,
            "title": "Retrieve pre-sign evidence record"
          }
        },
        {
          "name": "record_execution",
          "title": "Record immutable execution evidence",
          "description": "Persist 1-100 already-built execution_record.v1 documents as immutable, personal-account post-trade evidence. Requires a stable idempotency_key; an exact replay returns the original result and reuse with different content fails closed. Pro tier, owner-scoped, and bounded by the MCP transport byte limit. This tool never accepts calldata, signing material, routes funds, executes a transaction, applies reviewer overrides, or exposes another tenant. Invalid rows are recorded only as redacted rejection reasons and are never echoed.",
          "inputSchema": {
            "additionalProperties": false,
            "properties": {
              "idempotency_key": {
                "description": "Stable caller key for this exact records array. Reuse it only for an exact retry.",
                "maxLength": 200,
                "minLength": 1,
                "pattern": "^(?=.*\\S)[^\\u0000-\\u001F\\u007F]+$",
                "type": "string"
              },
              "records": {
                "description": "One to 100 complete routescore.execution_record.v1 documents. The MCP argument envelope is additionally capped at 32 KiB.",
                "items": {
                  "additionalProperties": true,
                  "type": "object"
                },
                "maxItems": 100,
                "minItems": 1,
                "type": "array"
              }
            },
            "required": [
              "idempotency_key",
              "records"
            ],
            "type": "object"
          },
          "outputSchema": {
            "additionalProperties": true,
            "properties": {
              "caveats": {
                "description": "Caveat sentences to relay verbatim.",
                "items": {
                  "type": "string"
                },
                "type": "array"
              },
              "commercial_disclosure": {
                "additionalProperties": true,
                "description": "No-pay-to-rank disclosure (paid_placement, score_influenced_by_partner, message).",
                "type": "object"
              },
              "confidence_band": {
                "additionalProperties": true,
                "description": "Confidence band (low, high, unit, label); low/high are null when not calibrated.",
                "type": "object"
              },
              "intake_id": {
                "format": "uuid",
                "type": "string"
              },
              "methodology_version": {
                "description": "Methodology-version string, e.g. routescore.public_api.v1.",
                "type": "string"
              },
              "records": {
                "items": {
                  "additionalProperties": false,
                  "properties": {
                    "index": {
                      "minimum": 0,
                      "type": "integer"
                    },
                    "record_id": {
                      "format": "uuid",
                      "type": "string"
                    },
                    "record_output_hash": {
                      "pattern": "^sha256:[0-9a-f]{64}$",
                      "type": "string"
                    },
                    "reused_existing_record": {
                      "type": "boolean"
                    },
                    "subject_id": {
                      "format": "uuid",
                      "type": "string"
                    }
                  },
                  "required": [
                    "index",
                    "record_id",
                    "subject_id",
                    "record_output_hash",
                    "reused_existing_record"
                  ],
                  "type": "object"
                },
                "type": "array"
              },
              "rejected": {
                "items": {
                  "additionalProperties": false,
                  "properties": {
                    "index": {
                      "minimum": 0,
                      "type": "integer"
                    },
                    "reason": {
                      "type": "string"
                    }
                  },
                  "required": [
                    "index",
                    "reason"
                  ],
                  "type": "object"
                },
                "type": "array"
              },
              "schema": {
                "const": "routescore.execution_intake_result.v1",
                "type": "string"
              },
              "score_state": {
                "description": "Overall state of the response.",
                "enum": [
                  "valid",
                  "degraded",
                  "partial",
                  "stale",
                  "unsupported",
                  "unavailable"
                ],
                "type": "string"
              },
              "source_freshness": {
                "additionalProperties": true,
                "description": "Per-source freshness reading (state, checked_at, max_age_seconds, sources[]).",
                "type": "object"
              },
              "summary": {
                "additionalProperties": false,
                "properties": {
                  "accepted": {
                    "maximum": 100,
                    "minimum": 0,
                    "type": "integer"
                  },
                  "received": {
                    "maximum": 100,
                    "minimum": 1,
                    "type": "integer"
                  },
                  "rejected": {
                    "maximum": 100,
                    "minimum": 0,
                    "type": "integer"
                  }
                },
                "required": [
                  "received",
                  "accepted",
                  "rejected"
                ],
                "type": "object"
              },
              "trust": {
                "additionalProperties": true,
                "description": "The full nested trust envelope; additionally carries generated_at and decision_support_only.",
                "type": "object"
              }
            },
            "required": [
              "schema",
              "intake_id",
              "records",
              "rejected",
              "summary"
            ],
            "type": "object"
          },
          "annotations": {
            "destructiveHint": false,
            "idempotentHint": true,
            "openWorldHint": false,
            "readOnlyHint": false,
            "title": "Record immutable execution evidence"
          }
        },
        {
          "name": "review_execution",
          "title": "Review stored execution evidence",
          "description": "Review one stored execution_record.v1 by record_id. Authenticated and personal-account owner-scoped: another account’s id is indistinguishable from a missing id. Returns the deterministic review_execution.v1 evidence coverage, exceptions, unavailable-evidence register, caveats, and canonical hash. Read-only retrospective decision support only: it does not query arbitrary public transactions, accept reviewer overrides, certify best execution or compliance, give advice, or expose admin actions.",
          "inputSchema": {
            "additionalProperties": false,
            "properties": {
              "record_id": {
                "description": "UUID of an execution_record.v1 already stored under the configured key’s personal account.",
                "format": "uuid",
                "maxLength": 36,
                "minLength": 36,
                "type": "string"
              }
            },
            "required": [
              "record_id"
            ],
            "type": "object"
          },
          "outputSchema": {
            "additionalProperties": true,
            "properties": {
              "caveats": {
                "description": "Caveat sentences to relay verbatim.",
                "items": {
                  "type": "string"
                },
                "type": "array"
              },
              "commercial_disclosure": {
                "additionalProperties": true,
                "description": "No-pay-to-rank disclosure (paid_placement, score_influenced_by_partner, message).",
                "type": "object"
              },
              "confidence_band": {
                "additionalProperties": true,
                "description": "Confidence band (low, high, unit, label); low/high are null when not calibrated.",
                "type": "object"
              },
              "methodology_version": {
                "description": "Methodology-version string, e.g. routescore.public_api.v1.",
                "type": "string"
              },
              "review": {
                "additionalProperties": false,
                "description": "Deterministic routescore.review_execution.v1 result. It is retrospective decision support, not advice or a best-execution certification.",
                "properties": {
                  "caveats": {
                    "items": {
                      "type": "string"
                    },
                    "minItems": 1,
                    "type": "array"
                  },
                  "conclusions": {
                    "description": "The fixed v1 coverage register. Every conclusion names its evidence class, source refs, and input fields.",
                    "items": {
                      "additionalProperties": false,
                      "properties": {
                        "details": {},
                        "evidence": {
                          "additionalProperties": false,
                          "properties": {
                            "evidence_class": {
                              "enum": [
                                "measured",
                                "calculated",
                                "modeled",
                                "unavailable"
                              ],
                              "type": "string"
                            },
                            "input_fields": {
                              "items": {
                                "type": "string"
                              },
                              "minItems": 1,
                              "type": "array"
                            },
                            "source_refs": {
                              "items": {
                                "type": "string"
                              },
                              "type": "array"
                            }
                          },
                          "required": [
                            "evidence_class",
                            "source_refs",
                            "input_fields"
                          ],
                          "type": "object"
                        },
                        "id": {
                          "type": "string"
                        },
                        "statement": {
                          "type": "string"
                        },
                        "status": {
                          "type": "string"
                        }
                      },
                      "required": [
                        "id",
                        "status",
                        "statement",
                        "evidence",
                        "details"
                      ],
                      "type": "object"
                    },
                    "maxItems": 10,
                    "minItems": 10,
                    "type": "array"
                  },
                  "exception_flags": {
                    "items": {
                      "enum": [
                        "receipt_reverted",
                        "transaction_dropped",
                        "finality_reorged"
                      ],
                      "type": "string"
                    },
                    "type": "array"
                  },
                  "input": {
                    "additionalProperties": false,
                    "properties": {
                      "chain_id": {
                        "minimum": 1,
                        "type": "integer"
                      },
                      "evidence_hash": {
                        "pattern": "^sha256:[0-9a-f]{64}$",
                        "type": "string"
                      },
                      "execution_record_id": {
                        "format": "uuid",
                        "type": "string"
                      },
                      "execution_record_revision": {
                        "minimum": 1,
                        "type": "integer"
                      },
                      "execution_record_schema": {
                        "const": "routescore.execution_record.v1",
                        "type": "string"
                      },
                      "record_output_hash": {
                        "pattern": "^sha256:[0-9a-f]{64}$",
                        "type": "string"
                      },
                      "tx_hash": {
                        "pattern": "^0x[0-9a-fA-F]{64}$",
                        "type": "string"
                      }
                    },
                    "required": [
                      "execution_record_id",
                      "execution_record_revision",
                      "execution_record_schema",
                      "evidence_hash",
                      "record_output_hash",
                      "chain_id",
                      "tx_hash"
                    ],
                    "type": "object"
                  },
                  "integrity": {
                    "additionalProperties": false,
                    "properties": {
                      "hash_algo": {
                        "const": "sha256",
                        "type": "string"
                      },
                      "review_output_hash": {
                        "pattern": "^sha256:[0-9a-f]{64}$",
                        "type": "string"
                      },
                      "verification": {
                        "type": "string"
                      }
                    },
                    "required": [
                      "hash_algo",
                      "review_output_hash",
                      "verification"
                    ],
                    "type": "object"
                  },
                  "schema": {
                    "const": "routescore.review_execution.v1",
                    "type": "string"
                  },
                  "scope": {
                    "additionalProperties": false,
                    "description": "Personal-account scope copied from the owner-scoped record.",
                    "properties": {
                      "kind": {
                        "const": "user",
                        "type": "string"
                      },
                      "owner_user_id": {
                        "format": "uuid",
                        "type": "string"
                      },
                      "workspace_id": {
                        "type": "null"
                      }
                    },
                    "required": [
                      "kind",
                      "owner_user_id",
                      "workspace_id"
                    ],
                    "type": "object"
                  },
                  "state": {
                    "enum": [
                      "reviewed",
                      "incomplete",
                      "adverse",
                      "unsupported",
                      "exception"
                    ],
                    "type": "string"
                  },
                  "unavailable_evidence": {
                    "description": "Explicit gap register; missing evidence is never inferred or imputed.",
                    "items": {
                      "additionalProperties": false,
                      "properties": {
                        "field": {
                          "type": "string"
                        },
                        "reason": {
                          "type": "string"
                        },
                        "source_refs": {
                          "items": {
                            "type": "string"
                          },
                          "type": "array"
                        }
                      },
                      "required": [
                        "field",
                        "reason",
                        "source_refs"
                      ],
                      "type": "object"
                    },
                    "type": "array"
                  },
                  "version": {
                    "const": "review_execution.v1",
                    "type": "string"
                  }
                },
                "required": [
                  "schema",
                  "version",
                  "scope",
                  "input",
                  "state",
                  "exception_flags",
                  "conclusions",
                  "unavailable_evidence",
                  "caveats",
                  "integrity"
                ],
                "type": "object"
              },
              "score_state": {
                "description": "Overall state of the response.",
                "enum": [
                  "valid",
                  "degraded",
                  "partial",
                  "stale",
                  "unsupported",
                  "unavailable"
                ],
                "type": "string"
              },
              "source_freshness": {
                "additionalProperties": true,
                "description": "Per-source freshness reading (state, checked_at, max_age_seconds, sources[]).",
                "type": "object"
              },
              "trust": {
                "additionalProperties": true,
                "description": "The full nested trust envelope; additionally carries generated_at and decision_support_only.",
                "type": "object"
              }
            },
            "required": [
              "review"
            ],
            "type": "object"
          },
          "annotations": {
            "destructiveHint": false,
            "idempotentHint": true,
            "openWorldHint": false,
            "readOnlyHint": true,
            "title": "Review stored execution evidence"
          }
        },
        {
          "name": "review_public_transaction",
          "title": "Review public Ethereum transaction",
          "description": "DEV-ONLY CONTRACT DISCOVERY; DISABLED AGAINST PRODUCTION. On an explicitly enabled non-production server, review one arbitrary public Ethereum transaction by transaction hash. This is separate from review_execution: it does not read an owner-scoped stored execution_record.v1 and never exposes tenant, reviewer, override, or administrative fields. Returns the deterministic tenant-free public_transaction_review.v1 coverage register, conclusions, explicit gap register, source provenance, caveats, and canonical hash. Receipt, block, index, and gas facts are measured; gas cost and point-in-time confirmation depth are calculated. Venue is unavailable in this endpoint until a server-owned verified registry adapter exists. Route, amounts, protocol fee, arrival price, feasible-route benchmark, dropped status, and historical reorg remain unavailable unless the public contract can support them. Read-only retrospective decision support only; it does not certify best execution or compliance and does not give advice.",
          "inputSchema": {
            "additionalProperties": false,
            "properties": {
              "chain_id": {
                "const": 1,
                "description": "Ethereum mainnet chain id. Public transaction review currently accepts only 1.",
                "maximum": 1,
                "minimum": 1,
                "type": "integer"
              },
              "tx_hash": {
                "description": "One public Ethereum 32-byte transaction hash.",
                "maxLength": 66,
                "minLength": 66,
                "pattern": "^0x[0-9a-fA-F]{64}$",
                "type": "string"
              }
            },
            "required": [
              "chain_id",
              "tx_hash"
            ],
            "type": "object"
          },
          "outputSchema": {
            "additionalProperties": true,
            "properties": {
              "caveats": {
                "description": "Caveat sentences to relay verbatim.",
                "items": {
                  "type": "string"
                },
                "type": "array"
              },
              "commercial_disclosure": {
                "additionalProperties": true,
                "description": "No-pay-to-rank disclosure (paid_placement, score_influenced_by_partner, message).",
                "type": "object"
              },
              "confidence_band": {
                "additionalProperties": true,
                "description": "Confidence band (low, high, unit, label); low/high are null when not calibrated.",
                "type": "object"
              },
              "methodology_version": {
                "description": "Methodology-version string, e.g. routescore.public_api.v1.",
                "type": "string"
              },
              "review": {
                "additionalProperties": false,
                "description": "Tenant-free deterministic routescore.public_transaction_review.v1 result from normalized public Ethereum evidence.",
                "properties": {
                  "caveats": {
                    "items": {
                      "type": "string"
                    },
                    "minItems": 1,
                    "type": "array"
                  },
                  "conclusions": {
                    "description": "Fixed public-review conclusions with evidence class, source refs, input fields, and explicit gaps.",
                    "items": {
                      "additionalProperties": false,
                      "properties": {
                        "details": {
                          "additionalProperties": true,
                          "type": "object"
                        },
                        "evidence": {
                          "additionalProperties": false,
                          "properties": {
                            "evidence_class": {
                              "enum": [
                                "measured",
                                "calculated",
                                "unavailable"
                              ],
                              "type": "string"
                            },
                            "input_fields": {
                              "items": {
                                "type": "string"
                              },
                              "type": "array"
                            },
                            "source_refs": {
                              "items": {
                                "type": "string"
                              },
                              "type": "array"
                            }
                          },
                          "required": [
                            "evidence_class",
                            "source_refs",
                            "input_fields"
                          ],
                          "type": "object"
                        },
                        "id": {
                          "type": "string"
                        },
                        "statement": {
                          "type": "string"
                        },
                        "status": {
                          "enum": [
                            "observed",
                            "calculated",
                            "pending",
                            "exception",
                            "unavailable"
                          ],
                          "type": "string"
                        }
                      },
                      "required": [
                        "id",
                        "status",
                        "statement",
                        "evidence",
                        "details"
                      ],
                      "type": "object"
                    },
                    "maxItems": 10,
                    "minItems": 10,
                    "type": "array"
                  },
                  "coverage": {
                    "description": "Fixed evidence-coverage register; unavailable public facts remain explicit.",
                    "items": {
                      "additionalProperties": false,
                      "properties": {
                        "evidence": {
                          "additionalProperties": false,
                          "properties": {
                            "evidence_class": {
                              "enum": [
                                "measured",
                                "calculated",
                                "unavailable"
                              ],
                              "type": "string"
                            },
                            "input_fields": {
                              "items": {
                                "type": "string"
                              },
                              "type": "array"
                            },
                            "source_refs": {
                              "items": {
                                "type": "string"
                              },
                              "type": "array"
                            }
                          },
                          "required": [
                            "evidence_class",
                            "source_refs",
                            "input_fields"
                          ],
                          "type": "object"
                        },
                        "id": {
                          "type": "string"
                        },
                        "reason": {
                          "type": [
                            "string",
                            "null"
                          ]
                        },
                        "status": {
                          "enum": [
                            "available",
                            "unavailable"
                          ],
                          "type": "string"
                        }
                      },
                      "required": [
                        "id",
                        "status",
                        "evidence",
                        "reason"
                      ],
                      "type": "object"
                    },
                    "maxItems": 17,
                    "minItems": 17,
                    "type": "array"
                  },
                  "exception_flags": {
                    "items": {
                      "enum": [
                        "receipt_reverted"
                      ],
                      "type": "string"
                    },
                    "type": "array"
                  },
                  "gap_register": {
                    "description": "Unavailable route, amount, fee, price, benchmark, dropped-state, reorg-history, and optional venue evidence.",
                    "items": {
                      "additionalProperties": false,
                      "properties": {
                        "field": {
                          "type": "string"
                        },
                        "reason": {
                          "type": "string"
                        },
                        "source_refs": {
                          "items": {
                            "type": "string"
                          },
                          "type": "array"
                        }
                      },
                      "required": [
                        "field",
                        "reason",
                        "source_refs"
                      ],
                      "type": "object"
                    },
                    "type": "array"
                  },
                  "input": {
                    "additionalProperties": false,
                    "properties": {
                      "chain_id": {
                        "const": 1,
                        "type": "integer"
                      },
                      "input_evidence_hash": {
                        "pattern": "^sha256:[0-9a-f]{64}$",
                        "type": "string"
                      },
                      "observed_at": {
                        "format": "date-time",
                        "type": "string"
                      },
                      "tx_hash": {
                        "pattern": "^0x[0-9a-f]{64}$",
                        "type": "string"
                      }
                    },
                    "required": [
                      "chain_id",
                      "tx_hash",
                      "observed_at",
                      "input_evidence_hash"
                    ],
                    "type": "object"
                  },
                  "integrity": {
                    "additionalProperties": false,
                    "properties": {
                      "hash_algo": {
                        "const": "sha256",
                        "type": "string"
                      },
                      "review_output_hash": {
                        "pattern": "^sha256:[0-9a-f]{64}$",
                        "type": "string"
                      },
                      "verification": {
                        "type": "string"
                      }
                    },
                    "required": [
                      "hash_algo",
                      "review_output_hash",
                      "verification"
                    ],
                    "type": "object"
                  },
                  "schema": {
                    "const": "routescore.public_transaction_review.v1",
                    "type": "string"
                  },
                  "sources": {
                    "items": {
                      "additionalProperties": false,
                      "properties": {
                        "content_hash": {
                          "pattern": "^sha256:[0-9a-f]{64}$",
                          "type": "string"
                        },
                        "source_kind": {
                          "enum": [
                            "ethereum_receipt",
                            "ethereum_canonical_head",
                            "venue_registry_match"
                          ],
                          "type": "string"
                        },
                        "source_ref": {
                          "type": "string"
                        },
                        "supports": {
                          "items": {
                            "type": "string"
                          },
                          "type": "array"
                        }
                      },
                      "required": [
                        "source_kind",
                        "source_ref",
                        "content_hash",
                        "supports"
                      ],
                      "type": "object"
                    },
                    "type": "array"
                  },
                  "state": {
                    "enum": [
                      "incomplete",
                      "exception"
                    ],
                    "type": "string"
                  },
                  "version": {
                    "const": "public_transaction_review.v1",
                    "type": "string"
                  }
                },
                "required": [
                  "schema",
                  "version",
                  "input",
                  "state",
                  "exception_flags",
                  "coverage",
                  "conclusions",
                  "gap_register",
                  "sources",
                  "caveats",
                  "integrity"
                ],
                "type": "object"
              },
              "score_state": {
                "description": "Overall state of the response.",
                "enum": [
                  "valid",
                  "degraded",
                  "partial",
                  "stale",
                  "unsupported",
                  "unavailable"
                ],
                "type": "string"
              },
              "source_freshness": {
                "additionalProperties": true,
                "description": "Per-source freshness reading (state, checked_at, max_age_seconds, sources[]).",
                "type": "object"
              },
              "trust": {
                "additionalProperties": true,
                "description": "The full nested trust envelope; additionally carries generated_at and decision_support_only.",
                "type": "object"
              }
            },
            "required": [
              "review"
            ],
            "type": "object"
          },
          "annotations": {
            "destructiveHint": false,
            "idempotentHint": true,
            "openWorldHint": true,
            "readOnlyHint": true,
            "title": "Review public Ethereum transaction"
          }
        },
        {
          "name": "whoami",
          "title": "Verify API key \u0026 tier",
          "description": "Confirm the configured API key works and report which plan tier it carries. Returns the owning account email and tier.",
          "inputSchema": {
            "additionalProperties": false,
            "properties": {},
            "type": "object"
          },
          "outputSchema": {
            "additionalProperties": true,
            "properties": {
              "authenticated": {
                "description": "True when the key is valid.",
                "type": "boolean"
              },
              "caveats": {
                "description": "Caveat sentences to relay verbatim.",
                "items": {
                  "type": "string"
                },
                "type": "array"
              },
              "check_swap_enabled": {
                "description": "Whether the pre-sign check_swap endpoint is available (every tier).",
                "type": "boolean"
              },
              "commercial_disclosure": {
                "additionalProperties": true,
                "description": "No-pay-to-rank disclosure (paid_placement, score_influenced_by_partner, message).",
                "type": "object"
              },
              "confidence_band": {
                "additionalProperties": true,
                "description": "Confidence band (low, high, unit, label); low/high are null when not calibrated.",
                "type": "object"
              },
              "email": {
                "description": "The owning account email.",
                "type": "string"
              },
              "methodology_version": {
                "description": "Methodology-version string, e.g. routescore.public_api.v1.",
                "type": "string"
              },
              "plan_includes_api": {
                "description": "Back-compat alias for quote_api_enabled.",
                "type": "boolean"
              },
              "quote_api_enabled": {
                "description": "Whether the modeled-quote / scenario tools are available (Power only).",
                "type": "boolean"
              },
              "score_state": {
                "description": "Overall state of the response.",
                "enum": [
                  "valid",
                  "degraded",
                  "partial",
                  "stale",
                  "unsupported",
                  "unavailable"
                ],
                "type": "string"
              },
              "source_freshness": {
                "additionalProperties": true,
                "description": "Per-source freshness reading (state, checked_at, max_age_seconds, sources[]).",
                "type": "object"
              },
              "tier": {
                "description": "The owning account tier.",
                "enum": [
                  "free",
                  "pro",
                  "power",
                  "team",
                  "dao"
                ],
                "type": "string"
              },
              "trust": {
                "additionalProperties": true,
                "description": "The full nested trust envelope; additionally carries generated_at and decision_support_only.",
                "type": "object"
              }
            },
            "type": "object"
          },
          "annotations": {
            "destructiveHint": false,
            "idempotentHint": true,
            "openWorldHint": false,
            "readOnlyHint": true,
            "title": "Verify API key \u0026 tier"
          }
        },
        {
          "name": "get_detector_manifest",
          "title": "Get MEV-detector manifest",
          "description": "Fetch the latest public MEV-detector run manifest: the detector version hash and the eligible pool/token universe it was committed to. Use to verify what the detector covers.",
          "inputSchema": {
            "additionalProperties": false,
            "properties": {},
            "type": "object"
          },
          "outputSchema": {
            "additionalProperties": true,
            "properties": {
              "caveats": {
                "description": "Caveat sentences to relay verbatim.",
                "items": {
                  "type": "string"
                },
                "type": "array"
              },
              "commercial_disclosure": {
                "additionalProperties": true,
                "description": "No-pay-to-rank disclosure (paid_placement, score_influenced_by_partner, message).",
                "type": "object"
              },
              "confidence_band": {
                "additionalProperties": true,
                "description": "Confidence band (low, high, unit, label); low/high are null when not calibrated.",
                "type": "object"
              },
              "detector_version_hash": {
                "description": "SHA-256 of the detector + pricing source.",
                "type": "string"
              },
              "eligible_universe": {
                "additionalProperties": true,
                "description": "The pinned pool / token universe scanned.",
                "type": "object"
              },
              "generated_at": {
                "description": "ISO-8601 generation timestamp.",
                "type": "string"
              },
              "methodology_version": {
                "description": "Methodology-version string, e.g. routescore.public_api.v1.",
                "type": "string"
              },
              "score_state": {
                "description": "Overall state of the response.",
                "enum": [
                  "valid",
                  "degraded",
                  "partial",
                  "stale",
                  "unsupported",
                  "unavailable"
                ],
                "type": "string"
              },
              "source_freshness": {
                "additionalProperties": true,
                "description": "Per-source freshness reading (state, checked_at, max_age_seconds, sources[]).",
                "type": "object"
              },
              "trust": {
                "additionalProperties": true,
                "description": "The full nested trust envelope; additionally carries generated_at and decision_support_only.",
                "type": "object"
              }
            },
            "type": "object"
          },
          "annotations": {
            "destructiveHint": false,
            "idempotentHint": true,
            "openWorldHint": false,
            "readOnlyHint": true,
            "title": "Get MEV-detector manifest"
          }
        },
        {
          "name": "quote_mev_cover",
          "title": "Quote: MEV-sandwich premium (modeled)",
          "description": "Modeled premium estimate for MEV-sandwich exposure on a swap. Returns a modeled premium (bps + USD), expected/CVaR loss, and conditions. Point-in-time decision support before routing a trade — not a live cover, insurance, or premium-acceptance offer.",
          "inputSchema": {
            "additionalProperties": false,
            "properties": {
              "asset_pair": {
                "description": "Asset pair, e.g. 'USDC/ETH'. Default USDC/ETH.",
                "type": "string"
              },
              "chain_id": {
                "description": "Chain ID (1 = Ethereum). Default 1.",
                "type": "integer"
              },
              "historical_sandwich_freq": {
                "description": "Historical sandwich frequency as a 0–1 fraction. Default 0.012.",
                "maximum": 1,
                "minimum": 0,
                "type": "number"
              },
              "notional_usd": {
                "description": "Trade size in USD.",
                "exclusiveMinimum": 0,
                "type": "number"
              },
              "refund_threshold_bps": {
                "description": "Modeled refund threshold in bps. Default 50.",
                "type": "number"
              },
              "route": {
                "description": "Execution route, e.g. 'uniswap-v3'.",
                "type": "string"
              },
              "slippage_allowance_bps": {
                "description": "Slippage allowance in bps. Default 50.",
                "type": "number"
              }
            },
            "required": [
              "notional_usd"
            ],
            "type": "object"
          },
          "outputSchema": {
            "additionalProperties": true,
            "properties": {
              "allowed": {
                "description": "Whether the engine produced a modeled quote.",
                "type": "boolean"
              },
              "bond_id": {
                "type": "string"
              },
              "caveats": {
                "description": "Caveat sentences to relay verbatim.",
                "items": {
                  "type": "string"
                },
                "type": "array"
              },
              "commercial_disclosure": {
                "additionalProperties": true,
                "description": "No-pay-to-rank disclosure (paid_placement, score_influenced_by_partner, message).",
                "type": "object"
              },
              "conditions": {
                "additionalProperties": true,
                "description": "Engine-defined conditions.",
                "type": "object"
              },
              "confidence_band": {
                "additionalProperties": true,
                "description": "Confidence band (low, high, unit, label); low/high are null when not calibrated.",
                "type": "object"
              },
              "cvar95_loss_bps": {
                "description": "Modeled CVaR-95 loss in bps.",
                "type": "number"
              },
              "expected_loss_bps": {
                "description": "Modeled expected loss in bps.",
                "type": "number"
              },
              "expected_outcome": {
                "additionalProperties": true,
                "description": "Engine-defined expected-outcome payload.",
                "type": "object"
              },
              "expires_at": {
                "description": "ISO-8601 expiry timestamp, or null.",
                "type": [
                  "string",
                  "null"
                ]
              },
              "issued_at": {
                "description": "ISO-8601 issue timestamp.",
                "type": "string"
              },
              "margin_bps": {
                "description": "Modeled margin component in bps.",
                "type": "number"
              },
              "methodology_version": {
                "description": "Methodology-version string, e.g. routescore.public_api.v1.",
                "type": "string"
              },
              "no_quote_reason": {
                "description": "Reason a modeled quote was withheld, or null.",
                "type": [
                  "string",
                  "null"
                ]
              },
              "premium_amount_usd": {
                "description": "Modeled premium in USD.",
                "type": "number"
              },
              "premium_bps": {
                "description": "Modeled premium in bps.",
                "type": "number"
              },
              "product": {
                "type": "string"
              },
              "reason_codes": {
                "description": "Stable reason codes.",
                "items": {
                  "type": "string"
                },
                "type": "array"
              },
              "score_state": {
                "description": "Overall state of the response.",
                "enum": [
                  "valid",
                  "degraded",
                  "partial",
                  "stale",
                  "unsupported",
                  "unavailable"
                ],
                "type": "string"
              },
              "source_freshness": {
                "additionalProperties": true,
                "description": "Per-source freshness reading (state, checked_at, max_age_seconds, sources[]).",
                "type": "object"
              },
              "trust": {
                "additionalProperties": true,
                "description": "The full nested trust envelope; additionally carries generated_at and decision_support_only.",
                "type": "object"
              }
            },
            "type": "object"
          },
          "annotations": {
            "destructiveHint": false,
            "idempotentHint": true,
            "openWorldHint": false,
            "readOnlyHint": true,
            "title": "Quote: MEV-sandwich premium (modeled)"
          }
        },
        {
          "name": "quote_bridge_refund",
          "title": "Quote: bridge-failure premium (modeled)",
          "description": "Modeled premium estimate for cross-chain bridge execution failure against a modeled SLA expectation. Returns a modeled premium and conditions — not a live cover, refund, or premium-acceptance offer.",
          "inputSchema": {
            "additionalProperties": false,
            "properties": {
              "bridge": {
                "description": "Bridge name, e.g. 'across'.",
                "type": "string"
              },
              "bridge_risk_score": {
                "description": "Bridge risk score 0–1. Default 0.05.",
                "maximum": 1,
                "minimum": 0,
                "type": "number"
              },
              "dest_chain_id": {
                "description": "Destination chain ID. Default 8453 (Base).",
                "type": "integer"
              },
              "notional_usd": {
                "description": "Amount bridged in USD.",
                "exclusiveMinimum": 0,
                "type": "number"
              },
              "sla_seconds": {
                "description": "Expected delivery SLA in seconds. Default 60.",
                "exclusiveMinimum": 0,
                "type": "integer"
              },
              "source_chain_id": {
                "description": "Source chain ID. Default 1.",
                "type": "integer"
              }
            },
            "required": [
              "notional_usd"
            ],
            "type": "object"
          },
          "outputSchema": {
            "additionalProperties": true,
            "properties": {
              "allowed": {
                "description": "Whether the engine produced a modeled quote.",
                "type": "boolean"
              },
              "bond_id": {
                "type": "string"
              },
              "caveats": {
                "description": "Caveat sentences to relay verbatim.",
                "items": {
                  "type": "string"
                },
                "type": "array"
              },
              "commercial_disclosure": {
                "additionalProperties": true,
                "description": "No-pay-to-rank disclosure (paid_placement, score_influenced_by_partner, message).",
                "type": "object"
              },
              "conditions": {
                "additionalProperties": true,
                "description": "Engine-defined conditions.",
                "type": "object"
              },
              "confidence_band": {
                "additionalProperties": true,
                "description": "Confidence band (low, high, unit, label); low/high are null when not calibrated.",
                "type": "object"
              },
              "cvar95_loss_bps": {
                "description": "Modeled CVaR-95 loss in bps.",
                "type": "number"
              },
              "expected_loss_bps": {
                "description": "Modeled expected loss in bps.",
                "type": "number"
              },
              "expected_outcome": {
                "additionalProperties": true,
                "description": "Engine-defined expected-outcome payload.",
                "type": "object"
              },
              "expires_at": {
                "description": "ISO-8601 expiry timestamp, or null.",
                "type": [
                  "string",
                  "null"
                ]
              },
              "issued_at": {
                "description": "ISO-8601 issue timestamp.",
                "type": "string"
              },
              "margin_bps": {
                "description": "Modeled margin component in bps.",
                "type": "number"
              },
              "methodology_version": {
                "description": "Methodology-version string, e.g. routescore.public_api.v1.",
                "type": "string"
              },
              "no_quote_reason": {
                "description": "Reason a modeled quote was withheld, or null.",
                "type": [
                  "string",
                  "null"
                ]
              },
              "premium_amount_usd": {
                "description": "Modeled premium in USD.",
                "type": "number"
              },
              "premium_bps": {
                "description": "Modeled premium in bps.",
                "type": "number"
              },
              "product": {
                "type": "string"
              },
              "reason_codes": {
                "description": "Stable reason codes.",
                "items": {
                  "type": "string"
                },
                "type": "array"
              },
              "score_state": {
                "description": "Overall state of the response.",
                "enum": [
                  "valid",
                  "degraded",
                  "partial",
                  "stale",
                  "unsupported",
                  "unavailable"
                ],
                "type": "string"
              },
              "source_freshness": {
                "additionalProperties": true,
                "description": "Per-source freshness reading (state, checked_at, max_age_seconds, sources[]).",
                "type": "object"
              },
              "trust": {
                "additionalProperties": true,
                "description": "The full nested trust envelope; additionally carries generated_at and decision_support_only.",
                "type": "object"
              }
            },
            "type": "object"
          },
          "annotations": {
            "destructiveHint": false,
            "idempotentHint": true,
            "openWorldHint": false,
            "readOnlyHint": true,
            "title": "Quote: bridge-failure premium (modeled)"
          }
        },
        {
          "name": "quote_lrt_slashing",
          "title": "Quote: LRT-slashing premium (modeled)",
          "description": "Modeled premium estimate for slashing risk on a liquid-restaking-token (LRT) position given its AVS exposure. Returns a modeled premium and slashing bounds — not a live cover offer.",
          "inputSchema": {
            "additionalProperties": false,
            "properties": {
              "correlation_max_overlap": {
                "description": "Max correlation overlap 0–1. Default 0.5.",
                "maximum": 1,
                "minimum": 0,
                "type": "number"
              },
              "cover_duration_weeks": {
                "description": "Modeled cover duration in weeks. Default 12.",
                "maximum": 520,
                "minimum": 1,
                "type": "integer"
              },
              "covered_eth_amount": {
                "description": "ETH amount used as the modeled position size.",
                "exclusiveMinimum": 0,
                "type": "number"
              },
              "lrt_token": {
                "description": "LRT token, e.g. 'weETH'.",
                "type": "string"
              },
              "underlying_avs_exposure": {
                "description": "AVS exposure weights, e.g. { \"EigenDA\": 1.0 }.",
                "type": "object"
              }
            },
            "required": [
              "covered_eth_amount"
            ],
            "type": "object"
          },
          "outputSchema": {
            "additionalProperties": true,
            "properties": {
              "allowed": {
                "description": "Whether the engine produced a modeled quote.",
                "type": "boolean"
              },
              "bond_id": {
                "type": "string"
              },
              "caveats": {
                "description": "Caveat sentences to relay verbatim.",
                "items": {
                  "type": "string"
                },
                "type": "array"
              },
              "commercial_disclosure": {
                "additionalProperties": true,
                "description": "No-pay-to-rank disclosure (paid_placement, score_influenced_by_partner, message).",
                "type": "object"
              },
              "conditions": {
                "additionalProperties": true,
                "description": "Engine-defined conditions.",
                "type": "object"
              },
              "confidence_band": {
                "additionalProperties": true,
                "description": "Confidence band (low, high, unit, label); low/high are null when not calibrated.",
                "type": "object"
              },
              "cvar95_loss_bps": {
                "description": "Modeled CVaR-95 loss in bps.",
                "type": "number"
              },
              "expected_loss_bps": {
                "description": "Modeled expected loss in bps.",
                "type": "number"
              },
              "expected_outcome": {
                "additionalProperties": true,
                "description": "Engine-defined expected-outcome payload.",
                "type": "object"
              },
              "expires_at": {
                "description": "ISO-8601 expiry timestamp, or null.",
                "type": [
                  "string",
                  "null"
                ]
              },
              "issued_at": {
                "description": "ISO-8601 issue timestamp.",
                "type": "string"
              },
              "margin_bps": {
                "description": "Modeled margin component in bps.",
                "type": "number"
              },
              "methodology_version": {
                "description": "Methodology-version string, e.g. routescore.public_api.v1.",
                "type": "string"
              },
              "no_quote_reason": {
                "description": "Reason a modeled quote was withheld, or null.",
                "type": [
                  "string",
                  "null"
                ]
              },
              "premium_amount_usd": {
                "description": "Modeled premium in USD.",
                "type": "number"
              },
              "premium_bps": {
                "description": "Modeled premium in bps.",
                "type": "number"
              },
              "product": {
                "type": "string"
              },
              "reason_codes": {
                "description": "Stable reason codes.",
                "items": {
                  "type": "string"
                },
                "type": "array"
              },
              "score_state": {
                "description": "Overall state of the response.",
                "enum": [
                  "valid",
                  "degraded",
                  "partial",
                  "stale",
                  "unsupported",
                  "unavailable"
                ],
                "type": "string"
              },
              "source_freshness": {
                "additionalProperties": true,
                "description": "Per-source freshness reading (state, checked_at, max_age_seconds, sources[]).",
                "type": "object"
              },
              "trust": {
                "additionalProperties": true,
                "description": "The full nested trust envelope; additionally carries generated_at and decision_support_only.",
                "type": "object"
              }
            },
            "type": "object"
          },
          "annotations": {
            "destructiveHint": false,
            "idempotentHint": true,
            "openWorldHint": false,
            "readOnlyHint": true,
            "title": "Quote: LRT-slashing premium (modeled)"
          }
        },
        {
          "name": "simulate_scenario",
          "title": "Simulate premium-vs-loss scenario (modeled)",
          "description": "Run a what-if Monte Carlo: model expected premium vs expected refund/loss over a horizon, given assumptions about sandwich frequency, average loss, and deductible. Returns a narrative + distribution.",
          "inputSchema": {
            "additionalProperties": false,
            "properties": {
              "avg_loss_bps": {
                "description": "Average sandwich loss in bps. Default 40.",
                "minimum": 0,
                "type": "number"
              },
              "deductible_bps": {
                "description": "Deductible in bps. Default 100.",
                "minimum": 0,
                "type": "number"
              },
              "horizon_days": {
                "description": "Horizon in days (≈ swaps). Default 30.",
                "maximum": 365,
                "minimum": 1,
                "type": "integer"
              },
              "notional_usd": {
                "description": "Per-swap notional in USD.",
                "exclusiveMinimum": 0,
                "type": "number"
              },
              "sandwich_freq_pct": {
                "description": "Sandwich frequency as a percentage 0–100. Default 1.2.",
                "maximum": 100,
                "minimum": 0,
                "type": "number"
              }
            },
            "required": [
              "notional_usd"
            ],
            "type": "object"
          },
          "outputSchema": {
            "additionalProperties": true,
            "properties": {
              "caveats": {
                "description": "Caveat sentences to relay verbatim.",
                "items": {
                  "type": "string"
                },
                "type": "array"
              },
              "commercial_disclosure": {
                "additionalProperties": true,
                "description": "No-pay-to-rank disclosure (paid_placement, score_influenced_by_partner, message).",
                "type": "object"
              },
              "confidence_band": {
                "additionalProperties": true,
                "description": "Confidence band (low, high, unit, label); low/high are null when not calibrated.",
                "type": "object"
              },
              "distribution": {
                "description": "Loss-distribution histogram bins for charting.",
                "items": {
                  "additionalProperties": true,
                  "type": "object"
                },
                "type": "array"
              },
              "expected_loss_usd": {
                "description": "Modeled expected loss in USD over the horizon.",
                "type": "number"
              },
              "expected_premium_usd": {
                "description": "Modeled expected premium in USD over the horizon.",
                "type": "number"
              },
              "expected_refund_usd": {
                "description": "Modeled expected refund in USD over the horizon.",
                "type": "number"
              },
              "loss_ratio_pct": {
                "description": "Modeled loss ratio as a percentage.",
                "type": "number"
              },
              "methodology_version": {
                "description": "Methodology-version string, e.g. routescore.public_api.v1.",
                "type": "string"
              },
              "narrative": {
                "description": "Plain-language summary of the modeled scenario.",
                "type": "string"
              },
              "score_state": {
                "description": "Overall state of the response.",
                "enum": [
                  "valid",
                  "degraded",
                  "partial",
                  "stale",
                  "unsupported",
                  "unavailable"
                ],
                "type": "string"
              },
              "source_freshness": {
                "additionalProperties": true,
                "description": "Per-source freshness reading (state, checked_at, max_age_seconds, sources[]).",
                "type": "object"
              },
              "trust": {
                "additionalProperties": true,
                "description": "The full nested trust envelope; additionally carries generated_at and decision_support_only.",
                "type": "object"
              }
            },
            "type": "object"
          },
          "annotations": {
            "destructiveHint": false,
            "idempotentHint": true,
            "openWorldHint": false,
            "readOnlyHint": true,
            "title": "Simulate premium-vs-loss scenario (modeled)"
          }
        }
      ]
    },
    "name": "Routescore",
    "note": "Indexed from the official MCP registry: facts and our own checks, not reviewed, so no score, grade or rank.",
    "packages": [
      {
        "registryType": "npm",
        "identifier": "@routescore/mcp",
        "version": "0.3.5",
        "transport": "stdio"
      }
    ],
    "pageJsonUrl": "https://www.anchorterminal.com/tools/routescore-mcp.json",
    "popularity": {
      "githubStars": 0,
      "npmWeekly": 47
    },
    "registryName": "io.routescore/mcp",
    "remotes": [
      {
        "type": "streamable-http",
        "url": "https://www.routescore.io/api/mcp"
      }
    ],
    "repository": "https://github.com/routescore/mcp",
    "reviewed": false,
    "slug": "routescore-mcp",
    "source": "the official MCP registry",
    "sourceUrl": "https://registry.modelcontextprotocol.io/v0.1/servers?search=io.routescore/mcp",
    "summary": "Read-only pre-sign evidence for onchain agents: route quality, MEV exposure, clear/caution verdict.",
    "updatedAt": "2026-07-19T08:38:16Z",
    "url": "https://www.anchorterminal.com/tools/routescore-mcp",
    "vendor": "routescore.io",
    "vendorUrl": "https://www.routescore.io/developers",
    "version": "0.3.5",
    "websiteUrl": "https://www.routescore.io/developers",
    "where": "both",
    "why": [
      "vendor"
    ]
  }
}
