MCP server

One API key.REST and MCP.Thirty chains, served to your agent.

The same TheRPC key that signs your curl calls plugs into Claude Code, Cursor, Cline, Claude Desktop, VS Code and n8n. Read-only by design, billed per Compute Unit — no second quota, no separate dashboard.

Streamable HTTP at mcp.therpc.io/mcp · Bearer auth · 7 tools · 30 chains

WHAT MCP IS

Think of it as USB-C for AI apps.

Model Context Protocol is an open standard that lets an AI host — Claude Desktop, Cursor, Claude Code, VS Code, Cline — talk to outside tools through one socket. The host runs a small MCP client per server it wants to use. Our server lives at mcp.therpc.io/mcp; you point your host at that URL and your agent gets thirty chains of RPC as native tools.

SAME KEY, TWO PROTOCOLS

Paste it into curl. Paste it into Claude. Same key.

We didn't ship a separate MCP product with its own dashboard. The Bearer token you already use against rpc.therpc.io is the same one Claude Desktop sends to mcp.therpc.io. One quota, one usage page, one bill.

REST (JSON-RPC)

curl https://rpc.therpc.io/base \
-H "Authorization: Bearer trpc_live_********" \
-H "Content-Type: application/json" \
-d '{"jsonrpc":"2.0","id":1,"method":"eth_blockNumber","params":[]}'

MCP (Streamable HTTP)

{
"mcpServers": {
"therpc": {
"type": "streamable-http",
"url": "https://mcp.therpc.io/mcp",
"headers": {
"Authorization": "Bearer trpc_live_********"
}
}
}
}

ONE BEARER. ONE CU POOL. NO SECOND ACCOUNT.

INSTALL IN 60 SECONDS

Wire it once. Use it everywhere.

Six MCP-compatible hosts, one config shape. Drop the JSON block, paste your Bearer token, restart the host.

claude mcp add --transport http therpc https://mcp.therpc.io/mcp \
--header "Authorization: Bearer trpc_live_********"

SHIPPING TODAY

Things teams actually ask their agent.

Three prompts that work the moment you paste the config. No custom code, no SDK.

Tools: rpc_call, get_balance

"What's our USDC across 8 chains?"

Drop a list of multisig addresses, watch your agent fan out parallel eth_getBalance + balanceOf(USDC) calls across Ethereum, Base, Arbitrum, Optimism, Polygon, Avalanche, BNB and Linea, then table the result.

Tools: rpc_call (eth_gasPrice, eth_feeHistory)

"Ping me when blended gas is in the bottom 25%."

Cursor watches eth_gasPrice + eth_feeHistory across Base, Arbitrum, Optimism and Polygon every minute. When the window opens it surfaces the forge create command — but never signs it.

Tools: rpc_call (eth_call), estimate_cost

"Where should I move the Morpho position?"

Agent reads Aave v3, Morpho Blue and Compound v3 reserve data across Ethereum and Base, ranks net APY net of gas, and proposes a "move X from A to B" checklist. You sign manually.

TOOL SURFACE

Eight tools. Not one-hundred-fifty-nine.

We picked the smallest set that covers ninety percent of agent calls. Fewer tools = better model selection = fewer wrong calls. The model gets a generic rpc_call for anything unusual.

list_chainsDiscovery. Returns all 30 supported chains with IDs and aliases.
rpc_callGeneric JSON-RPC pass-through. Any method, any chain. The escape hatch.
rpc_batchBatch passthrough. Important for agentic loops doing many eth_calls in a row.
get_balanceNative-token balance. AIs invoke this more reliably than crafting eth_getBalance + hex math.
get_transactionFetch a transaction by hash.
get_blockFetch a block by number or tag (latest, finalized).
estimate_costTheRPC-unique. Returns the CU cost before the call runs.TheRPC-unique
get_usageTheRPC-unique. Current month CU consumed, remaining budget.TheRPC-unique

All tools share one Bearer. All calls bill against the same CU pool as your REST traffic.

SECURITY POSTURE

Read-only by design.

Our MCP server does not expose eth_sendTransaction, personal_sign, or signTransaction. Not as a default — as a rule. The only write-shaped method on the surface is eth_sendRawTransaction, which only forwards payloads that you signed somewhere else.

A Bearer token is not a wallet seed.

That choice predates the Sandworm_Mode incident of February 2026, where rogue MCP servers shipped through typosquatted npm packages and exfiltrated wallet keys from local agent processes. The lesson stuck: an MCP server that cannot sign is an MCP server that cannot leak signing power. Your Bearer is rotatable in the dashboard; it grants RPC reads and metered raw-tx relay, nothing else.

Pair us with a wallet MCP (MetaMask Snap, hardware-signer adapter) when you need signing. The agent gets two tools: read everything via TheRPC, sign nothing via TheRPC.

PRICING

Billed per CU. Same pool as REST.

Tool calls on MCP burn the same Compute Units as direct JSON-RPC. One rpc_call = one upstream request. Batches count per inner call. The estimate_cost tool lets the agent quote the cost before it spends.

See the full pricing

PAY-AS-YOU-GO

$0.39 / 1M CU

1 RPC call ≈ 10 CU ≈ $0.0000039

Free tier included. No second MCP quota.

HONEST LIMITS

Three things MCP is the wrong tool for.

Each of these needs a different surface — usually our REST or WebSocket. Same key works there too.

Microsecond arbitrage

An MCP call adds two hops (agent → mcp.therpc.io → upstream) plus 200 ms of LLM token generation. Sandwich MEV and CEX-DEX arb live below that floor.

Pending-mempool firehose

Streamable HTTP is request/response with optional SSE chunks. It is not a persistent eth_subscribe(newPendingTransactions) channel.

Five-year archive backfills

One agent prompt = one tool call. Backfilling 5 years of getLogs would burn tokens and round-trip latency.

FAQ

Frequently asked.

Wire MCP into your agent in 60 seconds.

Generate a key. Paste the JSON block. Restart the host. Pay only for the CUs your agent burned.

One key, two protocols. Read-only by design. 30 chains live.