protogrid

Search / io.routescore/mcp

Routescore

R1· needs a key

Read-only pre-sign evidence for onchain agents: route quality, MEV exposure, clear/caution verdict.

v0.3.5 · active · repository · website · descriptor JSON · versions

An agent can connect on its own if it already holds ROUTESCORE_TOKEN.Remote endpoint behind a static API key or header. The registry never sees the value; the agent fills the placeholder.
Quality87good
Trust93of 100
Uptime, 30 days97%
Latency p50429 ms

Connect

8 clients · secrets stay placeholders
{
  "mcpServers": {
    "routescore": {
      "type": "http",
      "url": "https://www.routescore.io/api/mcp",
      "headers": {
        "Authorization": "Bearer ${ROUTESCORE_TOKEN}"
      }
    }
  }
}
claude mcp add --transport http routescore https://www.routescore.io/api/mcp --header "Authorization: Bearer ${ROUTESCORE_TOKEN}"
[mcp_servers.routescore]
url = "https://www.routescore.io/api/mcp"
bearer_token_env_var = "ROUTESCORE_TOKEN"
{
  "$schema": "https://opencode.ai/config.json",
  "mcp": {
    "routescore": {
      "type": "remote",
      "url": "https://www.routescore.io/api/mcp",
      "enabled": true,
      "headers": {
        "Authorization": "Bearer {env:ROUTESCORE_TOKEN}"
      }
    }
  }
}
{
  "mcpServers": {
    "routescore": {
      "type": "http",
      "url": "https://www.routescore.io/api/mcp",
      "headers": {
        "Authorization": "Bearer ${ROUTESCORE_TOKEN}"
      }
    }
  },
  "deeplink": "cursor://anysphere.cursor-deeplink/mcp/install?name=routescore&config=eyJ0eXBlIjoiaHR0cCIsInVybCI6Imh0dHBzOi8vd3d3LnJvdXRlc2NvcmUuaW8vYXBpL21jcCIsImhlYWRlcnMiOnsiQXV0aG9yaXphdGlvbiI6IkJlYXJlciAke1JPVVRFU0NPUkVfVE9LRU59In19"
}
{
  "servers": {
    "routescore": {
      "type": "http",
      "url": "https://www.routescore.io/api/mcp",
      "headers": {
        "Authorization": "Bearer ${ROUTESCORE_TOKEN}"
      }
    }
  }
}
{
  "mcpServers": {
    "routescore": {
      "httpUrl": "https://www.routescore.io/api/mcp",
      "headers": {
        "Authorization": "Bearer ${ROUTESCORE_TOKEN}"
      }
    }
  }
}
extensions:
  "routescore":
    enabled: true
    name: "routescore"
    type: streamable_http
    uri: "https://www.routescore.io/api/mcp"
    headers:
      "Authorization": "Bearer ${ROUTESCORE_TOKEN}"
    timeout: 300

Placeholders to fill from your own secret store: ${ROUTESCORE_TOKEN}. The registry never accepts secret values.

Quality 87 / 100good

protocol75 · weight 25
  • warn
    protocol.modernnewest supported version is 2025-11-25; 2026-07-28 not supported, older versions are deprecated until 2027-07-28
  • n/a
    protocol.statelessonly applies to 2026-07-28 servers
  • pass
    protocol.transportstreamable HTTP
  • n/a
    protocol.list_ttlonly applies to 2026-07-28 servers
authorizationn/a · weight 15
  • n/a
    auth.prm, auth.as_metadata, auth.cimdno remote uses OAuth
  • n/a
    auth.secret_in_urlno templated URL
tool hygiene100 · weight 30
  • pass
    tools.descriptionsevery tool has a description
  • pass
    tools.description_lengthdescriptions are concise
  • pass
    tools.schemasevery tool has an object input schema
  • pass
    tools.annotations11 of 11 tools declare readOnlyHint or destructiveHint
  • pass
    tools.directory_hintsevery tool declares readOnlyHint, destructiveHint, idempotentHint and openWorldHint
  • pass
    tools.token_costabout 2,980 tokens to load every tool
  • pass
    tools.api_dumptools are not a one-to-one API dump
stability100 · weight 15
  • pass
    stability.changesno tool changes in 30 days
  • pass
    stability.rug_pullno tool changed its meaning under the same name
dependencies67 · weight 15
  • pass
    deps.known_vulnsno known advisory in 98 resolved packages
  • fail
    deps.mcp_sdk_version@modelcontextprotocol/sdk 1.30.1 has 1 known advisory (GHSA-6qxp-vccf-f47h); update @modelcontextprotocol/sdk to 1.31.0 or later
  • pass
    deps.resolvable@routescore/[email protected] resolved: 98 packages

11 tools, about 2,980 tokens to load them all · tool set b7e58082aa7b · checked 2026-10-20 15:26 UTC

Tool changes

No tool definition changes recorded. A server's first observation is its baseline; later probes record what changes.

Checks run on what our credential-free, read-only probes observe; tools are never called and no code audit is performed. How it is computed.

Trust 93 / 100

provenance100
liveness99
freshness65
hygiene100

+repository +namespace-matches-repo +dns-namespace +website +reachable +uptime-97% ~updated-93d-ago

Derived from observable signals (official registry feed and our own credential-free probes); no code audit performed. How it is computed.

Dependencies

@routescore/[email protected] npm97 dependencies, resolved · MCP SDK @modelcontextprotocol/sdk 1.30.1 · advisories checked 2026-10-19

advisoryseveritypackagefixed in
GHSA-6qxp-vccf-f47hMCP TypeScript SDK: OAuth client could send credentials to an authorization server chosen by the MCP serverhigh@modelcontextprotocol/[email protected]MCP SDK, directfixed in 1.31.0

Dependency graphs from deps.dev; advisories from OSV.dev, including the GitHub Advisory Database and the PyPI Advisory Database; all CC BY 4.0. The graph is what a clean install of this version resolves today; nothing was installed or run. How it is checked.

Endpoints

remoteauthreachableuptime 30dp50protocollast ok
https://www.routescore.io/api/mcp streamable-httpapi_key ${ROUTESCORE_TOKEN}yes97%429 ms2025-11-252026-10-20
packageregistryversionruntimesecrets
@routescore/mcpnpm0.3.5npxROUTESCORE_API_KEY

Tools (11)

check_swapCALL 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.
get_detector_manifestread-onlyFetch 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.
get_preflight_recordread-onlyRetrieve 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.
quote_bridge_refundread-onlyModeled 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.
quote_lrt_slashingread-onlyModeled 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.
quote_mev_coverread-onlyModeled 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.
record_executionPersist 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.
review_executionread-onlyReview 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.
review_public_transactionread-onlyDEV-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.
simulate_scenarioread-onlyRun 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.
whoamiread-onlyConfirm the configured API key works and report which plan tier it carries. Returns the owning account email and tier.

Schemas: list_tools.

Similar MCP servers

Official server.json
{
  "name": "io.routescore/mcp",
  "_meta": {
    "io.modelcontextprotocol.registry/publisher-provided": {
      "categories": [
        "defi",
        "onchain",
        "evidence",
        "mev",
        "finance"
      ]
    }
  },
  "title": "Routescore",
  "$schema": "https://static.modelcontextprotocol.io/schemas/2025-12-11/server.schema.json",
  "remotes": [
    {
      "url": "https://www.routescore.io/api/mcp",
      "type": "streamable-http",
      "headers": [
        {
          "name": "Authorization",
          "format": "string",
          "isSecret": true,
          "isRequired": true,
          "description": "Bearer rs_live_... — a Routescore API key, free to mint on any tier at https://www.routescore.io/account. Required for tools/call (check_swap, record retrieval, quotes); discovery (initialize, tools/list) works without a key. Same tiers and quotas as the stdio package."
        }
      ]
    }
  ],
  "version": "0.3.5",
  "packages": [
    {
      "version": "0.3.5",
      "transport": {
        "type": "stdio"
      },
      "identifier": "@routescore/mcp",
      "runtimeHint": "npx",
      "registryType": "npm",
      "registryBaseUrl": "https://registry.npmjs.org",
      "environmentVariables": [
        {
          "name": "ROUTESCORE_API_KEY",
          "format": "string",
          "isSecret": true,
          "isRequired": true,
          "description": "Routescore API key (rs_live_...), free to mint on any tier. check_swap daily quotas are per account (free 100/day, Pro 1,000, Power 10,000); per-minute burst limits are per key. The broader modeled-quote, scenario, manifest, and record-retrieval surface requires Power. Generate one at https://www.routescore.io/account. Shown once."
        },
        {
          "name": "ROUTESCORE_API_URL",
          "format": "string",
          "description": "Override the API base URL (default https://www.routescore.io). For local development use http://localhost:3000."
        }
      ]
    }
  ],
  "repository": {
    "url": "https://github.com/routescore/mcp",
    "source": "github"
  },
  "websiteUrl": "https://www.routescore.io/developers",
  "description": "Read-only pre-sign evidence for onchain agents: route quality, MEV exposure, clear/caution verdict."
}