这是一个使用 MCP SDK 支持所有 Ethereum JSON-RPC 调用的 TypeScript MCP 服务器,使 AI 模型能够与区块链数据进行交互。
该项目提供了一个模型上下文协议(MCP)服务器,允许像 Cursor 或 Claude(或任何 MCP 客户端实现)这样的 AI 助手通过标准化的 JSON-RPC 接口与 Ethereum 区块链数据进行交互。它充当了 AI 模型与 EVM 区块链之间的桥梁,实现了对链上数据和功能的无缝访问。
# 克隆仓库
git clone git@github.com:Phillip-Kemper/ethereum-rpc-mpc.git
cd ethereum-rpc-mpc
# 安装依赖
yarn install
# 构建项目
yarn build
# 启动 Inspector(默认使用 Ethereum RPC,可以在 Inspector 设置中更改)
yarn inspector
要将此 MPC 服务器与 Cursor 结合使用:
npx -y ethereum-rpc-mpc https://eth.llamarpc.com Ethereum
或node /path/to/ethereum-rpc-mpc/dist/server/index.js https://eth.llamarpc.com Ethereum您还可以通过启用 MCP Analytics Middleware 来获取有关请求数量、请求时长以及错误报告的概览,适用于您的所有工具和资源。要启用它,只需传递 --analytics 标志并额外指定一个 Sqlite 文件路径。
npx -y ethereum-rpc-mpc https://eth.llamarpc.com Ethereum --analytics --db-path /Users/satoshi/Desktop/analytics.db您可以通过提供 Ethereum RPC URL 和可选的链名称来启动服务器:
yarn start [RPC_URL] [CHAIN_NAME]
# 使用 npx(无需安装)
npx -y ethereum-rpc-mpc [RPC_URL] [CHAIN_NAME]
如果未提供 RPC URL,则默认为 "https://eth.llamarpc.com"。
示例:
# 连接到 Ethereum 主网
yarn start https://eth.llamarpc.com Ethereum
# 连接到 Zircuit
yarn start https://mainnet.zircuit.com Zircuit
这里有一些如何使用 Ethereum RPC MPC 服务器与 Claude 的示例:
当前的区块号是多少?
0x742d35Cc6634C0532925a3b844Bc454e4438f44e 的 ETH 余额是多少?
0x6B175474E89094C44Da98b954EedeAC495271d0F 是智能合约吗?如果是,是什么类型的合约?
能否显示交易 0x5c504ed432cb51138bcf09aa5e8a410dd4a1e204ef84bfed1be16dfba1b22060 的详细信息?
该服务器包括对 Zircuit 特定 RPC 方法的特殊支持。这些方法默认情况下不启用,但在连接到 Zircuit 端点(链 ID:48900)时会自动激活。
支持的 Zircuit 方法包括:
zirc_isQuarantined:检查特定交易是否被隔离zirc_getQuarantined:查询所有被隔离的交易,可选地址过滤这些方法特别适用于监控交易隔离状态。
我们计划扩展功能,不仅支持基本的 RPC 调用,还包括对索引区块链数据 API 的支持。这将使历史数据查询和复杂的链上分析更加高效。
未来的版本将支持同时连接多个链和 RPC 端点,使 AI 模型能够在单个会话中访问不同区块链的数据。
未来的增强功能之一是开发客户端实现,使其更容易从各种应用程序与这个 MCP 服务器进行交互。
我们计划添加分析功能,以跟踪使用模式、流行的 RPC 方法和性能指标。这将有助于优化服务器,并提供关于 AI 模型如何与区块链数据交互的洞察。
MIT