EVM MCP Server

EVM MCP Server

site icon
2025.04.13 0
TypeScript区块链服务EVM兼容网络智能合约交互代币管理ENS解析金融服务
EVM MCP Server 是一个基于模型上下文协议(MCP)的区块链服务服务器,支持30+ EVM兼容网络。它为AI代理提供统一的接口,用于与以太坊、Optimism、Arbitrum、Base、Polygon等多种EVM链进行交互。核心功能包括读取区块链状态、智能合约交互、代币转移、查询代币元数据和余额等。该服务器特别支持ENS名称解析,允许使用人类可读的名称(如'vitalik.eth')代替地址。
View on GitHub

Overview

产品定位

EVM MCP Server 是一个为AI代理提供区块链服务的中间件,支持多种EVM兼容网络,简化了区块链交互的复杂性。

核心功能

  • 多链支持:支持30+ EVM兼容网络
  • 区块链数据访问:包括区块、交易、地址余额等信息
  • 代币服务:支持ERC20、ERC721、ERC1155代币的元数据查询、余额检查和转移
  • 智能合约交互:读取合约状态和写入操作
  • ENS名称解析:所有接受地址参数的接口都支持ENS名称
  • 交易支持:原生代币转移、Gas估算和交易状态查询

适用场景

  • AI代理需要与区块链交互的场景
  • 需要统一接口访问多个EVM链的应用
  • 使用ENS名称简化地址管理的应用
  • 需要查询代币信息和余额的应用

工具列表

代币服务工具

  • get-token-info: 获取ERC20代币元数据
  • get-token-balance: 检查ERC20代币余额
  • transfer-token: 转移ERC20代币
  • approve-token-spending: 批准代币支出
  • get-nft-info: 获取NFT元数据
  • check-nft-ownership: 验证NFT所有权
  • transfer-nft: 转移NFT
  • get-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文件
  • 是否支持ENS名称? 所有接受地址参数的接口都支持ENS名称
  • 如何添加新的网络支持?src/core/chains.ts中添加新的网络定义

使用教程

使用依赖

  • 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模式服务器
npx @mcpdotdirect/evm-mcp-server

# 运行HTTP模式服务器
npx @mcpdotdirect/evm-mcp-server --http

许可证

该项目遵循 MIT 开源许可条款,请参阅 MIT 了解完整条款。