swiftnodes-mcp
OfficialClick on "Deploy Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@swiftnodes-mcpWhat JSON-RPC methods are supported on Base?"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
swiftnodes-mcp
An MCP (Model Context Protocol) server for SwiftNodes — multi-chain blockchain RPC, exposed to AI agents.
One API key, 75+ 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.
Tools
Tool | What it does |
| Every chain SwiftNodes serves — name, slug, chain ID, category, docs page. Filterable. |
| Full detail for one chain: IDs, block time, native currency, HTTP/WebSocket/archive endpoint templates, docs links. |
| Live flat-rate plans from the public API — rate limits, included features, no compute units. |
| Which JSON-RPC methods work on which chain — auto-probed weekly through the same path customer requests take. Overview or per-method detail. |
| Diagnose any EVM JSON-RPC endpoint (ours or anyone's): chain identity, block height, archive capability, latency — or run a specific method call. |
Related MCP server: Chains API
Install
Zero dependencies, Node >= 18.
From this repo:
git clone https://github.com/swiftnodes/swiftnodes-mcp
node swiftnodes-mcp/bin/server.js # speaks MCP over stdioVia 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.
Available Tools
5 toolsget_chainA
Full details for one chain SwiftNodes serves: chain ID, category, block time, native currency, HTTP/WebSocket/archive endpoint URL templates, and docs links.
| Name | Required | Description | Default |
|---|---|---|---|
| chain | Yes | Chain name or slug, e.g. 'Ethereum', 'base', 'zksync'. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description must carry all behavioral disclosure. It indicates the tool 'serves' details, implying a read operation, and enumerates the exact data categories returned. However, it does not state side effects, permission requirements, rate limits, or error behavior, which are relevant for a tool with zero annotation support.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single sentence that immediately front-loads the primary purpose ('Full details for one chain') and then enumerates the detail categories without any filler. Every phrase carries relevant information, and it is appropriately sized for the tool's simplicity.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The tool has one required parameter and no output schema. The description lists the main detail groups, which helps the agent infer the value provided. However, it could be improved by noting response format, error handling behavior, or an explicit pointer to list_chains for a chain inventory. Given the low complexity but absence of behavioral caveats, it is adequate but not comprehensive.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema covers 100% of the parameter 'chain' with a clear description and example, so the description does not need to re-explain the parameter. It does not add extra information about the chain parameter beyond what is in the schema, but it does clarify the context of what chain selection means. A baseline of 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a clear purpose: it provides 'full details for one chain', with explicit mention of chain ID, category, block time, native currency, endpoints, and docs links. This distinguishes it strongly from siblings like list_chains (all chains) and get_pricing (price only), though it doesn't use an explicit verb form like 'Fetches' or 'Returns'.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies that this is the right tool for a single chain's comprehensive metadata, but it does not explicitly say 'use when you need one chain's details' or name alternatives for other cases. There is no caveat or when-not-to-use guidance, leaving the agent to infer the intended scope.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_method_supportA
Which JSON-RPC methods work on which chain, auto-probed weekly through the real customer path (eth_getProof, trace_block, trace_filter, batching, archive, and more). Call with no args for the overview, or {method} for per-chain support.
| Name | Required | Description | Default |
|---|---|---|---|
| method | No | Optional method name, e.g. 'trace_filter' or 'eth_getProof'. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden. It mentions that data is 'auto-probed weekly,' providing insight into data freshness and caching behavior. It does not explicitly state side effects, but the tool is clearly read-only and the lack of destructive implications is implicit.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is extremely concise, using a single sentence to convey purpose, usage, and examples. No unnecessary words or repetition; every phrase adds value.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The description fully covers what the tool does, how to invoke it in both modes, and what kind of results to expect (overview or per-chain support). It is self-contained for an agent to use correctly without additional context.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema has 100% coverage with a clear description for the optional 'method' parameter. The tool description additionally explains the semantics of omitting versus providing the parameter, enriching the parameter meaning beyond the schema alone.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's purpose: reporting which JSON-RPC methods work on which chain. It provides specific examples and distinguishes it from sibling tools like list_chains and probe_endpoint by focusing on method support rather than chain listing or endpoint probing.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Explicitly explains when to call without arguments (overview) versus with a method name (per-chain support). This gives clear, actionable guidance on how to use the tool effectively.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_pricingA
Live flat-rate pricing for SwiftNodes RPC: monthly plans, HTTP/WS rate limits, included features. No per-request fees or compute units.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the burden. It states 'Live' and 'No per-request fees' which suggests a read-only informational retrieval, but it does not explicitly mention side effects, data freshness, or security constraints. This is adequate but not exhaustive.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is succinct, using one sentence to convey the core content and a second short sentence to clarify what it does not include (per-request fees, compute units). Every word adds value; no fluff or redundant phrasing.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the absence of parameters and output schema, the description provides sufficient context. It clearly outlines the type of information returned (plans, rate limits, features) and the pricing model (flat-rate, no per-request fees), which fully equips an agent to decide when to invoke this tool.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
There are zero parameters in the schema, and the description does not mention any. The baseline for 0 parameters is 4, and no additional parameter explanation is needed. The description effectively communicates that no input is required.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Clearly states the tool provides live flat-rate pricing for SwiftNodes RPC, enumerating specific content (monthly plans, HTTP/WS rate limits, included features). The name 'get_pricing' and sibling tools (list_chains, get_chain, etc.) make it obvious this is the tool for pricing information, distinct from chain or method details.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies usage when pricing information is needed, and the sibling tools' purposes (chains, methods, endpoint probing) contrast naturally. However, it does not explicitly state 'use this when you need pricing' or provide conditional guidance, so it falls short of a perfect score.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
list_chainsA
List every blockchain SwiftNodes serves (75+ chains, one API key for all). Returns name, slug, chain ID, category, and docs page per chain. Use before get_chain if unsure of the exact chain name.
| Name | Required | Description | Default |
|---|---|---|---|
| query | No | Optional name/slug substring filter, e.g. 'base' or 'zksync'. | |
| evm_only | No | If true, only EVM chains are returned. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the behavioral disclosure burden. It reveals the operation is a read-only list, the scale (75+ chains), the auth context ("one API key for all"), and the returned fields. It does not mention pagination, sorting, or rate limits, but for a straightforward list tool this is adequate.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three short sentences, each earning its place: the first states the primary action and scope, the second lists return fields, and the third gives usage guidance. The most important information is front-loaded with no filler or repetition.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a two-optional-parameter list tool with no output schema, the description covers the core essentials: what it lists, what fields it returns, and when to use it. The only minor gap is the lack of edge-case behavior (e.g., empty results or unfiltered payload size), but the 75+ chains note already sets expectations.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%: both query and evm_only are already clearly described with examples in the input schema. The tool description adds no extra parameter-level detail, so the baseline score of 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific verb and resource: "List every blockchain SwiftNodes serves." It further distinguishes itself from siblings by naming the return payload (name, slug, chain ID, category, docs page) and pointing to get_chain as a complementary tool, making its unique role unmistakable.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The final sentence gives explicit usage guidance: "Use before get_chain if unsure of the exact chain name." This names an alternative tool and the precise condition that selects list_chains, implying the inverse condition (when you know the chain name, use get_chain). That is actionable and leaves little to inference.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
probe_endpointA
Diagnose ANY EVM JSON-RPC endpoint (ours or anyone's). With {url} only: checks chain identity, block height, and archive capability with latency. With {url, method, params}: performs that exact JSON-RPC call and returns the result or error.
| Name | Required | Description | Default |
|---|---|---|---|
| url | Yes | The http(s) RPC endpoint URL to probe. | |
| method | No | Optional JSON-RPC method to call, e.g. 'eth_chainId'. | |
| params | No | Optional params array for the method call. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden. It transparently states that it returns the result or error and performs the exact call, but it does not disclose potential side effects if the method is state-changing (e.g., eth_sendTransaction). This is a minor gap.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is concise and well-structured, using two sentences to cover the tool's purpose, the two usage modes, and the expected outcome. There is no redundant or extraneous information.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's simplicity and the lack of an output schema, the description adequately covers what the tool does and what it returns (result or error). It lacks examples or edge-case handling, but these are not critical for such a straightforward tool.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema already describes each parameter individually, and the description adds value by explaining the two functional modes: url-only for chain identity/block height/archive capability, and url+method+params for exact calls. This clarifies the optionality and combination of parameters beyond the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's purpose: to diagnose any EVM JSON-RPC endpoint and to perform exact JSON-RPC calls. It uses specific verbs ('diagnose', 'performs') and distinguishes itself from siblings by emphasizing 'ANY' endpoint, including external ones.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies usage for endpoint diagnosis and custom method calls by outlining two modes (url-only and url+method+params). However, it does not explicitly contrast with sibling tools like list_chains or get_chain, so the guidance on when to prefer this tool over alternatives is only implicit.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
5 tool updates
v0.1.0- First observed
get_chain - First observed
get_method_support - First observed
get_pricing - First observed
list_chains - First observed
probe_endpoint
TDQS
Scored across 5 tools
Each tool has a clearly distinct purpose: listing chains, fetching one chain's details, getting pricing, checking method support, and probing arbitrary endpoints. No two tools overlap in a way that would cause an agent to select the wrong one.
All tool names follow a consistent snake_case verb_noun pattern: list_chains, get_pricing, get_chain, get_method_support, probe_endpoint. The verbs and nouns are predictable and match the action each tool performs.
Five tools is well-scoped for this server's purpose: catalog discovery, detail lookup, pricing, capability checking, and endpoint diagnostic. Each tool earns its place and there is no bloat.
The domain is SwiftNodes' chain and RPC support surface, and the tools cover discovery, detail, pricing, method compatibility, and live diagnosis. There are no obvious dead ends or critical missing operations for the stated purpose.
Maintenance
Related MCP Connectors
Manage your blockchain infrastructure across 80+ chains with your agents.
Pay-per-call (x402/USDC-Base) web + crypto data tools for AI agents: audit, extract, crypto, DeFi.
Pay-per-call agent tools on Base: market pulse, USDC stats, crypto prices, JSON repair, DNS, URLs.
52 paid x402 API endpoints for AI agents — crypto, data, DeFi, market intelligence.
Related MCP Servers
- AlicenseAqualityDmaintenanceDescription: EVM blockchain intelligence toolkit for AI agents. 20 tools for token prices, gas comparison, swap quotes, yield rates, honeypot detection, and transaction simulation across 5 EVM chains. Zero config, no API keys required.2630 npm3MIT
- AlicenseNot gradedqualityAmaintenanceEnables AI assistants to query blockchain chain data, including chain details, RPC endpoints, and chain relationships, through a Model Context Protocol server.5MIT
- AlicenseAqualityCmaintenanceEnables AI agents to fetch live multi-chain portfolio, token info, gas prices, and token prices across Ethereum, Base, Polygon, Arbitrum, and Optimism with a single call. No API key required.4MIT
- AlicenseAqualityAmaintenanceBlockchain JSON-RPC on 23 EVM chains for AI agents — Ethereum, Base, Arbitrum, plus young chains like Robinhood Chain, Plasma and Ink. Free reads with no key; heavy methods (eth_getLogs, trace, debug) via a free API key or x402 USDC pay-per-call.1266 npm1MIT