使用说明

项目简介

EVM MCP Server 是一个实现了 Model Context Protocol (MCP) 的服务器,专注于为 AI Agent 提供与以太坊虚拟机 (EVM) 兼容的区块链网络交互的能力。它统一了访问接口,使得 AI Agent 可以轻松地跨多个 EVM 网络(如 Ethereum, Optimism, Arbitrum, Polygon 等)获取链上数据和执行操作。

主要功能点

  • 多链支持: 支持 30+ EVM 兼容网络,包括主网和测试网。
  • 区块链数据访问: 提供链信息、区块数据、交易详情、账户余额等查询功能。
  • Token 服务: 支持 ERC20、ERC721 (NFT)、ERC1155 Token 的元数据查询、余额查询、转移等操作。
  • 智能合约交互: 支持读取合约状态、执行合约写入操作。
  • ENS 名称解析: 支持使用 ENS 域名代替地址进行操作,简化用户交互。
  • 多种运行模式: 支持 stdio 和 HTTP (SSE) 两种服务器模式,适应不同的客户端连接方式。

安装步骤

  1. 克隆仓库

    git clone https://github.com/chulanpro5/evm-mcp-server.git
    cd evm-mcp-server
  2. 安装依赖 推荐使用 Bun 包管理器,或者使用 npm。

    # 使用 Bun
    bun install
    
    # 或者使用 npm
    npm install

服务器配置

MCP 服务器是为 MCP 客户端设计的后端服务,客户端需要配置服务器的启动命令才能连接。以下是常用的配置信息,以 JSON 格式描述,适用于 Cursor 等 MCP 客户端:

  • Stdio 模式 (推荐用于 CLI 工具)

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

    参数说明:

    • 'server name': 服务器名称,例如 'evm-mcp-server',可自定义。
    • 'type': 连接类型,对于 stdio 模式,通常配置为 'command'。
    • 'command': 启动服务器的命令,这里使用 'npx @mcpdotdirect/evm-mcp-server',直接运行已发布的包。
    • 'args': 命令参数,对于 stdio 模式,通常为空数组 '[]'。
  • HTTP SSE 模式 (适用于 Web 应用)

    {
      "mcpServers": {
        "evm-mcp-http": {
          "command": "npx",
          "args": [
            "@mcpdotdirect/evm-mcp-server",
            "--http"
          ]
        },
        "evm-mcp-sse": {
          "url": "http://localhost:3001/sse"
        }
      }
    }

    参数说明:

    • 'server name': 服务器名称,例如 'evm-mcp-http' 或 'evm-mcp-sse',可自定义。
    • 'type': 连接类型,对于 HTTP SSE 模式,可以配置为 'command' 启动 HTTP 服务端,或者直接使用 'url' 连接到已运行的 HTTP 服务。
    • 'command': 启动 HTTP 服务器的命令,使用 'npx @mcpdotdirect/evm-mcp-server --http'。
    • 'args': 命令参数,'["--http"]' 指定以 HTTP 模式启动。
    • 'url': 已运行的 HTTP 服务器 SSE 端点 URL,例如 '"http://localhost:3001/sse"'。

基本使用方法

  1. 启动服务器

    根据你的 MCP 客户端类型,选择合适的服务器模式启动。

    • Stdio 模式

      bun start
      # 或者开发模式,自动重载
      bun dev
    • HTTP SSE 模式

      bun start:http
      # 或者开发模式,自动重载
      bun dev:http
  2. 配置 MCP 客户端

    将上述生成的 JSON 配置信息添加到你的 MCP 客户端 (例如 Cursor) 的配置文件中。 具体配置方法请参考 MCP 客户端的文档。

  3. 在 MCP 客户端中使用

    配置完成后,你就可以在 MCP 客户端中使用 EVM MCP Server 提供的工具和资源了。 例如,在 Cursor 中,你可以通过自然语言指令,如 “Check the ETH balance of vitalik.eth on mainnet” 或 “Transfer 0.1 ETH from my wallet to vitalik.eth”,来调用服务器的功能。

注意:

  • 默认服务器配置(端口、默认链等)在代码中硬编码,如需修改请编辑 'src/core/chains.ts' 和 'src/server/http-server.ts' 文件。
  • 私钥仅用于交易签名,服务器不会存储私钥,请妥善保管你的私钥。

信息

分类

网页与API