区块链数据访问服务

Web3 MCP是一个基于Ankr Advanced API的区块链数据访问服务,提供NFT、查询和Token API,支持多链交互。

  • by tumf
  • Python
  • 本地部署
  • 9 星标
  • 更新于
在 GitHub 查看 tumf/web3-mcp

使用说明

Web3 MCP

包装Ankr Advanced API的MCP服务器实现。

概述

FastMCP是一种 模型上下文协议(MCP) 为区块链数据提供访问Ankr高级API的服务器。它允许LLM在多个链上与区块链数据进行交互,包括以太坊、BSC、Polygon、Avalanche等。

MCP客户端设置

{
  "mcpServers": {
    "web3": {
      "command": "uvx",
      "args": [
        "web3-mcp"
      ],
      "env": {
        "ANKR_ENDPOINT": "https://rpc.ankr.com/...",
      }
    }
  }
}

特性

  • 所有Ankr Advanced API端点的完整包装
  • NFT API:获取NFT元数据、持有者、转让和所有权信息
  • 查询API:访问区块链统计数据、区块、日志和交易数据
  • 代币API:获取代币余额、价格、持有者和转账历史记录
  • 支持多个区块链网络

安装

# Clone the repository
git clone https://github.com/tumf/web3-mcp.git
cd web3-mcp

# Install with uv
uv pip install -e .

配置

设置以下环境变量:

# Required
export ANKR_ENDPOINT="your_ankr_rpc_endpoint"

# Optional but recommended for authenticated requests
export ANKR_PRIVATE_KEY="your_private_key"

用法

运行服务器

from web3_mcp.server import init_server

# Initialize MCP server
mcp = init_server(
    name="Ankr MCP",
    endpoint="your_ankr_endpoint",  # Optional, defaults to ANKR_ENDPOINT env var
    private_key="your_private_key"  # Optional, defaults to ANKR_PRIVATE_KEY env var
)

# Run server
mcp.run()

与FastMCP CLI一起使用

# Set environment variables first
export ANKR_ENDPOINT="your_ankr_endpoint"
export ANKR_PRIVATE_KEY="your_private_key"

# Run the server
python -m web3_mcp

API类别

NFT API

  • get_nfts_by_owner:获取钱包地址所属的NFT
  • get_nft_metadata:获取特定NFT的元数据
  • get_nft_holders:获取特定NFT收藏的持有者
  • get_nft_transfers:获取NFT的转账历史记录

查询API

  • get_blockchain_stats:获取区块链统计数据
  • get_blocks:获取块信息
  • get_logs:获取区块链日志
  • get_transactions_by_hash:按哈希值获取交易
  • get_transactions_by_address:按地址获取交易
  • get_interactions:获取钱包与合约的交互

代币API

  • get_account_balance:获取钱包的代币余额
  • get_currencies:获取可用货币
  • get_token_price:获取代币价格信息
  • get_token_holders:获取代币持有者
  • get_token_holders_count:获取代币持有者数量
  • get_token_transfers:获取令牌转移历史记录

许可证

麻省理工学院