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
git clone https://github.com/tumf/web3-mcp.git
cd web3-mcp
uv pip install -e .
Configuration
Set the following environment variables:
export ANKR_ENDPOINT="your_ankr_rpc_endpoint"
export ANKR_PRIVATE_KEY="your_private_key"
Usage
Running the server
from web3_mcp.server import init_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
)
mcp.run()
Using with FastMCP CLI
export ANKR_ENDPOINT="your_ankr_endpoint"
export ANKR_PRIVATE_KEY="your_private_key"
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