简介:
一款功能全面的模型上下文协议(MCP)服务器,提供跨多个EVM兼容网络的区块链服务。该服务器支持AI代理通过统一接口与以太坊、Optimism、Arbitrum、Base、Polygon等30+ EVM链进行交互,涵盖链上数据读取、智能合约操作、代币转账等核心功能。
MCP EVM服务器基于Model Context Protocol,为AI代理提供以下核心服务:
区块链状态读取
vitalik.eth
等人类可读名称替代地址)代币操作
智能合约交互
跨链支持
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
src/core/chains.ts
src/server/http-server.ts
bash
# CLI工具模式(标准输入输出)
npx @mcpdotdirect/evm-mcp-server
# 网页应用模式(HTTP服务)
npx @mcpdotdirect/evm-mcp-server --http
在项目根目录创建.cursor/mcp.json
,内容如下:
json
{
"mcpServers": {
"evm-mcp-sse": {
"url": "http://localhost:3001/sse" // SSE端点用于浏览器实时通信
}
}
}
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"
});
javascript
const result = await mcp.invokeTool("resolve-ens", {
ensName: "vitalik.eth",
network: "ethereum"
});
// 输出:{ resolvedAddress: "0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045" }
直接向Cursor提问:
服务器为代理提供以下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 |
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代币余额通过集成MCP EVM服务器,AI系统可高效访问多链数据,推动区块链与人工智能的深度融合,适用于DeFi、NFT、跨链协议等多个领域。