mcpField
W
Web3 MCP Server

Web3 MCP Server

本地服务
github.com/BaltasarAroso金融数据077 周前更新

关于 Web3 MCP Server

Web3 MCP Server 使用 viem 提供 Ethereum 网络数据查询工具,支持余额、交易、ENS 查询和只读合约调用,并可连接多个配置的网络。

主要功能

  1. 01查询 ETH 和 ERC-20 余额
  2. 02查看交易和区块详情
  3. 03ENS 解析与反向查询
  4. 04调用只读合约方法
  5. 05支持主网、Goerli、Sepolia 和本地网络

适用场景

  1. 01查询 ETH 或代币余额
  2. 02检查交易或区块
  3. 03解析 ENS 名称
  4. 04读取智能合约数据

MCP 相关

该 MCP 服务向 MCP 客户端提供 Ethereum 查询和只读合约调用工具。

配置

本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。

mcp.json · 通用配置
{
"mcpServers": {
"web3-mcp-server-baltasararoso": {
"command": "npx",
"args": [
"-y",
"@wong2/mcp-cli"
]
}
}
}
启动命令npx -y @wong2/mcp-cli

本地服务需要在你的电脑上安装运行环境(如 Node.js 18+)。各客户端的配置文件位置不同,请参考客户端文档。

安装包
npm@wong2/mcp-cli

工具

还没有获取到工具列表

本地服务需要在你的电脑上运行后才能读取工具,维护者暂未提供工具列表。

详细介绍

Web3 MCP 服务

本项目使用 viem 库实现了一个可与 Ethereum 网络交互的模型上下文协议(MCP)服务。它支持查询余额、交易、区块、ENS 等信息。

项目结构

  • server/:主要部分,包含 MCP 服务的实现和所有核心逻辑。因此,以下命令和说明均以该目录为基础:cd server。
  • client/:用于测试 MCP 服务。你可以在此文件夹中运行测试脚本,或在开发期间与服务交互。运行客户端请执行:cd client; npm i && npm start

功能

  • 获取 ETH 和 ERC-20 代币余额
  • 查询交易和区块详情
  • ENS 名称解析和反向查询
  • 调用只读合约方法
  • 支持主网、Goerli、Sepolia 和本地(Hardhat)网络

环境配置

  1. 安装依赖:
    npm install
    
  2. 创建 .env 文件(可选,用于设置环境变量):
    CHAIN_ENV=mainnet # or goerli, sepolia, local
    
    • 如果未设置,默认使用 mainnet。
    • 对于 local,请确保节点正在 http://127.0.0.1:8545 上运行。

运行服务

npm start

切换网络

将 CHAIN_ENV 环境变量设为以下值之一:

  • mainnet
  • goerli
  • sepolia
  • local

示例:

CHAIN_ENV=goerli npm start

测试 MCP 服务

你可以使用 mcp-cli 工具测试 MCP 服务:

npx @wong2/mcp-cli npm start

这使你能够列出工具、调用工具,并以交互方式检查服务的功能。

将 MCP 服务集成到 Claude 和 Cursor IDE

Claude 和 Cursor IDE 均允许你通过设置添加自定义 MCP 服务。两种工具的操作流程基本相同:

添加 MCP 服务的步骤
  1. 构建 MCP 服务:

    npm run build
    

    这会将服务编译到 server/build 目录。

  2. 打开工具的设置:

    • Cursor IDE: 前往 Settings > MCP。
    • Claude(桌面版): 前往 Settings > Developer > Edit Config。
  3. 添加新的全局 MCP 服务:

    • 你可以通过 UI 添加,也可以直接编辑 JSON 配置文件。
    • JSON 配置示例:
      {
        "mcpServers": {
          "web3-tools": {
            "command": "node",
            "args": ["$GITHUB_REPO/server/build/index.js"]
          }
        }
      }
      
      将 $GITHUB_REPO 替换为本地仓库目录的路径。
  4. 保存配置,并根据需要重启或重新加载工具。

  5. 更新工具:

    • 修改服务代码后,务必运行 npm run build。
    • 可能需要手动刷新工具或重启 MCP 服务,才能使更改生效。

注意:随着这些工具不断演进,UI 和配置文件的位置可能会发生变化。请参阅其文档以获取最新信息。

后续步骤

  • 为测试网/本地网络添加写入(交易)支持
  • 通过使用 Vitest 编写单元测试和集成(e2e)测试,确保演示全面(npm test 会运行所有测试)
  • 将代码重构为模块,以提高可维护性
  • 添加基本的速率限制,或对 RPC 使用情况发出警告

评论

支持 Markdown

第一次接触 MCP?

从协议是什么,到在客户端里装上第一个服务,这几条回答覆盖了大多数入门问题。

一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。