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 💡
buryhuang/mcp-server-aws-resources
A Python-based MCP server enabling Claude to query and manage AWS resources via boto3, with sandboxing and containerization for secure execution.
steadybit
MCP Server for Steadybit, enabling LLM tools like Claude to interact with the Steadybit platform.
alibabacloud-devops-mcp-server
AlibabaCloud Devops MCP Server enables AI assistants to interact with the Yunxiao platform, providing tools for managing code repositories, projects, pipelines, and packages within the Alibaba Cloud DevOps ecosystem.
@pnp/cli-microsoft365-mcp-server
An MCP server enabling natural language execution of CLI for Microsoft 365 commands to manage Microsoft 365 services.
tituslhy/sturdy-octo-fortnight
A MCP server integrating Jira and Confluence, providing API interaction tools via SSE transport
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).