tumf

Web3 MCP

Community tumf
Updated

Web3 MCP

TestscodecovPyPI versionLicense: MIT

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_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 address
  • get_nft_metadata: Get metadata for a specific NFT
  • get_nft_holders: Get holders of a specific NFT collection
  • get_nft_transfers: Get transfer history for NFTs

Query API

  • get_blockchain_stats: Get blockchain statistics
  • get_blocks: Get blocks information
  • get_logs: Get blockchain logs
  • get_transactions_by_hash: Get transactions by hash
  • get_transactions_by_address: Get transactions by address
  • get_interactions: Get wallet interactions with contracts

Token API

  • get_account_balance: Get token balances for a wallet
  • get_currencies: Get available currencies
  • get_token_price: Get token price information
  • get_token_holders: Get token holders
  • get_token_holders_count: Get token holders count
  • get_token_transfers: Get token transfer history

License

MIT

MCP Server · Populars

MCP Server · New

    chatmcp

    mcpso

    directory for Awesome MCP Servers

    Community chatmcp
    TBXark

    MCP Proxy Server

    An MCP proxy server that aggregates and serves multiple MCP resource servers through a single HTTP server.

    Community TBXark
    ttommyth

    interactive-mcp

    Ask users questions from your LLM! interactive-mcp: Local, cross-platform MCP server for interactive prompts, chat & notifications.

    Community ttommyth
    lpigeon

    ros-mcp-server

    The ROS MCP Server is designed to support robots in performing complex tasks and adapting effectively to various environments by providing a set of functions that transform natural language commands, entered by a user through an LLM, into ROS commands for robot control.

    Community lpigeon
    emicklei

    melrose-mcp

    interactive programming of melodies, producing MIDI

    Community emicklei