Explore blockchain data across addresses, tokens, blocks, and transactions. Investigate any transa…
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.
DuckChain supports all BlockScout-compatible networks including:
blockscout.com/eth/mainnet)blockscout.com/matic/mainnet)blockscout.com/bsc/mainnet)blockscout.com/arbitrum/mainnet)blockscout.com/optimism/mainnet)blockscout.com/avax/mainnet)blockscout.com/ftm/mainnet)blockscout.com/gnosis/mainnet)blockscout.com/poa/core) - DefaultInstall dependencies:
uv syncRun the server:
uv run devTest interactively:
uv run playgroundSearch for USDT token information
Search for address 0x1234...
Find block 12345678Get transaction details for 0xabc123...
Get token transfers for transaction 0xdef456...
Get internal transactions for transaction 0xdef456...
Get transaction logs for 0xdef456...
Get raw trace for transaction 0xdef456...
Get state changes for transaction 0xdef456...
Get transaction summary for 0xdef456...
Filter transactions by method "transfer"Get block details for block 12345678
Get all transactions in block 12345678
Get withdrawals for block 12345678
Get blocks with type filteringGet address details for 0x1234...
Get all transactions for address 0x1234...
Get token balances for address 0x1234...
Get coin balance history for address 0x1234...
Get NFT collections for address 0x1234...
Get blocks validated by address 0x1234...Get token details for 0xabc123...
Get token holders for 0xabc123...
Get token transfers for 0xabc123...
Get token instances for 0xabc123...
Refetch token instance metadataGet smart contract details for 0xdef456...
Get smart contracts list
Get smart contract countersGet blockchain statistics
Show transaction chart data
Display market chart for price analysissearch_blockchain: Search for addresses, tokens, blocks, or transactionscheck_search_redirect: Check if search should redirect to specific pageget_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 transactionget_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 blockget_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 addressget_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 instanceget_smart_contracts_list: Get smart contracts listget_smart_contracts_counters: Get smart contracts countersget_smart_contract_details: Get smart contract details by address hashget_internal_transactions: Get internal transactionsget_main_page_transactions: Get transactions for main pageget_main_page_blocks: Get blocks for main pageget_indexing_status: Get blockchain indexing statusget_blockchain_stats: Get blockchain statisticsget_transactions_chart: Get transaction chart dataget_market_chart: Get market chart dataduckchain://api-docs: Complete API documentationduckchain://supported-chains: List of supported blockchain networksanalyze_transaction: Generate analysis prompts for transactionsexplore_address: Generate exploration prompts for addressesresearch_token: Generate research prompts for tokensThe 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.
Total: 56+ MCP tools covering the complete BlockScout API v2 specification
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
This project is licensed under the Apache 2.0 License - see the LICENSE file for details.
Contributions are welcome! Please feel free to submit a Pull Request.
For support and questions, please open an issue on GitHub or contact the DuckChain team.