swiftnodes-mcp
An MCP (Model Context Protocol) server for SwiftNodes — multi-chain blockchain RPC, exposed to AI agents.
One API key, 125+ chains, flat-rate pricing. This server gives Claude, ChatGPT, Cursor, and any MCP client live, factual answers about chains, pricing, and JSON-RPC method support — plus the ability to probe any EVM endpoint directly.
Chains
Works across all 128 SwiftNodes chains, including Ethereum, BNB Smart Chain (BSC), opBNB, Base, Arbitrum, Polygon, Solana and Bitcoin. Each chain has a slug used in tool arguments and endpoint URLs, for example:
| Chain | Slug | Endpoint |
|---|---|---|
| BNB Smart Chain (BSC) | bsc | https://rpc.swiftnodes.io/rpc/bsc?key=YOUR_API_KEY |
| opBNB | opbnb | https://rpc.swiftnodes.io/rpc/opbnb?key=YOUR_API_KEY |
| Ethereum | eth | https://rpc.swiftnodes.io/rpc/eth?key=YOUR_API_KEY |
| Base | base | https://rpc.swiftnodes.io/rpc/base?key=YOUR_API_KEY |
Example prompts: "Which JSON-RPC methods does BNB Smart Chain support?", "What is the latest block on opBNB?", "Is trace_filter available on BSC?". list_chains returns the full list.
Hosted server (recommended)
SwiftNodes runs this server for you at https://rpc.swiftnodes.io/mcp (Streamable HTTP). Nothing to install.
claude mcp add --transport http --scope user swiftnodes https://rpc.swiftnodes.io/mcp --header "Authorization: Bearer $SWIFTNODES_API_KEY"
Cursor and other clients (~/.cursor/mcp.json):
{ "mcpServers": { "swiftnodes": { "url": "https://rpc.swiftnodes.io/mcp", "headers": { "Authorization": "Bearer YOUR_API_KEY" } } } }
The key is optional: without it the public tools below work. With it, two more tools are available:
| Tool | What it does |
|---|---|
rpc_call | Make a JSON-RPC call on any SwiftNodes chain with your key (counts against your plan like any request). |
get_account | Your plan, rate limits, requests used this month, and the IP/origin restrictions on the key. Never returns key values. |
Listed in the official MCP Registry as io.swiftnodes/swiftnodes. Docs: https://swiftnodes.io/docs/mcp
Tools
| Tool | What it does |
|---|---|
list_chains | Every chain SwiftNodes serves — name, slug, chain ID, category, docs page. Filterable. |
get_chain | Full detail for one chain: IDs, block time, native currency, HTTP/WebSocket/archive endpoint templates, docs links. |
get_pricing | Live flat-rate plans from the public API — rate limits, included features, no compute units. |
get_method_support | Which JSON-RPC methods work on which chain — auto-probed weekly through the same path customer requests take. Overview or per-method detail. |
probe_endpoint | Diagnose any EVM JSON-RPC endpoint (ours or anyone's): chain identity, block height, archive capability, latency — or run a specific method call. |
Run it locally (stdio)
Zero dependencies, Node >= 18.
From this repo:
git clone https://github.com/swiftnodes/swiftnodes-mcp
node swiftnodes-mcp/bin/server.js # speaks MCP over stdio
Via npm (once published): npx -y swiftnodes-mcp
Claude Desktop
{
"mcpServers": {
"swiftnodes": {
"command": "node",
"args": ["/path/to/swiftnodes-mcp/bin/server.js"]
}
}
}
Cursor / any MCP client
Add a stdio server with command node and args ["/path/to/swiftnodes-mcp/bin/server.js"].
Data sources
- Chains — bundled snapshot generated from the SwiftNodes site source of truth (
scripts/generate-chains-data.mjs; regenerate after chain changes). - Pricing — fetched live from
https://rpc.swiftnodes.io/api/plans(bundled fallback if unreachable). - Method support — fetched live from
https://swiftnodes.io/method-matrix.json, re-probed weekly. Support values reflect the real customer path, including failover.
Notes
probe_endpoint will call any http(s) URL you give it — the same ground our CLI diagnostic rpc-doctor covers. Probe responsibly: one quick pass per endpoint, not a load test.
Questions: swiftnodes.io — free tier, no KYC.
License
MIT — see LICENSE.