Web3 MCP
An MCP server implementation wrapping Ankr Advanced API.
Overview
FastMCP is a Model Context Protocol (MCP) server that provides access to Ankr's Advanced API for blockchain data. It allows LLMs to interact with blockchain data across multiple chains including Ethereum, BSC, Polygon, Avalanche, and more.
MCP Client Setting
{
"mcpServers": {
"web3": {
"command": "uvx",
"args": [
"web3-mcp"
],
"env": {
"ANKR_ENDPOINT": "https://rpc.ankr.com/...",
}
}
}
}
Features
- Complete wrapper for all Ankr Advanced API endpoints
- NFT API: Get NFT metadata, holders, transfers, and ownership information
- Query API: Access blockchain statistics, blocks, logs, and transaction data
- Token API: Get token balances, prices, holders, and transfer history
- Support for multiple blockchain networks
Installation
# Clone the repository
git clone https://github.com/tumf/web3-mcp.git
cd web3-mcp
# Install with uv
uv pip install -e .
Configuration
Set the following environment variables:
# Required
export ANKR_ENDPOINT="your_ankr_rpc_endpoint"
# Optional but recommended for authenticated requests
export ANKR_PRIVATE_KEY="your_private_key"
Usage
Running the server
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()
Using with FastMCP CLI
# Set environment variables first
export ANKR_ENDPOINT="your_ankr_rpc_endpoint"
export ANKR_PRIVATE_KEY="your_private_key"
# Run the server
python -m web3_mcp
API Categories
NFT API
get_nfts_by_owner: Get NFTs owned by a wallet addressget_nft_metadata: Get metadata for a specific NFTget_nft_holders: Get holders of a specific NFT collectionget_nft_transfers: Get transfer history for NFTs
Query API
get_blockchain_stats: Get blockchain statisticsget_blocks: Get blocks informationget_logs: Get blockchain logsget_transactions_by_hash: Get transactions by hashget_transactions_by_address: Get transactions by addressget_interactions: Get wallet interactions with contracts
Token API
get_account_balance: Get token balances for a walletget_currencies: Get available currenciesget_token_price: Get token price informationget_token_holders: Get token holdersget_token_holders_count: Get token holders countget_token_transfers: Get token transfer history
License
MIT
Recommend MCP Servers 💡
mcp-bearer-auth-example
A remote Model Context Protocol (MCP) server designed to run on Cloudflare, enhanced with Bearer Token authentication.
mcp-ctera-core
Provides an AI-powered interface to interact with the CTERA Intelligent Data Services Platform, enabling file and folder management operations via Model Context Protocol (MCP).
k8s-mcp-server
K8s-mcp-server is a Model Context Protocol (MCP) server that enables AI assistants like Claude to securely execute Kubernetes commands. It provides a bridge between language models and essential Kubernetes CLI tools including kubectl, helm, istioctl, and argocd, allowing AI systems to assist with cluster management, troubleshooting, and deployments
mcp-server-aws
An MCP server for interacting with AWS S3 and DynamoDB services, providing operations like creating, listing, deleting buckets/tables, and managing items.
mcp-1panel
An MCP server that integrates with 1Panel to manage system, websites, applications, and databases.
ks-mcp-server
The KubeSphere MCP Server is a Model Context Protocol(MCP) server that provides integration with KubeSphere APIs, enabling to get resources from KubeSphere. Divided into four tools modules: Workspace Management, Cluster Management, User and Roles, Extensions Center.