
EVM MCP Server

2025.04.21
0
TypeScript区块链服务智能合约代币管理金融服务
EVM-MCP-Server 是一个基于 Model Context Protocol (MCP) 的区块链服务服务器,支持多种 EVM 兼容网络。它为 AI 代理提供了一个统一的接口,用于与以太坊、Optimism、Arbitrum、Base、Polygon 等多种 EVM 链进行交互。
View on GitHub
Overview
基本能力
产品定位
EVM-MCP-Server 是一个为 AI 代理提供区块链服务的 MCP 服务器,支持多种 EVM 兼容网络,使 AI 代理能够通过统一的接口与区块链进行交互。
核心功能
- 区块链数据访问
- 支持 30+ EVM 兼容网络
- 获取链信息、区块数据、交易详情、地址余额等
-
ENS 名称解析(支持使用如 'vitalik.eth' 代替地址)
-
代币服务
- ERC20 代币:获取元数据、余额、转账、授权
- NFT (ERC721):获取元数据、验证所有权、转账
-
多代币 (ERC1155):获取余额、元数据、转账
-
智能合约交互
- 读取合约状态
- 写入合约(需私钥签名)
- 合约验证
-
事件日志检索
-
交易支持
- 原生代币转账
- Gas 估算
- 交易状态查询
适用场景
- AI 代理与区块链交互
- 区块链数据查询和分析
- 代币管理和转账
- 智能合约开发和测试
工具列表
- 代币服务工具
get-token-info
: 获取 ERC20 代币元数据get-token-balance
: 检查 ERC20 代币余额transfer-token
: 转账 ERC20 代币approve-token-spending
: 授权代币支出get-nft-info
: 获取 NFT 元数据check-nft-ownership
: 验证 NFT 所有权transfer-nft
: 转账 NFTget-nft-balance
: 统计 NFT 持有量get-erc1155-token-uri
: 获取 ERC1155 元数据get-erc1155-balance
: 检查 ERC1155 余额-
transfer-erc1155
: 转账 ERC1155 代币 -
区块链服务工具
get-chain-info
: 获取网络信息get-balance
: 获取原生代币余额transfer-eth
: 发送原生代币get-transaction
: 获取交易详情read-contract
: 读取智能合约状态write-contract
: 写入智能合约is-contract
: 检查地址是否为合约resolve-ens
: 解析 ENS 名称
常见问题解答
- 如何修改默认链 ID 和服务器端口?
- 编辑
src/core/chains.ts
修改链配置 -
编辑
src/server/http-server.ts
修改服务器配置 -
如何确保安全性?
- 私钥仅用于交易签名,不会被服务器存储
- 生产环境建议使用 HTTPS 和速率限制
使用教程
使用依赖
- Bun 1.0.0 或更高版本
- Node.js 18.0.0 或更高版本(如果不使用 Bun)
安装教程
# 克隆仓库
git clone https://github.com/mcpdotdirect/mcp-evm-server.git
cd mcp-evm-server
# 使用 Bun 安装依赖
bun install
# 或使用 npm
npm install
调试方式
- 启动 stdio 服务器(用于 CLI 工具)
# 启动 stdio 服务器
bun start
# 开发模式(自动重载)
bun dev
- 启动 HTTP 服务器(用于 Web 应用)
# 启动 HTTP 服务器
bun start:http
# 开发模式(自动重载)
bun dev:http
- 使用 npx 直接运行(无需安装)
# 运行 stdio 模式服务器(用于 CLI 工具)
npx @mcpdotdirect/evm-mcp-server
# 运行 HTTP 模式服务器(用于 Web 应用)
npx @mcpdotdirect/evm-mcp-server --http