Web3模型上下文协议服务器

提供Web3工具集的MCP服务器,支持代币查询、市场数据分析和DeFi操作。

  • by protagolabs
  • Python
  • 本地部署
  • 更新于
在 GitHub 查看 protagolabs/netmind-web3-mcp

使用说明

Netmind Web3 MCP服务器

这是一个 MCP(模型上下文协议) 提供Web3工具的服务器。

组件

工具

后端工具:

  • query_token_addressList -按名称或地址查询令牌地址(支持多个值)
  • query_reply_by_news_summary -按Web3实体名称查询新闻

CoinGecko工具:

  • query_coingecko_market_data -7天历史图表的市场数据
  • query_coingecko_top_token_traders -顶级代币交易者分析(需要分析师计划)
  • query_coingecko_pool_trades -按池地址统计的过去24小时交易
  • query_coingecko_token_trades -过去24小时按代币地址交易(需要付费计划)

Sugar DeFi工具:

  • 代币查询、价格数据、池信息和掉期报价(8个工具)

环境变量

应在中配置所有环境变量 .env 项目根目录中的文件。

必修的:

  • BACKEND_BASE_URL:后端基本URL(仅域,路由路径附加在代码中)。
  • COINGECKO_API_KEY:CoinGecko Pro API密钥(格式:CG-xxx)。
  • SUGAR_PK:Sugar服务的私钥(Sugar工具需要)。
  • SUGAR_RPC_URI_8453:基链的RPC URI(Sugar工具需要)。

可选:

  • MCP_TRANSPORT:传输模式-“stdio”或“sse”(默认值:sse)。
  • MCP_HOST:用于SSE传输的服务器主机(默认值:127.0.0.1)。
  • MCP_PORT:用于SSE传输的服务器端口(默认值:8000)。
  • MCP_AUTH_TOKEN:用于SSE/Streamable HTTP身份验证的共享承载令牌。

看 env.example 对于所有可用的配置选项。

快速开始

  1. 安装环境:

    source .venv/bin/activate
    pip install -e .  # or: uv pip install -e .
    cp env.example .env
    # Edit .env with your API keys
    
  2. 启动服务器:

    python -m netmind_web3_mcp.server
    

    服务器在SSE模式下启动 http://127.0.0.1:8000 默认情况下。

用法

基本用法:

# Start with SSE transport (default: 127.0.0.1:8000)
python -m netmind_web3_mcp.server

# Start with SSE transport on custom host and port
MCP_HOST=0.0.0.0 MCP_PORT=9000 python -m netmind_web3_mcp.server

# Start with stdio transport
MCP_TRANSPORT=stdio python -m netmind_web3_mcp.server

MCP客户端配置

对于stdio运输(当地发展):

{
  "mcpServers": {
    "netmind-web3-mcp": {
      "env": {
        "BACKEND_BASE_URL": "***",
        "COINGECKO_API_KEY": "***",
        "MCP_TRANSPORT": "stdio"
      },
      "command": "uvx",
      "args": [
        "git+https://github.com/protagolabs/netmind-web3-mcp.git"
      ]
    }
  }
}

对于SSE传输(远程连接),请连接到SSE端点:

  • 违约: http://127.0.0.1:8000/sse
  • 自定义: http://your-host:your-port/sse

令牌身份验证(SSE/流式HTTP)

如果服务器设置 MCP_AUTH_TOKEN,客户端必须发送授权标头:

Authorization: Bearer <token>

笔记:

  • stdio传输不支持HTTP标头,因此令牌身份验证仅适用于SSE/Streamable HTTP。
  • 对于包含 test/test_sse.py,set MCP_CLIENT_AUTH_TOKEN (或重复使用 MCP_AUTH_TOKEN).
  • 要生成短随机令牌,请运行 python test/generate_token.py 并复制输出。

使用MCP检查器进行调试

访问内置检查器 http://127.0.0.1:8000/inspector 启动服务器后。

备选方案: 使用 mcp dev test/test_mcp_inspector.py (在后台自动启动服务器)。

测试

python test/test_local_stdio.py  # stdio transport
python test/test_sse.py         # SSE transport

看 test/README.md 了解详情。