使用说明
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:获取钱包地址所属的NFTget_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:获取令牌转移历史记录
许可证
麻省理工学院