项目简介
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): 向以太坊网络广播交易(注意:通常需要配置私钥或连接到支持交易签名的节点,公共节点可能限制此功能)。
安装步骤
- 克隆仓库:
使用 git 命令将仓库克隆到本地:
git clone https://github.com/0xKoda/eth-mcp.git - 进入仓库目录:
cd eth-mcp - 安装依赖:
确保已安装 Node.js 和 npm (或 yarn),然后运行命令安装项目依赖:
或npm installyarn 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