使用说明
项目简介
EVM MCP Server 是一个实现了 Model Context Protocol (MCP) 的服务器,专注于为 AI Agent 提供与以太坊虚拟机 (EVM) 兼容的区块链网络交互的能力。它统一了访问接口,使得 AI Agent 可以轻松地跨多个 EVM 网络(如 Ethereum, Optimism, Arbitrum, Polygon 等)获取链上数据和执行操作。
主要功能点
- 多链支持: 支持 30+ EVM 兼容网络,包括主网和测试网。
- 区块链数据访问: 提供链信息、区块数据、交易详情、账户余额等查询功能。
- Token 服务: 支持 ERC20、ERC721 (NFT)、ERC1155 Token 的元数据查询、余额查询、转移等操作。
- 智能合约交互: 支持读取合约状态、执行合约写入操作。
- ENS 名称解析: 支持使用 ENS 域名代替地址进行操作,简化用户交互。
- 多种运行模式: 支持 stdio 和 HTTP (SSE) 两种服务器模式,适应不同的客户端连接方式。
安装步骤
-
克隆仓库
git clone https://github.com/chulanpro5/evm-mcp-server.git cd evm-mcp-server -
安装依赖 推荐使用 Bun 包管理器,或者使用 npm。
# 使用 Bun bun install # 或者使用 npm npm install
服务器配置
MCP 服务器是为 MCP 客户端设计的后端服务,客户端需要配置服务器的启动命令才能连接。以下是常用的配置信息,以 JSON 格式描述,适用于 Cursor 等 MCP 客户端:
-
Stdio 模式 (推荐用于 CLI 工具)
{ "mcpServers": { "evm-mcp-server": { "command": "npx", "args": [ "@mcpdotdirect/evm-mcp-server" ] } } }参数说明:
- 'server name': 服务器名称,例如 'evm-mcp-server',可自定义。
- 'type': 连接类型,对于 stdio 模式,通常配置为 'command'。
- 'command': 启动服务器的命令,这里使用 'npx @mcpdotdirect/evm-mcp-server',直接运行已发布的包。
- 'args': 命令参数,对于 stdio 模式,通常为空数组 '[]'。
-
HTTP SSE 模式 (适用于 Web 应用)
{ "mcpServers": { "evm-mcp-http": { "command": "npx", "args": [ "@mcpdotdirect/evm-mcp-server", "--http" ] }, "evm-mcp-sse": { "url": "http://localhost:3001/sse" } } }参数说明:
- 'server name': 服务器名称,例如 'evm-mcp-http' 或 'evm-mcp-sse',可自定义。
- 'type': 连接类型,对于 HTTP SSE 模式,可以配置为 'command' 启动 HTTP 服务端,或者直接使用 'url' 连接到已运行的 HTTP 服务。
- 'command': 启动 HTTP 服务器的命令,使用 'npx @mcpdotdirect/evm-mcp-server --http'。
- 'args': 命令参数,'["--http"]' 指定以 HTTP 模式启动。
- 'url': 已运行的 HTTP 服务器 SSE 端点 URL,例如 '"http://localhost:3001/sse"'。
基本使用方法
-
启动服务器
根据你的 MCP 客户端类型,选择合适的服务器模式启动。
-
Stdio 模式
bun start # 或者开发模式,自动重载 bun dev -
HTTP SSE 模式
bun start:http # 或者开发模式,自动重载 bun dev:http
-
-
配置 MCP 客户端
将上述生成的 JSON 配置信息添加到你的 MCP 客户端 (例如 Cursor) 的配置文件中。 具体配置方法请参考 MCP 客户端的文档。
-
在 MCP 客户端中使用
配置完成后,你就可以在 MCP 客户端中使用 EVM MCP Server 提供的工具和资源了。 例如,在 Cursor 中,你可以通过自然语言指令,如 “Check the ETH balance of vitalik.eth on mainnet” 或 “Transfer 0.1 ETH from my wallet to vitalik.eth”,来调用服务器的功能。
注意:
- 默认服务器配置(端口、默认链等)在代码中硬编码,如需修改请编辑 'src/core/chains.ts' 和 'src/server/http-server.ts' 文件。
- 私钥仅用于交易签名,服务器不会存储私钥,请妥善保管你的私钥。
信息
分类
网页与API