EVM MCP 服务器
一个全面的模型上下文协议 (MCP) 服务器,可在多个兼容 EVM 的网络中提供区块链服务。该服务器使 AI 代理能够通过统一的接口与以太坊、Optimism、Arbitrum、Base、Polygon 以及许多其他 EVM 链进行交互。
📋 内容
🔭 概述
MCP EVM 服务器利用模型上下文协议 (MCP) 为 AI 代理提供区块链服务。它支持多种服务,包括:
- 读取区块链状态(余额、交易、区块等) 
- 与智能合约交互 
- 转移代币(原生代币、ERC20、ERC721、ERC1155) 
- 查询代币元数据和余额 
- 跨 30 多个 EVM 网络的链特定服务 
- 所有地址参数的ENS 名称解析(使用人类可读的名称,如“vitalik.eth”,而不是地址) 
所有服务均通过 MCP 工具和资源的统一接口公开,方便 AI 代理发现和使用区块链功能。所有接受以太坊地址的工具也支持 ENS 域名,并在后台自动将其解析为地址。
✨ 特点
区块链数据访问
- 支持 30 多个 EVM 兼容网络的多链 
- 链信息,包括 blockNumber、chainId 和 RPC 
- 通过数字、哈希或最新数据来阻止数据访问 
- 带有解码日志的交易详细信息和收据 
- 原生代币和所有代币标准的地址余额 
- ENS 解析人类可读的以太坊地址(使用“vitalik.eth”而不是“0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045”) 
代币服务
- ERC20代币 - 获取代币元数据(名称、符号、小数、供应量) 
- 检查代币余额 
- 在地址之间转移代币 
- 批准支出限额 
 
- NFT(ERC721) - 获取集合和令牌元数据 
- 验证代币所有权 
- 在地址之间转移 NFT 
- 检索代币 URI 并统计持有量 
 
- 多代币(ERC1155) - 获取代币余额和元数据 
- 转移代币数量 
- 访问令牌 URI 
 
智能合约交互
- 通过视图/纯函数读取合约状态 
- 使用私钥签名编写服务 
- 合同验证以区别于 EOA 
- 事件日志检索和过滤 
全面的交易支��
- 原生代币在所有支持网络上传输 
- 交易规划的Gas 估算 
- 交易状态和收据信息 
- 使用描述性消息进行错误处理 
🌐 支持的网络
主网
- 以太坊(ETH) 
- 乐观主义(OP) 
- 仲裁(ARB) 
- 新仲裁庭 
- 根据 
- 多边形(MATIC) 
- 多边形 zkEVM 
- 雪崩(AVAX) 
- 币安智能链(BSC) 
- zkSync 时代 
- 莱尼亚 
- 塞洛 
- Gnosis(xDai) 
- 幻影(FTM) 
- Filecoin(FIL) 
- 月光 
- 月河 
- 克洛诺斯 
- 滚动 
- 地幔 
- 蝠鲼 
- 爆炸 
- 弗拉克斯塔尔 
- 模式 
- 梅蒂斯人 
- 克罗马 
- 佐拉 
- 极光 
- 坎托 
测试网
- 塞波利亚 
- 乐观塞波利亚 
- 塞波利亚仲裁庭 
- 塞波利亚基地 
- 多边形淘 
- 雪崩富士 
- BSC 测试网 
- zkSync Sepolia 
- 线状塞波利亚 
- 滚动塞波利亚 
- 披风 
- 蝠鲼 
- 爆炸棕褐色 
- Fraxtal 测试网 
- 模式测试网 
- 梅蒂斯·塞波利亚 
- 克罗马塞波利亚 
- 佐拉·塞波利亚 
- 塞洛·阿尔法霍雷斯 
- 戈利 
- 霍莱斯基 
🛠️ 先决条件
- Bun 1.0.0 或更高版本 
- Node.js 18.0.0 或更高版本(如果不使用 Bun) 
📦安装
⚙️ 服务器配置
服务器使用以下默认配置:
- 默认链 ID :1(以太坊主网) 
- 服务器端口:3001 
- 服务器主机:0.0.0.0(可从任何网络接口访问) 
这些值在应用程序中是硬编码的。如果需要修改它们,可以编辑以下文件:
- 对于链配置: - src/core/chains.ts
- 对于服务器配置: - src/server/http-server.ts
🚀 使用方法
使用 npx(无需安装)
您可以使用 npx 直接运行 MCP EVM 服务器,无需安装:
本地运行服务器
使用 stdio 启动服务器(用于嵌入 CLI 工具):
或者使用 SSE 为 Web 应用程序启动 HTTP 服务器:
连接到服务器
使用任何兼容 MCP 的客户端连接到此 MCP 服务器。您可以使用MCP 检查器进行测试和调试。
从光标连接
要从 Cursor 连接到 MCP 服务器:
- 打开 Cursor 并转到“设置”(左下角的齿轮图标) 
- 点击左侧边栏中的“功能” 
- 向下滚动到“MCP 服务器”部分 
- 点击“添加新的 MCP 服务器” 
- 输入以下详细信息: - 服务器名称: - evm-mcp-server
- 类型: - command
- 命令: - npx @mcpdotdirect/evm-mcp-server
 
- 点击“保存” 
连接后,您可以直接在 Cursor 中使用 MCP 服务器的功能。该服务器将显示在 MCP 服务器列表中,您可以根据需要启用/禁用。
使用 mcp.json 和 Cursor
为了获得可与团队共享或跨项目使用的更便携的配置,您可以在项目的根目录中创建一个.cursor/mcp.json文件:
将此文件放在项目的.cursor目录中(如果不存在,请创建一个),Cursor 会在处理该项目时自动检测并使用这些 MCP 服务器配置。这种方法��以轻松实现以下操作:
- 与您的团队共享 MCP 配置 
- 版本控制您的 MCP 设置 
- 对不同的项目使用不同的服务器配置 
示例:带有 SSE 的 HTTP 模式
如果您正在开发 Web 应用程序并希望使用服务器发送事件 (SSE) 连接到 HTTP 服务器,则可以使用以下配置:
这直接连接到 HTTP 服务器的 SSE 端点,这对于以下方面很有用:
- 需要从浏览器连接到 MCP 服务器的 Web 应用程序 
- 不适合运行本地命令的环境 
- 在多个用户或应用程序之间共享单个 MCP 服务器实例 
要使用此配置:
- 如果不存在,请在项目根目录中创建一个 - .cursor目录
- 将上述 JSON 保存为 - .cursor目录中的- mcp.json
- 重新启动 Cursor 或打开您的项目 
- Cursor 将检测配置并提供启用服务器 
示例:在 Cursor 中使用 MCP 服务器
使用mcp.json配置 MCP 服务器后,您可以轻松地在 Cursor 中使用它。以下是示例工作流程:
- 在您的项目中创建一个新的 JavaScript/TypeScript 文件: 
- 在 Cursor 中打开文件后,您可以要求 Cursor 执行以下操作: - “检查 vitalik.eth 的当前 ETH 余额” 
- “查看以太坊上的 USDC 价格” 
- “向我展示关于乐观主义的最新区块” 
- 检查 0x1234... 是否为合约地址 
 
- Cursor 将使用 MCP 服务器执行这些操作并在您的对话中直接返回结果。 
MCP 服务器处理所有区块链通信,同时允许 Cursor 通过自然语言理解和执行与区块链相关的任务。
使用 Claude CLI 进行连接
如果您使用 Claude CLI,则只需两个命令即可连接到 MCP 服务器:
示例:使用 ENS 获取代币余额
示例:解析 ENS 名称
📚 API 参考
工具
服务器���代理提供以下 MCP 工具。所有接受地址参数的工具均支持以太坊地址和 ENS 域名。
代币服务
| 工具名称 | 描述 | 关键参数 | 
| 
 | 获取 ERC20 代币元数据 | 
 (地址/ENS), 
 | 
| 
 | 检查 ERC20 代币余额 | 
 (地址/ENS)、 
 (地址/ENS)、 
 | 
| 
 | 转移 ERC20 代币 | 
 、 
 (地址/ENS)、 
 (地址/ENS)、 
 、 
 | 
| 
 | 批准令牌限额 | 
 、 
 (地址/ENS)、 
 (地址/ENS)、 
 、 
 | 
| 
 | 获取 NFT 元数据 | 
 (地址/ENS)、 
 、 
 | 
| 
 | 验证 NFT 所有权 | 
 (地址/ENS)、 
 、 
 (地址/ENS)、 
 | 
| 
 | 转移NFT | 
 、 
 (地址/ENS)、 
 、 
 (地址/ENS)、 
 | 
| 
 | 统计拥有的 NFT 数量 | 
 (地址/ENS)、 
 (地址/ENS)、 
 | 
| 
 | 获取 ERC1155 元数据 | 
 (地址/ENS)、 
 、 
 | 
| 
 | 检查 ERC1155 余额 | 
 (地址/ENS)、 
 、 
 (地址/ENS)、 
 | 
| 
 | 转移 ERC1155 代币 | 
 、 
 (地址/ENS)、 
 、 
 、 
 (地址/ENS)、 
 | 
区块链服务
| 工具名称 | 描述 | 关键参数 | 
| 
 | 获取网络信息 | 
 | 
| 
 | 获取原生代币余额 | 
 (地址/ENS)、 
 | 
| 
 | 发送原生代币 | 
 , 
 (地址/ENS), 
 , 
 | 
| 
 | 获取交易详情 | 
 , 
 | 
| 
 | 读取智能合约状态 | 
 (地址/ENS)、 
 、 
 、 
 、 
 | 
| 
 | 写入智能合约 | 
 (地址/ENS)、 
 、 
 、 
 、 
 、 
 | 
| 
 | 检查地址是否为合约 | 
 (地址/ENS)、 
 | 
| 
 | 将 ENS 名称解析为地址 | 
 , 
 | 
资源
服务器通过以下 MCP 资源 URI 公开区块链数据。所有接受地址的资源 URI 也支持 ENS 名称,这些名称会自动解析为地址。
区块链资源
| 资源 URI 模式 | 描述 | 
| 
 | 特定网络的链信息 | 
| 
 | 以太坊主网链信息 | 
| 
 | 按号码阻止数据 | 
| 
 | 最新区块数据 | 
| 
 | 原生代币余额 | 
| 
 | 交易详情 | 
| 
 | 带有日志的交易收据 | 
代币资源
| 资源 URI 模式 | 描述 | 
| 
 | ERC20代币信息 | 
| 
 | ERC20 代币余额 | 
| 
 | NFT(ERC721)代币信息 | 
| 
 | NFT 所有权验证 | 
| 
 | ERC1155 代币 URI | 
| 
 | ERC1155 代币余额 | 
🔒 安全注意事项
- 私钥仅用于交易签名,服务器永远不会存储 
- 考虑实施额外的身份验证机制以供生产使用 
- 在生产环境中使用 HTTPS 作为 HTTP 服务器 
- 实施速率限制以防止滥用 
- 对于高价值服务,考虑添加确认步骤 
📁 项目结构
🛠️ 开发
要修改或扩展服务器:
- 在 - src/core/services/下的相应文件中添加新服务
- 在 - src/core/tools.ts中注册新工具
- 在 - src/core/resources.ts中注册新资源
- 在 - src/core/chains.ts中添加新的网络支持
- 要更改服务器配置,请编辑 - src/server/http-server.ts中的硬编码值
📄 许可证
该项目根据MIT 许可证条款进行授权。
remote-capable server
The server can be hosted and run remotely because it primarily relies on remote services or has no dependency on the local environment.
Tools
一个综合服务器,使AI代理能够通过统一的接口与多个兼容EVM的区块链网络进行交互,支持ENS解析、代币操作和智能合约交互。
Related Resources
Related MCP Servers
- Asecurity-licenseAqualityProvides tools for AI assistants to interact with the Ethereum blockchain through standard JSON-RPC methods, enabling queries for account balances, gas prices, and smart contract code.Last updated -310MIT License
- -security-license-qualityA comprehensive toolkit for building AI agents with blockchain capabilities, enabling interactions with multiple blockchain networks for tasks like wallet management, fund transfers, smart contract interactions, and cross-chain asset bridging.Last updated -3GPL 3.0
- Asecurity-licenseAqualityA Model Context Protocol server that enables AI agents to interact with 30+ Ethereum-compatible blockchain networks, providing services like token transfers, contract interactions, and ENS resolution through a unified interface.Last updated -282,620321MIT License
- -security-license-qualityComprehensive Model Context Protocol server that enables AI agents to interact with 30+ Ethereum-compatible blockchain networks, supporting token transfers, smart contract interactions, and ENS name resolution through a unified interface.Last updated -1MIT License