{
  "data": {
    "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"
      ]
    }
  },
  "kind": "anchor.page",
  "links": {
    "api": "https://www.anchorterminal.com/api/v1/index.json",
    "html": "https://www.anchorterminal.com/tools/routescore-mcp",
    "json": "https://www.anchorterminal.com/tools/routescore-mcp.json",
    "llms": "https://www.anchorterminal.com/llms.txt",
    "markdown": "https://www.anchorterminal.com/tools/routescore-mcp.md",
    "slim": "https://www.anchorterminal.com/tools/routescore-mcp.min.md"
  },
  "markdown": "# Routescore\n\n\u003e Indexed, not reviewed: facts from the official MCP registry and our own checks. No score, grade or rank, and not in the rankings until the panel reviews it. How the index works: https://www.anchorterminal.com/indexed/\n\n- Kind: MCP server, by routescore.io (https://www.routescore.io/developers)\n- Listed because: It's published in the registry under routescore.io, a namespace the registry only gives to whoever proves they control that domain.\n- What the official MCP registry says: Read-only pre-sign evidence for onchain agents: route quality, MEV exposure, clear/caution verdict.\n\n## Facts\n\n- MCP registry: `io.routescore/mcp` 0.3.5\n- Endpoint: https://www.routescore.io/api/mcp (streamable HTTP)\n- Package: npm `@routescore/mcp` (stdio)\n- Source: https://github.com/routescore/mcp\n- Website: https://www.routescore.io/developers\n- npm downloads a week: 47\n- GitHub stars: 0\n- Registry entry updated: 2026-07-19\n\n## Tools\n\n- Tools it lists (11, about 9,962 tokens of context, `tools/list` without credentials, checked 2026-10-04 22:25 UTC):\n  - `check_swap` (writes): 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…\n  - `get_preflight_record` (read-only): Retrieve the durable evidence record a prior check_swap call persisted — the \"record\" leg of plan → preflight → execute → record. Fetch one record by the…\n  - `record_execution` (writes): Persist 1-100 already-built execution_record.v1 documents as immutable, personal-account post-trade evidence. Requires a stable idempotency_key; an exact…\n  - `review_execution` (read-only): Review one stored execution_record.v1 by record_id. Authenticated and personal-account owner-scoped: another account’s id is indistinguishable from a missing…\n  - `review_public_transaction` (read-only): DEV-ONLY CONTRACT DISCOVERY; DISABLED AGAINST PRODUCTION. On an explicitly enabled non-production server, review one arbitrary public Ethereum transaction by…\n  - `whoami` (read-only): Confirm the configured API key works and report which plan tier it carries. Returns the owning account email and tier.\n  - `get_detector_manifest` (read-only): 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…\n  - `quote_mev_cover` (read-only): 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…\n  - `quote_bridge_refund` (read-only): Modeled premium estimate for cross-chain bridge execution failure against a modeled SLA expectation. Returns a modeled premium and conditions — not a live…\n  - `quote_lrt_slashing` (read-only): Modeled premium estimate for slashing risk on a liquid-restaking-token (LRT) position given its AVS exposure. Returns a modeled premium and slashing bounds —…\n  - `simulate_scenario` (read-only): Run a what-if Monte Carlo: model expected premium vs expected refund/loss over a horizon, given assumptions about sandwich frequency, average loss, and…\n- How its tools read to an agent (0 errors, 4 warnings, 0 notes, about 9,962 tokens; rules at https://www.anchorterminal.com/check.md; not part of the score):\n  - warn TC13 quote_lrt_slashing: underlying_avs_exposure (object with no properties)\n  - warn TC13 record_execution: records[] (object with no properties)\n  - warn TC18 quote_bridge_refund: readOnlyHint is true but the name says \"refund\"\n  - warn TC22 review_public_transaction: the definition is about 1,629 tokens\n\n- JSON: https://www.anchorterminal.com/api/v1/tools/routescore-mcp.json\n- Being indexed says nothing about quality, and nobody can pay for it. Ask for a review: https://www.anchorterminal.com/builders/#claiming\n",
  "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"
  },
  "page": {
    "breadcrumbs": [
      {
        "name": "Home",
        "url": "https://www.anchorterminal.com/"
      },
      {
        "name": "Terminal",
        "url": "https://www.anchorterminal.com/tools/"
      },
      {
        "name": "Indexed",
        "url": "https://www.anchorterminal.com/indexed/"
      },
      {
        "name": "Routescore",
        "url": ""
      }
    ],
    "description": "Routescore, an MCP server by routescore.io, listed from the official MCP registry. Indexed, not reviewed: facts and our own checks, no score or ranking. Read-only pre-sign evidence for onchain agents: route quality, MEV exposure, clear/caution verdict.",
    "facts": [
      "not reviewed",
      "not ranked",
      "facts only"
    ],
    "h1": "Routescore",
    "image": "https://www.anchorterminal.com/assets/og/indexed.png",
    "path": "/tools/routescore-mcp",
    "published": "",
    "section": "indexed",
    "title": "Routescore: MCP server, indexed from the official MCP registry",
    "toc": null,
    "updated": "2026-10-04",
    "url": "https://www.anchorterminal.com/tools/routescore-mcp"
  },
  "tokens": {
    "markdown": 1150,
    "slim": 1080
  },
  "version": 1
}
