Provides comprehensive blockchain data access and analysis tools for Ethereum mainnet, including transaction tracing, address exploration, token management, and smart contract analysis through BlockScout API integration
Provides full blockchain exploration capabilities for Fantom network with transaction analysis, address monitoring, token holder tracking, and comprehensive statistics and charts
Offers complete access to Optimism blockchain data including transaction details, internal transactions, token balances, NFT management, and smart contract analysis through BlockScout API
Enables deep blockchain analysis on Polygon network with tools for transaction filtering, block operations, address analysis, token transfers, and comprehensive market research capabilities
DuckChain MCP Server
A comprehensive Model Context Protocol (MCP) server that provides complete access to blockchain data via the BlockScout API v2 specification. DuckChain enables AI assistants to perform deep blockchain analysis, including transaction tracing, address exploration, token management, smart contract analysis, and comprehensive market research with 56+ specialized tools.
Features
🔍 Search & Discovery
Blockchain Search: Search for addresses, tokens, blocks, or transactions
Search Redirects: Check if queries should redirect to specific pages
📊 Transaction Analysis
Transaction Details: Get comprehensive transaction information by hash
Transaction Filtering: Filter transactions by status, type, or method
Token Transfers: Retrieve token transfer details for specific transactions
Internal Transactions: Access internal transaction data for specific transactions
Transaction Logs: Get detailed logs for transaction analysis
Raw Trace: Access raw transaction trace data
State Changes: Monitor state changes caused by transactions
Transaction Summary: Get concise transaction summaries
🧱 Block Operations
Block Data: Access block information with optional type filtering
Block Details: Get specific block details by number or hash
Block Transactions: Retrieve all transactions in a specific block
Block Withdrawals: Access withdrawal data for specific blocks
Main Page Blocks: Get blocks optimized for main page display
🏠 Address Analysis
Address Details: Get comprehensive address information
Address Transactions: Access all transactions for specific addresses
Token Balances: Check token balances for any address
Balance History: Track coin balance changes over time
NFT Management: Access NFT data and collections for addresses
Address Counters: Get transaction and activity counters
Validated Blocks: See blocks validated by specific addresses
Withdrawal History: Track withdrawal activities
💰 Token Operations
Token Management: Complete token lifecycle management
Token Details: Get comprehensive token information
Token Transfers: Access all token transfer data
Token Holders: Analyze token distribution and holders
Token Instances: Manage token instances and metadata
Token Counters: Track token activity statistics
Metadata Refresh: Update token instance metadata
📜 Smart Contract Analysis
Contract Details: Get comprehensive smart contract information
Contract Lists: Browse all smart contracts
Contract Counters: Track smart contract activity
Contract Analysis: Analyze contract interactions and usage
📈 Statistics & Charts
Blockchain Stats: Get comprehensive blockchain statistics
Transaction Charts: Access transaction volume and activity data
Market Charts: Retrieve price and volume visualization data
🔧 Internal Operations
Internal Transactions: Access internal transaction data
Indexing Status: Monitor blockchain indexing progress
🚀 What's New
Complete API Coverage
56+ MCP Tools covering all BlockScout API v2 endpoints
Advanced Transaction Analysis with logs, traces, and state changes
Comprehensive Address Analysis including NFT and balance history
Full Token Management with instances and metadata refresh
Smart Contract Analysis with detailed contract information
Deep Block Analysis including withdrawals and transaction details
Enhanced Capabilities
No Authentication Required - Works out of the box
Type-Safe Implementation - Full Pydantic validation
Comprehensive Error Handling - User-friendly error messages
Async Performance - Fast, non-blocking operations
Modular Design - Easy to extend and maintain
Prerequisites
Smithery API key: Get yours at smithery.ai/account/api-keys
Python 3.10 or higher
Supported Networks
DuckChain supports all BlockScout-compatible networks including:
Ethereum Mainnet (
blockscout.com/eth/mainnet
)Polygon (
blockscout.com/matic/mainnet
)BSC (
blockscout.com/bsc/mainnet
)Arbitrum (
blockscout.com/arbitrum/mainnet
)Optimism (
blockscout.com/optimism/mainnet
)Avalanche (
blockscout.com/avax/mainnet
)Fantom (
blockscout.com/ftm/mainnet
)Gnosis Chain (
blockscout.com/gnosis/mainnet
)POA Core (
blockscout.com/poa/core
) - Default
Getting Started
Install dependencies:
uv syncRun the server:
uv run devTest interactively:
uv run playground
No Authentication Required
Free and public access - Most BlockScout instances are free and public
No API key needed - DuckChain works without any authentication
Simple setup - Just configure the server URL and you're ready to go
Usage Examples
Search Operations
Transaction Analysis
Block Analysis
Address Analysis
Token Management
Smart Contract Analysis
Market Research
Available Tools
Search Tools
search_blockchain
: Search for addresses, tokens, blocks, or transactionscheck_search_redirect
: Check if search should redirect to specific page
Transaction Tools
get_transactions
: Get transactions with filtering optionsget_transaction_details
: Get detailed transaction informationget_transaction_token_transfers
: Get token transfers for a transactionget_transaction_internal_transactions
: Get internal transactions for a transactionget_transaction_logs
: Get logs for a transactionget_transaction_raw_trace
: Get raw trace for a transactionget_transaction_state_changes
: Get state changes for a transactionget_transaction_summary
: Get summary for a transaction
Block Tools
get_blocks
: Get blocks with optional type filteringget_block_details
: Get specific block details by number or hashget_block_transactions
: Get transactions for a specific blockget_block_withdrawals
: Get withdrawals for a specific block
Address Tools
get_addresses_list
: Get addresses listget_address_details
: Get address details by hashget_address_counters
: Get address countersget_address_transactions
: Get transactions for a specific addressget_address_token_transfers
: Get token transfers for a specific addressget_address_internal_transactions
: Get internal transactions for a specific addressget_address_logs
: Get logs for a specific addressget_address_blocks_validated
: Get blocks validated by a specific addressget_address_token_balances
: Get token balances for a specific addressget_address_tokens
: Get tokens for a specific addressget_address_coin_balance_history
: Get coin balance history for a specific addressget_address_coin_balance_history_by_day
: Get coin balance history by day for a specific addressget_address_withdrawals
: Get withdrawals for a specific addressget_address_nft
: Get NFT for a specific addressget_address_nft_collections
: Get NFT collections for a specific address
Token Tools
get_token_transfers
: Get all token transfersget_tokens_list
: Get tokens listget_token_details
: Get token details by address hashget_token_transfers_by_token
: Get transfers for a specific tokenget_token_holders
: Get holders for a specific tokenget_token_counters
: Get counters for a specific tokenget_token_instances
: Get instances for a specific tokenget_token_instance_details
: Get specific token instance detailsget_token_instance_transfers
: Get transfers for a specific token instanceget_token_instance_holders
: Get holders for a specific token instanceget_token_instance_transfers_count
: Get transfers count for a specific token instancerefetch_token_instance_metadata_tool
: Refetch metadata for a specific token instance
Smart Contract Tools
get_smart_contracts_list
: Get smart contracts listget_smart_contracts_counters
: Get smart contracts countersget_smart_contract_details
: Get smart contract details by address hash
Internal Tools
get_internal_transactions
: Get internal transactions
Main Page Tools
get_main_page_transactions
: Get transactions for main pageget_main_page_blocks
: Get blocks for main pageget_indexing_status
: Get blockchain indexing status
Statistics Tools
get_blockchain_stats
: Get blockchain statisticsget_transactions_chart
: Get transaction chart dataget_market_chart
: Get market chart data
Resources
duckchain://api-docs
: Complete API documentationduckchain://supported-chains
: List of supported blockchain networks
Prompts
analyze_transaction
: Generate analysis prompts for transactionsexplore_address
: Generate exploration prompts for addressesresearch_token
: Generate research prompts for tokens
Development
The server code is located in src/duckchain/server.py
. The implementation follows the BlockScout API v2 specification and provides comprehensive error handling and type safety.
Key Components
DuckChainAPI: Async HTTP client for BlockScout API with 56+ endpoints
ConfigSchema: Pydantic model for configuration validation
MCP Tools: 56+ individual tools covering all major blockchain operations
Resources: Documentation and reference materials
Prompts: Pre-built prompts for common blockchain analysis tasks
API Coverage
Search & Discovery: 2 tools
Transaction Analysis: 8 tools (including logs, traces, state changes)
Block Operations: 4 tools (including withdrawals and detailed analysis)
Address Analysis: 15 tools (comprehensive address data and history)
Token Management: 12 tools (including instances and metadata)
Smart Contract Analysis: 3 tools
Statistics & Charts: 3 tools
Internal Operations: 1 tool
Main Page Data: 3 tools
Total: 56+ MCP tools covering the complete BlockScout API v2 specification
Deploy
Ready to deploy? Push your code to GitHub and deploy to Smithery:
Clone repository at duckchain-mcp
Deploy your server to Smithery at smithery.ai/new
License
This project is licensed under the Apache 2.0 License - see the LICENSE file for details.
Contributing
Contributions are welcome! Please feel free to submit a Pull Request.
Support
For support and questions, please open an issue on GitHub or contact the DuckChain team.
This server cannot be installed
remote-capable server
The server can be hosted and run remotely because it primarily relies on remote services or has no dependency on the local environment.
Enables comprehensive blockchain data analysis and exploration through the BlockScout API. Provides 56+ tools for transaction analysis, address exploration, token management, smart contract analysis, and market research across multiple blockchain networks.