Ethereum RPC MCP Server
A TypeScript MCP server that exposes the full Ethereum JSON-RPC surface, enabling AI assistants to query on-chain data, inspect contracts, and retrieve transaction details across EVM networks. Includes optional analytics and Zircuit-specific SLS methods.
Overview
The Ethereum RPC MCP Server provides a Model Context Protocol interface for standard Ethereum JSON-RPC. It lets AI assistants interact with EVM chains through familiar RPC calls like eth_blockNumber, eth_getBalance, and eth_getTransactionByHash. It supports any RPC endpoint and optionally enables analytics. When connected to Zircuit (Chain ID 48900), it automatically exposes SLS methods for quarantine checks.
Created by:
Developed by Phillip Kemper
Key Features
Full JSON-RPC Coverage
Supports standard Ethereum RPC calls for blocks, tx, accounts, logs
Multi-Chain RPC
Connect to any EVM endpoint (e.g., Ethereum, Zircuit) via URL
Zircuit SLS Methods
Expose zirc_isQuarantined and zirc_getQuarantined on Chain ID 48900
Optional Analytics
Enable request metrics and error reporting via analytics middleware
Available Tools
Quick Reference
| Tool | Purpose | Category |
|---|---|---|
eth_blockNumber | Get current block height | Network |
eth_getBalance | Get ETH balance for address | Account |
eth_getCode | Check if address is a contract | Contract |
eth_getTransactionByHash | Retrieve tx details by hash | Transaction |
zirc_isQuarantined | Check if tx is quarantined (Zircuit only) | Zircuit |
zirc_getQuarantined | List quarantined txs with optional filter | Zircuit |
Detailed Usage
eth_blockNumber▶
Get the latest block number.
use_mcp_tool({
server_name: "ethereum_rpc",
tool_name: "eth_blockNumber",
arguments: {}
});
Returns a hex quantity per JSON-RPC conventions.
eth_getBalance▶
Get the ETH balance of an address at the latest block.
use_mcp_tool({
server_name: "ethereum_rpc",
tool_name: "eth_getBalance",
arguments: {
address: "0x742d35Cc6634C0532925a3b844Bc454e4438f44e",
blockTag: "latest"
}
});
Returns a hex-encoded wei balance.
eth_getCode▶
Determine if an address hosts contract bytecode.
use_mcp_tool({
server_name: "ethereum_rpc",
tool_name: "eth_getCode",
arguments: {
address: "0x6B175474E89094C44Da98b954EedeAC495271d0F",
blockTag: "latest"
}
});
Non-empty bytecode indicates a smart contract.
eth_getTransactionByHash▶
Retrieve a transaction by its hash.
use_mcp_tool({
server_name: "ethereum_rpc",
tool_name: "eth_getTransactionByHash",
arguments: {
hash: "0x5c504ed432cb51138bcf09aa5e8a410dd4a1e204ef84bfed1be16dfba1b22060"
}
});
Returns full transaction fields per JSON-RPC spec.
zirc_isQuarantined▶
Check if a transaction is quarantined (Zircuit endpoints only).
use_mcp_tool({
server_name: "ethereum_rpc",
tool_name: "zirc_isQuarantined",
arguments: {
hash: "0x..."
}
});
Available automatically when connected to Zircuit (Chain ID 48900).
Installation
{
"mcpServers": {
"ethereum_rpc": {
"command": "npx",
"args": [
"-y",
"ethereum-rpc-mpc",
"https://eth.llamarpc.com",
"Ethereum"
]
}
}
}
Custom RPC & Chain:
Replace the RPC URL and chain name with your target endpoint (e.g., https://mainnet.zircuit.com and Zircuit).
Add --analytics and --db-path /path/to/analytics.db to enable analytics.
Common Use Cases
1. Get Current Block Number
use_mcp_tool({
server_name: "ethereum_rpc",
tool_name: "eth_blockNumber",
arguments: {}
});
2. Check Address Balance
use_mcp_tool({
server_name: "ethereum_rpc",
tool_name: "eth_getBalance",
arguments: { address: "0x742d35Cc6634C0532925a3b844Bc454e4438f44e", blockTag: "latest" }
});
3. Is Address a Contract?
use_mcp_tool({
server_name: "ethereum_rpc",
tool_name: "eth_getCode",
arguments: { address: "0x6B175474E89094C44Da98b954EedeAC495271d0F", blockTag: "latest" }
});
4. Retrieve Transaction Details
use_mcp_tool({
server_name: "ethereum_rpc",
tool_name: "eth_getTransactionByHash",
arguments: { hash: "0x5c504ed432cb51138bcf09aa5e8a410dd4a1e204ef84bfed1be16dfba1b22060" }
});
5. Zircuit Quarantine Status
use_mcp_tool({
server_name: "ethereum_rpc",
tool_name: "zirc_isQuarantined",
arguments: { hash: "0x..." }
});
Sources
Related Articles
Text to Speech MCP Server
Text to Speech MCP servers enable AI models to convert text into natural-sounding speech, providing capabilities for real-time audio generation, voice synthesis, and multilingual support.
Notion MCP Server
Notion MCP servers enable AI models to interact with Notion workspaces, providing capabilities for database operations, page management, content creation, and collaborative workspace automation.
Perplexity AI MCP Server: Real-time Search & Reasoning for AI
Explore Perplexity AI MCP Server for real-time web search, advanced reasoning, and comprehensive research. Empower your AI with up-to-date information and detailed answers.