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
Slack MCP Server
Slack MCP servers enable AI models to interact with Slack workspaces, providing capabilities for channel management, message posting, thread handling, and team collaboration workflows.
Ollama Deep Researcher: AI Model for Web Search & LLM Synthesis
Ollama Deep Researcher MCP servers enable AI models to perform advanced topic research using web search and LLM synthesis, powered by a local MCP server.
Sequential Thinking MCP Server: AI Step-by-Step Problem Solving
Sequential Thinking MCP servers enable AI models to perform structured, step-by-step problem-solving with support for thought revision, branching reasoning, and dynamic context management.