MCP server for DeBank API integration, enabling AI assistants to access DeFi portfolio data, token information, and blockchain analytics
Server has 9 tools with complete input schemas and descriptions, but quality is uneven. Tool names follow verb_noun convention (good). Descriptions are present but often verbose (194-char baseline exceeded; some >300 chars). Parameter descriptions exist but lack constraint details (enums, ranges, formats). No output schemas documented. Error handling is minimal, most tools lack recovery guidance. Security: no secrets exposed as params (good). Composition: tools are single-responsibility and chainable. Major gaps: no pagination metadata in responses, no error classification, no dry-run/confirmation for sensitive ops.
Get blockchain network information from DeBank. This tool retrieves comprehensive information about blockchain networks supported by DeBank, including network details, native tokens, and protocol counts.
Get liquidity pool information from DeBank. Args: client: DeBankClient instance pool_id: Pool identifier/contract address (required, must start with 0x) chain_id: Blockchain ID (required) Returns: Pool object with enhanced summary metrics
Get DeFi protocol information from DeBank. This tool retrieves comprehensive information about DeFi protocols, including TVL (Total Value Locked), supported chains, and protocol metadata.
Get token information and prices from DeBank. This tool retrieves comprehensive token data including current prices, historical prices, decimals, symbols, logos, and verification status.
Get user's 24-hour asset value trends from DeBank. Args: client: DeBankClient instance address: User's wallet address (required, must start with 0x) chain_id: Optional single chain ID for chain-specific curve chain_ids: Optional comma-separated chain IDs for multi-chain aggregate Returns: Time series data with summary statistics
No output schemas documented. LLMs cannot predict response structure, forcing them to guess field names and types for downstream tool chaining. Responses may include verbose API metadata (audit fields, pagination internals) that wastes tokens.
Parameter descriptions lack constraint details. 'limit' params state 'max: 500' in docstring but not in schema description. 'date' format is YYYY-MM-DD but not enforced. 'chain_id' accepts free-form strings with no enum. LLMs cannot validate inputs without explicit constraints.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | D | 57 | 2026-07-28+ | v2 |
Get user's NFT holdings from DeBank. Args: address: User's wallet address (required) chain_id: Optional chain ID. If None, returns NFTs across all chains is_all: Include all NFTs (True) or only valuable ones (False, default) limit: Maximum number of NFTs to return (default: 50, max: 500) offset: Number of NFTs to skip for pagination (default: 0) Returns: Dictionary with NFTs, metadata, content URLs, attributes, valuations, and pagination info
Get user's DeFi protocol positions from DeBank. Args: address: User's wallet address (required) protocol_id: Optional specific protocol ID chain_id: Optional chain ID. If None, returns positions across all chains detail_level: "simple" for balances only, "complex" for full position details (default: "complex") Returns: Protocol positions with assets, debts, rewards, and portfolio items
Get user's token holdings from DeBank. Args: address: User's wallet address (required) chain_id: Optional chain ID. If None, returns tokens across all chains token_id: Optional specific token to query is_all: Include all tokens (True) or only valuable ones (False, default) limit: Maximum number of tokens to return (default: 50, max: 500) offset: Number of tokens to skip for pagination (default: 0) Returns: Dictionary with token holdings, amounts, prices, USD values, and pagination info
Pre-execute and explain a transaction using DeBank's simulation. CRITICAL SAFETY TOOL: Always simulate transactions before sending. Args: client: DeBankClient instance transaction_data: Transaction object with required fields pending_transactions: Optional array of transactions to simulate first explain_only: If True, only explain the transaction without full simulation Returns: Simulation results with safety analysis
No error classification or recovery guidance. debank_simulate_transaction returns 'unsupported_chain' error but does not guide LLM on next steps. Other tools lack actionable error messages. Agents cannot distinguish retryable vs fatal failures.
Pagination parameters (limit, offset) present but no total_count or next_cursor returned. Large result sets risk context window exhaustion. No guidance on result limits in tool descriptions.
debank_simulate_transaction lacks dry-run or confirmation step. Agents can invoke transaction simulation but tool description does not clarify whether it actually executes or only explains. Irreversible operations need explicit confirmation pattern.