
Ethereum RPC
STDIOTypeScript MCP server for Ethereum JSON-RPC calls enabling AI-blockchain interaction
TypeScript MCP server for Ethereum JSON-RPC calls enabling AI-blockchain interaction
A TypeScript MCP server that leverages the MCP SDK to support all Ethereum JSON-RPC calls, enabling AI models to interact with blockchain data.
This project provides a Model Context Protocol (MCP) server that allows AI assistants like Cursor or Claude (or any MCP Client implementation) to interact with Ethereum blockchain data through standardized JSON-RPC interfaces. It acts as a bridge between AI models and EVM blockchains, enabling seamless access to on-chain data and functionality.
# Clone the repository git clone [email protected]:Phillip-Kemper/ethereum-rpc-mpc.git cd ethereum-rpc-mpc # Install dependencies yarn install # Build the project yarn build # Start Inspector with default Ethereum RPC (you can change in the inspector settings on ) yarn inspector
To use this MPC server with Cursor:
npx -y ethereum-rpc-mpc https://eth.llamarpc.com Ethereum
ornode /path/to/ethereum-rpc-mpc/dist/server/index.js https://eth.llamarpc.com Ethereum
You can also enable analytics using MCP Analytics Middleware to get an overview about number of requests, duration of requests as well as error reporting for all your tools and resources. To enable it, just pass the --analytics flag and additionally a path for the Sqlite File.
npx -y ethereum-rpc-mpc https://eth.llamarpc.com Ethereum --analytics --db-path /Users/satoshi/Desktop/analytics.db
You can start the server by providing an Ethereum RPC URL and an optional chain name:
yarn start [RPC_URL] [CHAIN_NAME] # Using npx (without installing) npx -y ethereum-rpc-mpc [RPC_URL] [CHAIN_NAME]
If no RPC URL is provided, it will default to "https://eth.llamarpc.com".
Example:
# Connect to Ethereum mainnet yarn start https://eth.llamarpc.com Ethereum # Connect to Zircuit yarn start https://mainnet.zircuit.com Zircuit
Here are some examples of how to use the Ethereum RPC MPC server with Claude:
What's the current block number?
What's the ETH balance of 0x742d35Cc6634C0532925a3b844Bc454e4438f44e?
Is 0x6B175474E89094C44Da98b954EedeAC495271d0F a smart contract? If yes, what kind of contract is it?
Can you show me the details of transaction 0x5c504ed432cb51138bcf09aa5e8a410dd4a1e204ef84bfed1be16dfba1b22060?
This server includes special support for Zircuit-specific RPC methods. These methods are not enabled by default but are automatically activated when connecting to a Zircuit endpoint (Chain ID: 48900).
The supported Zircuit methods include:
zirc_isQuarantined
: Check if a specific transaction is quarantinedzirc_getQuarantined
: Query all quarantined transactions with optional address filteringThese methods are particularly useful for monitoring transaction quarantine status.
We plan to extend the functionality beyond basic RPC calls to include support for indexed blockchain data APIs. This will enable more efficient querying of historical data and complex on-chain analytics.
Future versions will support connecting to multiple chains and RPC endpoints simultaneously, allowing AI models to access data across different blockchains in a single session.
A future enhancement will be to develop a client-side implementation that makes it easier to interact with this MCP server from various applications.
We plan to add analytics capabilities to track usage patterns, popular RPC methods, and performance metrics. This will help optimize the server and provide insights into how AI models are interacting with blockchain data.
MIT