chainlist-mcp: Chain Info
The chainlist-mcp server provides agents with accurate, up-to-date information about supported blockchain networks. It allows LLM agents to resolve key chain metadata, such as:
Chain ID
Native currency symbol
RPC URL
Explorer base URL
Network name
This is critical for ensuring that downstream tool calls (like metamask.sign or erc20.transfer) operate on the correct chain with the correct parameters.
What It Does
Maps chain names (e.g.
"optimism","arbitrum") to network metadataRetrieves RPC URLs, explorer URLs, chain IDs
Acts as a read-only reference service — no state mutation, no signing
Prevents misrouting or misuse of MCP tools due to missing or incorrect network info
Architecture
Agent → chainlist-mcp → Chain Metadata → Other tools (signer, bridge, erc20)This server acts as a metadata fetcher for the rest of the MCP pipeline. It helps tools like metamask-mcp and erc20-mcp by resolving the correct RPC, chain ID, and explorer info before they construct or sign any transaction.
Tool Name: chainlist.getChain
chainlist.getChainRequest
{
"tool": "chainlist.getChain",
"args": {
"name": "base"
}
}Response
{
"name": "Base",
"chainId": 8453,
"rpc": "https://mainnet.base.org",
"explorer": "https://basescan.org",
"currency": "ETH",
"network": "base-mainnet"
}Tool Name: chainlist.getRPC
chainlist.getRPCShortcut to retrieve only the RPC URL:
{
"tool": "chainlist.getRPC",
"args": {
"name": "optimism"
}
}Response:
{
"rpc": "https://mainnet.optimism.io"
}Server Setup
To run chainlist-mcp locally:
git clone https://github.com/pilso-os/mcp-servers
cd mcp-servers/chainlist-mcp
npm install
npm startDefault endpoint: http://localhost:3030
Add it to your pilso.config.json:
"tools": [
"http://localhost:3030"
]Data Sources
By default, chainlist-mcp pulls from:
chainlist.org JSON API
Local fallback file for offline dev
This ensures agents can function even in low-connectivity environments (e.g., testing environments or CI).
Test Call Locally
npx pilso call \
--tool chainlist.getChain \
--args '{"name": "polygon"}'Returns full chain metadata, including RPC, chain ID, and currency.
Chains Best Practices
Only expose this tool to agents that need multi-chain context (e.g.
swapper,deployer)Use this tool before calling
metamask.sign,erc20.transfer, etcDo not hardcode RPCs — use
chainlist.getRPCfor reliable resolutionCache chain metadata in long-lived agents to reduce redundancy
Future Additions
Add support for custom chain overrides via local config
Chain capability resolution (e.g. "can this chain bridge?", "supports EIP-1559?")
RPC reliability score (filter fallback RPCs by latency)
✅ Summary
Tool names
chainlist.getChain, chainlist.getRPC
Port
3030 (default)
Signature
No — read-only
Required for
All tools that need chain info or RPCs
Security
Fully isolated — no signing, no mutations
The chainlist-mcp module helps agents stay oriented in a multi-chain world — enabling trustless infrastructure that works across networks without manual config.
Last updated