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 💡
ares-devops-mcp
A MCP server enabling seamless interaction with Azure DevOps Git repositories, supporting repository management, pull request creation, pipeline automation, and type-safe operations with TypeScript.
bear-mcp-server
MCP Server integration for Bear note app
edgeone-pages-mcp
An MCP service designed for deploying HTML content to EdgeOne Pages and obtaining an accessible public URL.
GitGuardianDeveloper
An MCP server for scanning and remediating hardcoded secrets using GitGuardian’s API, detecting over 500 secret types to prevent credential leaks.
LiTschii/remote-mcp-server
A remote MCP server deployed on Cloudflare Workers, demonstrating how to expose tools via an SSE endpoint with OAuth login.
aws-mcp-server
A lightweight service that enables AI assistants to execute AWS CLI commands (in safe containerized environment) through the Model Context Protocol (MCP). Bridges Claude, Cursor, and other MCP-aware AI tools with AWS CLI for enhanced cloud infrastructure management.