项目简介

eth-mcp 是一个基于 Model Context Protocol (MCP) 构建的服务器,旨在为 LLM 应用提供访问以太坊区块链数据的能力。它通过标准化的 MCP 协议,将常用的以太坊 RPC 方法封装成工具,供 LLM 客户端调用,使得 LLM 应用能够便捷地与以太坊区块链进行交互。

主要功能点

  • 查询以太坊数据: 提供多个工具,允许 LLM 客户端查询以太坊区块链上的各种数据,包括:
    • 获取合约代码 (eth_getCode): 查询指定以太坊地址的合约代码。
    • 获取 Gas 价格 (eth_gasPrice): 查询当前以太坊网络的 Gas 价格,用于评估交易成本。
    • 查询账户余额 (eth_getBalance): 查询指定以太坊账户的 ETH 余额。
    • 执行合约调用 (eth_call): 模拟执行合约的只读方法,获取返回值,不产生链上交易。
    • 检索事件日志 (eth_getLogs): 根据条件过滤查询以太坊事件日志,用于追踪链上事件。
    • 发送交易 (eth_sendTransaction): 向以太坊网络广播交易(注意:通常需要配置私钥或连接到支持交易签名的节点,公共节点可能限制此功能)。

安装步骤

  1. 克隆仓库: 使用 git 命令将仓库克隆到本地:
    git clone https://github.com/0xKoda/eth-mcp.git
  2. 进入仓库目录
    cd eth-mcp
  3. 安装依赖: 确保已安装 Node.js 和 npm (或 yarn),然后运行命令安装项目依赖:
    npm install
    yarn install

服务器配置

要将此 MCP 服务器添加到 MCP 客户端(例如 Cursor),您需要配置服务器的启动命令。以下是配置信息,您需要根据实际情况修改路径:

{
  "serverName": "eth-mcp",
  "command": "node",
  "args": [ "/path/to/eth-mcp/index.js" ]
}

配置参数说明

  • 'serverName': 为 MCP 服务器自定义一个名称,例如 "eth-mcp" 或 "Ethereum RPC"。这个名称将显示在 MCP 客户端的服务器列表中。
  • 'command': 指定用于启动 MCP 服务器的命令。由于该服务器是 Node.js 应用,所以这里使用 'node' 命令。
  • 'args': 一个字符串数组,包含传递给 'command' 的参数。这里需要指定 'index.js' 脚本的绝对路径。请将 '/path/to/eth-mcp/index.js' 替换为您本地仓库 'index.js' 文件的实际完整路径。您可以使用 'pwd' 命令获取当前目录,然后拼接上 'index.js'。

示例 (假设您的仓库路径为 '/Users/yourusername/eth-mcp')

{
  "serverName": "eth-mcp",
  "command": "node",
  "args": [ "/Users/yourusername/eth-mcp/index.js" ]
}

将上述 JSON 配置复制到 MCP 客户端的服务器配置中,并确保路径正确。

基本使用方法

成功配置并启动 MCP 服务器后,在 MCP 客户端中,您就可以使用以下工具来与以太坊区块链交互了。具体使用方式取决于 MCP 客户端的功能,但通常您可以通过类似命令或自然语言的方式调用这些工具。

例如,在 Cursor 中:

  • 要查询 Vitalik 地址的 ETH 余额,可以使用 '@eth_getBalance address=0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045'。
  • 要获取当前 Gas 价格,可以使用 '@eth_gasPrice'。
  • 要获取某个合约的代码,可以使用 '@eth_getCode address=0x...' (替换为合约地址)。

请参考 MCP 客户端的文档,了解如何更有效地使用这些工具。

信息

分类

网页与API