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 git@github.com: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
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
To use this MPC server with Cursor:
- Start the server in a terminal window
- In Cursor, go to Settings > Cursor Settings > MCP
- Add a new MCP server with the following configuration:
- Name: Ethereum RPC
- Type: Command
- Command:
npx -y ethereum-rpc-mpc https://eth.llamarpc.com Ethereum
or - Command:
node /path/to/ethereum-rpc-mpc/dist/server/index.js https://eth.llamarpc.com Ethereum
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 quarantined -
zirc_getQuarantined
: Query all quarantined transactions with optional address filtering
These 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