详细介绍
参数和配置

EVM MCP服务器

简介
一款功能全面的模型上下文协议(MCP)服务器,提供跨多个EVM兼容网络的区块链服务。该服务器支持AI代理通过统一接口与以太坊、Optimism、Arbitrum、Base、Polygon等30+ EVM链进行交互,涵盖链上数据读取、智能合约操作、代币转账等核心功能。

功能概览

MCP EVM服务器基于Model Context Protocol,为AI代理提供以下核心服务:

  1. 区块链状态读取

    • 链信息(区块高度、Chain ID、RPC节点等)
    • 区块数据(通过区块号、哈希或最新区块获取)
    • 交易详情及收据(含解码日志)
    • 地址余额(原生代币及ERC20/721/1155标准代币)
    • ENS域名解析(支持使用vitalik.eth等人类可读名称替代地址)
  2. 代币操作

    • ERC20代币:获取元数据、查询余额、转账、授权额度
    • NFT(ERC721):获取代币/收藏信息、验证所有权、转账、检索URI
    • 多代币(ERC1155):查询余额、元数据、批量转账
  3. 智能合约交互

    • 读取合约状态(view/pure函数)
    • 写入操作(私钥签名)
    • 合约验证(区分合约地址与外部账户)
    • 事件日志检索与过滤
  4. 跨链支持

    • 30+ EVM网络(含主网与测试网),例如:
      • 主网:Ethereum、Optimism、Arbitrum、Polygon、zkSync Era、BSC、Avalanche
      • 测试网:Sepolia、Goerli、Optimism Sepolia、Polygon Amoy

核心特性

  • 多链统一接口:通过一致的MCP工具和资源接口访问所有支持网络。
  • ENS无缝集成:所有接受地址参数的工具均支持ENS域名,自动解析为钱包地址。
  • 交易全流程支持:原生代币转账、Gas估算、状态查询、错误处理。
  • 标准化响应:返回结构化Markdown或JSON数据,便于AI解析。

支持的网络列表

主网

Ethereum (ETH)、Optimism (OP)、Arbitrum (ARB)、Arbitrum Nova、Base、Polygon (MATIC)、Polygon zkEVM、Avalanche (AVAX)、Binance Smart Chain (BSC)、zkSync Era、Linea、Celo、Gnosis (xDai)、Fantom (FTM)、Filecoin (FIL)、Moonbeam、Moonriver、Cronos、Scroll、Mantle、Manta、Blast、Fraxtal、Mode、Metis、Kroma、Zora、Aurora、Canto、Flow、Lumia

测试网

Sepolia、Optimism Sepolia、Arbitrum Sepolia、Base Sepolia、Polygon Amoy、Avalanche Fuji、BSC Testnet、zkSync Sepolia、Linea Sepolia、Scroll Sepolia、Mantle Sepolia、Manta Sepolia、Blast Sepolia、Fraxtal Testnet、Mode Testnet、Metis Sepolia、Kroma Sepolia、Zora Sepolia、Celo Alfajores、Goerli、Holesky、Flow Testnet、Filecoin Calibration、Lumia Testnet

服务器配置

  • 默认参数
    • 主链ID:1(以太坊主网)
    • 端口:3001
    • 主机:0.0.0.0(允许所有网络接口访问)
  • 配置文件
    • 链配置:src/core/chains.ts
    • 服务器配置:src/server/http-server.ts

使用指南

1. 快速启动(无需安装)

                    
bash
# CLI工具模式(标准输入输出) npx @mcpdotdirect/evm-mcp-server # 网页应用模式(HTTP服务) npx @mcpdotdirect/evm-mcp-server --http

2. 配置文件(以Cursor为例)

在项目根目录创建.cursor/mcp.json,内容如下:

                    
json
{ "mcpServers": { "evm-mcp-sse": { "url": "http://localhost:3001/sse" // SSE端点用于浏览器实时通信 } } }

3. 典型操作示例

查询USDC余额(使用ENS域名)
                    
javascript
const mcp = new McpClient("http://localhost:3000"); const result = await mcp.invokeTool("get-token-balance", { tokenAddress: "0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48", // USDC合约地址 ownerAddress: "vitalik.eth", // ENS域名 network: "ethereum" });
解析ENS域名
                    
javascript
const result = await mcp.invokeTool("resolve-ens", { ensName: "vitalik.eth", network: "ethereum" }); // 输出:{ resolvedAddress: "0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045" }
在Cursor中使用自然语言交互

直接向Cursor提问:

  • "查询vitalik.eth的ETH余额"
  • "转账0.1 ETH到vitalik.eth"
  • "查看Optimism链的最新区块"

📚 API 参考

工具列表

服务器为代理提供以下MCP工具,所有接受地址参数的工具均支持以太坊地址和ENS名称。

代币服务
工具名称 功能描述 关键参数
get-token-info 获取ERC20代币元数据 tokenAddress(地址/ENS), network
get-token-balance 检查ERC20代币余额 tokenAddress(地址/ENS), ownerAddress(地址/ENS), network
transfer-token 转账ERC20代币 privateKey, tokenAddress(地址/ENS), toAddress(地址/ENS), amount, network
approve-token-spending 批准代币支出额度 privateKey, tokenAddress(地址/ENS), spenderAddress(地址/ENS), amount, network
get-nft-info 获取NFT元数据 tokenAddress(地址/ENS), tokenId, network
check-nft-ownership 验证NFT所有权 tokenAddress(地址/ENS), tokenId, ownerAddress(地址/ENS), network
transfer-nft 转账NFT privateKey, tokenAddress(地址/ENS), tokenId, toAddress(地址/ENS), network
get-nft-balance 统计持有的NFT数量 tokenAddress(地址/ENS), ownerAddress(地址/ENS), network
get-erc1155-token-uri 获取ERC1155代币元数据 tokenAddress(地址/ENS), tokenId, network
get-erc1155-balance 检查ERC1155代币余额 tokenAddress(地址/ENS), tokenId, ownerAddress(地址/ENS), network
transfer-erc1155 转账ERC1155代币 privateKey, tokenAddress(地址/ENS), tokenId, amount, toAddress(地址/ENS), network
区块链服务
工具名称 功能描述 关键参数
get-chain-info 获取网络信息 network
get-balance 查询原生代币余额 address(地址/ENS), network
transfer-eth 转账原生代币 privateKey, to(地址/ENS), amount, network
get-transaction 获取交易详情 txHash, network
read-contract 读取智能合约状态 contractAddress(地址/ENS), abi, functionName, args, network
write-contract 写入智能合约 contractAddress(地址/ENS), abi, functionName, args, privateKey, network
is-contract 检查地址是否为合约 address(地址/ENS), network
resolve-ens 解析ENS域名至地址 ensName, network

资源URI列表

区块链资源

  • evm://ethereum/chain:以太坊主链信息
  • evm://arbitrum/block/latest:Arbitrum最新区块
  • evm://polygon/address/alice.eth/balance:Polygon链地址余额

代币资源

  • evm://base/token/usdc.eth:Base链USDC代币信息
  • evm://zkSync/nft/opensea.eth/123:zkSync链NFT代币详情
  • evm://avalanche/erc1155/game.eth/789/balanceOf/bob.eth:ERC1155代币余额

安全注意事项

  1. 私钥管理:私钥仅用于交易签名,服务器不存储任何私钥。
  2. 生产环境
    • 使用HTTPS加密通信
    • 实现身份认证与速率限制
    • 高价值操作添加确认流程
  3. 依赖安全:定期更新Viem及其他依赖库,防范已知漏洞。

适用场景

  • AI驱动的链上分析:自动解析区块链数据,生成市场报告或风险预警。
  • 智能合约自动化:通过自然语言触发合约调用(如DeFi策略执行)。
  • 跨链管理工具:统一接口管理多链资产,支持批量转账或跨链交互。
  • 教育与开发:简化区块链开发门槛,允许开发者通过自然语言调试链上操作。

通过集成MCP EVM服务器,AI系统可高效访问多链数据,推动区块链与人工智能的深度融合,适用于DeFi、NFT、跨链协议等多个领域。

使 AI 代理能够通过统一接口与以太坊、Optimism、Arbitrum、Base、Polygon 等众多 EVM 链进行交互

最新发布

1 天前

开发语言

js

执行环境

本地

价格

免费