DeFi Trading Agent MCP Server
The DeFi Trading Agent MCP Server transforms AI assistants into autonomous crypto trading agents, enabling real-time market analysis, portfolio management, and trade execution across 17+ blockchains with MEV protection.
š Token Swapping
Get indicative swap prices across DEXes (
get_swap_price), fetch executable quotes (get_swap_quote), and execute swaps on-chain (execute_swap)List supported chains and liquidity sources
ā½ Gasless Trading
Get prices and quotes for gas-free swaps (
get_gasless_price,get_gasless_quote)Submit gasless swaps via EIP-712 signatures (
submit_gasless_swap) and monitor status (get_gasless_status)Check supported gasless chains and permitted tokens
š Market Intelligence
Discover trending and newly launched pools (
get_trending_pools,get_new_pools)Search pools by token symbol, address, or pool address (
search_pools)Get top pools by DEX or token, OHLCV candlestick data (
get_pool_ohlcv), and recent trades/whale movements
šŖ Token Research
Real-time token prices with 24h change, volume, and market cap (
get_token_price)Deep token metadata, social links, and descriptions (
get_token_data,get_token_info)Fetch multiple tokens or recently updated tokens at once
š¼ Portfolio Management
Multi-chain portfolio analysis with prices and metadata (
get_portfolio_tokens)Fast balance checking (
get_portfolio_balances) and full transaction history (get_portfolio_transactions)
š§ Utilities
Convert between wei and human-readable amounts (
convert_wei_to_formatted,convert_formatted_to_wei)List supported DEXes, blockchains, and CoinGecko networks
š¤ Autonomous Agent Capabilities
AI-driven memecoin scanning, arbitrage hunting, risk management with alerts/stop-loss, and technical analysis with pattern recognition and entry timing
Optional integration for premium RPC connections across 15 major chains, offering enhanced performance with lower latency and better uptime.
Supports trading and portfolio management on Binance Smart Chain (BSC), enabling users to execute trades and track assets on this network.
Core integration for portfolio tracking, transaction analysis, and trade execution on Ethereum, with added MEV protection against sandwich attacks and front-running.
Provides integration with GitHub for bug reporting, feature requests, and community support through GitHub Issues and Discussions.
Allows configuration as an MCP client, enabling GitHub Copilot to function as a DeFi trading assistant.
Enables portfolio tracking and trading execution on the Optimism network, an Ethereum L2 scaling solution.
Supports portfolio analysis, balance checking, and trade execution on the Polygon network with fast and cheap transactions.
Provides community support and real-time assistance through a dedicated Telegram group for users.
Click on "Install Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@DeFi Trading Agent MCP Serverscan for new memecoins on Base with high liquidity and analyze entry opportunities"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
DeFi Trading Agent MCP Server
Transform your AI assistant into an autonomous crypto trading agent with real-time market analysis, portfolio management, and seamless trade execution across 17+ blockchains.
šÆ Starting Prompt Examples
Simple Quote
Get me a quote for 0.1 eth to usdc on Base chain.Quote and Swap
Get me a quote for 0.1 eth on ethereum chain and execute the swap.Memecoin Opportunity Scanner
"Scan for newly launched memecoins on Base with >$100K liquidity, pick one or two tokens and analyze the best entry opportunities"Advanced Analysis Process:
Discovery Phase: Uses
get_new_poolsto find tokens launched in last 24hVolume Filtering: Identifies pools with >$100K liquidity and high trading activity
Technical Analysis: Pulls OHLCV data to analyze price patterns and momentum
Risk Assessment: Evaluates liquidity depth, holder concentration, and volatility
Entry Strategy: Determines optimal entry price, position size, and risk management
Execution: Places gasless swap with calculated slippage and stop-loss levels
Example AI Analysis:
"Found 3 promising new tokens:
š $ROCKET (0x123...): 2M volume, bullish OHLCV pattern, 85% liquidity locked
š Entry: $0.0001 (current support level)
š° Size: 2% portfolio allocation
š”ļø Stop: $0.000085 (-15%)
šÆ Target: $0.00015 (+50%)
Executing gasless swap now..."Risk Management Agent
"Monitor my portfolio and alert me if any position drops more than 15%"Agent Actions:
Continuously monitors portfolio values
Calculates position changes
Provides alerts and recommendations
Can execute protective trades
Related MCP server: GearTrade MCP Server
š Quick Start
Installation
npm install -g defi-trading-mcpCreate a New Wallet (Recommended)
npx defi-trading-mcp@latest --create-walletThis generates a new wallet with private key and address for secure trading.
š° Need crypto? See our guide: How to Load Crypto into Your Wallet
āļø Configuration
Required Keys
USER_PRIVATE_KEY: Your private key (for signing transactions locally, stays local, never transmitted)USER_ADDRESS: Your Ethereum wallet addressCOINGECKO_API_KEY: CoinGecko API key for market data (How to get your CoinGecko API key)
Optional Configuration
ALCHEMY_API_KEY: Add an Alchemy API key to use your own RPCs, otherwise public rpcs will be used.
š§ Premium RPC Integration
Your ALCHEMY_API_KEY automatically enables premium RPCs for:
15 Major Chains: Base, Polygon, Arbitrum, Optimism, BSC, Avalanche, Worldchain, Berachain, Blast, Linea, Scroll, Mantle, Ink, MonadTestnet
Enhanced Performance: Lower latency, better uptime
Automatic Fallback: Public RPCs for other chains
š Security
Private keys remain on your device
No sensitive data transmitted to external servers
Secure transaction signing locally
MEV Protection
Ethereum transactions are protected from MEV attacks, sandwich attacks, and front-running
Private mempool routing ensures your trades aren't visible to MEV bots
Fair pricing without manipulation from malicious actors
Automatic protection - no additional configuration required
š§ MCP Client Setup
Kiro IDE
Step 1: Install the MCP
npm install -g defi-trading-mcpAdd to ~/.kiro/settings/mcp.json:
{
"mcpServers": {
"defi-trading": {
"command": "npx",
"args": ["defi-trading-mcp@latest"],
"env": {
"USER_PRIVATE_KEY": "your_private_key_here",
"USER_ADDRESS": "0xYourWalletAddress",
"COINGECKO_API_KEY": "CG-your_coingecko_api_key",
"ALCHEMY_API_KEY": "your_alchemy_api_key"
}
}
}
}Claude Code
Add the MCP to Claude Code using the command line:
Step 1: Install the MCP
npm install -g defi-trading-mcpStep 2: Add to Claude Code - Replace the placeholders with your environment variables
For macOS/Linux/WSL:
claude mcp add defi-trading \
-e USER_PRIVATE_KEY=your_private_key_here \
-e USER_ADDRESS=0xYourWalletAddress \
-e COINGECKO_API_KEY=CG-your_coingecko_api_key \
-e ALCHEMY_API_KEY=your_alchemy_api_key \
-- npx defi-trading-mcp@latestFor Windows (native, not WSL):
claude mcp add defi-trading \
-e USER_PRIVATE_KEY=your_private_key_here \
-e USER_ADDRESS=0xYourWalletAddress \
-e COINGECKO_API_KEY=CG-your_coingecko_api_key \
-e ALCHEMY_API_KEY=your_alchemy_api_key \
-- cmd /c npx defi-trading-mcp@latestWindows Note: The
cmd /cwrapper is required on native Windows to prevent "Connection closed" errors when using npx.
Step 3: Verify the MCP is added
claude mcp listStep 4: Update wallet details (if needed) If you need to update your private key or wallet address after initial setup:
# Remove existing configuration
claude mcp remove defi-trading
# Add back with updated wallet details
claude mcp add defi-trading \
-e USER_PRIVATE_KEY=your_new_private_key \
-e USER_ADDRESS=0xYourNewWalletAddress \
-e COINGECKO_API_KEY=CG-your_coingecko_api_key \
-e ALCHEMY_API_KEY=your_alchemy_api_key \
-- npx defi-trading-mcp@latestStep 5: Start using the trading agent Open Claude Code and start trading. Example Prompt:
"Check my portfolio across all chains and find trending memecoins on Base"Claude Desktop
Step 1: Install the MCP
npm install -g defi-trading-mcpOpen Claude Desktop. Click the top left menu with the three dashes. Click Developer. Then click Open App Config File. Your config file will open. Then add the following.
{
"mcpServers": {
"defi-trading": {
"command": "npx",
"args": ["defi-trading-mcp@latest"],
"env": {
"USER_PRIVATE_KEY": "your_private_key_here",
"USER_ADDRESS": "0xYourWalletAddress",
"COINGECKO_API_KEY": "CG-your_coingecko_api_key",
"ALCHEMY_API_KEY": "your_alchemy_api_key"
}
}
}
}Cursor
Quick Setup (2 Steps)
Step 1: Install the package
npm install -g defi-trading-mcpStep 2: Add to Cursor (One-Click)
Click the button below to automatically configure the MCP in Cursor:
Important: The deeplink only configures Cursor - you must install the npm package first!
Manual Setup
Step 1: Install the MCP
npm install -g defi-trading-mcpStep 2: Add to Cursor Configuration
Open Cursor
Go to Settings ā Extensions ā MCP Servers
Add a new server with the following configuration:
{
"defi-trading": {
"command": "npx",
"args": ["defi-trading-mcp@latest"],
"env": {
"USER_PRIVATE_KEY": "your_private_key_here",
"USER_ADDRESS": "0xYourWalletAddress",
"COINGECKO_API_KEY": "CG-your_coingecko_api_key",
"ALCHEMY_API_KEY": "your_alchemy_api_key"
}
}
}Step 3: Configure Environment Variables
Replace the placeholder values with your actual credentials:
USER_PRIVATE_KEY: Your wallet's private keyUSER_ADDRESS: Your wallet addressCOINGECKO_API_KEY: Your CoinGecko API key (Get one here)ALCHEMY_API_KEY: Your Alchemy API key (optional)
Step 4: Start Trading
Open Cursor and start using the DeFi Trading Agent:
"Get me a quote for 0.1 ETH to USDC on Base chain"Other MCP Clients
For other MCP clients like Github Copilot(mcp.json), Gemini Cli (settings.json), find equivalent file and use the same pattern with environment variables:
{
"mcpServers": {
"defi-trading": {
"command": "npx",
"args": ["defi-trading-mcp@latest"],
"env": {
"USER_PRIVATE_KEY": "your_private_key_here",
"USER_ADDRESS": "0xYourWalletAddress",
"COINGECKO_API_KEY": "CG-your_coingecko_api_key",
"ALCHEMY_API_KEY": "your_alchemy_api_key"
}
}
}
}š¤ Trading Agent Capabilities
Autonomous Portfolio Management
Intelligent Market Analysis
Advanced Trade Execution
Risk Management & Security
š ļø Trading Agent Tools
Portfolio Management
get_portfolio_tokens- Multi-chain portfolio analysis with prices and metadataget_portfolio_balances- Fast balance checking across all chainsget_portfolio_transactions- Complete transaction history analysis
Market Intelligence & Analysis
get_trending_pools- Identify hot trading opportunities with volume metricsget_new_pools- Discover newly launched tokens and liquidity poolsget_pool_ohlcv- Technical analysis with OHLCV candlestick dataget_pool_trades- Analyze recent trading activity and whale movementsget_token_price- Real-time pricing with 24h change indicatorsget_token_data- Deep token research with metadata and social linksget_token_info- Comprehensive token analysis including descriptionssearch_pools- Find specific pools by token symbol or contract address
Smart Trading
get_swap_price- Get best prices across all DEXesget_swap_quote- Get executable quotes with transaction dataexecute_swap- Execute trades with optimal routingget_supported_chains- List all 17+ supported blockchains
Gasless Trading
get_gasless_price- Get prices for gas-free tradesget_gasless_quote- Get gasless swap quotessubmit_gasless_swap- Execute trades without holding ETHget_gasless_status- Monitor gasless transaction status
Utility Tools
convert_wei_to_formatted- Convert blockchain units to human-readableconvert_formatted_to_wei- Convert amounts to blockchain format
Plus 25+ additional tools for comprehensive DeFi trading and analysis.
š Supported Networks
17+ Blockchain Networks:
Ethereum - The original DeFi ecosystem
Base - Coinbase's L2 with low fees
Polygon - Fast and cheap transactions
Arbitrum - Leading Ethereum L2
Optimism - Optimistic rollup scaling
BSC - Binance Smart Chain
Avalanche - Fast. Scalable. Customizable
Blast - Native yield for ETH and stablecoins
Linea - ConsenSys zkEVM
Scroll - zkRollup technology
Mantle - Modular blockchain network
Mode - DeFi-focused L2
Worldchain - World ID integration
Unichain - Uniswap's dedicated chain
Berachain - Proof-of-liquidity consensus
Ink - Kraken's L2 solution
MonadTestnet - Next-gen parallel EVM
Use get_supported_chains for the complete current list.
š Security & Trust
Local Key Management
Private keys never leave your device
All transaction signing happens locally
No sensitive data transmitted to servers
š” Agent Use Cases
DeFi Portfolio Manager
"Analyze my DeFi portfolio and suggest optimizations"Tracks performance across all chains
Identifies underperforming assets
Suggests rebalancing strategies
Executes optimization trades
Technical Analysis Expert
"Analyze the OHLCV data for trending tokens and identify the best entry points"Advanced Technical Analysis:
Pattern Recognition: Identifies bullish/bearish patterns in OHLCV data
Support/Resistance: Calculates key price levels using historical data
Volume Analysis: Analyzes trading volume for momentum confirmation
Entry Timing: Determines optimal entry points based on technical indicators
Risk Management: Sets stop-loss and take-profit levels automatically
Position Sizing: Calculates optimal allocation based on volatility and risk tolerance
Example Technical Analysis:
"$TOKEN shows strong bullish momentum:
š OHLCV Analysis: Higher lows pattern, volume increasing 300%
š Support Level: $0.00085 (tested 3x, held strong)
š Resistance: $0.0012 (previous high, light volume)
š” Strategy: Enter at $0.00095, Stop at $0.00082, Target $0.0015
āļø Risk/Reward: 1:4 ratio, recommended 1.5% portfolio allocation"Arbitrage Hunter
"Look for arbitrage opportunities between chains"Compares prices across networks
Identifies profitable spreads
Calculates gas costs and slippage
Executes profitable arbitrage
Risk Monitor
"Alert me if any of my positions drop more than 10%"Continuous portfolio monitoring
Real-time price alerts
Automatic stop-loss execution
Risk assessment reports
Advanced Market Analysis Agent
"Analyze newly launched memecoins on Base with high volume and determine entry strategy"Comprehensive Analysis:
Trend Detection: Identifies trending pools with unusual volume spikes
Technical Analysis: Uses OHLCV data to analyze price patterns and momentum
Liquidity Assessment: Evaluates pool depth and trading sustainability
Risk Scoring: Calculates risk metrics based on volatility and liquidity
Entry Optimization: Determines optimal entry points using technical indicators
Position Sizing: Recommends allocation based on portfolio risk management
Example Analysis Flow:
Discovery: "Find new tokens with >1000% volume increase in last 24h"
Research: Pulls token metadata, social links, and trading history
Technical Analysis: Analyzes OHLCV patterns for support/resistance levels
Risk Assessment: Evaluates liquidity, holder distribution, and volatility
Strategy: "Enter 2% of portfolio at $0.0001 with stop-loss at $0.00008"
Execution: Places gasless swap with optimal slippage settings
š Why Choose DeFi Trading Agent MCP?
For Traders
AI-Powered Analysis: Advanced market intelligence with OHLCV technical analysis
Memecoin Discovery: Automated scanning for newly launched high-potential tokens
Smart Entry Timing: AI determines optimal entry points using multiple indicators
Risk-Managed Trading: Automated position sizing and stop-loss calculations
Multi-chain Efficiency: Trade across 17+ networks seamlessly
Gas Optimization: Gasless trades save on transaction costs
Professional Grade: Built for high-volume trading
š¬ Community & Support
Join Our Community
Telegram Group - Get help, share strategies, and connect with other traders
GitHub Issues - Report bugs and request features
GitHub Discussions - General questions and community chat
Need Help?
š¬ Quick questions: Join our Telegram group for real-time support
š Bug reports: Create an issue on GitHub
š” Feature requests: Share your ideas in GitHub Discussions
š Documentation: Check our guides for CoinGecko API and Loading Crypto
Transform your AI into an autonomous crypto trading agent today.
Available Tools
32 toolsconvert_formatted_to_weiB
Convert formatted amounts to wei using ethers.js
| Name | Required | Description | Default |
|---|---|---|---|
| amount | Yes | Formatted amount (e.g., '1.5' for 1.5 ETH) | |
| decimals | Yes | Number of decimal places for the token (e.g., 18 for ETH, 6 for USDC) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden of behavioral disclosure. It mentions the use of 'ethers.js' but doesn't describe error handling, input validation, or output format. For a conversion tool with no annotation coverage, this leaves significant gaps in understanding how it behaves in practice.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, efficient sentence that directly states the tool's function. It's front-loaded with the core purpose and uses no unnecessary words, making it easy to parse and understand quickly.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's low complexity (2 parameters, no output schema, no annotations), the description is minimally adequate. It covers the basic purpose but lacks details on behavioral aspects and usage context. For a simple conversion tool, this is acceptable but not comprehensive.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The description doesn't add meaning beyond what the input schema provides, as schema description coverage is 100%. The schema already documents 'amount' and 'decimals' with examples. Since the description doesn't explain parameter interactions or additional context, it meets the baseline score for high schema coverage.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's purpose: converting formatted amounts to wei using ethers.js. It specifies the verb ('convert'), resource ('formatted amounts'), and technology ('ethers.js'), making it easy to understand. However, it doesn't explicitly differentiate from its sibling 'convert_wei_to_formatted' beyond the directional implication, which keeps it from a perfect score.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides no guidance on when to use this tool versus alternatives. It doesn't mention the sibling tool 'convert_wei_to_formatted' for reverse conversions, nor does it explain scenarios where this conversion is needed (e.g., for blockchain transactions or calculations). Usage is implied only by the tool's name and description.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
convert_wei_to_formattedB
Convert wei amounts to human-readable format using ethers.js
| Name | Required | Description | Default |
|---|---|---|---|
| amount | Yes | Amount in wei (as string to handle large numbers) | |
| decimals | Yes | Number of decimal places for the token (e.g., 18 for ETH, 6 for USDC) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries full burden. It mentions 'using ethers.js' which hints at library behavior, but doesn't disclose critical traits: error handling (e.g., invalid inputs), output format (string/number), rounding behavior, or performance considerations. For a conversion tool with no annotation coverage, this leaves significant behavioral gaps.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, efficient sentence with zero waste. It's front-loaded with the core purpose and includes implementation detail without redundancy. Every word earns its place.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given 2 parameters with full schema coverage and no output schema, the description is minimally complete for a simple conversion tool. However, without annotations or output schema, it should ideally explain the return format (e.g., string in ether units) and error cases to be fully helpful.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the schema already documents both parameters thoroughly. The description adds no additional parameter semantics beyond what's in the schema (e.g., no examples of typical 'amount' values or 'decimals' usage). Baseline 3 is appropriate when schema does the heavy lifting.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the verb 'convert' and the resource 'wei amounts to human-readable format', specifying the implementation method 'using ethers.js'. It distinguishes from its sibling 'convert_formatted_to_wei' by indicating the opposite direction of conversion. However, it doesn't explicitly mention what 'human-readable format' means (e.g., ether units).
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies usage when converting from wei to formatted amounts, with the sibling tool suggesting the alternative for reverse conversion. However, it lacks explicit guidance on when to use this versus other tools for similar purposes (e.g., formatting in different contexts) or prerequisites like valid wei strings.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
execute_swapB
Execute a swap transaction (requires quote data)
| Name | Required | Description | Default |
|---|---|---|---|
| quoteData | Yes | Quote data from get_swap_quote |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden of behavioral disclosure. It mentions the requirement for quote data but doesn't describe critical traits like whether this is a read/write operation, authentication needs, potential side effects (e.g., funds movement), rate limits, or error handling. This is inadequate for a transaction execution tool.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is extremely concise with a single, front-loaded sentence that directly states the purpose and key requirement. There is no wasted language, and every word earns its place.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the complexity of a swap transaction tool with no annotations and no output schema, the description is insufficient. It lacks details on behavioral traits, return values, error conditions, and differentiation from siblings, making it incomplete for safe and effective use by an AI agent.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema description coverage is 100%, with the parameter 'quoteData' fully documented in the schema as 'Quote data from get_swap_quote'. The description adds no additional meaning beyond this, so it meets the baseline for high schema coverage without compensating further.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the action ('Execute a swap transaction') and the resource ('swap transaction'), which is specific and unambiguous. However, it doesn't explicitly differentiate from sibling tools like 'submit_gasless_swap' or 'get_swap_quote', which would be needed for a perfect score.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides implied usage guidance by mentioning 'requires quote data' and referencing 'get_swap_quote', suggesting this tool should be used after obtaining a quote. However, it doesn't explicitly state when to use this vs. alternatives like 'submit_gasless_swap' or provide clear exclusions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_coingecko_networksB
Get list of supported networks on CoinGecko/GeckoTerminal
| Name | Required | Description | Default |
|---|---|---|---|
| page | No | Page number for pagination (optional, default: 1) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden of behavioral disclosure. It states the action but lacks details on permissions, rate limits, pagination behavior beyond the schema, or what the output looks like. For a read operation with no annotation coverage, this is a significant gap in transparency.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, efficient sentence that directly states the tool's purpose without unnecessary words. It is appropriately sized and front-loaded, making it easy for an agent to parse quickly.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the low complexity (one optional parameter) and high schema coverage, the description is minimally adequate. However, with no output schema and no annotations, it lacks details on return values or behavioral traits, leaving gaps that could hinder effective tool invocation.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, with the single parameter 'page' documented in the schema. The description adds no additional parameter semantics beyond what the schema provides, such as default values or usage context, so it meets the baseline for high schema coverage without compensating value.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the verb 'Get list' and the resource 'supported networks on CoinGecko/GeckoTerminal', making the purpose unambiguous. However, it doesn't explicitly differentiate from sibling tools like 'get_supported_chains' or 'get_gasless_chains', which might have overlapping or related functionality, preventing a perfect score.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides no guidance on when to use this tool versus alternatives. Given sibling tools like 'get_supported_chains' and 'get_gasless_chains', there's no indication of differences in scope, source, or use cases, leaving the agent without direction on tool selection.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_gasless_approval_tokensB
Get list of tokens that support gasless approvals (EIP-2612 permit)
| Name | Required | Description | Default |
|---|---|---|---|
| chainId | No | Blockchain ID (e.g., 8453 for Base, defaults to 8453 if not provided) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden of behavioral disclosure. It states what the tool does but doesn't describe behavioral traits like whether this is a read-only operation (implied by 'Get list'), potential rate limits, authentication requirements, error conditions, or the format/structure of the returned list. For a tool with zero annotation coverage, this leaves significant gaps in understanding how it behaves.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, efficient sentence that front-loads the core purpose ('Get list of tokens') and adds necessary qualification ('that support gasless approvals (EIP-2612 permit)'). Every word earns its place, with no redundancy or unnecessary elaboration, making it easy for an agent to parse quickly.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's moderate complexity (fetching a filtered list), no annotations, no output schema, and 100% schema coverage, the description is minimally adequate. It clearly states the purpose but lacks behavioral context (e.g., response format, pagination) and usage guidelines. The absence of an output schema means the description should ideally hint at return values, but it doesn't, leaving the agent to discover this through execution.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, with the single parameter 'chainId' fully documented in the schema (including its type, description, and default value). The description adds no parameter-specific information beyond what's in the schema, so it meets the baseline of 3 for high schema coverage. It doesn't compensate for any gaps because there are none in the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the action ('Get list of tokens') and the specific resource type ('tokens that support gasless approvals (EIP-2612 permit)'). It distinguishes this tool from siblings like get_token_data or get_token_info by focusing on gasless approval support rather than general token information. However, it doesn't explicitly contrast with get_gasless_chains or get_gasless_status, which are related but different gasless tools.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides no guidance on when to use this tool versus alternatives. It doesn't mention prerequisites (e.g., needing a chainId for context), compare it to similar tools like get_gasless_chains (which lists chains supporting gasless features) or get_token_data (which provides general token info), or specify use cases (e.g., before executing a gasless swap). The agent must infer usage from the tool name and description alone.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_gasless_chainsB
Get list of blockchain networks that support gasless swaps
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden. It implies a read-only operation ('Get list') but doesn't disclose behavioral traits such as rate limits, authentication needs, data freshness, or error handling. This is a significant gap for a tool with zero annotation coverage.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, efficient sentence that directly states the tool's purpose without unnecessary words. It is appropriately sized and front-loaded, with zero waste.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's simplicity (0 parameters, no output schema, no annotations), the description is minimally adequate but lacks depth. It doesn't explain return values (e.g., format of the list) or behavioral context, which is a gap since no output schema exists to compensate.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool has 0 parameters, and schema description coverage is 100%, so no parameter information is needed. The description doesn't add param details, but this is acceptable given the absence of parameters, warranting a baseline score of 4.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the verb 'Get' and the resource 'list of blockchain networks that support gasless swaps', making the purpose specific and understandable. It distinguishes from siblings like 'get_supported_chains' by specifying 'gasless swaps', though it doesn't explicitly contrast them.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides no guidance on when to use this tool versus alternatives like 'get_supported_chains' or other gasless-related tools (e.g., 'get_gasless_approval_tokens'). It lacks context on prerequisites, timing, or exclusions, leaving usage unclear.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_gasless_priceB
Get indicative price for a gasless token swap (no gas fees required)
| Name | Required | Description | Default |
|---|---|---|---|
| chainId | Yes | Blockchain ID (e.g., 8453 for Base) | |
| buyToken | Yes | Contract address of token to buy | |
| sellToken | Yes | Contract address of token to sell | |
| sellAmount | Yes | Amount of sellToken in base units | |
| taker | No | Address executing the trade (optional) | |
| slippageBps | No | Maximum acceptable slippage in basis points (optional, min: 30) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden of behavioral disclosure. It states the tool provides an 'indicative price' (implying non-binding, estimate) and mentions 'no gas fees required', but fails to disclose critical behaviors like whether this is a read-only operation, potential rate limits, authentication needs, or what 'indicative' entails (e.g., time validity, accuracy). This leaves significant gaps for a tool interacting with financial data.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, efficient sentence that front-loads the core purpose ('Get indicative price') and adds qualifying context ('gasless token swap', 'no gas fees required') without any wasted words. Every element earns its place.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a tool with 6 parameters, no annotations, and no output schema, the description is incomplete. It lacks behavioral details (e.g., read-only status, error conditions), doesn't explain the 'indicative' nature of the output, and provides no guidance on interpreting results. Given the complexity and financial context, more completeness is needed.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the schema fully documents all 6 parameters. The description adds no parameter-specific information beyond what's in the schemaāit doesn't explain relationships between parameters (e.g., how sellAmount interacts with buyToken) or provide additional context. Baseline 3 is appropriate when schema does all the work.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the specific action ('Get indicative price') for a specific resource ('gasless token swap') and distinguishes it from siblings by emphasizing 'no gas fees required'ādifferentiating it from tools like get_swap_price or get_swap_quote that likely involve gas fees.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies usage context ('gasless token swap') but provides no explicit guidance on when to use this tool versus alternatives like get_gasless_quote or get_swap_price. It mentions 'no gas fees required' which hints at a use case, but lacks clear when/when-not instructions or named alternatives.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_gasless_quoteB
Get executable quote for a gasless token swap with EIP-712 signature data
| Name | Required | Description | Default |
|---|---|---|---|
| chainId | Yes | Blockchain ID (e.g., 8453 for Base) | |
| buyToken | Yes | Contract address of token to buy | |
| sellToken | Yes | Contract address of token to sell | |
| sellAmount | Yes | Amount of sellToken in base units | |
| taker | No | Address executing the trade (required for gasless quotes, uses USER_ADDRESS from env if not provided) | |
| slippageBps | No | Maximum acceptable slippage in basis points (optional, min: 30) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden of behavioral disclosure. It mentions 'executable quote' and 'EIP-712 signature data', hinting at a read-only operation that prepares for execution, but fails to clarify if this is a simulation, whether it requires specific permissions, rate limits, or what the output entails (e.g., quote validity, signature details). This leaves significant gaps for a tool with potential transactional implications.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, front-loaded sentence that efficiently conveys the core purpose without unnecessary words. Every part of the sentence earns its place by specifying key aspects like 'executable', 'gasless', and 'EIP-712 signature data'.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the complexity of a gasless swap tool with no annotations and no output schema, the description is incomplete. It lacks details on behavioral traits (e.g., safety, side effects), output format, or how the quote integrates with execution tools like execute_swap or submit_gasless_swap. This leaves the agent with insufficient context for proper use.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the schema fully documents all 6 parameters. The description adds no additional meaning beyond what the schema provides, such as explaining parameter interactions or constraints. With high schema coverage, the baseline score of 3 is appropriate as the description doesn't compensate but also doesn't detract.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the specific action ('Get executable quote') and resource ('for a gasless token swap with EIP-712 signature data'), distinguishing it from sibling tools like get_swap_quote or get_gasless_price by emphasizing the gasless and executable nature with signature data.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides no guidance on when to use this tool versus alternatives such as get_swap_quote or get_gasless_price, nor does it mention prerequisites like needing a taker address or when gasless swaps are applicable. It lacks explicit usage context or exclusions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_gasless_statusC
Get the status of a submitted gasless swap
| Name | Required | Description | Default |
|---|---|---|---|
| tradeHash | Yes | Trade hash from gasless swap submission | |
| chainId | Yes | Blockchain ID where the trade was submitted |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries full burden but only states it retrieves status without disclosing behavioral traits. It doesn't mention whether this is a read-only operation, what the status response includes, potential errors, rate limits, or authentication requirements for a gasless swap system.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, focused sentence with zero wasted words. It's front-loaded with the core purpose and efficiently communicates the essential function without unnecessary elaboration.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a status-checking tool with no annotations and no output schema, the description is insufficient. It doesn't explain what status information is returned, possible status values, or how to interpret results. Given the complexity of gasless swaps and lack of structured output documentation, more context is needed.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, providing clear parameter documentation. The description adds no additional parameter semantics beyond what's in the schema, but since the schema fully describes both required parameters, this meets the baseline expectation for high coverage.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the action ('Get the status') and resource ('submitted gasless swap'), making the purpose immediately understandable. However, it doesn't differentiate from sibling tools like 'submit_gasless_swap' beyond the obvious status vs. submission distinction, missing opportunities to clarify scope boundaries.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance is provided about when to use this tool versus alternatives. While the name implies it's for checking status after submission, there's no explicit mention of prerequisites (e.g., must have a tradeHash from 'submit_gasless_swap') or when other tools might be more appropriate.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_liquidity_sourcesC
Get list of liquidity sources available on a specific chain
| Name | Required | Description | Default |
|---|---|---|---|
| chainId | Yes | Blockchain ID to get sources for |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden. It states the tool retrieves a list but lacks details on behavioral traits such as rate limits, authentication needs, pagination, error handling, or what 'liquidity sources' entails (e.g., types, formats, or freshness). This is a significant gap for a tool with no annotation coverage, making it inadequate for informed agent use.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, efficient sentence that front-loads the core purpose without unnecessary words. It directly states what the tool does and its scope, with zero waste or redundancy, making it highly concise and well-structured for quick understanding.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given no annotations, no output schema, and a simple input schema, the description is incomplete. It lacks crucial context like what the output includes (e.g., list format, data fields), behavioral constraints, or how it fits among siblings. For a tool in a complex DeFi context with many related tools, this minimal description fails to provide sufficient guidance for effective agent use.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, with the single parameter 'chainId' documented as 'Blockchain ID to get sources for'. The description adds no additional meaning beyond this, such as valid chain IDs or examples. Since the schema fully covers the parameter, the baseline score of 3 is appropriate, as the description doesn't compensate but also doesn't need to given high schema coverage.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the action ('Get list') and resource ('liquidity sources'), specifying the scope ('available on a specific chain'). It distinguishes from siblings like get_supported_chains or get_gasless_chains by focusing on liquidity sources rather than chain metadata or gasless features. However, it doesn't explicitly differentiate from tools like get_multiple_pools_data or get_top_pools_by_dex, which might overlap in purpose.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides minimal guidance, only indicating to use it for getting liquidity sources on a specific chain. It offers no explicit when-to-use vs. alternatives, prerequisites, or exclusions. For example, it doesn't clarify when to prefer this over get_supported_dexes or get_top_pools_by_token, leaving usage context implied rather than stated.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_multiple_pools_dataC
Get data for multiple pools by their contract addresses
| Name | Required | Description | Default |
|---|---|---|---|
| network | Yes | Network ID (e.g., 'eth', 'bsc', 'polygon_pos') | |
| addresses | Yes | Pool contract addresses, comma-separated for multiple pools | |
| include | No | Attributes to include: 'base_token', 'quote_token', 'dex' (comma-separated) | |
| include_volume_breakdown | No | Include volume breakdown (optional, default: false) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries full burden but offers minimal behavioral insight. It states it 'gets data' but doesn't disclose if this is a read-only operation, potential rate limits, authentication needs, error conditions, or what the output format looks like (e.g., JSON structure). For a tool with 4 parameters and no output schema, this is inadequate.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, efficient sentence that directly states the tool's function without redundancy. It's front-loaded with the core purpose and wastes no words, making it easy for an agent to parse quickly.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given 4 parameters, no annotations, and no output schema, the description is incomplete. It doesn't explain what 'data' encompasses beyond parameter hints, behavioral traits like safety or performance, or how results are structured. For a data-fetching tool in a complex domain (DeFi pools), this leaves significant gaps for an agent.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the schema fully documents all parameters (network, addresses, include, include_volume_breakdown). The description adds no additional meaning beyond implying addresses are for pools, which is already clear from the schema. Baseline 3 is appropriate as the schema does the heavy lifting.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the action ('Get data') and target resource ('multiple pools by their contract addresses'), making the purpose unambiguous. It distinguishes from siblings like get_token_data (tokens vs pools) and get_pool_ohlcv (specific data types vs general pool data). However, it doesn't specify what 'data' includes beyond what parameters imply, preventing a perfect score.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No explicit guidance on when to use this tool versus alternatives is provided. While the description implies it's for fetching pool data by addresses, it doesn't contrast with siblings like get_top_pools_by_token (which might not require addresses) or search_pools (which might use filters). The agent must infer usage from the name and parameters alone.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_multiple_tokens_dataC
Get data for multiple tokens by their contract addresses
| Name | Required | Description | Default |
|---|---|---|---|
| network | Yes | Network ID (e.g., 'eth', 'bsc', 'polygon_pos') | |
| addresses | Yes | Token contract addresses, comma-separated for multiple tokens | |
| include | No | Attributes to include: 'top_pools' (optional) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries full burden. It states what the tool does but reveals nothing about behavioral traits: no information about rate limits, authentication requirements, error conditions, response format, or whether this is a read-only operation. 'Get' implies read-only, but this isn't explicitly confirmed.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, efficient sentence that states the core functionality without unnecessary words. It's appropriately sized for a straightforward data retrieval tool and front-loads the essential information.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a tool with 3 parameters, no annotations, and no output schema, the description is insufficient. It doesn't explain what 'data' means in this context (prices, metadata, balances?), doesn't mention any constraints or limitations, and provides no context about the data source or freshness. The agent would need to guess about the tool's behavior and output.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the schema already documents all three parameters thoroughly. The description adds no additional parameter semantics beyond what's in the schema - it doesn't explain what 'data' includes, what format addresses should use beyond 'comma-separated', or clarify the relationship between parameters.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the action ('Get data') and resource ('multiple tokens by their contract addresses'), making the purpose understandable. It distinguishes from sibling 'get_token_data' by specifying multiple tokens, but doesn't fully differentiate from other data retrieval tools like 'get_token_info' or 'get_token_price'.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance is provided about when to use this tool versus alternatives. With siblings like 'get_token_data', 'get_token_info', 'get_token_price', and 'get_portfolio_tokens', the description offers no context about which tool to choose for different token data needs.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_new_poolsC
Get latest new pools across all networks
| Name | Required | Description | Default |
|---|---|---|---|
| include | No | Attributes to include: 'base_token', 'quote_token', 'dex', 'network' (comma-separated) | |
| page | No | Page number for pagination (optional, default: 1) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden of behavioral disclosure. It mentions 'latest new pools' and 'across all networks', hinting at recency and scope, but fails to detail critical aspects like rate limits, authentication needs, data freshness, pagination behavior beyond the schema, or what 'new' means (e.g., time window). This leaves significant gaps for a tool that likely involves network calls.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, efficient sentence that front-loads the core purpose without unnecessary words. Every part ('Get latest new pools across all networks') contributes directly to understanding the tool's function, making it highly concise and well-structured.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the complexity of fetching data across networks with parameters, no annotations, and no output schema, the description is insufficient. It lacks details on behavior (e.g., how 'latest' is defined, error handling), output format, or integration with sibling tools, leaving the agent under-informed for effective use.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the schema fully documents both parameters ('include' and 'page'). The description adds no additional parameter semantics beyond implying a focus on 'latest new pools', which doesn't clarify parameter usage. This meets the baseline for high schema coverage, but doesn't enhance understanding.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the action ('Get') and resource ('latest new pools across all networks'), making the purpose immediately understandable. It doesn't explicitly differentiate from sibling tools like 'get_trending_pools' or 'search_pools', which prevents a perfect score, but the scope ('latest new pools across all networks') provides reasonable distinction.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance is provided on when to use this tool versus alternatives like 'get_trending_pools', 'search_pools', or 'get_multiple_pools_data'. The description implies it's for retrieving newly created pools, but it doesn't specify use cases, prerequisites, or exclusions, leaving the agent to infer context.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_pool_ohlcvC
Get OHLCV (Open, High, Low, Close, Volume) data for a pool
| Name | Required | Description | Default |
|---|---|---|---|
| network | Yes | Network ID (e.g., 'eth', 'bsc', 'polygon_pos') | |
| poolAddress | Yes | Pool contract address | |
| timeframe | Yes | Timeframe for OHLCV data: 'day', 'hour', 'minute' | |
| aggregate | No | Aggregate interval (optional, default: '1') | |
| before_timestamp | No | Get data before this timestamp (optional) | |
| limit | No | Limit number of results (optional, max: 1000) | |
| currency | No | Currency for price data: 'usd', 'token' (optional, default: 'usd') | |
| token | No | Token for price data: 'base', 'quote' (optional, default: 'base') | |
| include_empty_intervals | No | Include empty intervals (optional, default: false) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden of behavioral disclosure. It states what data is retrieved but omits critical details: whether this is a read-only operation, rate limits, authentication requirements, error handling, or the format/structure of returned OHLCV data. For a tool with 9 parameters and no output schema, this is a significant gap.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, efficient sentence that directly states the tool's purpose without redundancy. It's appropriately sized and front-loaded with the core functionality.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's complexity (9 parameters, financial data retrieval), lack of annotations, and absence of an output schema, the description is insufficient. It doesn't address behavioral aspects, return format, error conditions, or usage context, leaving significant gaps for an AI agent to understand how to properly invoke and interpret results.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so all parameters are documented in the schema. The description adds no additional parameter semantics beyond implying OHLCV data retrieval. It doesn't explain relationships between parameters (e.g., how 'timeframe' interacts with 'aggregate') or provide usage examples.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the verb ('Get') and resource ('OHLCV data for a pool'), making the purpose unambiguous. It doesn't explicitly distinguish from siblings like 'get_pool_trades' or 'get_multiple_pools_data', but the specific focus on OHLCV data provides implicit differentiation.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance is provided on when to use this tool versus alternatives like 'get_pool_trades' (for trade data) or 'get_multiple_pools_data' (for batch queries). The description lacks context about prerequisites, typical use cases, or performance considerations.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_pool_tradesC
Get recent trades for a specific pool
| Name | Required | Description | Default |
|---|---|---|---|
| network | Yes | Network ID (e.g., 'eth', 'bsc', 'polygon_pos') | |
| poolAddress | Yes | Pool contract address | |
| trade_volume_in_usd_greater_than | No | Filter trades with volume greater than this USD amount (optional) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries full burden. It mentions 'recent trades' but doesn't specify time ranges, pagination, rate limits, authentication needs, or what 'recent' means. For a read operation with no structured safety hints, this leaves significant behavioral gaps.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, efficient sentence with zero wasteāit directly states the tool's function without fluff. It's appropriately sized for a straightforward data retrieval tool.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given no annotations and no output schema, the description is incomplete. It doesn't explain return values (e.g., trade format, timestamps), behavioral constraints, or error handling. For a tool with three parameters and complex sibling context, this lacks necessary context for reliable agent use.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the schema already documents all three parameters thoroughly. The description adds no additional meaning beyond implying 'pool' relates to 'poolAddress', which the schema covers. Baseline 3 is appropriate as the schema does the heavy lifting.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the verb ('Get') and resource ('recent trades for a specific pool'), making the purpose understandable. However, it doesn't differentiate from sibling tools like 'get_pool_ohlcv' or 'get_multiple_pools_data' that might also retrieve pool-related data, preventing a perfect score.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance is provided on when to use this tool versus alternatives. With siblings like 'get_pool_ohlcv' (likely for OHLCV data) and 'get_multiple_pools_data' (for broader pool metrics), the description lacks any context for selection, leaving the agent to infer based on names alone.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_portfolio_balancesA
Get token balances for wallet addresses (faster, no prices/metadata, uses USER_ADDRESS from env if addresses not provided)
| Name | Required | Description | Default |
|---|---|---|---|
| addresses | No | Array of address and networks pairs (max 3 addresses, max 20 networks each). Optional - uses USER_ADDRESS from env if not provided | |
| networks | No | Network identifiers to use with USER_ADDRESS (e.g., 'eth-mainnet', 'base-mainnet'). Only used when addresses not provided. Defaults to ['eth-mainnet', 'base-mainnet'] | |
| includeNativeTokens | No | Include native tokens like ETH (optional, default: false) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden of behavioral disclosure. It usefully describes performance characteristics ('faster'), data limitations ('no prices/metadata'), and environment variable fallback behavior. However, it doesn't mention rate limits, authentication requirements, error conditions, or what the return format looks like (though there's no output schema).
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is perfectly concise - a single sentence that efficiently communicates the tool's purpose, key characteristics (fast, no metadata), and important behavioral detail (env fallback). Every word earns its place with zero redundancy or wasted space.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a read-only data retrieval tool with no annotations and no output schema, the description provides adequate but incomplete context. It covers the 'what' and 'why' well (purpose and speed trade-off) but lacks details about return format, error handling, or authentication requirements. The 100% schema coverage helps, but behavioral context remains somewhat thin.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the schema already documents all three parameters thoroughly. The description adds minimal value beyond the schema - it mentions the USER_ADDRESS fallback behavior (already in schema) and implies the tool's focus on speed over completeness. Baseline 3 is appropriate when the schema does most of the parameter documentation work.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's purpose: 'Get token balances for wallet addresses' with specific characteristics ('faster, no prices/metadata'). It distinguishes from siblings like get_portfolio_tokens (which likely includes metadata) and get_token_data (which focuses on individual tokens). However, it doesn't explicitly name these alternatives for full differentiation.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides clear context about when to use this tool: when you need 'faster' retrieval and don't need 'prices/metadata'. It also explains the fallback behavior ('uses USER_ADDRESS from env if addresses not provided'). However, it doesn't explicitly state when NOT to use it or name specific alternative tools for different use cases.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_portfolio_tokensA
Get tokens with balances, prices, and metadata for wallet addresses (uses USER_ADDRESS from env if addresses not provided)
| Name | Required | Description | Default |
|---|---|---|---|
| addresses | No | Array of address and networks pairs (max 3 addresses, max 20 networks each). Optional - uses USER_ADDRESS from env if not provided | |
| networks | No | Network identifiers to use with USER_ADDRESS (e.g., 'eth-mainnet', 'base-mainnet'). Only used when addresses not provided. Defaults to ['eth-mainnet', 'base-mainnet'] | |
| withMetadata | No | Include token metadata (optional, default: true) | |
| withPrices | No | Include token prices (optional, default: true) | |
| includeNativeTokens | No | Include native tokens like ETH (optional, default: false) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden. It mentions the fallback behavior (using USER_ADDRESS from environment), which is useful context. However, it doesn't disclose important behavioral traits like rate limits, authentication requirements, error conditions, or what the response format looks like. For a tool with no annotations and no output schema, this leaves significant gaps.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, efficient sentence that front-loads the core purpose and includes essential usage guidance. Every word earns its place with no redundancy or unnecessary elaboration. It's appropriately sized for the tool's complexity.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool has 5 parameters, no annotations, and no output schema, the description is somewhat incomplete. It covers the basic purpose and fallback behavior but doesn't address what the tool returns, error handling, or other behavioral aspects. For a portfolio tool that likely returns complex data, more context would be helpful despite the good schema coverage.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the schema already documents all 5 parameters thoroughly. The description adds minimal value beyond the schema - it only mentions the USER_ADDRESS fallback behavior, which is already covered in the schema descriptions for 'addresses' and 'networks'. With high schema coverage, the baseline is 3 even with limited param info in the description.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's purpose: 'Get tokens with balances, prices, and metadata for wallet addresses.' It specifies the verb ('Get') and resource ('tokens') with key attributes (balances, prices, metadata). However, it doesn't explicitly differentiate from sibling tools like get_portfolio_balances or get_token_data, which reduces it from a perfect score.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides clear context for when to use this tool: 'uses USER_ADDRESS from env if addresses not provided.' This gives practical guidance on parameter usage. However, it doesn't explicitly state when to choose this tool over alternatives like get_portfolio_balances or get_token_data, which prevents a score of 5.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_portfolio_transactionsA
Get transaction history for a wallet address (BETA: 1 address, ETH/BASE only, uses USER_ADDRESS from env if addresses not provided)
| Name | Required | Description | Default |
|---|---|---|---|
| addresses | No | Array with single address and networks (BETA limitation: 1 address, max 2 networks). Optional - uses USER_ADDRESS from env if not provided | |
| networks | No | Network identifiers to use with USER_ADDRESS (BETA: only eth-mainnet and base-mainnet supported). Only used when addresses not provided. Defaults to ['eth-mainnet', 'base-mainnet'] | |
| before | No | Cursor for pagination - get results before this cursor (optional) | |
| after | No | Cursor for pagination - get results after this cursor (optional) | |
| limit | No | Number of transactions to return (optional, default: 25, max: 50) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden. It discloses BETA limitations (single address, specific networks) and the fallback to environment variables, which are useful behavioral traits. However, it doesn't cover other important aspects like rate limits, authentication needs, error handling, or what the return format looks like (since there's no output schema).
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, efficient sentence that front-loads the core purpose and includes key constraints. Every part earns its place, though it could be slightly more structured (e.g., separating purpose from limitations).
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the complexity (5 parameters, no annotations, no output schema), the description is moderately complete. It covers the core purpose and key constraints but lacks details on return values, error cases, or deeper behavioral context. The schema handles parameter documentation well, but the description doesn't fully compensate for the absence of annotations and output schema.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema description coverage is 100%, so the schema already documents all parameters thoroughly. The description adds minimal value beyond the schema by mentioning the BETA limitation and USER_ADDRESS fallback, which are partially covered in the schema descriptions. It doesn't provide additional syntax, format details, or usage examples beyond what's in the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the verb ('Get') and resource ('transaction history for a wallet address'), making the purpose specific. It distinguishes from sibling tools like get_portfolio_balances or get_portfolio_tokens by focusing on transactions rather than balances or token holdings.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides clear context about BETA limitations (1 address, ETH/BASE only) and fallback behavior (uses USER_ADDRESS from env if addresses not provided). However, it doesn't explicitly state when to use this tool versus alternatives like get_portfolio_balances or other transaction-related tools, nor does it mention exclusions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_recently_updated_tokensC
Get recently updated tokens with their information
| Name | Required | Description | Default |
|---|---|---|---|
| include | No | Attributes to include: 'network' (optional) | |
| network | No | Network ID to filter by (optional, e.g., 'eth', 'bsc', 'polygon_pos') |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden of behavioral disclosure. It states the tool retrieves data ('Get'), implying a read-only operation, but doesn't specify aspects like rate limits, authentication needs, pagination, or what 'recently updated' entails (e.g., last hour, day). This is a significant gap for a tool with potential behavioral nuances.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, efficient sentence that directly states the tool's purpose without unnecessary words. It's front-loaded with the core action and resource, making it easy to parse quickly. Every word earns its place.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the complexity of retrieving 'recently updated tokens' (which implies temporal and possibly other filters), no annotations, and no output schema, the description is incomplete. It lacks details on what information is returned, how 'recently updated' is defined, and behavioral traits like pagination or rate limits, leaving gaps for effective tool use.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema description coverage is 100%, so the schema already documents both parameters (include and network) with descriptions and an enum. The description adds no additional parameter semantics beyond what's in the schema, such as clarifying the meaning of 'recently updated' in relation to the network filter. Baseline 3 is appropriate when the schema handles parameter documentation.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the verb 'Get' and the resource 'recently updated tokens with their information', making the purpose understandable. However, it doesn't distinguish this tool from similar sibling tools like get_token_data, get_token_info, or get_multiple_tokens_data, which all retrieve token information but with different scopes or filters.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides no guidance on when to use this tool versus alternatives. It doesn't mention what 'recently updated' means (e.g., time frame), how it differs from other token retrieval tools in the sibling list, or any prerequisites for usage. This leaves the agent without context for tool selection.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_supported_chainsB
Get list of blockchain networks supported by Aggregator Protocol
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden of behavioral disclosure. It only states the action of getting a list, without mentioning any behavioral traits such as whether it's a read-only operation, potential rate limits, authentication needs, or what the output format might be. This leaves significant gaps for an agent to understand how to interact with the tool effectively.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, efficient sentence that directly states the tool's purpose without any unnecessary words. It is front-loaded and appropriately sized for a simple tool, making it easy for an agent to parse quickly.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's simplicity (0 parameters, no output schema, no annotations), the description is minimal. It lacks details on behavioral aspects like output format or usage context, which are important for an agent to invoke it correctly. While it covers the basic purpose, it doesn't provide enough completeness for reliable tool selection and invocation in a broader context.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema has 0 parameters with 100% coverage, meaning no parameters are documented in the schema. The description doesn't add parameter details, which is acceptable since there are no parameters to explain. This meets the baseline for tools with zero parameters, as it doesn't need to compensate for any gaps.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the verb 'Get' and the resource 'list of blockchain networks supported by Aggregator Protocol', which specifies what the tool does. However, it doesn't distinguish itself from sibling tools like 'get_gasless_chains' or 'get_coingecko_networks', which might also retrieve blockchain-related data, leaving some ambiguity about its unique scope.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides no guidance on when to use this tool versus alternatives. With siblings like 'get_gasless_chains' and 'get_coingecko_networks' that might overlap in retrieving blockchain network information, there is no explicit context, exclusions, or named alternatives mentioned to help an agent choose appropriately.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_supported_dexesC
Get list of supported DEXes on a specific network
| Name | Required | Description | Default |
|---|---|---|---|
| network | Yes | Network ID (e.g., 'eth', 'bsc', 'polygon_pos') | |
| page | No | Page number for pagination (optional, default: 1) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries full burden. It mentions 'Get list' but doesn't disclose behavioral traits like whether this is a read-only operation, if it requires authentication, rate limits, pagination details beyond the schema, or error handling. The description is minimal and doesn't add context beyond the basic action.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, efficient sentence with zero waste. It's front-loaded with the core action and resource, making it easy to parse quickly. Every word earns its place without redundancy.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given no annotations, no output schema, and a simple input schema, the description is incomplete. It doesn't explain what 'supported DEXes' entails, the return format (e.g., list of names, IDs, metadata), or how pagination works in practice. For a tool with 2 parameters and potential complexity in DEX data, more context is needed.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the schema already documents both parameters ('network' and 'page') with descriptions. The description adds no additional meaning beyond implying the 'network' parameter is used to filter DEXes, which is already clear from the schema. Baseline 3 is appropriate when the schema does the heavy lifting.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the verb ('Get') and resource ('list of supported DEXes on a specific network'), making the purpose immediately understandable. It distinguishes from siblings by focusing on DEX support rather than tokens, pools, swaps, or other operations. However, it doesn't specify what 'supported' means (e.g., integrated, available for swaps) or the format of the returned list.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance is provided on when to use this tool versus alternatives. While siblings include network-related tools like 'get_supported_chains' and 'get_gasless_chains', the description doesn't clarify if this is for checking DEX availability before swaps or for general reference. It also lacks prerequisites or exclusions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_swap_priceC
Get indicative price for a token swap using Aggregator Protocol
| Name | Required | Description | Default |
|---|---|---|---|
| chainId | Yes | Blockchain ID (e.g., 1 for Ethereum) | |
| buyToken | Yes | Contract address of token to buy | |
| sellToken | Yes | Contract address of token to sell | |
| sellAmount | Yes | Amount of sellToken in base units | |
| taker | No | Address executing the trade (optional) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden of behavioral disclosure. It mentions 'indicative price' which implies a read-only, non-destructive operation, but doesn't clarify if this is a simulation, requires authentication, has rate limits, or what the output format might be. For a tool with 5 parameters and no output schema, this leaves significant gaps in understanding how the tool behaves.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, efficient sentence that directly states the tool's purpose without any wasted words. It's appropriately sized for a straightforward tool and front-loaded with the key action, making it easy to parse quickly.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the complexity (5 parameters, financial/blockchain context), lack of annotations, and absence of an output schema, the description is incomplete. It doesn't address what the tool returns, error conditions, or behavioral constraints. For a price calculation tool in a DeFi context where precision and reliability matter, this leaves too much unspecified for confident agent use.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the input schema already documents all parameters thoroughly. The description adds no additional meaning about parameters beyond what's in the schema (e.g., it doesn't explain relationships between buyToken/sellToken or format of sellAmount). With high schema coverage, the baseline score of 3 is appropriate as the description doesn't compensate but also doesn't detract.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the action ('Get indicative price') and resource ('for a token swap using Aggregator Protocol'), which is specific and actionable. However, it doesn't explicitly differentiate from sibling tools like 'get_swap_quote' or 'get_gasless_price', which appear to serve similar price/quote functions, leaving some ambiguity about when to choose this tool over those alternatives.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides no guidance on when to use this tool versus alternatives. With siblings like 'get_swap_quote' and 'get_gasless_price' that likely serve related purposes, there's no indication of context, prerequisites, or exclusions to help an agent select appropriately. Usage is implied only by the tool name and description, not explicitly stated.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_swap_quoteC
Get executable quote with transaction data for a token swap
| Name | Required | Description | Default |
|---|---|---|---|
| chainId | Yes | Blockchain ID (e.g., 1 for Ethereum) | |
| buyToken | Yes | Contract address of token to buy | |
| sellToken | Yes | Contract address of token to sell | |
| sellAmount | Yes | Amount of sellToken in base units | |
| taker | No | Address executing the trade (optional, uses USER_ADDRESS from env) | |
| slippageBps | No | Maximum acceptable slippage in basis points (optional, default: 100) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden of behavioral disclosure. It mentions 'executable quote with transaction data,' which implies this is a read-only operation that prepares data for a swap, but it doesn't disclose critical behaviors like whether this requires authentication, rate limits, network dependencies, or what the output format looks like (e.g., JSON structure). This leaves significant gaps for a tool that likely interacts with blockchain networks.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, efficient sentence that front-loads the core purpose ('Get executable quote with transaction data for a token swap'). There is zero waste or redundancy, making it highly concise and well-structured for quick understanding.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the complexity of a token swap tool with 6 parameters, no annotations, and no output schema, the description is incomplete. It doesn't address behavioral aspects like authentication needs, error handling, or output format, which are crucial for an AI agent to use this tool effectively in a blockchain context. The schema covers parameters well, but overall context is lacking.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema description coverage is 100%, so the schema already documents all parameters thoroughly. The description adds no additional meaning beyond what's in the schema (e.g., it doesn't explain relationships between parameters like how 'sellAmount' interacts with 'sellToken'). Baseline 3 is appropriate as the schema does the heavy lifting, but the description doesn't compensate with extra insights.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's purpose with a specific verb ('Get') and resource ('executable quote with transaction data for a token swap'). It distinguishes itself from siblings like 'get_swap_price' by emphasizing the executable nature of the quote, though it doesn't explicitly contrast with all similar tools like 'get_gasless_quote'.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides no guidance on when to use this tool versus alternatives. It doesn't mention when to choose this over 'get_swap_price' (which might provide price estimates without transaction data) or 'get_gasless_quote' (which might be for gasless swaps), nor does it specify prerequisites or exclusions for usage.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_token_dataC
Get specific token data by contract address
| Name | Required | Description | Default |
|---|---|---|---|
| network | Yes | Network ID (e.g., 'eth', 'bsc', 'polygon_pos') | |
| address | Yes | Token contract address | |
| include | No | Attributes to include: 'top_pools' (optional) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden of behavioral disclosure but offers minimal information. It doesn't describe response format, error conditions, rate limits, authentication needs, or whether this is a read-only operation. While 'Get' implies reading, explicit confirmation of safety or side effects would be valuable given the lack of annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, efficient sentence that front-loads the core purpose without unnecessary words. It avoids redundancy with the tool name and schema, making it easy to parse quickly. Every word earns its place in conveying the essential function.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a tool with 3 parameters, no annotations, and no output schema, the description is insufficient. It doesn't explain what 'token data' returns, how results are structured, or any behavioral nuances. Given the complexity of blockchain data retrieval and the lack of structured context, more detail is needed to guide effective use.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the schema already documents all three parameters thoroughly. The description adds no additional parameter semantics beyond what's in the schema, such as explaining the relationship between 'network' and 'address' or clarifying the 'include' option's impact. Baseline 3 is appropriate when the schema does the heavy lifting.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the action ('Get') and target resource ('specific token data by contract address'), making the purpose immediately understandable. It distinguishes from siblings like 'get_token_info' or 'get_token_price' by focusing on contract-address-based data retrieval. However, it doesn't specify what 'token data' includes beyond what the schema suggests.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance is provided on when to use this tool versus alternatives like 'get_token_info', 'get_token_price', or 'get_multiple_tokens_data'. The description doesn't mention prerequisites, constraints, or typical use cases, leaving the agent to infer usage from the tool name and parameters alone.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_token_infoB
Get detailed token information including socials, websites, and description
| Name | Required | Description | Default |
|---|---|---|---|
| network | Yes | Network ID (e.g., 'eth', 'bsc', 'polygon_pos') | |
| address | Yes | Token contract address |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden of behavioral disclosure. It states this is a read operation ('Get'), but doesn't mention potential limitations like rate limits, authentication requirements, error conditions, or what happens with invalid inputs. For a tool that likely queries external APIs, this lack of transparency is a significant gap.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, efficient sentence that front-loads the core purpose and provides specific examples of what information is retrieved. Every word serves a purpose with no redundancy or unnecessary elaboration.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a read-only tool with 2 parameters and 100% schema coverage, the description adequately covers the basic purpose. However, without annotations or an output schema, it should ideally mention what the return format looks like (e.g., structured JSON with specific fields) or any notable behavioral aspects given the cryptocurrency/blockchain context.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema description coverage is 100%, with both parameters (network and address) clearly documented in the schema. The description doesn't add any parameter-specific information beyond what's in the schema, such as format examples or validation rules. This meets the baseline expectation when schema coverage is complete.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the action ('Get') and resource ('detailed token information') with specific examples of what information is included ('socials, websites, and description'). It distinguishes itself from siblings like get_token_data or get_token_price by focusing on metadata rather than pricing or raw data. However, it doesn't explicitly contrast with all similar tools.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides no guidance on when to use this tool versus alternatives like get_token_data, get_token_price, or get_multiple_tokens_data. There's no mention of prerequisites, context, or exclusions, leaving the agent to infer usage based on the tool name alone.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_token_priceC
Get token prices by contract addresses using CoinGecko API
| Name | Required | Description | Default |
|---|---|---|---|
| network | Yes | Network ID (e.g., 'eth', 'bsc', 'polygon_pos') | |
| addresses | Yes | Token contract addresses, comma-separated for multiple tokens | |
| include_market_cap | No | Include market capitalization (optional) | |
| mcap_fdv_fallback | No | Return FDV if market cap is not available (optional) | |
| include_24hr_vol | No | Include 24hr volume (optional) | |
| include_24hr_price_change | No | Include 24hr price change (optional) | |
| include_total_reserve_in_usd | No | Include total reserve in USD (optional) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries full burden for behavioral disclosure. While it mentions the API source (CoinGecko), it doesn't describe rate limits, authentication requirements, error conditions, response format, or whether this is a read-only operation. For a tool with 7 parameters and no annotations, this is a significant gap in behavioral context.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, efficient sentence with zero wasted words. It's appropriately sized for a straightforward data retrieval tool and front-loads the core purpose immediately. Every word earns its place by specifying what, how, and the data source.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's complexity (7 parameters, no output schema, no annotations), the description is insufficient. It doesn't explain what the tool returns, how results are formatted, error handling, rate limits, or when to use this versus other price-related tools. For a tool interacting with an external API and having multiple configuration options, more contextual information is needed.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so all parameters are documented in the schema itself. The description adds no additional parameter information beyond what's already in the schema descriptions. The baseline score of 3 reflects that the schema does the heavy lifting for parameter documentation, though the description doesn't enhance understanding of parameter relationships or usage patterns.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the action ('Get token prices') and the resource ('by contract addresses'), with the specific data source ('using CoinGecko API') mentioned. It distinguishes this from siblings like 'get_token_data' or 'get_token_info' by focusing specifically on price retrieval rather than broader token information. However, it doesn't explicitly differentiate from 'get_swap_price' which might also retrieve prices.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides no guidance on when to use this tool versus alternatives. With many sibling tools like 'get_token_data', 'get_token_info', 'get_swap_price', and 'get_gasless_price', there's no indication of when this specific CoinGecko-based price tool is preferred. No context about prerequisites, limitations, or appropriate use cases is provided.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_top_pools_by_dexC
Get top pools on a specific DEX
| Name | Required | Description | Default |
|---|---|---|---|
| network | Yes | Network ID (e.g., 'eth', 'bsc', 'polygon_pos') | |
| dex | Yes | DEX ID (e.g., 'uniswap_v3', 'sushiswap') | |
| include | No | Attributes to include: 'base_token', 'quote_token', 'dex' (comma-separated) | |
| page | No | Page number for pagination (optional, default: 1) | |
| sort | No | Sort by: 'h24_tx_count_desc', 'h24_volume_usd_desc' (optional, default: 'h24_tx_count_desc') |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden. It mentions 'top pools' but doesn't clarify what 'top' means (e.g., by volume, transactions, liquidity), though the schema hints at sorting options. It lacks critical behavioral details like pagination behavior, rate limits, authentication needs, or what the output format looks like.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, efficient sentence that gets straight to the point with zero wasted words. It's appropriately sized for a straightforward data retrieval tool and is perfectly front-loaded.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a tool with 5 parameters, no annotations, and no output schema, the description is insufficient. It doesn't explain what constitutes 'top' pools, how results are returned, pagination details, or error conditions. The agent would lack critical context to use this tool effectively despite the good schema coverage.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the schema already fully documents all 5 parameters. The description adds no additional parameter semantics beyond what's in the schema (e.g., it doesn't explain what 'top' means in relation to the 'sort' parameter or provide examples of DEX IDs). Baseline 3 is appropriate when the schema does the heavy lifting.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the action ('Get top pools') and the target resource ('on a specific DEX'), making the purpose immediately understandable. It distinguishes from siblings like 'get_top_pools_by_token' by specifying the DEX focus, though it doesn't explicitly contrast with other pool-related tools like 'get_trending_pools' or 'search_pools'.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides no guidance on when to use this tool versus alternatives. With siblings like 'get_top_pools_by_token', 'get_trending_pools', and 'search_pools', there's no indication of which tool is appropriate for different scenarios (e.g., DEX-specific ranking vs. token-specific pools vs. general search).
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_top_pools_by_tokenC
Get top pools for a specific token by contract address
| Name | Required | Description | Default |
|---|---|---|---|
| network | Yes | Network ID (e.g., 'eth', 'bsc', 'polygon_pos') | |
| tokenAddress | Yes | Token contract address | |
| include | No | Attributes to include: 'base_token', 'quote_token', 'dex' (comma-separated) | |
| page | No | Page number for pagination (optional, default: 1) | |
| sort | No | Sort by: 'h24_volume_usd_liquidity_desc', 'h24_tx_count_desc', 'h24_volume_usd_desc' (optional, default: 'h24_volume_usd_liquidity_desc') |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries full burden for behavioral disclosure. It states what the tool does but reveals nothing about pagination behavior (implied by 'page' parameter but not explained), rate limits, authentication requirements, error conditions, or what 'top' means quantitatively. The description doesn't explain what constitutes 'top' pools or how many are returned.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, efficient sentence that states the core functionality without unnecessary words. It's appropriately sized for a tool with good schema documentation and gets straight to the point. Every word earns its place in conveying the essential purpose.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a tool with 5 parameters, no annotations, and no output schema, the description is insufficient. It doesn't explain what 'top' means, how results are ranked, what data is returned, or any behavioral aspects. While the schema covers parameter definitions well, the description fails to provide the contextual understanding needed for effective tool selection and use.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the schema already documents all 5 parameters thoroughly. The description adds no additional parameter semantics beyond what's in the schema - it mentions 'contract address' which maps to tokenAddress parameter but provides no extra context. Baseline 3 is appropriate when schema does the heavy lifting.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the verb 'Get' and resource 'top pools for a specific token', making the purpose immediately understandable. It specifies 'by contract address' which distinguishes it from other pool-related tools like get_top_pools_by_dex or get_trending_pools. However, it doesn't explicitly differentiate from get_multiple_pools_data or search_pools which might have overlapping functionality.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides no guidance on when to use this tool versus alternatives. With multiple pool-related sibling tools (get_top_pools_by_dex, get_trending_pools, search_pools, get_multiple_pools_data), there's no indication of when this specific token-focused pool retrieval is preferred over other pool discovery methods. No prerequisites or exclusions are mentioned.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_trending_poolsC
Get trending pools across all networks on GeckoTerminal
| Name | Required | Description | Default |
|---|---|---|---|
| include | No | Attributes to include: 'base_token', 'quote_token', 'dex', 'network' (comma-separated) | |
| page | No | Page number for pagination (optional, default: 1) | |
| duration | No | Duration for trending: '5m', '1h', '6h', '24h' (optional, default: '24h') |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden of behavioral disclosure. While 'Get' implies a read operation, it doesn't specify whether this is a real-time query, cached data, rate-limited, or what the response format looks like. For a tool with no annotation coverage, this leaves critical behavioral traits undocumented.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, efficient sentence with zero waste. It's appropriately sized and front-loaded, directly stating the tool's purpose without unnecessary elaboration.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's complexity (fetching trending data across networks with parameters), no annotations, and no output schema, the description is incomplete. It lacks behavioral context, usage differentiation from siblings, and details on return values, making it inadequate for informed tool selection.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the schema already documents all three parameters thoroughly. The description adds no additional parameter semantics beyond what's in the schema. Baseline 3 is appropriate when the schema does the heavy lifting, though no extra value is added.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the verb 'Get' and resource 'trending pools across all networks on GeckoTerminal', providing a specific purpose. However, it doesn't explicitly distinguish from its sibling 'get_trending_pools_by_network', which appears to be a more specific version, leaving some ambiguity about when to use one versus the other.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides no guidance on when to use this tool versus alternatives. With a sibling tool 'get_trending_pools_by_network' that likely serves a similar purpose but with network filtering, the lack of differentiation is a significant gap. No context, exclusions, or prerequisites are mentioned.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_trending_pools_by_networkC
Get trending pools on a specific network
| Name | Required | Description | Default |
|---|---|---|---|
| network | Yes | Network ID (e.g., 'eth', 'bsc', 'polygon_pos') | |
| include | No | Attributes to include: 'base_token', 'quote_token', 'dex' (comma-separated) | |
| page | No | Page number for pagination (optional, default: 1) | |
| duration | No | Duration for trending: '5m', '1h', '6h', '24h' (optional, default: '24h') |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries full burden for behavioral disclosure but adds minimal information. It doesn't describe what 'trending' means algorithmically, whether this is a read-only operation (implied by 'Get' but not explicit), what the return format looks like, pagination behavior beyond the 'page' parameter, rate limits, or authentication requirements. For a tool with 4 parameters and no output schema, this leaves significant behavioral gaps.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, efficient sentence that states the core purpose without unnecessary words. It's appropriately sized for a straightforward data retrieval tool and front-loads the essential information. Every word earns its place in this minimal description.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's moderate complexity (4 parameters, no annotations, no output schema), the description is insufficiently complete. It doesn't explain what constitutes 'trending' pools, what data is returned, how results are ordered, or provide any context about the data source or limitations. With no output schema and behavioral gaps, the agent lacks critical information to understand what this tool actually provides.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so all parameters are documented in the schema itself. The description adds no additional parameter information beyond what's already in the schema descriptions (network ID format, include attributes, pagination, duration options). This meets the baseline expectation when schema coverage is complete, but doesn't provide extra context like examples of network IDs beyond what's in the schema or clarification on 'include' parameter usage.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the action ('Get') and resource ('trending pools on a specific network'), making the purpose immediately understandable. It distinguishes from some siblings like 'get_trending_pools' (which lacks network specificity) and 'get_top_pools_by_dex/token' (which use different ranking criteria). However, it doesn't explicitly contrast with all similar tools like 'get_new_pools' or 'search_pools'.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides no guidance on when to use this tool versus alternatives. It doesn't mention what 'trending' means compared to 'top' pools, when to prefer this over 'get_new_pools' or 'search_pools', or any prerequisites for using it. The agent must infer usage context solely from the tool name and parameter schema.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
search_poolsC
Search for pools by query (pool address, token address, or token symbol)
| Name | Required | Description | Default |
|---|---|---|---|
| query | Yes | Search query (pool address, token address, or token symbol) | |
| network | No | Network ID to search on (optional, e.g., 'eth', 'bsc', 'polygon_pos') | |
| include | No | Attributes to include: 'base_token', 'quote_token', 'dex' (comma-separated) | |
| page | No | Page number for pagination (optional, default: 1) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden of behavioral disclosure. It only states the search functionality without mentioning whether this is a read-only operation, if it requires authentication, rate limits, pagination behavior (implied by the 'page' parameter but not explained), error conditions, or what the output format looks like. For a search tool with zero annotation coverage, this is insufficient.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, efficient sentence that directly states the tool's purpose without unnecessary words. It's appropriately sized for a search tool and front-loaded with the core functionality.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the complexity (search operation with 4 parameters), no annotations, and no output schema, the description is incomplete. It doesn't explain what the tool returns (pool data structure), how results are ordered, pagination details, or error handling. For a tool that likely returns structured data, this leaves significant gaps for the agent.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the schema already fully documents all four parameters. The description mentions the 'query' parameter's semantics (search by pool address, token address, or token symbol), which adds some context beyond the schema's generic description. However, it doesn't provide additional details about parameter interactions, examples, or constraints beyond what's in the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's purpose: 'Search for pools by query (pool address, token address, or token symbol)'. It specifies the verb ('search'), resource ('pools'), and search criteria. However, it doesn't explicitly differentiate from sibling tools like 'get_top_pools_by_dex' or 'get_trending_pools', which also retrieve pool information but with different selection criteria.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides no guidance on when to use this tool versus alternatives. It doesn't mention sibling tools like 'get_multiple_pools_data' or 'get_top_pools_by_dex', nor does it specify use cases, prerequisites, or exclusions. The agent must infer usage from the name and description alone.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
submit_gasless_swapB
Submit a gasless swap by signing approval and trade messages (no gas fees required)
| Name | Required | Description | Default |
|---|---|---|---|
| quoteData | Yes | Quote data from get_gasless_quote | |
| chainId | No | Blockchain ID (optional if included in quoteData) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden. It mentions 'signing approval and trade messages' and 'no gas fees required', which hints at a mutation operation with specific authentication needs, but it lacks details on permissions, rate limits, error conditions, or what the tool returns (no output schema). This leaves significant behavioral gaps.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, efficient sentence that front-loads the core action and key benefit ('no gas fees required'). Every word earns its place with no redundancy or unnecessary details.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the complexity of a swap operation with no annotations and no output schema, the description is incomplete. It doesn't cover return values, error handling, or behavioral nuances like what 'signing' entails or potential side effects, leaving the agent with insufficient context for reliable use.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the schema already documents both parameters (quoteData and chainId). The description adds minimal value by referencing get_gasless_quote for quoteData, but doesn't explain parameter interactions or usage beyond what's in the schema. Baseline 3 is appropriate given high schema coverage.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the action ('submit a gasless swap') and mechanism ('by signing approval and trade messages'), distinguishing it from sibling tools like execute_swap. However, it doesn't specify what resource is being swapped (e.g., tokens), making it slightly less specific than ideal.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies usage when gas fees are undesirable and when quote data is available from get_gasless_quote, but it doesn't explicitly state when to use this tool versus alternatives like execute_swap or provide any exclusions or prerequisites beyond the quote data requirement.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections. Dates show when Glama detected each change.
32 tool updates
- First observed
convert_formatted_to_wei - First observed
convert_wei_to_formatted - First observed
execute_swap - First observed
get_coingecko_networks - First observed
get_gasless_approval_tokens - First observed
get_gasless_chains - First observed
get_gasless_price - First observed
get_gasless_quote - First observed
get_gasless_status - First observed
get_liquidity_sources - First observed
get_multiple_pools_data - First observed
get_multiple_tokens_data - First observed
get_new_pools - First observed
get_pool_ohlcv - First observed
get_pool_trades - First observed
get_portfolio_balances - First observed
get_portfolio_tokens - First observed
get_portfolio_transactions - First observed
get_recently_updated_tokens - First observed
get_supported_chains - First observed
get_supported_dexes - First observed
get_swap_price - First observed
get_swap_quote - First observed
get_token_data - First observed
get_token_info - First observed
get_token_price - First observed
get_top_pools_by_dex - First observed
get_top_pools_by_token - First observed
get_trending_pools - First observed
get_trending_pools_by_network - First observed
search_pools - First observed
submit_gasless_swap
TDQS
Most tools have distinct purposes, but there is some overlap in data retrieval tools like get_token_data and get_token_info, which could cause confusion about which to use for token details. The gasless swap tools (get_gasless_price, get_gasless_quote, submit_gasless_swap) are clearly scoped, but multiple 'get' tools for pools and tokens might require careful selection.
All tools follow a consistent snake_case naming pattern with clear verb_noun structures, such as 'get_token_price', 'execute_swap', and 'search_pools'. This predictability makes it easy for an agent to understand and navigate the toolset without confusion from mixed conventions.
With 32 tools, the count is borderline high for a DeFi trading server, potentially overwhelming for agents. While the domain is broad, covering swaps, portfolio management, and data retrieval, some tools might be redundant or could be consolidated, such as multiple pool and token data fetchers.
The toolset provides comprehensive coverage for DeFi trading, including swap execution (with gasless options), portfolio tracking, token and pool data retrieval, and network/DEX information. There are no obvious gaps; it supports full workflows from price checking to transaction submission and status monitoring.
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Related MCP Connectors
Non-custodial DeFi tools for AI agents on Solana: swaps, perps, lending, staking, equities.
162 AI agents for Solana crypto intelligence, wallets, and x402 micropayments.
- FensoryOAuthcom.fensory
Non-custodial trading for AI agents: 1,900+ assets ā US stocks, treasuries, gold, 250+ perps.
Live crypto prices, conversion, gas tracker, portfolio tools, and calculators for AI agents.
101
Related MCP Servers
- AlicenseCqualityDmaintenanceEnables AI agents to interact with cryptocurrency ecosystems through wallet management, trading operations (swaps, DCA, limit orders), staking, and multi-chain support starting with Solana.37GPL 3.0
- AlicenseNot gradedqualityCmaintenanceEnables AI assistants to perform cryptocurrency trading analysis and execution with 38+ tools including real-time market data, technical indicators, risk management, and support for both paper trading and live execution on Hyperliquid.7MIT
- AlicenseCqualityCmaintenanceEnables AI agents to interact with any EVM-compatible blockchain through natural language, supporting token swaps, cross-chain bridges, staking, lending, governance, gas optimization, and portfolio tracking across networks like Ethereum, BSC, Polygon, Arbitrum, and more.1003541-
- AlicenseCqualityDmaintenanceA single source for integrating AI Agents with the Crypto ecosystem, including wallet creation, swaps, transfers, and event-based trades like DCA and stop loss.37GPL 3.0
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/edkdev/defi-trading-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server