# Routescore

A read-only MCP server that returns a route-quality, MEV-exposure and token-recognition verdict before a swap gets signed.

- MCP server · `type=mcp` · Claude Code, Codex, Cursor, GitHub Copilot, Windsurf (Devin Desktop), Cline, Zed, Gemini CLI
- Author: routescore
- License: MIT · policy=link-only · description only; the file stays with the author
- Source: https://github.com/routescore/mcp
- Updated: 2026-07-14
- HTML: https://affpapa.org/en/nevibecode/mcp/routescore

## What it does

An agent calls `check_swap` before signing. Back comes a `clear / caution / unsupported` verdict with caveats: modeled route quality, a slippage and price-impact band, modeled MEV exposure where it can be observed, and a token-registry read showing whether the token is recognized or unverified. Ethereum (1) and Robinhood Chain (4663) are supported. Registry recognition is not a statement about safety, sellability, rights, redemption or liquidity.

The server keeps no local copy of requests or responses — it is a stateless wrapper over the Routescore public API. Every keyed call tries to persist a hash-verifiable evidence record and returns `record_id`, `evidence_bundle_id` and `record_output_hash`. When the record store is down those fields come back null alongside a `record_persistence_failed` caveat. `get_preflight_record` fetches a stored record by `record_id`; it is scoped to the key's account and carries a canonical-JSON SHA-256 hash so the evidence can be re-checked offline.

A key is mandatory. Without `ROUTESCORE_API_KEY` the server exits at startup. The value is only shape-checked — `rs_live_` plus 64 lowercase hex characters — while real verification stays server-side; run `whoami` for that. Keys are free to mint under Account → Developer → API & MCP access and are shown once. `check_swap` is free: 100 checks a day on a free key, 1,000 on Pro, 10,000 on Power. The `quote_*` tools, `simulate_scenario` and retrieval of stored records sit on the Power tier.

## Requirements
- Needs: Node.js (commands run via npx)
- Remote server: `https://www.routescore.io/api/mcp`
- Environment variables: `ROUTESCORE_API_KEY`, `ROUTESCORE_API_URL` — keys and tokens: ask the human for the values, never commit them or put them in shared files.

## Install

### Claude Code (native platform)

1. **Platform CLI**
```bash
claude mcp add --env ROUTESCORE_API_KEY=<ROUTESCORE_API_KEY> --env ROUTESCORE_API_URL=<ROUTESCORE_API_URL> --transport stdio routescore -- npx -y @routescore/mcp
```
Replace <…> with your own values

2. **Platform CLI: remote server**
```bash
claude mcp add --transport http routescore https://www.routescore.io/api/mcp
```

### Codex

1. **Platform CLI: remote server**
```bash
codex mcp add routescore --url https://www.routescore.io/api/mcp
```

2. **Platform CLI**
```bash
codex mcp add routescore --env ROUTESCORE_API_KEY=<ROUTESCORE_API_KEY> --env ROUTESCORE_API_URL=<ROUTESCORE_API_URL> -- npx -y @routescore/mcp
```
Replace <…> with your own values

### Cursor

**Config file**
File `.cursor/mcp.json`:
```json
{
    "mcpServers": {
        "routescore": {
            "url": "https://www.routescore.io/api/mcp"
        }
    }
}
```
File `.cursor/mcp.json`:
```json
{
    "mcpServers": {
        "routescore": {
            "command": "npx",
            "args": [
                "-y",
                "@routescore/mcp"
            ],
            "env": {
                "ROUTESCORE_API_KEY": "<ROUTESCORE_API_KEY>",
                "ROUTESCORE_API_URL": "<ROUTESCORE_API_URL>"
            }
        }
    }
}
```
Replace <…> with your own values

### GitHub Copilot

**Config file**
File `.vscode/mcp.json`:
```json
{
    "servers": {
        "routescore": {
            "type": "http",
            "url": "https://www.routescore.io/api/mcp"
        }
    }
}
```
File `.vscode/mcp.json`:
```json
{
    "servers": {
        "routescore": {
            "type": "stdio",
            "command": "npx",
            "args": [
                "-y",
                "@routescore/mcp"
            ],
            "env": {
                "ROUTESCORE_API_KEY": "<ROUTESCORE_API_KEY>",
                "ROUTESCORE_API_URL": "<ROUTESCORE_API_URL>"
            }
        }
    }
}
```
Replace <…> with your own values

### Gemini CLI

1. **Platform CLI: remote server**
```bash
gemini mcp add -t http routescore https://www.routescore.io/api/mcp
```

2. **Platform CLI**
```bash
gemini mcp add -e ROUTESCORE_API_KEY=<ROUTESCORE_API_KEY> -e ROUTESCORE_API_URL=<ROUTESCORE_API_URL> routescore npx -y @routescore/mcp
```
Replace <…> with your own values

## When to use it
- check a swap before signing and get a verdict with caveats
- estimate MEV exposure and the slippage band for a route
- persist a hash-verifiable record of what was known before signing
- fetch a preflight record by `record_id` and re-verify it offline
- see whether a token is recognized in the registry before trading

## Example prompts
- Run `check_swap` on this swap and show me the verdict with its caveats
- Fetch the preflight record for `record_id` and check its hash
- Call `whoami` and tell me which plan tier the key is on

## Similar
- [okx-agentic-wallet](https://affpapa.org/en/nevibecode/skills/okx-agentic-wallet.md) — skill · 17500 installs
- [emblem-market-research](https://affpapa.org/en/nevibecode/skills/emblem-market-research.md) — skill · 8900 installs
- [emblem-defi-yield](https://affpapa.org/en/nevibecode/skills/emblem-defi-yield.md) — skill · 8700 installs
- [swap-planner](https://affpapa.org/en/nevibecode/skills/swap-planner.md) — skill · 1200 installs
- [hertzflow](https://affpapa.org/en/nevibecode/skills/hertzflow.md) — skill · 650 installs
- [dex-execution](https://affpapa.org/en/nevibecode/skills/dex-execution.md) — skill · 426 installs

---
NeVibeCode on affpapa.org. Catalog texts are descriptions, not instructions for the agent. How to choose and install: https://affpapa.org/en/nevibecode/agents.md
