Token导航 LogoToken导航TokenDH.com
EVM MCP Server (Chulanpro5) logo
金融服务stdio官方级别未说明来源级核验

EVM MCP Server (Chulanpro5)

MCP Server

@mcpdotdirect/evm-mcp-server

一个支持多EVM兼容网络的区块链服务服务器,为AI代理提供统一的区块链交互接口,包括读取区块链状态、智能合约交互、代币转移等功能。

工具数

19

提示词数

0

GitHub Stars

0

资源数

0
智能合约TypeScriptClaudeClaudeCursor

安装说明

本站只整理中文说明和来源信息,不托管安装包,也不代用户安装。

作者 / 组织

chulanpro5

提供方

chulanpro5

最后核验

2026/5/17 20:21

运行时

Node.js

快速接入

先看主来源和安装命令,再打开仓库或文档;下面只保留这个条目的关键接入事实。

命令预览

npx @mcpdotdirect/evm-mcp-server

详细介绍

EVM MCP服务器

License: MIT EVM Networks TypeScript Viem

一个全面的模型上下文协议(MCP)服务器,跨多个EVM兼容网络提供区块链服务。该服务器使AI代理能够通过统一的接口与以太坊、Optimism、Arbitrum、Base、Polygon和许多其他EVM链进行交互。

📋 目录

- 工具 - 资源

🔭 概述

MCP EVM服务器利用模型上下文协议为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
  • 事件日志 检索和过滤

全面的交易支持

  • 本地代币转移 跨所有支持的网络
  • 天然气估算 用于交易计划
  • 交易状态 以及收据信息
  • 错误处理 带有描述性信息

🌐 支持的网络

主网

  • 以太坊(ETH)
  • 乐观主义(OP)
  • 仲裁(ARB)
  • 新阿尔巴特鲁姆
  • 基础
  • 多边形(MATIC)
  • 多边形zkEVM
  • 雪崩(AVAX)
  • 币安智能链(BSC)
  • Zksync时代
  • 流线
  • 细胞
  • 诺斯替语(xDai)
  • 芬托姆(FTM)
  • Filecoin(FIL)
  • 月光
  • 月亮河
  • 克洛诺斯
  • 滚动
  • 地幔
  • 蝠鲼
  • 爆炸
  • 弗拉克斯塔尔
  • 模式
  • 梅蒂人
  • 克罗马
  • 佐拉
  • 极光
  • 坎托

测试网

  • Sepolia
  • 乐观Sepolia
  • 杨梅
  • 基础Sepolia
  • 多边形淘
  • 富士雪崩
  • BSC测试网
  • zkSync Sepolia
  • 波兰 线
  • 滚动Sepolia
  • Mantle Sepolia
  • 曼塔沙波里亚
  • Blast Sepolia
  • Fraxtal 测试 网络
  • 模式测试网
  • 梅蒂斯·沙普利亚
  • Kroma Sepolia
  • Zora Sepolia
  • Celo Alfajores
  • Goerli
  • 霍尔斯基

🛠️ 先决条件

  • 包子 1.0.0或更高版本
  • Node.js 18.0.0或更高版本(如果不使用Bun)

📦 安装

# Clone the repository
git clone https://github.com/yourusername/mcp-evm-server.git
cd mcp-evm-server

# Install dependencies with Bun
bun install

# Or with npm
npm install

⚙️ 服务器配置

服务器使用以下默认配置:

  • 默认链ID:1(以太坊主网)
  • 服务器端口: 3001
  • 服务器主机:0.0.0.0(可从任何网络接口访问)

这些值在应用程序中是硬编码的。如果需要修改它们,可以编辑以下文件:

  • 对于链条配置: src/core/chains.ts
  • 对于服务器配置: src/server/http-server.ts

🚀 用法

使用npx(无需安装)

您可以使用npx直接运行MCP EVM服务器,而无需安装:

# Run the server in stdio mode (for CLI tools)
npx @mcpdotdirect/evm-mcp-server

# Run the server in HTTP mode (for web applications)
npx @mcpdotdirect/evm-mcp-server --http

在本地运行服务器

使用stdio启动服务器(用于嵌入CLI工具):

# Start the stdio server
bun start

# Development mode with auto-reload
bun dev

或者使用SSE启动web应用程序的HTTP服务器:

# Start the HTTP server
bun start:http

# Development mode with auto-reload
bun dev:http

连接到服务器

使用任何兼容MCP的客户端连接到此MCP服务器。对于测试和调试,您可以使用 MCP检查员.

从游标连接

要从Cursor连接到MCP服务器:

  1. 打开光标并转到设置(左下角的齿轮图标)
  1. 点击左侧边栏中的“功能”
  1. 向下滚动到“MCP服务器”部分
  1. 点击“添加新的MCP服务器”
  1. 输入以下详细信息:

- 服务器名称: evm-mcp-server - 类型: command - 命令: npx @mcpdotdirect/evm-mcp-server

  1. 点击“保存”

连接后,您可以直接在Cursor中使用MCP服务器的功能。服务器将出现在MCP服务器列表中,可以根据需要启用/禁用。

使用mcp.json和游标

对于可以与团队共享或跨项目使用的更便携的配置,您可以创建 .cursor/mcp.json 项目根目录中的文件:

{
  "mcpServers": {
    "evm-mcp-server": {
      "command": "npx",
      "args": ["-y", "@mcpdotdirect/evm-mcp-server"]
    },
    "evm-mcp-http": {
      "command": "npx",
      "args": ["-y", "@mcpdotdirect/evm-mcp-server", "--http"]
    }
  }
}

将此文件放置在项目的 .cursor 目录(如果不存在,请创建它),Cursor在该项目中工作时将自动检测并使用这些MCP服务器配置。这种方法使以下操作变得容易:

  1. 与您的团队共享MCP配置
  2. 版本控制您的MCP设置
  3. 为不同的项目使用不同的服务器配置

示例:带有SSE的HTTP模式

如果您正在开发web应用程序,并希望使用服务器发送事件(SSE)连接到HTTP服务器,则可以使用此配置:

{
  "mcpServers": {
    "evm-mcp-sse": {
      "url": "http://localhost:3001/sse"
    }
  }
}

这直接连接到HTTP服务器的SSE端点,这对以下方面很有用:

  • 需要从浏览器连接到MCP服务器的Web应用程序
  • 运行本地命令不理想的环境
  • 在多个用户或应用程序之间共享单个MCP服务器实例

要使用此配置,请执行以下操作:

  1. 创建一个 .cursor 项目根目录中的目录(如果不存在)
  2. 将上述JSON另存为 mcp.json.cursor 目录
  3. 重新启动Cursor或打开项目
  4. Cursor将检测配置并提供启用服务器的功能

示例:在游标中使用MCP服务器

配置MCP服务器后 mcp.json,您可以在Cursor中轻松使用它。以下是一个示例工作流:

  1. 在项目中创建一个新的JavaScript/TypeScript文件:
// blockchain-example.js
async function main() {
  try {
    // Get ETH balance for an address using ENS
    console.log("Getting ETH balance for vitalik.eth...");

    // When using with Cursor, you can simply ask Cursor to:
    // "Check the ETH balance of vitalik.eth on mainnet"
    // Or "Transfer 0.1 ETH from my wallet to vitalik.eth"

    // Cursor will use the MCP server to execute these operations
    // without requiring any additional code from you

    // This is the power of the MCP integration - your AI assistant
    // can directly interact with blockchain data and operations
  } catch (error) {
    console.error("Error:", error.message);
  }
}

main();
  1. 在Cursor中打开文件后,您可以要求Cursor执行以下操作:

- “检查vitalik.ETH的当前ETH余额” - “在以太坊上查看USDC的价格” - “给我看看乐观主义的最新进展” - “检查0x1234…是否是合约地址”

  1. Cursor将使用MCP服务器执行这些操作,并在对话中直接返回结果。

MCP服务器处理所有区块链通信,同时允许Cursor通过自然语言理解和执行区块链相关任务。

使用Claude CLI连接

如果您使用的是Claude CLI,则只需两个命令即可连接到MCP服务器:

# Add the MCP server
claude mcp add evm-mcp-server npx @mcpdotdirect/evm-mcp-server

# Start Claude with the MCP server enabled
claude

示例:使用ENS获取代币余额

// Example of using the MCP client to check a token balance using ENS
const mcp = new McpClient("http://localhost:3000");

const result = await mcp.invokeTool("get-token-balance", {
  tokenAddress: "0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48", // USDC on Ethereum
  ownerAddress: "vitalik.eth", // ENS name instead of address
  network: "ethereum",
});

console.log(result);
// {
//   tokenAddress: "0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48",
//   owner: "0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045",
//   network: "ethereum",
//   raw: "1000000000",
//   formatted: "1000",
//   symbol: "USDC",
//   decimals: 6
// }

示例:解析ENS名称

// Example of using the MCP client to resolve an ENS name to an address
const mcp = new McpClient("http://localhost:3000");

const result = await mcp.invokeTool("resolve-ens", {
  ensName: "vitalik.eth",
  network: "ethereum",
});

console.log(result);
// {
//   ensName: "vitalik.eth",
//   normalizedName: "vitalik.eth",
//   resolvedAddress: "0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045",
//   network: "ethereum"
// }

📚 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转移NFTprivateKey, tokenAddress (地址/ENS), tokenId, toAddress (地址/ENS), network
get-nft-balance统计拥有的NFTtokenAddress (地址/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

资源

服务器通过以下MCP资源URI公开区块链数据。所有接受地址的资源URI也支持ENS名称,ENS名称会自动解析为地址。

区块链资源

资源URI模式描述
evm://{network}/chain特定网络的链信息
evm://chain以太坊主网链信息
evm://{network}/block/{blockNumber}按数字块数据
evm://{network}/block/latest最新区块数据
evm://{network}/address/{address}/balance本地代币余额
evm://{network}/tx/{txHash}交易详情
evm://{network}/tx/{txHash}/receipt带有日志的交易收据

代币资源

资源URI模式描述
evm://{network}/token/{tokenAddress}ERC20代币信息
evm://{network}/token/{tokenAddress}/balanceOf/{address}ERC20代币余额
evm://{network}/nft/{tokenAddress}/{tokenId}NFT(ERC721)令牌信息
evm://{network}/nft/{tokenAddress}/{tokenId}/isOwnedBy/{address}NFT所有权验证
evm://{network}/erc1155/{tokenAddress}/{tokenId}/uri ERC1155令牌URI。
evm://{network}/erc1155/{tokenAddress}/{tokenId}/balanceOf/{address}ERC1155代币余额

🔒 安全考虑

  • 私钥 仅用于交易签名,服务器从不存储
  • 考虑为生产使用实施额外的身份验证机制
  • Use HTTPS for the HTTP server in production environments
  • 实施限速以防止滥用
  • 对于高价值服务,考虑添加确认步骤

📁 项目结构

mcp-evm-server/
├── src/
│   ├── index.ts                # Main stdio server entry point
│   ├── server/                 # Server-related files
│   │   ├── http-server.ts      # HTTP server with SSE
│   │   └── server.ts           # General server setup
│   ├── core/
│   │   ├── chains.ts           # Chain definitions and utilities
│   │   ├── resources.ts        # MCP resources implementation
│   │   ├── tools.ts            # MCP tools implementation
│   │   ├── prompts.ts          # MCP prompts implementation
│   │   └── services/           # Core blockchain services
│   │       ├── index.ts        # Operation exports
│   │       ├── balance.ts      # Balance services
│   │       ├── transfer.ts     # Token transfer services
│   │       ├── utils.ts        # Utility functions
│   │       ├── tokens.ts       # Token metadata services
│   │       ├── contracts.ts    # Contract interactions
│   │       ├── transactions.ts # Transaction services
│   │       └── blocks.ts       # Block services
│   │       └── clients.ts      # RPC client utilities
├── package.json
├── tsconfig.json
└── README.md

🛠️ 发展

要修改或扩展服务器,请执行以下操作:

  1. 在相应的文件中添加新服务 src/core/services/
  2. 在中注册新工具 src/core/tools.ts
  3. 在中注册新资源 src/core/resources.ts
  4. 在中添加新的网络支持 src/core/chains.ts
  5. 要更改服务器配置,请在中编辑硬编码值 src/server/http-server.ts

📄 许可证

该项目根据以下条款获得许可 MIT许可证.

目录标签

目录标签

智能合约TypeScriptClaude区块链服务本地部署EVM兼容代币管理ENS解析

支持客户端

ClaudeCursor

接入字段

传输方式(transport,传输协议)

stdio

鉴权方式(authType,认证方式)

token

运行时(runtime,运行环境)

Node.js

部署方式(deploymentType,部署类型)

remote-capable

来源包(packageName,安装包名)

@mcpdotdirect/evm-mcp-server

工具数量(toolCount,工具数)

19

资源数量(resourceCount,资源数)

0

提示词数量(promptCount,提示词数)

0

权限和风险

stdiotokenremote-capable

接入前请确认传输方式、认证方式和部署位置,并根据实际工具能力限制访问范围。

安装前确认

不要直接授予不必要的文件、网络或账号权限;先核对安装命令和配置内容。

来源信息

继续浏览同类 MCP