Mesh Agent MCP Server
The Mesh Agent MCP Server connects to Heurist Mesh APIs, providing access to blockchain and web3 tools for Claude and other MCP-compatible interfaces.
Blockchain & Crypto Tools: Access specialized AI agents for blockchain data analysis, smart contract security, and token metrics.
Crypto Market Data: Retrieve token information, trending coins, and asset prices via CoinGecko integration.
DEX Analytics: Analyze trading pairs and get token pair data via DexScreener.
Twitter Intelligence: Track trending tokens, search mentions, and analyze account activity for crypto insights.
Web Search: Perform searches, get direct answers, and extract structured data from web pages using Exa and Firecrawl.
Token Security: Check security details of blockchain token contracts via GoPlus.
Integration: Connect with Claude Desktop, Cursor, and other MCP-compatible applications using SSE or stdio protocols.
Unified Access: Use a single API key to access multiple underlying data services.
Supports configuration of API keys and server settings through environment variables stored in .env files.
Provides access to blockchain data and smart contract analysis, including token metrics and interactions with Ethereum-based networks.
Provides security analysis and blockchain data for tokens on the Fantom network through integrated tools.
Supports retrieving token security details and contract analysis for Optimism blockchain via the GoplusAnalysisAgent.
Offers token security analysis and blockchain data retrieval for Polygon network through the GoplusAnalysisAgent.
Enables token security analysis and blockchain data retrieval for Solana tokens through tools like the GoplusAnalysisAgent.
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., "@Mesh Agent MCP Serverwhat's the current price of Bitcoin?"
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.
Heurist Mesh MCP Server
A Model Context Protocol (MCP) server that connects to Heurist Mesh APIs - your gateway to Web3 intelligence.
Heurist Mesh is the skills marketplace for AI agents. General-purpose AI models lack specialized knowledge about Web3 and often fail to deliver accurate results. Heurist Mesh provides 30+ specialized AI agents that are experts in crypto analytics, ready to give your AI applications the Web3 expertise they need.
Features
Gateway to Web3 Intelligence: Access 30+ specialized crypto analytics agents via MCP
Optimized for AI: Input/output formats optimized for AI agents - fewer tool calls, less token usage
Supports both SSE and stdio transports
Works with Claude, Cursor, Claude Desktop, and other MCP-compatible interfaces
Use one API key to access multiple services (CoinGecko, DexScreener, Twitter analytics, and more)
Related MCP server: MCP Deep Web Research Server
🔥 Just In: Customize Your Agents and Create Managed MCP Servers On-Demand
You can use Heurist Mesh Console to create SSE MCP Servers. Select your agents and compose a personalized swarm for your tasks!
Hosted SSE Endpoint
We provide a hosted SSE endpoint at https://mesh.heurist.xyz/mcp/sse. Authentication is required - you need a Heurist API key (use invite code "claude" for free credits).
Provide your API key via:
X-HEURIST-API-KEYheader (recommended)Authorization: Bearer <your-api-key>headerapi_keyquery parameter
This endpoint includes tools from recommended agents for comprehensive Web3 intelligence:
Agent | Description |
| Find tokens by address/symbol/name, return normalized profiles and top DEX pools |
| Aggregates trending tokens from GMGN, CoinGecko, Pump.fun, Dexscreener, Zora and Twitter |
| Twitter/X timeline, tweet detail, and smart search |
| Web search with concise LLM summarization |
| Binance funding rates, open interest, and spot-futures opportunities |
| Trending project info, fundamental analysis, and market summary |
| EVM wallet token and NFT holdings analysis |
This is a shared server and the performance may be unstable. For production use, we recommend self-hosting or using Heurist Mesh Console to create dedicated servers.
Cursor can directly access SSE servers. For Claude Desktop users, we recommend installing mcp-proxy to connect to the SSE server.
Prerequisites
Python 3.10 or higher
UV package manager (recommended)
OR Docker
Get a Heurist API key or you can claim free API credits with invite code "claude"
Installation
Using UV (Recommended)
# Clone the repository
git clone https://github.com/heurist-network/heurist-mesh-mcp-server.git
cd heurist-mesh-mcp-server
# Install the package
uv pip install -e .Using Docker
# Clone the repository
git clone https://github.com/heurist-network/heurist-mesh-mcp-server.git
cd heurist-mesh-mcp-server
# Build the Docker image
docker build -t mesh-tool-server .Usage
Option 1: Run with stdio Transport (for Claude Desktop)
Using UV
To use this with Claude Desktop, add the following to your claude_desktop_config.json:
{
"mcpServers": {
"heurist-mesh-agent": {
"command": "uv",
"args": [
"--directory",
"/path/to/heurist-mesh-mcp-server/mesh_mcp_server", // Update this path
"run",
"mesh-tool-server"
],
"env": {
"HEURIST_API_KEY": "your-api-key-here" // Update this key
}
}
}
}Using Docker
Alternatively, you can use Docker with Claude Desktop by adding this to your claude_desktop_config.json:
{
"mcpServers": {
"mesh-agent": {
"command": "docker",
"args": [
"run",
"--rm",
"-i",
"-e", "TRANSPORT=stdio",
"-e", "HEURIST_API_KEY=your-api-key-here", // Update this key
"mesh-tool-server"
]
}
}
}Replace /path/to/heurist-mesh-mcp-server with the actual path to the repository and your-api-key-here with your Heurist API key.
Option 2: Run with SSE Transport (for Cursor)
Setting up Environment Variables in .env
cp .env.example .env
HEURIST_API_KEY=your-api-key-hereUsing UV:
uv run mesh-tool-server --transport sse --port 8000Using Docker:
docker run -p 8000:8000 -e PORT=8000 mesh-tool-serverThen, in Cursor, add the MCP Server URL: http://0.0.0.0:8000/sse
Available Tools
Visit https://mesh.heurist.ai/metadata.json or https://mesh.heurist.ai/console to view all 30+ available agents and their tools.
Recommended Tools
These tools from our recommended agents cover most Web3 intelligence use cases:
Tool Name | Description | Agent |
token_search | Find tokens by address, symbol, name, or CoinGecko ID | TokenResolverAgent |
token_profile | Get comprehensive token profile with market data, socials, and top pools | TokenResolverAgent |
get_trending_tokens | Aggregated trending tokens from multiple sources | TrendingTokenAgent |
get_market_summary | AI-generated market summary across all trending sources | TrendingTokenAgent |
twitter_search | Smart Twitter search for crypto topics | TwitterIntelligenceAgent |
user_timeline | Get recent tweets from a Twitter user | TwitterIntelligenceAgent |
tweet_detail | Get detailed info about a specific tweet | TwitterIntelligenceAgent |
exa_web_search | Web search with AI summarization | ExaSearchDigestAgent |
exa_scrape_url | Scrape and summarize webpage content | ExaSearchDigestAgent |
get_all_funding_rates | Get funding rates for all Binance perpetual contracts | FundingRateAgent |
get_symbol_oi_and_funding | Get open interest and funding for a specific symbol | FundingRateAgent |
find_spot_futures_opportunities | Find arbitrage opportunities between spot and futures | FundingRateAgent |
search_projects | Search trending projects with fundamental analysis | AIXBTProjectInfoAgent |
get_market_summary | Get AI market summary from AIXBT | AIXBTProjectInfoAgent |
fetch_wallet_tokens | Get EVM wallet token holdings | ZerionWalletAnalysisAgent |
fetch_wallet_nfts | Get EVM wallet NFT holdings | ZerionWalletAnalysisAgent |
Customizing Supported Agents
The server comes with a default set of recommended agents. To modify which agents are available:
Open the
server.pyfile and locate theConfigclass.Edit the
DEFAULT_AGENTSlist to add or remove agents listed at Heurist Metadata
DEFAULT_AGENTS = [
"TokenResolverAgent", # Comprehensive token lookup
"TrendingTokenAgent", # Aggregated trending tokens
"TwitterIntelligenceAgent", # Twitter/X analytics
"ExaSearchDigestAgent", # Web search with summarization
"FundingRateAgent", # Binance funding & OI data
"AIXBTProjectInfoAgent", # Project analysis
"ZerionWalletAnalysisAgent", # Wallet holdings
# Add more agents as needed
]License
This MCP server is licensed under the MIT License. This means you are free to use, modify, and distribute the software, subject to the terms and conditions of the MIT License.
Available Tools
20 toolscoingeckotokeninfoagent_get_categories_listA
Get a list of all available cryptocurrency categories from CoinGecko. This tool retrieves all the category IDs and names that can be used for further category-specific queries.
| 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 full burden. It mentions retrieval but lacks behavioral details such as rate limits, authentication needs, response format (e.g., pagination), or potential errors. For a tool with zero annotation coverage, this is a significant gap, though it minimally describes the 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 two sentences, front-loaded with the core purpose and followed by a clarifying use case. Every sentence adds value without redundancy, making it efficient 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 tool's low complexity (0 parameters, no output schema, no annotations), the description is adequate but incomplete. It explains the purpose and usage but lacks details on behavioral aspects like response format or limitations, which are needed for full contextual understanding despite the simple 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 tool has 0 parameters with 100% schema description coverage (empty schema). The description does not need to compensate for missing param info, and it appropriately states no inputs are required, aligning with the schema. Baseline is 4 for zero parameters, as it correctly reflects the lack of inputs.
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 all available cryptocurrency categories from CoinGecko', specifying it retrieves 'category IDs and names'. It distinguishes from siblings like 'get_category_data' (specific category) and 'get_tokens_by_category' (tokens within a category) by focusing on the comprehensive category 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?
The description provides clear context: 'can be used for further category-specific queries', implying this tool is for initial discovery before using sibling tools like 'get_category_data' or 'get_tokens_by_category'. However, it does not explicitly state when not to use it or name alternatives, keeping it at a 4.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
coingeckotokeninfoagent_get_category_dataC
Get market data for all cryptocurrency categories from CoinGecko. This tool retrieves comprehensive information about all categories including market cap, volume, market cap change, top coins in each category, and more.
| Name | Required | Description | Default |
|---|---|---|---|
| order | No | Sort order for categories (default: market_cap_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 retrieving 'comprehensive information' but lacks critical behavioral details: whether this is a read-only operation (implied by 'get'), rate limits, authentication needs, pagination, error handling, or data freshness. The description doesn't contradict annotations (none exist), but it's insufficient for a tool that likely involves API calls to an external service.
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 appropriately concise with two sentences that efficiently convey the core functionality. It's front-loaded with the main purpose and follows with specifics. No wasted words, though it could be slightly more structured by explicitly separating scope from data 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 fetching market data from an external API, no annotations, and no output schema, the description is incomplete. It lacks information on response format, error cases, rate limits, and how it differs from sibling tools. For a tool with potential behavioral nuances, this is inadequate despite the simple parameter 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?
Schema description coverage is 100%, with the single parameter 'order' fully documented in the schema (including enum values and default). The description adds no parameter-specific information beyond what's in the schema, so it meets the baseline of 3 for high schema coverage without adding extra 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 tool's purpose: 'Get market data for all cryptocurrency categories from CoinGecko' with specific details about what data is retrieved (market cap, volume, market cap change, top coins, etc.). It distinguishes from some siblings like 'get_token_info' or 'get_top_token_holders' by focusing on categories rather than individual tokens, though it doesn't explicitly differentiate from 'get_categories_list' which might be a simpler list operation.
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_categories_list' (which likely provides a basic list) or 'get_tokens_by_category' (which might get tokens within a specific category). No exclusions, prerequisites, or comparative context are provided.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
coingeckotokeninfoagent_get_token_infoC
Get detailed token information and market data using CoinGecko ID. This tool provides comprehensive cryptocurrency data including current price, market cap, trading volume, price changes, and more.
| Name | Required | Description | Default |
|---|---|---|---|
| coingecko_id | Yes | The CoinGecko ID of the token |
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 tool 'provides comprehensive cryptocurrency data' but lacks details on rate limits, authentication needs, error handling, or data freshness. For a data-fetching tool with zero 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 concise and front-loaded, with two sentences that efficiently convey the core functionality. The first sentence states the purpose, and the second elaborates on the data provided. There's no wasted text, though it could be slightly more structured (e.g., bullet points for data types).
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 detailed token data), lack of annotations, and no output schema, the description is moderately complete. It outlines the data scope but misses behavioral aspects like rate limits or error cases. For a tool with one parameter and high schema coverage, it's adequate but has clear gaps in usage and transparency.
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 100% description coverage, clearly documenting the 'coingecko_id' parameter. The description adds minimal value beyond the schema by mentioning 'using CoinGecko ID,' which is redundant. With high schema coverage, the baseline score of 3 is appropriate, as the description doesn't enhance parameter 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 tool's purpose: 'Get detailed token information and market data using CoinGecko ID.' It specifies the verb ('Get'), resource ('token information and market data'), and key input ('CoinGecko ID'). However, it doesn't explicitly differentiate from siblings like 'get_token_price_multi' or 'get_trending_coins,' which likely serve different purposes.
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. The description mentions 'comprehensive cryptocurrency data,' but it doesn't clarify scenarios where this tool is preferred over siblings (e.g., 'get_token_price_multi' for prices only or 'get_trending_coins' for trending tokens). Without such context, agents may struggle to select the right tool.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
coingeckotokeninfoagent_get_token_price_multiB
Fetch price data for multiple tokens at once using CoinGecko IDs. Efficiently retrieves current prices and optional market data for multiple cryptocurrencies in a single API call.
| Name | Required | Description | Default |
|---|---|---|---|
| ids | Yes | Comma-separated CoinGecko IDs of the tokens to query | |
| include_24hr_change | No | Include 24hr price change percentage | |
| include_24hr_vol | No | Include 24hr trading volume data | |
| include_last_updated_at | No | Include timestamp of when the data was last updated | |
| include_market_cap | No | Include market capitalization data | |
| precision | No | Decimal precision for currency values (e.g., 'full' for maximum precision) | |
| vs_currencies | Yes | Comma-separated target currencies (e.g., usd,eur,btc) | usd |
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 tool 'efficiently retrieves' data in a 'single API call,' which hints at performance benefits. However, it lacks details on rate limits, error handling, authentication needs, or data freshness guarantees. The description doesn't contradict annotations (none exist), but it's insufficient for a mutation-free read operation with external API dependencies.
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 concise and front-loaded, with two sentences that efficiently convey the core functionality. The first sentence states the purpose clearly, and the second adds context about efficiency. There's no wasted verbiage, though it could be slightly more structured (e.g., bullet points for key features).
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 (7 parameters, no output schema, no annotations), the description is adequate but incomplete. It covers the 'what' (fetch price data for multiple tokens) but lacks details on 'how' (e.g., response format, error cases) and 'why' (explicit comparison to siblings). For a read-only tool with full schema coverage, it meets minimum viability but leaves gaps in behavioral 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?
Schema description coverage is 100%, so the schema fully documents all 7 parameters. The description adds minimal value beyond the schema, only implying that parameters control 'optional market data' without specifying which ones. It doesn't explain parameter interactions or provide examples (e.g., format of 'ids'). Baseline 3 is appropriate since 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 tool's purpose: 'Fetch price data for multiple tokens at once using CoinGecko IDs.' It specifies the action (fetch), resource (price data), and scope (multiple tokens). However, it doesn't explicitly differentiate from sibling tools like 'coingeckotokeninfoagent_get_token_info' which might fetch single token data, leaving some ambiguity about when to choose this multi-token version.
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 by mentioning 'multiple tokens at once' and 'single API call,' suggesting efficiency for batch queries. However, it doesn't provide explicit guidance on when to use this tool versus alternatives like 'coingeckotokeninfoagent_get_token_info' (likely for single tokens) or other price-fetching tools. No 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.
coingeckotokeninfoagent_get_tokens_by_categoryC
Get a list of tokens within a specific category. This tool retrieves token data for all cryptocurrencies that belong to a particular category, including price, market cap, volume, and price changes.
| Name | Required | Description | Default |
|---|---|---|---|
| category_id | Yes | The CoinGecko category ID (e.g., 'layer-1') | |
| order | No | Sort order for tokens (default: market_cap_desc) | market_cap_desc |
| page | No | Page number (default: 1) | |
| per_page | No | Number of results per page (1-250, default: 100) | |
| vs_currency | No | The currency to show results in (default: usd) | usd |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries full burden but provides minimal behavioral context. It mentions data retrieval but doesn't disclose rate limits, authentication requirements, pagination behavior beyond what's in the schema, or potential API constraints. The description adds only basic functional context without operational details.
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?
Two clear, efficient sentences with zero waste. The first states the core function, the second elaborates on returned data. However, it could be more front-loaded by mentioning pagination upfront given the tool's list nature.
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 list-retrieval tool with 5 parameters and no output schema, the description is minimally adequate. It covers what data is returned but lacks context about response format, error conditions, or how to interpret the paginated results. With no annotations and no output schema, more behavioral context would be 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 fully documents all 5 parameters. The description adds no additional parameter semantics beyond what's in the schema - it doesn't explain category_id format examples beyond what's shown, or provide context for vs_currency choices. 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 tool's purpose: 'Get a list of tokens within a specific category' with specific data fields (price, market cap, volume, price changes). It distinguishes from siblings like 'get_token_info' (single token) and 'get_categories_list' (categories only), but doesn't explicitly contrast with 'get_category_data' which might overlap.
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 on when to use this tool versus alternatives. It doesn't mention when to choose this over 'get_token_info' (for single tokens) or 'get_category_data' (which might provide category metadata rather than token lists). The description only states what it does, not when it's appropriate.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
coingeckotokeninfoagent_get_top_token_holdersC
Get top 50 token holder addresses for a token on a specific network.
| Name | Required | Description | Default |
|---|---|---|---|
| address | Yes | Token contract address | |
| network | Yes | Network ID (e.g., base) |
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 action but omits critical details like rate limits, authentication needs, response format (e.g., list structure, pagination), or error handling. This leaves significant gaps in understanding how the tool behaves beyond the basic operation.
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 communicates what the tool does, making it easy to parse and understand quickly, with no wasted 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?
Given the complexity of fetching token holder data, no annotations, and no output schema, the description is incomplete. It lacks details on return values (e.g., format of holder addresses, any additional data like balances), error cases, or operational constraints, which are essential for effective tool use in this 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 100% description coverage, clearly documenting both parameters ('address' as token contract address and 'network' as network ID). The description does not add any semantic details beyond this, such as examples or constraints, so it meets the baseline for adequate but not enhanced parameter 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 verb ('Get') and resource ('top 50 token holder addresses for a token on a specific network'), making the purpose specific and understandable. However, it does not explicitly differentiate from sibling tools like 'coingeckotokeninfoagent_get_token_info', which might also provide token-related data, leaving room for ambiguity in distinguishing use cases.
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 other token info tools in the sibling list. It lacks context on prerequisites, exclusions, or comparisons, leaving the agent to infer usage based solely on the purpose statement without explicit direction.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
coingeckotokeninfoagent_get_trending_coinsB
Get the current top trending cryptocurrencies on CoinGecko. This tool retrieves a list of the most popular cryptocurrencies based on trading volume and social media mentions.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
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 disclosure. It mentions the data sources (trading volume and social media mentions) but doesn't cover critical aspects like rate limits, authentication needs, data update frequency, error handling, or response format. For a tool with zero annotation coverage, this leaves significant gaps in understanding its operational behavior.
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 efficiently structured in two sentences: the first states the core purpose, the second elaborates on the data sources. Every word adds value with no redundancy or fluff. It's appropriately front-loaded with the main 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?
Given the tool's complexity (trending data with multiple metrics), lack of annotations, and no output schema, the description is insufficient. It doesn't explain what the returned list contains (e.g., coin names, symbols, metrics), how many items are returned, whether it's paginated, or how 'trending' is calculated. For a data retrieval tool with no structured output documentation, 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?
The tool has 0 parameters with 100% schema description coverage (empty schema). The description appropriately doesn't discuss parameters since none exist, which is correct. No additional parameter semantics are needed, so it meets the baseline for zero-parameter tools.
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 specific verbs ('Get', 'retrieves') and resources ('top trending cryptocurrencies on CoinGecko', 'list of the most popular cryptocurrencies'). It distinguishes itself from siblings like 'get_token_info' or 'get_top_token_holders' by focusing on trending coins based on volume and social metrics. However, it doesn't explicitly differentiate from 'get_trending_pools' (which might be for DeFi pools rather than coins).
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_token_info' for specific token details, 'get_top_token_holders' for holder data, or 'get_trending_pools' for trending pools. There's also no context about prerequisites, frequency limits, or data freshness.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
coingeckotokeninfoagent_get_trending_poolsA
Get up to 10 trending on-chain pools with token data from CoinGecko. The 'include' parameter must be one of: base_token, quote_token, dex, or network.
| Name | Required | Description | Default |
|---|---|---|---|
| include | No | Single attribute to include: base_token, quote_token, dex, or network | base_token |
| pools | No | Number of pools to return (1-10) |
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 the data source (CoinGecko) and that it returns 'up to 10' pools, but lacks details on rate limits, authentication needs, error handling, or the structure of the returned data (e.g., what fields are included beyond the 'include' parameter). For a tool with no annotations, this leaves significant gaps in understanding its behavior.
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 parameter guidance. Every word serves a purpose, with no redundancy or unnecessary elaboration, 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 tool's moderate complexity (2 parameters, no annotations, no output schema), the description is adequate but incomplete. It covers the purpose and basic parameter constraints but lacks details on behavioral aspects (e.g., data freshness, error cases) and output format, which are important for an agent to use it effectively without annotations or 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 fully documents both parameters ('include' and 'pools'). The description adds minimal value by restating the 'include' parameter options and noting the range for 'pools', but does not provide additional context like why to choose specific 'include' values or how they affect the output. This meets the baseline 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 verb 'Get' and the resource 'up to 10 trending on-chain pools with token data from CoinGecko', specifying both the action and scope. It distinguishes from siblings like 'get_trending_coins' (which focuses on coins rather than pools) and 'get_token_info' (which retrieves individual token data rather than trending 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 clear context for when to use this tool: to retrieve trending pools with token data from CoinGecko. It does not explicitly state when not to use it or name specific alternatives, but the sibling tools (e.g., 'get_trending_coins' for coins, 'get_token_info' for individual tokens) imply different use cases, though this is not directly addressed in the description.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
dexscreenertokeninfoagent_get_specific_pair_infoA
Get detailed information about a specific trading pair on a decentralized exchange by chain and pair address. This tool provides comprehensive data about a DEX trading pair including current price, 24h volume, liquidity, price changes, and trading history. Data comes from DexScreener and is updated in real-time. You must specify both the blockchain and the exact pair contract address. The pair address is the LP contract address, not the quote token address.
| Name | Required | Description | Default |
|---|---|---|---|
| chain | Yes | Chain identifier (e.g., solana, bsc, ethereum, base) | |
| pair_address | Yes | The pair contract address to look up |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries full burden and does well by disclosing key behavioral traits: it specifies the data source ('DexScreener'), update frequency ('real-time'), and clarifies the exact nature of the pair address parameter. It doesn't mention rate limits, authentication needs, or error conditions, but provides substantial operational 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 efficiently structured with four sentences that each add value: purpose statement, data scope, source/timing, and critical parameter clarification. No wasted words, and the most important information (what the tool does and key requirements) comes first.
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 2-parameter tool with no annotations and no output schema, the description provides good coverage: it explains what data is returned ('comprehensive data... including current price, 24h volume, liquidity, price changes, and trading history'), source, and critical parameter details. It could mention response format or error handling, but covers the essentials well.
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 baseline is 3. The description adds meaningful context beyond the schema: it clarifies that 'pair_address' refers specifically to 'the LP contract address, not the quote token address' and provides examples of chain identifiers. This enhances understanding of parameter semantics significantly.
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 detailed information'), resource ('specific trading pair on a decentralized exchange'), and scope ('by chain and pair address'). It distinguishes from sibling tools like 'dexscreenertokeninfoagent_search_pairs' by focusing on a specific pair rather than searching or listing.
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 ('You must specify both the blockchain and the exact pair contract address') and clarifies what not to use ('The pair address is the LP contract address, not the quote token address'). However, it doesn't explicitly mention when to use alternatives like 'dexscreenertokeninfoagent_search_pairs' for broader searches.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
dexscreenertokeninfoagent_get_token_pairsA
Get all trading pairs for a specific token across decentralized exchanges by chain and token address. This tool retrieves a comprehensive list of all DEX pairs where the specified token is traded on a particular blockchain. It provides data on each pair including the paired token, exchange, price, volume, and liquidity. Data comes from DexScreener and is updated in real-time. You must specify both the blockchain and the exact token contract address.
| Name | Required | Description | Default |
|---|---|---|---|
| chain | Yes | Chain identifier (e.g., solana, bsc, ethereum, base) | |
| token_address | Yes | The token contract address to look up all pairs for |
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 key behavioral traits: the tool retrieves comprehensive, real-time data from DexScreener, and requires both chain and token address. However, it doesn't mention potential limitations like rate limits, error conditions, pagination, or authentication needs, which would be valuable for a data-fetching 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 appropriately sized (4 sentences) and front-loaded with the core purpose. Each sentence adds value: purpose, data scope, source/update frequency, and parameter requirements. It could be slightly more concise by combining some clauses, but there's minimal 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 no annotations and no output schema, the description does a decent job for a 2-parameter tool. It covers purpose, data source, and parameter requirements well. However, it lacks details on return format (what fields like 'price, volume, liquidity' actually contain), potential data freshness issues, or error handling, which would improve completeness for a data retrieval tool.
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 both parameters (chain identifier examples, token address purpose). The description adds marginal value by emphasizing that both parameters are mandatory ('You must specify both...') and that the token address must be exact, but doesn't provide additional semantic context beyond what the schema offers.
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 all trading pairs'), resource ('for a specific token across decentralized exchanges'), and scope ('by chain and token address'). It distinguishes itself from sibling tools like 'dexscreenertokeninfoagent_get_specific_pair_info' (which likely gets details for one pair) and 'dexscreenertokeninfoagent_search_pairs' (which likely searches more broadly).
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: when you need comprehensive pair data for a specific token on a specific blockchain. It implicitly contrasts with siblings by focusing on token-centric pair retrieval rather than pair-specific info or broader searches. However, it doesn't explicitly state when NOT to use it or name specific alternatives.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
dexscreenertokeninfoagent_search_pairsA
Search for trading pairs on decentralized exchanges by token name, symbol, or address. This tool helps you find specific trading pairs across multiple DEXs and blockchains. It returns information about the pairs including price, volume, liquidity, and the exchanges where they're available. Data comes from DexScreener and covers major DEXs on most blockchains. The search results may be incomplete if the token is not traded on any of the supported chains.
| Name | Required | Description | Default |
|---|---|---|---|
| search_term | Yes | Search term (token name, symbol, or 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 effectively describes key traits: the data source ('DexScreener'), coverage ('major DEXs on most blockchains'), and limitations ('search results may be incomplete if the token is not traded on any of the supported chains'). It also hints at the scope ('covers multiple DEXs and blockchains') and output content. However, it omits details like rate limits, error handling, or pagination, which would be beneficial for a search 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 appropriately sized and front-loaded, with the first sentence stating the core purpose and the following sentences adding essential context without redundancy. Each sentence earns its place by covering search functionality, returns, data source, and limitations efficiently. There is no wasted text, 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 complexity (search across DEXs/blockchains), no annotations, and no output schema, the description does a solid job by explaining the purpose, data source, coverage, and limitations. It adequately compensates for the lack of structured fields, though it could benefit from more details on output format or error cases. For a search tool with one parameter, it provides sufficient context 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%, with the parameter 'search_term' well-documented in the schema as 'Search term (token name, symbol, or address)'. The description adds minimal value beyond this, only reiterating that search is by 'token name, symbol, or address' without providing additional syntax, format examples, or constraints. Given the high schema coverage, a baseline score of 3 is appropriate as the description doesn't significantly enhance parameter 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 tool's purpose with specific verbs ('Search for trading pairs') and resources ('decentralized exchanges', 'trading pairs'), distinguishing it from siblings like 'get_specific_pair_info' or 'get_token_pairs' by emphasizing search functionality across multiple DEXs and blockchains. It explicitly identifies what it searches by ('token name, symbol, or address') and what it returns ('information about the pairs including price, volume, liquidity, and exchanges').
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: to find trading pairs by token identifiers across DEXs and blockchains. It implicitly distinguishes from siblings like 'get_specific_pair_info' (which likely retrieves details for a known pair) and 'get_token_pairs' (which might list all pairs for a token without search). However, it lacks explicit when-not-to-use guidance or named alternatives, such as when to prefer sibling tools for non-search scenarios.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
elfatwitterintelligenceagent_get_trending_tokensA
Get current trending tokens on Twitter. This tool identifies which cryptocurrencies and tokens are generating the most buzz on Twitter right now. The results include token names, their relative popularity, and sentiment indicators. Use this when you want to discover which cryptocurrencies are currently being discussed most actively on social media. Data comes from ELFA API and represents real-time trends.
| Name | Required | Description | Default |
|---|---|---|---|
| time_window | No | Time window to analyze | 24h |
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 that the tool is a read operation (implied by 'get'), uses real-time data from ELFA API, and returns popularity and sentiment indicators, but lacks details on rate limits, authentication needs, or error handling, leaving 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 appropriately sized and front-loaded, starting with the core purpose and followed by usage context and data source. Each sentence adds value without redundancy, making it efficient 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 tool's low complexity (1 parameter, no output schema, no annotations), the description is mostly complete, covering purpose, usage, and data source. However, it could improve by mentioning output structure (e.g., list format) or limitations, slightly reducing completeness.
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 the single parameter 'time_window'. The description does not add any parameter-specific details beyond what the schema provides, such as format examples or constraints, meeting the baseline 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 tool's purpose with specific verbs ('get', 'identifies') and resources ('trending tokens on Twitter', 'cryptocurrencies and tokens'), distinguishing it from siblings like search_account or search_mentions by focusing on trending analysis rather than account or mention searches.
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?
It provides clear context for when to use the tool ('when you want to discover which cryptocurrencies are currently being discussed most actively on social media'), but does not explicitly state when not to use it or name specific alternatives among siblings, such as coingeckotokeninfoagent_get_trending_coins for non-Twitter trends.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
elfatwitterintelligenceagent_search_accountB
Search for a Twitter account with both mention search and account statistics. This tool provides engagement metrics, follower growth, and mentions by smart users. It does not contain all tweets, but only those of influential users. It also identifies the topics and cryptocurrencies they frequently discuss. Data comes from ELFA API and can analyze several weeks of historical activity.
| Name | Required | Description | Default |
|---|---|---|---|
| days_ago | No | Number of days to look back for mentions | |
| limit | No | Maximum number of mention results | |
| username | Yes | Twitter username to analyze (without @) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries full burden. It discloses key behavioral traits: data comes from ELFA API, analyzes several weeks of historical activity, and limits to influential users' tweets. However, it omits critical details like rate limits, authentication needs, error handling, or whether it's read-only/destructive.
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 moderately concise but could be more front-loaded. It starts with core purpose but includes some redundancy (e.g., 'both mention search and account statistics' could be streamlined). Every sentence adds value, but structure could better highlight key constraints upfront.
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 partially compensates by detailing outputs (metrics, topics, crypto discussions) and data sources. However, it lacks information on return format, pagination, error cases, or completeness of results, leaving gaps for a tool with 3 parameters and complex functionality.
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, such as explaining how 'days_ago' interacts with 'influential users' filtering or default value implications.
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 searches for a Twitter account and provides specific outputs: engagement metrics, follower growth, mentions by smart users, topics, and cryptocurrency discussions. It distinguishes from sibling 'elfatwitterintelligenceagent_search_mentions' by focusing on account analysis rather than mentions search, though the distinction could be more explicit.
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 like 'elfatwitterintelligenceagent_search_mentions' or 'elfatwitterintelligenceagent_get_trending_tokens'. The description mentions data sources and scope (influential users, historical weeks), but lacks clear when-to-use or when-not-to-use directives.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
elfatwitterintelligenceagent_search_mentionsA
Search for mentions of specific tokens or topics on Twitter. This tool finds discussions about cryptocurrencies, blockchain projects, or other topics of interest. It provides the tweets and mentions of smart accounts (only influential ones) and does not contain all tweets. Use this when you want to understand what influential people are saying about a particular token or topic on Twitter. Each of the search keywords should be one word or phrase. A maximum of 5 keywords are allowed. One key word should be one concept. Never use long sentences or phrases as keywords.
| Name | Required | Description | Default |
|---|---|---|---|
| days_ago | No | Number of days to look back | |
| keywords | Yes | List of keywords to search for | |
| limit | No | Maximum number of results (minimum: 20, maximum: 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 usefully adds that results are limited to 'influential ones' and 'does not contain all tweets,' which are important constraints not in the schema. However, it doesn't mention rate limits, authentication needs, or what the output format looks like (no output schema exists), leaving some behavioral aspects unclear.
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 appropriately sized and front-loaded with the core purpose. The sentences about keyword formatting are necessary but could be more streamlined. Overall, it's efficient with minimal waste, though the keyword instructions are somewhat repetitive.
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 (3 parameters, no annotations, no output schema), the description provides adequate context about purpose, constraints, and usage. However, it lacks details on output format, error handling, or deeper behavioral traits that would be helpful for an agent to fully understand how to 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 the schema already documents all three parameters. The description adds some semantic context by specifying that keywords should be 'one word or phrase,' 'maximum of 5 keywords,' and 'one key word should be one concept,' which provides guidance beyond the schema's basic array description. This justifies a baseline 3 with slight enhancement.
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 searches for mentions of specific tokens or topics on Twitter, focusing on cryptocurrencies/blockchain and influential accounts. It distinguishes from sibling tools like 'search_account' or 'get_trending_tokens' by emphasizing content search rather than account lookup or trending analysis. However, it doesn't explicitly contrast with all siblings, keeping it at 4 rather than 5.
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 it: 'when you want to understand what influential people are saying about a particular token or topic on Twitter.' It doesn't explicitly state when NOT to use it or name specific alternatives among siblings, but the context is sufficiently clear for an agent to infer appropriate usage scenarios.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
exasearchagent_exa_answer_questionA
Get a direct answer to a question using Exa's answer API. This tool provides concise, factual answers to specific questions by searching and analyzing content from across the web. Use this when you need a direct answer to a specific question rather than a list of search results. It may fail to find information of niche topics such like small cap crypto projects.
| Name | Required | Description | Default |
|---|---|---|---|
| question | Yes | The question to answer |
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 effectively describes key traits: the tool performs web searches and analysis to generate answers, may fail on niche topics, and provides concise, factual responses. However, it lacks details on rate limits, authentication needs, or error handling, leaving some behavioral aspects unspecified.
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 efficiently structured in three sentences: the first states the purpose, the second provides usage guidelines, and the third adds a limitation. Each sentence adds value without redundancy, making it front-loaded and 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's moderate complexity (single parameter, no output schema, no annotations), the description is largely complete: it covers purpose, usage, and limitations. However, it lacks details on output format or error responses, which would be helpful for an agent to interpret results, slightly reducing completeness.
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 100% description coverage, clearly documenting the single 'question' parameter. The description adds minimal semantic context beyond the schema, mentioning it's for 'specific questions' but not elaborating on format or constraints. This meets the baseline score of 3 since the schema adequately covers parameter details.
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 specific verbs ('Get a direct answer') and resources ('using Exa's answer API'), distinguishing it from sibling tools like 'exasearchagent_exa_web_search' by emphasizing direct answers versus search results. It explicitly mentions the tool provides concise, factual answers by searching and analyzing web content.
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 explicitly states when to use this tool ('Use this when you need a direct answer to a specific question rather than a list of search results') and provides an alternative context ('It may fail to find information of niche topics such like small cap crypto projects'), offering clear guidance on both appropriate usage and limitations.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
exasearchagent_exa_web_searchA
Search for webpages related to a query using Exa search. This tool performs a web search and returns relevant results including titles, snippets, and URLs. It's useful for finding up-to-date information on any topic, but may fail to find information of niche topics such like small cap crypto projects. Use this when you need to gather information from across the web.
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | Maximum number of results to return (default: 10) | |
| search_term | Yes | The search term |
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 tool 'performs a web search' and may fail for niche topics, adding useful context about reliability. However, it lacks details on rate limits, authentication needs, or error handling, which are important for a search tool with potential external dependencies.
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 appropriately sized with three sentences that are front-loaded with core functionality and include useful context. While efficient, the third sentence could be slightly more concise by combining ideas, but overall it avoids redundancy and wastes no 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?
Given the tool's moderate complexity (web search with two parameters), no annotations, and no output schema, the description is partially complete. It covers purpose, usage, and limitations but lacks details on return format (beyond mentioning titles, snippets, URLs), pagination, or error responses, which would be helpful for an agent to handle results effectively.
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 100% description coverage, so the schema already documents both parameters ('search_term' and 'limit') adequately. The description does not add any parameter-specific details beyond what the schema provides, such as formatting examples or advanced usage tips, resulting in a baseline score of 3.
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 ('Search for webpages') and resource ('using Exa search'), distinguishing it from siblings like 'exasearchagent_exa_answer_question' by focusing on general web search rather than question-answering. It explicitly mentions what it returns (titles, snippets, URLs), making the function unambiguous.
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 on when to use ('when you need to gather information from across the web') and includes a limitation ('may fail to find information of niche topics such like small cap crypto projects'), which helps differentiate from more specialized tools. However, it does not explicitly name alternatives or state when not to use it, preventing a perfect score.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
firecrawlsearchagent_firecrawl_extract_web_dataA
Extract structured data from one or multiple web pages using natural language instructions. This tool can process single URLs or entire domains (using wildcards like example.com/*). Use this when you need specific information from websites rather than general search results. You must specify what data to extract from the pages using the 'extraction_prompt' parameter.
| Name | Required | Description | Default |
|---|---|---|---|
| extraction_prompt | Yes | Natural language description of what data to extract from the pages. | |
| urls | Yes | List of URLs to extract data from. Can include wildcards (e.g., 'example.com/*') to crawl entire domains. |
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 describes key behavioral traits: the tool can process single URLs or entire domains using wildcards, and requires an extraction prompt. However, it doesn't mention important aspects like rate limits, authentication needs, error handling, or what happens with invalid URLs. The description doesn't contradict any annotations since none exist.
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 efficiently structured with three sentences that each earn their place: first states the core purpose, second specifies scope and contrasts with alternatives, third provides critical parameter guidance. No wasted words, front-loaded with 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?
Given the tool's complexity (web data extraction with natural language instructions), no annotations, and no output schema, the description is moderately complete. It covers the purpose, usage context, and parameter requirements well, but lacks information about return values, error conditions, performance characteristics, and operational constraints that would be important for an agent to use this tool effectively.
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 some context about the 'extraction_prompt' parameter ('natural language instructions') and the 'urls' parameter ('can include wildcards'), but doesn't provide significant additional semantic meaning beyond what's in the schema. 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 tool's purpose with specific verbs ('extract structured data') and resources ('from one or multiple web pages'), and distinguishes it from siblings by specifying it's for data extraction rather than general search or scraping. It explicitly mentions natural language instructions as the method.
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 explicit guidance on when to use this tool ('when you need specific information from websites rather than general search results') and distinguishes it from alternatives by contrasting with 'general search results'. It also specifies usage contexts like single URLs or entire domains with wildcards.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
firecrawlsearchagent_firecrawl_scrape_urlC
Scrape full contents from a specific URL. This provides complete raw web contents from individual web pages.
| Name | Required | Description | Default |
|---|---|---|---|
| url | Yes | The URL to scrape and analyze | |
| wait_time | No | Time to wait for page to load in milliseconds (default: 5000) |
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 mentions 'complete raw web contents' but doesn't cover potential limitations (e.g., authentication needs, rate limits, error handling, or what 'raw' entails). For a web scraping tool with zero annotation coverage, 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 extremely concise with two sentences that directly address the tool's function without any fluff. It's front-loaded with the core purpose and efficiently specifies the scope.
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 web scraping (no annotations, no output schema), the description is insufficient. It lacks details on return format, error cases, performance expectations, or how it differs from sibling tools, leaving significant gaps for agent understanding.
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. The description adds no parameter-specific information beyond what's in the schema, meeting the baseline score of 3 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 action ('scrape full contents') and resource ('from a specific URL'), with 'complete raw web contents from individual web pages' providing specific scope. However, it doesn't explicitly differentiate from sibling tools like 'firecrawlsearchagent_firecrawl_extract_web_data' or 'firecrawlsearchagent_firecrawl_web_search', which prevents 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 sibling tools or contexts where other scraping/search tools might be more appropriate, leaving the agent without usage direction.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
firecrawlsearchagent_firecrawl_web_searchA
Execute a web search query with advanced filtering using Firecrawl. MANDATORY: Use time_filter parameter for ANY time-sensitive requests (recent, today, past week, etc.). Supports Google search operators in search_term. Examples: For 'recent coinbase listings' use search_term='coinbase listings' + time_filter='qdr:w'. For 'today's bitcoin news' use search_term='bitcoin news' + time_filter='qdr:d'. For site-specific searches use search_term='site:coinbase.com announcements'
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | Number of results to return. Set based on user request: '5 results'→5, '10 items'→10, etc. Default is 10. | |
| search_term | Yes | Search query WITHOUT time words. Remove 'recent', 'today', 'past week' from query - use time_filter instead. Supports operators: OR, AND, site:domain.com, quotes. Examples: 'coinbase listings' (not 'recent coinbase listings'), 'site:coinbase.com announcements', 'bitcoin OR ethereum price'. | |
| time_filter | No | REQUIRED for time-sensitive queries. Map: 'recent/past week'→'qdr:w', 'today/past day'→'qdr:d', 'past hour'→'qdr:h', 'past month'→'qdr:m', 'past year'→'qdr:y'. Always use when user mentions time periods. |
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 effectively describes key behaviors: the mandatory use of time_filter for time-sensitive queries, support for Google search operators, and provides concrete examples of how to map user requests to parameters. However, it lacks details on rate limits, authentication needs, or error handling, which would be useful for a web search 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 well-structured and concise: it starts with the core purpose, immediately states a mandatory requirement (time_filter), explains parameter usage with clear examples, and uses bullet-like examples for common scenarios. Every sentence adds practical value without redundancy, making it easy for an agent to parse and apply.
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 (3 parameters, no annotations, no output schema), the description is largely complete: it covers purpose, usage guidelines, and parameter semantics effectively. However, it lacks information on output format (e.g., what the search results look like) and any behavioral constraints like rate limits or error cases, which would be helpful for a web search tool with no 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 baseline is 3. The description adds significant value beyond the schema by explaining the rationale behind parameter usage: it clarifies why time words should be removed from search_term and moved to time_filter, provides mapping examples for time_filter values, and emphasizes the mandatory nature of time_filter for time-sensitive queries. This enhances understanding but doesn't fully detail all parameter interactions.
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: 'Execute a web search query with advanced filtering using Firecrawl.' It specifies the verb ('execute'), resource ('web search query'), and differentiator ('advanced filtering using Firecrawl'), distinguishing it from sibling tools like exasearchagent_exa_web_search or firecrawlsearchagent_firecrawl_extract_web_data by focusing on search rather than extraction or question-answering.
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 explicit usage guidelines: it mandates using time_filter for time-sensitive requests, gives examples of when to use specific time_filter values (e.g., 'today's bitcoin news' → 'qdr:d'), and implicitly distinguishes from alternatives by specifying support for Google search operators, which may not be available in other search tools. It also clarifies to remove time words from search_term, guiding proper parameter usage.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
goplusanalysisagent_fetch_security_detailsC
Fetch security details of a blockchain token contract
| Name | Required | Description | Default |
|---|---|---|---|
| chain_id | No | The blockchain chain ID or 'solana' for Solana tokens. Supported chains: Ethereum (1), Optimism (10), Cronos (25), BSC (56), Gnosis (100), HECO (128), Polygon (137), Fantom (250), KCC (321), zkSync Era (324), ETHW (10001), FON (201022), Arbitrum (42161), Avalanche (43114), Linea Mainnet (59144), Base (8453), Tron (tron), Scroll (534352), opBNB (204), Mantle (5000), ZKFair (42766), Blast (81457), Manta Pacific (169), Berachain Artio Testnet (80085), Merlin (4200), Bitlayer Mainnet (200901), zkLink Nova (810180), X Layer Mainnet (196), Solana (solana) | |
| contract_address | Yes | The token contract address |
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 the tool fetches security details but doesn't disclose behavioral traits like rate limits, authentication needs, response format, or error handling. This is a significant gap for a tool with no 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, clear sentence with zero waste. It's appropriately sized and front-loaded, making it easy to parse 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 lack of annotations and output schema, the description is incomplete. It doesn't explain what 'security details' entail, the response format, or any operational constraints, leaving gaps for the agent to infer behavior.
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 both parameters thoroughly. The description adds no additional meaning beyond what's in the schema, resulting in a baseline score of 3.
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 ('fetch') and target ('security details of a blockchain token contract'), making the purpose evident. However, it doesn't differentiate from sibling tools (which are from different services like CoinGecko, DexScreener, etc.), so it's not a perfect 5.
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. The description lacks context about use cases, prerequisites, or comparisons with sibling tools, leaving the agent without direction.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
TDQS
Most tools have distinct purposes, but there is some overlap between the three search agents (Exa, Firecrawl, and ELFA Twitter) which could cause confusion about which to use for web or social media queries. Within each agent, tools are well-differentiated, such as Exa's answer vs. search or Firecrawl's scrape vs. extract.
Naming is inconsistent across the server, with a mix of patterns: some use agent-specific prefixes like 'coingeckotokeninfoagent_', others like 'exasearchagent_exa_', and some are simpler like 'goplusanalysisagent_fetch_security_details'. There's no uniform verb_noun structure, and the prefixes vary in style and length, making the set harder to navigate.
With 20 tools, the count is borderline high for a single server, as it spans multiple domains (crypto data, DEX info, Twitter intelligence, web search, and security analysis). This could feel heavy and scattered, though each tool serves a specific function within its subdomain.
The server covers a broad range of crypto-related data needs, including market info, DEX pairs, social trends, web search, and security details. Minor gaps exist, such as no direct tool for updating or deleting data (though not needed for read-heavy domains), but overall, it provides comprehensive coverage for information retrieval across these areas.
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
MCP server giving AI agents one-connection access to crypto & DeFi data: DeFi protocol TVL, stableco
MCP server connecting AI agents to non-custodial staking data across 130+ networks.
Production-grade MCP gateway delivering 8 real-time AI tools with instant x402 micropayments settled in USDC on Base Mainnet or SPL-USDC on Solana. Features Basescan contract auditing, wallet analytics, headless browser scraping, and pre-scraped oracle data feeds.
Production-grade MCP gateway delivering 8 real-time AI tools with instant x402 micropayments settled in USDC on Base Mainnet or SPL-USDC on Solana. Features Basescan contract auditing, wallet analytics, headless browser scraping, and pre-scraped oracle data feeds.
Related MCP Servers
- AlicenseCqualityCmaintenanceA Model Context Protocol server that provides Claude with comprehensive access to Solana blockchain data via the Helius API, enabling operations like checking wallet balances, retrieving blockchain information, and interacting with tokens and NFTs.382514MIT
- AlicenseBqualityDmaintenanceA Model Context Protocol server that enables Claude to perform advanced web research with intelligent search queuing, enhanced content extraction, and deep research capabilities.3171MIT
- FlicenseNot gradedqualityFmaintenanceA Model Context Protocol server that provides onchain tools for Claude AI, allowing it to interact with the Solana blockchain through a standardized interface for operations like managing assets, executing token operations, and retrieving network information.7
- FlicenseNot gradedqualityCmaintenanceA Model Context Protocol server that enables Claude AI to interact with the Solana blockchain, allowing it to execute transactions, query accounts, manage wallets, get price predictions, trade tokens, and access various blockchain data sources.4
Appeared in Searches
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/heurist-network/heurist-mesh-mcp-server'
If you have feedback or need assistance with the MCP directory API, please join our Discord server