CoinStats MCP Server
OfficialThe CoinStats MCP Server provides access to cryptocurrency market data, portfolio tracking, and news. With this server, you can:
Cryptocurrency Data: Access comprehensive information about all cryptocurrencies including price, market cap, volume, and trading metrics
Charts & Historical Data: Retrieve price charts, historical averages, and exchange-specific price data
Blockchain & Exchange Integration: View supported blockchains and exchanges, check wallet balances, and track transactions
Portfolio Management: Track performance, add transactions, manage exchange connections, and share portfolios using tokens
Market Intelligence: Access global market capitalization data, cryptocurrency news from various sources, and supported fiat currencies
Wallet Management: Check wallet balances, syncing status, and transaction data across supported networks
Provides a containerized deployment option for running the CoinStats MCP server in a Docker environment, allowing for isolated and portable execution.
Enables installation and execution of the CoinStats MCP server via NPX, making it easy to run the server without manual installation steps.
Click on "Deploy 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., "@CoinStats 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.
CoinStats MCP Server
Hosted Model Context Protocol server for the CoinStats API. Lets AI agents (Claude, Cursor, Codex, ChatGPT — anything that speaks MCP) read and act on the same crypto data the CoinStats apps use, over a single OAuth-protected HTTPS URL.
There's no API key to copy and no env var to manage: each user authorises the agent against their own CoinStats account in the browser, and the agent gets a per-user token from then on.
Server URL
https://mcp.coinstats.app/mcpRelated MCP server: mcp-coincap-jj
Installation
Claude.ai / Claude Desktop
Settings → Connectors → Add custom connector. Paste the server URL and click Add:
https://mcp.coinstats.app/mcpA browser window opens at coinstats.app/openapi/consent. Sign in (or recognise your existing session), review the requested access, click Approve.
Cursor
Or add to ~/.cursor/mcp.json manually:
{
"mcpServers": {
"coinstats": {
"url": "https://mcp.coinstats.app/mcp"
}
}
}Restart Cursor; on first call it opens a browser window for the OAuth flow.
Claude Code
claude mcp add coinstats --transport http https://mcp.coinstats.app/mcpClaude Code opens a browser to authorise. Verify with:
claude mcp listCodex
codex mcp add only registers the URL; it does not open a browser. Run codex mcp login separately:
codex mcp add coinstats --url https://mcp.coinstats.app/mcp
codex mcp login coinstatsAfter the login step codex mcp list should show Auth: OAuth for coinstats.
Other MCP clients
Any client that speaks the Streamable HTTP transport with OAuth 2.1 authorization will work. Point it at https://mcp.coinstats.app/mcp — Dynamic Client Registration (RFC 7591) is supported, so no pre-shared client_id is needed.
What you can do
After authorising, your agent can:
Look up real-time prices, charts and market data for 100,000+ coins
Read your CoinStats portfolio coins, P/L and performance over time
Query wallet balances and transactions across 120+ blockchains
Retrieve cash-flow-adjusted historical P/L for wallets, exchanges, and portfolios over preset or custom calendar ranges
Compare ticker pricing across 200+ exchanges
Pull crypto news (latest, trending, filtered by source or topic)
Full tool catalog: https://coinstats.app/api-docs/mcp/tools.
Authentication
Discovery + OAuth flow follows the standard MCP / RFC pattern:
Endpoint | Spec | Purpose |
| Points at the authorization server ( | |
| AS metadata (also mirrored on the MCP host so older clients can find it without the indirection) | |
| Dynamic Client Registration | |
| OAuth 2.1 §4.1 | User approves access |
| OAuth 2.1 §4.1 | PKCE code exchange |
| Per-client disconnect |
Token transport: Authorization: Bearer <token>. Single coinstats scope today; granular scopes are on the roadmap.
Self-host / stdio fallback (developer mode)
If you want to run the MCP server yourself (no per-user OAuth, just a developer API key), the legacy stdio entry point is published on npm:
npx @coinstats/coinstats-mcpwith COINSTATS_API_KEY set in the env. Wire into a client like this:
{
"mcpServers": {
"coinstats": {
"command": "npx",
"args": ["-y", "@coinstats/coinstats-mcp"],
"env": { "COINSTATS_API_KEY": "<YOUR_API_KEY>" }
}
}
}Or via Docker:
{
"mcpServers": {
"coinstats": {
"command": "docker",
"args": ["run", "-i", "--rm", "-e", "COINSTATS_API_KEY", "coinstats/coinstats-mcp"],
"env": { "COINSTATS_API_KEY": "<YOUR_API_KEY>" }
}
}
}This path is the right choice for headless / unattended integrations where there's no human to click "Approve". Get a key from the CoinStats API Dashboard.
Architecture
The hosted server is a stateless Cloudflare Worker (~225 KiB / ~41 KiB gzipped) that:
Exposes the RFC 9728 + RFC 8414 discovery endpoints.
Gates
POST /mcpon aAuthorization: Bearer …token.Dispatches MCP JSON-RPC (
initialize/tools/list/tools/call/ping) without session state.Forwards each tool call to
https://openapiv1.coinstats.appcarrying the same bearer.
Source: src/worker.ts. Config: wrangler.jsonc.
Local development
The repo ships two entry points:
src/worker.ts— Cloudflare Worker. Run withwrangler dev(port 8787 by default).src/index.ts— stdio server. Run withnode dist/index.jsafter building, or via the published npm package.
# Build the stdio CLI
npm run build
# Run the Worker locally (requires `wrangler login` first)
npm run dev
# Deploy the Worker — needs CLOUDFLARE_ACCOUNT_ID exported in the env
# (the account ID isn't committed to wrangler.jsonc; pull it from the
# Cloudflare dashboard sidebar or the CI deploy job's secrets).
export CLOUDFLARE_ACCOUNT_ID=<your-cf-account-id>
npm run deploy
# Tail production logs
npm run tailFor local Worker development you can override env vars:
wrangler dev --var OAUTH_ISSUER:http://localhost:1337 \
--var COINSTATS_API_BASE_URL:http://localhost:9999Related
CoinStats API docs — full REST surface, MCP setup guide, tool catalog
API dashboard — for stdio-mode users to manage their developer API key
License
MIT — see LICENSE.
Available Tools
30 toolsadd-portfolio-transactionC
Add a transaction to a manual portfolio.
| Name | Required | Description | Default |
|---|---|---|---|
| shareToken | No | Portfolio share token | |
| coinId | Yes | Coin ID | |
| type | Yes | Transaction type | |
| date | Yes | Transaction date in ISO format | |
| amount | Yes | Transaction amount | |
| price | Yes | Price per coin | |
| fee | No | Transaction fee | |
| notes | No | Transaction notes |
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. 'Add a transaction' implies a write/mutation operation, but the description doesn't address critical aspects like required permissions, whether the operation is idempotent, error handling, or what happens on success/failure. For a mutation tool with zero annotation coverage, this is a significant gap.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, efficient sentence that directly states the tool's purpose without unnecessary words. It's front-loaded and wastes no space, 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 that this is a mutation tool with no annotations, no output schema, and 8 parameters (5 required), the description is incomplete. It doesn't cover behavioral aspects like side effects, error conditions, or return values, which are critical for an agent to use the tool correctly in a financial 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%, meaning all parameters are documented in the input schema. The description doesn't add any meaning beyond what the schema provides (e.g., it doesn't explain what 'manual portfolio' means or provide examples for 'type' values). With high schema coverage, the baseline score of 3 is appropriate.
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 ('Add a transaction') and the target resource ('to a manual portfolio'), providing a specific verb+resource combination. However, it doesn't differentiate this tool from sibling tools like 'get-portfolio-transactions' or 'transactions-sync', which are related but 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?
The description provides no guidance on when to use this tool versus alternatives. It doesn't mention prerequisites (e.g., needing a portfolio share token), exclusions, or how it differs from sibling tools like 'transactions-sync' or 'get-portfolio-transactions', leaving the agent without context for tool selection.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get-blockchainsB
Get a list of supported blockchains by CoinStats.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden of behavioral disclosure. It only states the action ('Get a list') without detailing traits like rate limits, authentication needs, data freshness, or response format. For a 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 a single, efficient sentence that directly states the tool's purpose without unnecessary words. It is front-loaded and wastes no space, 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 lack of annotations and output schema, the description is incomplete. It doesn't explain what the returned list contains (e.g., blockchain names, IDs, details), how it's structured, or any behavioral aspects like caching or errors. For a tool with no structured support, the description should provide more context to be fully helpful.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool has 0 parameters, and schema description coverage is 100%, so no parameter documentation is needed. The description doesn't add param info, which is appropriate, but since there are no parameters to explain, it meets the baseline of 4 for not missing anything.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the verb ('Get') and resource ('list of supported blockchains'), specifying what the tool does. It distinguishes itself from siblings by focusing on blockchain data rather than prices, portfolios, or news. However, it doesn't explicitly differentiate from all siblings (e.g., 'get-currencies' might overlap in concept), keeping it at 4 instead of 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 no guidance on when to use this tool versus alternatives. It doesn't mention prerequisites, context, or comparisons to sibling tools like 'get-coins' or 'get-currencies', leaving the agent to infer usage based on the name alone.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get-coin-avg-priceB
Get the historical average price for a specific cryptocurrency based on its unique identifier and a specific date.
| Name | Required | Description | Default |
|---|---|---|---|
| coinId | Yes | The identifier of coin | |
| timestamp | Yes | Unix timestamp |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries full burden but only states the basic operation. It doesn't disclose behavioral traits like rate limits, error handling, data freshness, or whether it's a read-only operation (implied but not explicit). For a tool with no annotations, this is a significant gap in transparency.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, efficient sentence with zero waste. It front-loads the core purpose and includes essential details without redundancy, 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 2 parameters with full schema coverage and no output schema, the description is minimally complete for a simple lookup tool. However, with no annotations and no output schema, it lacks details on return values, error cases, or operational constraints, leaving room for improvement.
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 fully. The description adds marginal value by clarifying that 'coinId' is a 'unique identifier' and 'timestamp' is for a 'specific date', but doesn't provide additional syntax or format details beyond what the schema provides.
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 'historical average price for a specific cryptocurrency', with specificity about 'unique identifier and a specific date'. It distinguishes from obvious siblings like 'get-coin-by-id' (general info) and 'get-coin-exchange-price' (current exchange price), though not explicitly named.
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 for historical price lookup by date, suggesting when to use it (for average price at a timestamp). However, it doesn't explicitly state when not to use it or name alternatives like 'get-coin-exchange-price' for current prices, leaving some ambiguity.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get-coin-by-idC
Get detailed information about a specific cryptocurrency based on its unique identifier.
| Name | Required | Description | Default |
|---|---|---|---|
| coinId | Yes | The identifier of coin, which you received from /coins call response. | |
| currency | No | Currency for price data | 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 states the tool retrieves 'detailed information' but doesn't specify what that includes (e.g., price, market cap, metadata), whether it's a read-only operation (implied by 'Get'), any rate limits, authentication needs, or error handling. This leaves significant gaps for a tool that likely interacts with external data sources.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, efficient sentence that front-loads the core action ('Get detailed information'). It avoids unnecessary words and directly states the purpose. However, it could be slightly more structured by explicitly mentioning the parameters or output, though brevity is maintained.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given no annotations, no output schema, and a tool that likely returns complex cryptocurrency data, the description is incomplete. It doesn't explain what 'detailed information' entails, potential response formats, or any behavioral traits like data freshness or source reliability. For a read operation with external dependencies, more context is needed to guide effective use.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the schema already fully documents both parameters (coinId and currency). The description adds no additional meaning beyond implying the coinId is used to fetch data, which is redundant with the schema. Baseline 3 is appropriate as the schema does the heavy lifting, but the description doesn't compensate or 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 verb ('Get detailed information') and resource ('specific cryptocurrency'), making the purpose evident. It distinguishes from siblings like 'get-coins' (list) and 'get-coin-chart-by-id' (chart data) by focusing on detailed info for a single coin. However, it doesn't explicitly contrast with 'get-coin-avg-price' or 'get-coin-exchange-price', which might also retrieve specific coin data, leaving some sibling differentiation incomplete.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides no guidance on when to use this tool versus alternatives. It doesn't mention prerequisites (e.g., needing a coinId from '/coins'), exclusions, or comparisons to siblings like 'get-coins' for lists or 'get-coin-avg-price' for aggregated data. Usage is implied only by the tool name and description, with no explicit context for selection.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get-coin-chart-by-idC
Get chart data for a specific cryptocurrency based on its unique identifier, specifying different time ranges.
| Name | Required | Description | Default |
|---|---|---|---|
| coinId | Yes | The identifier of coin, which you received from /coins call response. | |
| period | Yes | Time period for chart data |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries full burden for behavioral disclosure. It states it 'gets' data, implying a read-only operation, but doesn't clarify authentication needs, rate limits, response format, or error handling. For a tool with no annotation coverage, this leaves significant behavioral gaps.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, efficient sentence that front-loads the core purpose. It avoids unnecessary words and directly addresses what the tool does. However, it could be slightly more structured by separating the purpose from the parameter context.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given no annotations and no output schema, the description is moderately complete for a simple read operation. It covers the purpose and hints at parameters, but lacks details on authentication, response format, or error handling. For a tool with 2 parameters and 100% schema coverage, it's adequate but leaves room for improvement 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 both parameters. The description adds minimal value beyond the schema by mentioning 'time ranges' which aligns with the 'period' parameter, but doesn't provide additional context like format examples or usage tips. Baseline 3 is appropriate when schema does the heavy lifting.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the verb 'Get' and resource 'chart data for a specific cryptocurrency', making the purpose evident. It distinguishes from siblings like 'get-coin-by-id' by specifying chart data retrieval rather than general coin information. However, it doesn't explicitly differentiate from 'get-portfolio-chart' which might serve a similar charting function for portfolios.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides no guidance on when to use this tool versus alternatives like 'get-coin-by-id' for general data or 'get-portfolio-chart' for portfolio-specific charts. It mentions 'specifying different time ranges' but doesn't explain when to choose this over other charting or data retrieval tools in the sibling list.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get-coin-exchange-priceC
Get the historical price data for a specific cryptocurrency on a particular exchange.
| Name | Required | Description | Default |
|---|---|---|---|
| exchange | Yes | Exchange name | |
| from | Yes | From currency/coin symbol | |
| to | Yes | To currency/coin symbol | |
| timestamp | Yes | Unix timestamp |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries full burden for behavioral disclosure. It states this is a read operation ('Get'), but doesn't mention any behavioral traits like rate limits, authentication requirements, data freshness, error conditions, or what format the historical data returns. For a tool with 4 required parameters and no output schema, this leaves significant gaps.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, efficient sentence that gets straight to the point. It's appropriately sized for a straightforward data retrieval tool, though it could potentially benefit from slightly more detail given the lack of annotations and output schema.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a tool with 4 required parameters, no annotations, no output schema, and many similar siblings, the description is insufficient. It doesn't explain what the tool returns, how to interpret the parameters, or how this differs from other price-related tools. The agent would struggle to use this effectively without additional 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 already documents all parameters. The description adds minimal value beyond the schema - it mentions 'historical price data' which implies the timestamp parameter is for historical lookups, but doesn't provide additional context about parameter formats, valid values, or relationships between parameters.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the action ('Get historical price data') and resource ('specific cryptocurrency on a particular exchange'), making the purpose immediately understandable. However, it doesn't explicitly differentiate from siblings like 'get-coin-avg-price' or 'get-coin-chart-by-id', which might also provide price-related data.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides no guidance on when to use this tool versus alternatives like 'get-coin-avg-price' (which might provide aggregated prices) or 'get-coin-chart-by-id' (which might provide chart data). It mentions 'historical price data' but doesn't specify what makes this tool unique among the many price-related siblings.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get-coinsC
Get comprehensive data about all cryptocurrencies: Price, market cap, and volume. Price changes (1h, 24h, 7d). Supply information. Trading metrics. Social links and metadata.
| Name | Required | Description | Default |
|---|---|---|---|
| name | No | Search coins by name | |
| page | No | Page number | |
| limit | No | Number of results per page | |
| currency | No | Currency for price data | USD |
| symbol | No | Get coins by symbol | |
| blockchains | No | Blockchain filters, separated by commas (e.g., ethereum,solana) | |
| includeRiskScore | No | Include risk score: true or false. Default - false | |
| categories | No | Category filters, separated by commas (e.g., memecoins,sports) | |
| sortBy | No | Field to sort by | |
| sortDir | No | Sort direction | |
| marketCap-greaterThan | No | Marketcap Greater Than | |
| marketCap-equals | No | Marketcap Equals | |
| marketCap-lessThan | No | Marketcap Less Than | |
| fullyDilutedValuation-greaterThan | No | Fully Diluted Valuation Greater Than | |
| fullyDilutedValuation-equals | No | Fully Diluted Valuation Equals | |
| fullyDilutedValuation-lessThan | No | Fully Diluted Valuation Less Than | |
| volume-greaterThan | No | Volume Greater Than | |
| volume-equals | No | Volume Equals | |
| volume-lessThan | No | Volume Less Than | |
| priceChange1h-greaterThan | No | Price Change 1h Greater Than | |
| priceChange1h-equals | No | Price Change 1h Equals | |
| priceChange1h-lessThan | No | Price Change 1h Less Than | |
| priceChange1d-greaterThan | No | Price Change 1d Greater Than | |
| priceChange1d-equals | No | Price Change 1d Equals | |
| priceChange1d-lessThan | No | Price Change 1d Less Than | |
| priceChange7d-greaterThan | No | Price Change 7d Greater Than | |
| priceChange7d-equals | No | Price Change 7d Equals | |
| priceChange7d-lessThan | No | Price Change 7d Less Than | |
| availableSupply-greaterThan | No | Available Supply Greater Than | |
| availableSupply-equals | No | Available Supply Equals | |
| availableSupply-lessThan | No | Available Supply Less Than | |
| totalSupply-greaterThan | No | Total Supply Greater Than | |
| totalSupply-equals | No | Total Supply Equals | |
| totalSupply-lessThan | No | Total Supply Less Than | |
| rank-greaterThan | No | Rank Greater Than | |
| rank-equals | No | Rank Equals | |
| rank-lessThan | No | Rank Less Than | |
| price-greaterThan | No | Price Greater Than | |
| price-equals | No | Price Equals | |
| price-lessThan | No | Price Less Than | |
| riskScore-greaterThan | No | Risk Score Greater Than (Only if includeRiskScore=true) | |
| riskScore-equals | No | Risk Score Equals (Only if includeRiskScore=true) | |
| riskScore-lessThan | No | Risk Score Less Than (Only if includeRiskScore=true) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries full burden for behavioral disclosure. While it mentions what data is returned, it doesn't address critical behavioral aspects like pagination behavior (implied by page/limit parameters but not explained), rate limits, authentication requirements, data freshness, or error conditions. The description is purely functional without 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 in a single sentence listing data categories, though it could be slightly more front-loaded. It avoids redundancy and each clause adds value. However, it's somewhat dense with multiple data points listed without clear grouping.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a tool with 43 parameters, no annotations, and no output schema, the description is insufficient. It doesn't explain the paginated nature of results, how filtering parameters interact, what the response structure looks like, or operational constraints. The complexity of the tool demands more comprehensive guidance than provided.
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 43 parameters thoroughly. The description doesn't add any parameter-specific information beyond what's in the schema descriptions. It mentions general data categories but doesn't explain parameter relationships or usage patterns. 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: 'Get comprehensive data about all cryptocurrencies' with specific data types listed (price, market cap, volume, etc.). It uses a specific verb ('Get') and resource ('cryptocurrencies'), but doesn't explicitly differentiate from sibling tools like 'get-coin-by-id' or 'get-coin-avg-price', which would require a 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 no guidance on when to use this tool versus alternatives. With many sibling tools available (like 'get-coin-by-id' for specific coins or 'get-coin-avg-price' for price averages), there's no indication of when this comprehensive listing tool is appropriate versus more targeted options.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get-currenciesA
Get a list of fiat currencies supported by CoinStats.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden. It mentions what the tool does but does not disclose behavioral traits such as whether it requires authentication, has rate limits, returns paginated results, or includes metadata like currency codes or names. This leaves significant gaps for a tool with no structured safety hints.
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 any wasted words. It is appropriately sized for a simple tool with no parameters, 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 simplicity (0 parameters, no output schema) and lack of annotations, the description is minimally adequate but incomplete. It states the purpose but does not cover behavioral aspects like response format or operational constraints, which are needed for full contextual understanding in the absence of structured data.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool has 0 parameters, and schema description coverage is 100%, so no parameter documentation is needed. The description does not add parameter details, which is appropriate, but it could have mentioned if any implicit parameters (like filters) are absent, earning a baseline score just below perfect.
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 a list') and resource ('fiat currencies supported by CoinStats'), distinguishing it from siblings like 'get-coins' (cryptocurrencies) or 'get-exchanges' (trading platforms). It precisely defines the scope without ambiguity.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies usage when fiat currency data is needed, but it does not explicitly state when to use this tool versus alternatives like 'get-fiat-currencies' (a sibling with a similar name) or provide exclusions. The context is clear but lacks comparative guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get-exchange-balanceC
Get the balance data for a provided Exchange.
| Name | Required | Description | Default |
|---|---|---|---|
| connectionFields | Yes | The credentials given from exchange. key, secret etc. | |
| connectionId | Yes | The exchange connection id |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden of behavioral disclosure. It states what the tool does but doesn't describe how it behaves—such as whether it requires authentication (implied by connection parameters but not explicit), potential rate limits, error conditions, or what the output format looks like (no output schema).
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, efficient sentence that directly states the tool's purpose without unnecessary words. It is front-loaded and appropriately sized for a simple retrieval tool.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the complexity of financial data retrieval, lack of annotations, and no output schema, the description is insufficient. It doesn't explain what 'balance data' includes (e.g., currencies, amounts), how results are structured, or any behavioral aspects like authentication needs or error handling, leaving significant gaps for an AI agent.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the schema already documents both parameters ('connectionFields' and 'connectionId') with descriptions. The tool description adds no additional meaning about parameters beyond what's in the schema, adhering to the baseline score for high coverage.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the action ('Get') and resource ('balance data for a provided Exchange'), making the purpose understandable. However, it doesn't differentiate from sibling tools like 'get-wallet-balance' or 'get-wallet-balances' which also retrieve balance data but for different resources (wallets vs 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 no guidance on when to use this tool versus alternatives. It doesn't mention sibling tools like 'get-exchange-transactions' or 'get-exchange-sync-status' that might be related, nor does it specify prerequisites such as needing an established exchange connection.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get-exchangesB
Get a list of supported exchange portfolio connections by CoinStats.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden of behavioral disclosure. It states the action but lacks details like whether this is a read-only operation, if it requires authentication, any rate limits, or what the output format might be (e.g., a list of exchange names or detailed objects). This leaves significant gaps for a tool that likely interacts with external services.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, efficient sentence that directly states the tool's purpose without unnecessary words. It's front-loaded and wastes no space, 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 complexity of interacting with exchanges (likely involving external APIs) and the absence of annotations and output schema, the description is insufficient. It doesn't explain what 'supported exchange portfolio connections' entails, the return format, or any prerequisites like authentication. This leaves the agent with too many unknowns 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?
The input schema has 0 parameters with 100% coverage, so no parameter documentation is needed. The description doesn't add parameter details, which is appropriate here, but it also doesn't compensate for any gaps since there are none. A baseline of 4 is given as it adequately handles the lack of parameters without introducing confusion.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the verb ('Get') and resource ('list of supported exchange portfolio connections'), making the purpose understandable. However, it doesn't explicitly differentiate this tool from similar siblings like 'get-exchange-balance' or 'get-exchange-transactions', which would require mentioning what makes 'exchange portfolio connections' distinct.
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. For example, it doesn't clarify if this is for listing available exchanges before connecting one, or how it relates to tools like 'get-exchange-sync-status' or 'get-exchange-transactions'. Without such context, the agent must infer usage from the name alone.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get-exchange-sync-statusC
Get the syncing status of the exchange portfolio.
| Name | Required | Description | Default |
|---|---|---|---|
| portfolioId | Yes | The identifier of portfolio, which you received from /exchange/balance call response. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden of behavioral disclosure. It states the tool retrieves status information, implying it's a read operation, but doesn't specify what 'syncing status' entails (e.g., success/failure indicators, timestamps, error details), rate limits, authentication needs, or response format. This leaves significant gaps in understanding how the tool behaves beyond basic purpose.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, efficient sentence that directly states the tool's purpose without unnecessary words. It's front-loaded with the core action and resource, making it easy to parse quickly, which is ideal for conciseness in tool descriptions.
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 (a status check with one required parameter), lack of annotations, and no output schema, the description is incomplete. It doesn't explain what the sync status output includes, error handling, or how it relates to sibling tools, leaving the agent with insufficient context for reliable use beyond basic invocation.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema has 100% description coverage, with the portfolioId parameter clearly documented in the schema itself. The description adds no additional semantic context about the parameter beyond what's in the schema (e.g., format examples, source constraints), so it meets the baseline for adequate but not enhanced parameter documentation.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the action ('Get') and resource ('syncing status of the exchange portfolio'), making the purpose understandable. However, it doesn't explicitly differentiate from sibling tools like 'get-wallet-sync-status' or 'get-exchange-balance', which would require more specific language about what distinguishes exchange portfolio sync status from other status checks.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides no guidance on when to use this tool versus alternatives. It doesn't mention prerequisites (e.g., needing a portfolioId from another call), exclusions, or comparisons to similar tools like 'get-wallet-sync-status' or 'get-exchange-transactions', leaving the agent to infer usage context solely from the tool name and schema.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get-exchange-transactionsC
Get transaction data for a specific exchange.
| Name | Required | Description | Default |
|---|---|---|---|
| portfolioId | Yes | The identifier of portfolio, which you received from /exchange/balance response. | |
| page | No | Page number | |
| limit | No | Number of results per page | |
| from | No | Start date in ISO 8601 format | |
| to | No | End date in ISO 8601 format | |
| currency | No | Currency for price data | USD |
| types | No | Transaction types, comma separated (deposit,withdraw,approve,executed,balance,fee) |
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 'Get[s] transaction data' but doesn't describe what data is returned, pagination behavior (implied by 'page' and 'limit' parameters but not explained), error handling, or any constraints like rate limits or authentication needs. For a read operation with multiple parameters, this leaves significant gaps.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, clear sentence with no wasted words. It's front-loaded with the core purpose and appropriately sized for the tool's complexity. Every part of the description earns its place by stating the essential action and target.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's complexity (7 parameters, no annotations, no output schema), the description is incomplete. It doesn't explain what 'transaction data' includes, how results are structured, or any behavioral nuances. For a data-fetching tool with pagination and filtering parameters, more context is needed to guide effective use, especially 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?
Schema description coverage is 100%, so the schema fully documents all 7 parameters. The description adds no additional parameter semantics beyond what's in the schema (e.g., it doesn't clarify 'exchange' context or how parameters interact). With high schema coverage, the baseline score of 3 is appropriate, as the description doesn't compensate but also doesn't detract.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's purpose: 'Get transaction data for a specific exchange.' It specifies the verb ('Get') and resource ('transaction data') with context ('for a specific exchange'). However, it doesn't explicitly differentiate from sibling tools like 'get-portfolio-transactions' or 'get-wallet-transactions', which reduces clarity about its unique scope.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides no guidance on when to use this tool versus alternatives. With siblings like 'get-portfolio-transactions' and 'get-wallet-transactions' available, there's no indication of what makes this tool distinct (e.g., exchange-specific vs. portfolio-specific transactions). It lacks any 'when-to-use' or 'when-not-to-use' context.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get-fiat-currenciesA
Get a list of fiat currencies supported by CoinStats.
| 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 for behavioral disclosure. It only states what the tool does ('Get a list'), without mentioning any traits like rate limits, authentication needs, response format, or potential errors. This leaves significant gaps in understanding how the tool behaves in practice.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, efficient sentence that directly states the tool's purpose without any unnecessary words. It is appropriately sized and front-loaded, with every part earning its place by clearly conveying the essential information.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's low complexity (0 parameters, no output schema), the description is minimally complete for a simple read operation. However, without annotations or output schema, it lacks details on response format or behavioral constraints, which could be helpful for an agent. It meets basic needs but leaves room for improvement in 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 tool has 0 parameters, and schema description coverage is 100%, so no parameter information is needed. The description does not add param semantics beyond the schema, but with no parameters, this is acceptable. Baseline score for 0 params is 4, as the description need not compensate for any gaps.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the verb ('Get') and resource ('list of fiat currencies supported by CoinStats'), making the purpose specific and unambiguous. It distinguishes from siblings like 'get-currencies' by specifying 'fiat' currencies, which is a meaningful differentiation.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies usage for retrieving supported fiat currencies, but does not explicitly state when to use this tool versus alternatives like 'get-currencies' or other data-fetching tools. No exclusions or prerequisites are mentioned, leaving usage context somewhat implied rather than clearly defined.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get-market-capD
Get global market data.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden of behavioral disclosure. 'Get global market data' provides no information about what the tool actually returns (format, structure, units), whether it requires authentication, rate limits, data freshness, or any behavioral characteristics. For a tool with zero annotation coverage, this description fails to provide any meaningful behavioral context.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
While technically concise with only 4 words, this is under-specification rather than effective conciseness. The description fails to communicate essential information about what the tool does, making its brevity a liability. Every word should earn its place, but here the words don't provide enough value to justify their inclusion.
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 financial market data tools and the complete lack of annotations and output schema, the description is woefully incomplete. It doesn't explain what 'market data' means, what format it returns, whether it's real-time or historical, what scope 'global' encompasses, or how this differs from numerous sibling tools. For a tool in a crowded namespace with no structured metadata, this description provides inadequate 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 tool has 0 parameters with 100% schema description coverage (empty schema). The description doesn't need to compensate for any parameter documentation gaps. While the description doesn't mention the lack of parameters, this isn't required when the schema fully documents the empty parameter set. The baseline for 0 parameters with high schema coverage is 4.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description 'Get global market data' is vague and tautological - it essentially restates the tool name 'get-market-cap' without specifying what 'market data' means or what resource is being retrieved. It doesn't distinguish this tool from sibling tools like 'get-coins', 'get-exchanges', or 'get-currencies' which also retrieve market-related data. The purpose is unclear beyond a generic data retrieval statement.
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 absolutely no guidance on when to use this tool versus alternatives. With multiple sibling tools that retrieve market data (get-coins, get-exchanges, get-currencies, get-ticker-markets, etc.), there's no indication whether this tool provides market capitalization specifically, aggregated data, or some other subset. The agent has no way to determine when this tool is appropriate versus other market data tools.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get-newsC
Get news articles with pagination.
| Name | Required | Description | Default |
|---|---|---|---|
| page | No | Page number | |
| limit | No | Number of results per page | |
| from | No | Start date in ISO 8601 format | |
| to | No | End date in ISO 8601 format |
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 pagination but doesn't describe key behaviors like rate limits, authentication requirements, error handling, or what the output looks like (e.g., article format, total count). For a tool with no annotation coverage, this leaves significant gaps in understanding its 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 extremely concise and front-loaded with a single sentence: 'Get news articles with pagination.' It wastes no words and directly communicates the core functionality, making it efficient and easy to parse.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the complexity of a news retrieval tool with 4 parameters, no annotations, and no output schema, the description is incomplete. It lacks information on output format, error conditions, authentication needs, and how it differs from sibling tools. This makes it inadequate for an agent to fully understand how to use the 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?
The input schema has 100% description coverage, with clear documentation for all parameters (page, limit, from, to). The description adds no additional parameter semantics beyond what's in the schema, such as explaining date filtering nuances or pagination defaults. With high schema coverage, the baseline score of 3 is appropriate as the schema handles most of the parameter documentation.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's purpose: 'Get news articles with pagination.' It specifies the verb ('Get') and resource ('news articles'), and mentions pagination as a key feature. However, it doesn't distinguish this tool from its sibling 'get-news-by-id' or 'get-news-by-type', which limits differentiation.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides no guidance on when to use this tool versus alternatives like 'get-news-by-id' or 'get-news-by-type'. It mentions pagination but doesn't specify scenarios where this general news retrieval is preferred over more specific queries, leaving usage context unclear.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get-news-by-idC
Get news by id.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | News article ID |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden. It states 'Get news by id', which implies a read-only operation, but doesn't disclose behavioral traits like authentication needs, rate limits, error handling, or what 'Get' entails (e.g., returns full article content or metadata). This leaves significant gaps 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 extremely concise with 'Get news by id.', a single sentence that front-loads the purpose without any wasted words. It's appropriately sized for a simple tool, earning full marks for efficiency.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given no annotations, no output schema, and a simple input schema, the description is incomplete. It doesn't explain what 'news' includes, the return format, or any behavioral context. For a tool with minimal structured data, more descriptive content is needed to be fully helpful.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema has 100% description coverage, with the 'id' parameter documented as 'News article ID'. The description adds no additional meaning beyond this, as it only repeats 'by id'. With high schema coverage, the baseline score of 3 is appropriate, as the schema adequately handles parameter semantics.
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 'Get news by id' clearly states the verb ('Get') and resource ('news'), but it's vague about what 'news' entails (e.g., articles, headlines, details) and doesn't differentiate from siblings like 'get-news' or 'get-news-by-type'. It meets the basic requirement but lacks specificity.
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 such as 'get-news' (which likely lists news) or 'get-news-by-type'. The description implies usage for retrieving a specific news item by ID, but there's no explicit context or exclusions mentioned.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get-news-by-typeC
Get news articles based on a type.
| Name | Required | Description | Default |
|---|---|---|---|
| type | Yes | News type | |
| page | No | Page number | |
| limit | No | Number of results per page |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries full burden for behavioral disclosure. 'Get news articles' implies a read-only operation, but there's no information about authentication requirements, rate limits, pagination behavior (beyond what the schema shows), error conditions, or response format. The description adds no behavioral context 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 extremely concise at just 6 words. It's front-loaded with the core purpose and wastes no words. Every word earns its place, making it easy for an agent to quickly understand the basic 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 has 3 parameters, no annotations, and no output schema, the description is inadequate. It doesn't explain what the different news types mean (handpicked, trending, etc.), how results are returned, or any behavioral characteristics. For a filtering tool with multiple parameter options and no structured output documentation, the description should provide more context about the filtering mechanism and expected 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 fully documents all three parameters with descriptions and enum values. The description mentions 'based on a type' which aligns with the 'type' parameter but adds no additional semantic meaning beyond what the schema provides. With complete schema coverage, the baseline score of 3 is appropriate.
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 'Get news articles based on a type' clearly states the verb 'Get' and resource 'news articles', but it's vague about what 'based on a type' means. It doesn't distinguish this tool from sibling 'get-news', which appears to be a more general news retrieval tool. The purpose is understandable but lacks specificity about the filtering mechanism.
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. There's no mention of sibling tools like 'get-news' or 'get-news-by-id', nor any context about when type-based filtering is appropriate versus other filtering methods. The agent receives no usage context beyond the basic purpose statement.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get-news-sourcesC
Get news sources.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden of behavioral disclosure. It only states the action 'Get news sources' without detailing whether this is a read-only operation, if it requires authentication, what the output format might be, or any rate limits. This is insufficient 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 sentence 'Get news sources.', which is concise but under-specified. While it avoids unnecessary words, it fails to provide essential context that would help an agent, making it more of an under-description than efficient brevity.
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 news-related tools (with siblings like 'get-news' and 'get-news-by-type'), the description is incomplete. It lacks output schema, and with no annotations, it does not explain what 'news sources' means, how they are returned, or how this tool fits into the broader context, 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?
The tool has 0 parameters, and the schema description coverage is 100%, so there is no need for parameter details in the description. The baseline for this scenario is 4, as the description does not need to compensate for any parameter documentation gaps.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description 'Get news sources' restates the tool name 'get-news-sources' almost verbatim, making it tautological. It specifies the verb 'Get' and resource 'news sources' but lacks detail about what 'news sources' entails or how it differs from sibling tools like 'get-news' or 'get-news-by-type', leaving the purpose vague.
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 such as 'get-news' or 'get-news-by-type'. The description does not mention any context, prerequisites, or exclusions, leaving the agent without direction on appropriate usage scenarios.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get-portfolio-chartB
Get portfolio performance chart data.
| Name | Required | Description | Default |
|---|---|---|---|
| shareToken | No | Portfolio share token. You can get your share token from the portfolio you want to retrive data from by clicking Share button on CoinStats web app portfolio tracker section - top right. | |
| type | Yes | One of 24h, 1w, 1m, 3m, 6m, 1y, all |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries full burden for behavioral disclosure. 'Get portfolio performance chart data' implies a read-only operation, but it doesn't specify authentication requirements, rate limits, response format, or whether it returns raw data or image URLs. For a data retrieval tool with zero annotation coverage, this leaves significant behavioral questions unanswered.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, efficient sentence that states the core purpose without unnecessary words. It's appropriately sized for a simple data retrieval tool and gets straight to the point with zero wasted verbiage.
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 relatively simple 2-parameter read operation with no output schema, the description covers the basic purpose adequately. However, without annotations and with multiple sibling tools that could be confused with this one, the description should provide more contextual guidance about when this specific tool is appropriate versus alternatives.
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. The description adds no additional parameter information beyond what's in the schema. The baseline score of 3 reflects adequate coverage when the schema does the heavy lifting, though the description provides no value beyond the structured data.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the action ('Get') and resource ('portfolio performance chart data'), making the purpose immediately understandable. It distinguishes from siblings like 'get-portfolio-coins' or 'get-portfolio-transactions' by focusing specifically on chart data. However, it doesn't explicitly contrast with similar chart tools like 'get-coin-chart-by-id'.
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. There are multiple sibling tools for portfolio data (get-portfolio-coins, get-portfolio-transactions) and chart data (get-coin-chart-by-id), but the description offers no context about when this specific portfolio chart tool is appropriate versus those other options.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get-portfolio-coinsC
Get a list of portfolio coins with P/L and other data displayed on CoinStats web.
| Name | Required | Description | Default |
|---|---|---|---|
| shareToken | No | Portfolio share token. You can get your share token from the portfolio you want to retrive data from by clicking Share button on CoinStats web app portfolio tracker section - top right. | |
| page | No | Page number | |
| limit | No | Number of results per page | |
| includeRiskScore | No | Include risk score: true or false. Default - false |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden of behavioral disclosure. It implies a read-only operation ('Get') but doesn't specify authentication requirements, rate limits, pagination behavior (beyond parameters), error conditions, or what 'other data' includes. For a tool with 4 parameters and no output schema, this is insufficient behavioral context.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, efficient sentence that directly states the tool's purpose. It's appropriately sized for a read operation and front-loaded with key information. There's no unnecessary verbosity, though it could be slightly more informative without losing conciseness.
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 (4 parameters, no output schema, no annotations), the description is incomplete. It doesn't explain the return format, data structure, error handling, or how the 'shareToken' is obtained (though the schema covers this). For a tool that retrieves financial portfolio data, more context is needed for effective agent use.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The description adds no parameter-specific information beyond what's already in the input schema, which has 100% coverage. It doesn't explain relationships between parameters (e.g., how 'page' and 'limit' interact) or provide usage examples. Since the schema does the heavy lifting, the baseline score of 3 is appropriate.
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 portfolio coins with P/L and other data displayed on CoinStats web.' It specifies the verb ('Get'), resource ('portfolio coins'), and key data elements (P/L and other data). However, it doesn't explicitly differentiate from sibling tools like 'get-portfolio-transactions' or 'get-portfolio-chart,' which reduces it from a perfect score.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides no guidance on when to use this tool versus alternatives. It doesn't mention prerequisites (e.g., needing a share token), exclusions, or comparisons to sibling tools like 'get-coins' or 'get-portfolio-transactions.' This leaves the agent with minimal context for tool selection.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get-portfolio-transactionsC
Get a list of portfolio transactions.
| Name | Required | Description | Default |
|---|---|---|---|
| shareToken | No | Portfolio share token. You can get your share token from the portfolio you want to retrive data from by clicking Share button on CoinStats web app portfolio tracker section - top right. | |
| page | No | Page number | |
| limit | No | Number of results per page | |
| currency | Yes | Currency for price data | |
| coinId | No | Filter by coin ID |
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 retrieves a list, implying a read-only operation, but doesn't cover critical aspects like pagination behavior (implied by 'page' and 'limit' parameters but not explained), rate limits, authentication needs, or error handling. For a tool with 5 parameters and no annotation coverage, this is insufficient.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, efficient sentence that directly states the tool's purpose without unnecessary words. It's appropriately sized and front-loaded, 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 complexity (5 parameters, no output schema, no annotations), the description is incomplete. It lacks details on behavioral traits (e.g., pagination, errors), usage context, and output format, leaving significant gaps for the agent to infer. This is inadequate for a tool with multiple parameters and no structured output guidance.
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 fully documents all parameters (e.g., 'shareToken' for portfolio access, 'page' and 'limit' for pagination). The description adds no additional parameter semantics beyond what's in the schema, resulting in a baseline score of 3 where the schema does the heavy lifting.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the verb ('Get') and resource ('list of portfolio transactions'), making the purpose understandable. However, it doesn't differentiate this tool from similar siblings like 'get-portfolio-coins' or 'get-wallet-transactions' beyond the resource name, 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 prerequisites (e.g., needing a share token), compare to related tools like 'get-portfolio-coins' for different data, or specify contexts where it's appropriate. This leaves the agent with minimal usage direction.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get-ticker-exchangesB
Get a list of supported exchanges.
| 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 the full burden of behavioral disclosure but only states the basic action. It doesn't mention whether this is a read-only operation, if it requires authentication, rate limits, or what the return format might be (e.g., list structure, pagination). This is inadequate for a tool with zero annotation coverage.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, clear sentence with no wasted words. It's front-loaded with the core purpose, making it highly efficient and easy to parse for an AI agent.
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 insufficiently complete. It doesn't explain what 'supported exchanges' means (e.g., by region or asset type), the return format, or any behavioral traits like error handling. For a tool in a financial/data context with many siblings, more detail 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, and schema description coverage is 100%, so there's no need for parameter details in the description. The description appropriately doesn't mention parameters, earning a baseline score of 4 for not adding unnecessary information.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the verb 'Get' and the resource 'list of supported exchanges', making the purpose immediately understandable. However, it doesn't differentiate from the sibling tool 'get-exchanges', which appears to serve a similar function, preventing a perfect score.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides no guidance on when to use this tool versus alternatives like 'get-exchanges' or other data retrieval tools in the sibling list. It lacks context about prerequisites, timing, or specific use cases, leaving the agent to infer usage.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get-ticker-marketsC
Get a list of tickers for a specific cryptocurrency across different exchanges.
| Name | Required | Description | Default |
|---|---|---|---|
| page | No | Page number | |
| limit | No | Number of results per page | |
| exchange | No | Exchange name | |
| fromCoin | No | From currency/coin symbol | |
| toCoin | No | To currency/coin symbol | |
| coinId | No | Coin identifier | |
| onlyVerified | No | Filter only verified exchanges |
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 retrieving a list but doesn't cover key aspects like whether this is a read-only operation, potential rate limits, authentication needs, or what the output format looks like (e.g., pagination details beyond the schema). This is a significant gap for a tool with 7 parameters and no output schema.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, efficient sentence that front-loads the core purpose without any wasted words. It's appropriately sized for the tool's complexity, 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 complexity (7 parameters, no annotations, no output schema), the description is incomplete. It lacks behavioral context (e.g., safety, output format), usage guidance relative to siblings, and doesn't compensate for the absence of structured output information, leaving the agent under-informed.
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 7 parameters with clear descriptions. The description adds no additional meaning beyond implying filtering by cryptocurrency and exchanges, which is partially covered by parameters like 'fromCoin', 'toCoin', and 'exchange'. Baseline 3 is appropriate as the schema does the heavy lifting.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the verb ('Get') and resource ('list of tickers for a specific cryptocurrency across different exchanges'), making the purpose understandable. However, it doesn't explicitly differentiate from sibling tools like 'get-ticker-exchanges' or 'get-coin-exchange-price', which might have overlapping functionality, so it misses the highest 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. With many sibling tools in the server (e.g., 'get-ticker-exchanges', 'get-coin-exchange-price'), there's no indication of context, prerequisites, or exclusions, leaving the agent to guess based on the name alone.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get-wallet-balanceC
Get the balance data for a provided wallet address on a specific blockchain network.
| Name | Required | Description | Default |
|---|---|---|---|
| address | Yes | Wallet address | |
| connectionId | Yes | The identifier of connection, which you received from /wallet/blockchains call response. |
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 retrieves balance data but doesn't describe what the return format looks like, whether it includes token details or just totals, or any rate limits or error conditions. This leaves significant gaps in understanding how the tool behaves.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, efficient sentence that front-loads the core purpose without unnecessary words. Every part of the sentence contributes directly to understanding the tool's function, making it appropriately concise and well-structured.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given no annotations and no output schema, the description is incomplete for a tool that likely returns complex balance data. It doesn't explain what 'balance data' includes (e.g., tokens, values, timestamps) or handle potential complexities like multi-chain addresses, leaving the agent with insufficient context to use the 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 ('address' and 'connectionId') adequately. The description adds no additional meaning beyond what's in the schema, such as format examples or constraints, meeting 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 resource ('balance data for a provided wallet address on a specific blockchain network'), making the purpose understandable. However, it doesn't explicitly differentiate from sibling tools like 'get-wallet-balances' (plural) or 'get-exchange-balance', leaving some ambiguity about when to use this specific tool versus alternatives.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides no guidance on when to use this tool versus alternatives like 'get-wallet-balances' or 'get-exchange-balance'. It mentions the need for a 'connectionId' from another call, which is a prerequisite, but doesn't offer explicit usage context or exclusions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get-wallet-balancesC
Get the balance data for a provided wallet address on all CoinStats supported networks.
| Name | Required | Description | Default |
|---|---|---|---|
| address | Yes | The wallet address for which the balance is being queried | |
| networks | No | Blockchain networks to query, comma-separated (e.g., "ethereum,polygon,binance") | all |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries full burden but only states the basic operation. It doesn't disclose behavioral traits such as rate limits, authentication needs, error handling, or what 'balance data' includes (e.g., tokens, values). This leaves significant gaps for a tool with potential complexity.
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 details. Every word earns its place, making it highly concise and well-structured.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given no annotations, no output schema, and a tool that likely returns complex balance data, the description is inadequate. It doesn't explain return values, error cases, or operational constraints, leaving the agent with insufficient context for reliable use.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the schema fully documents both parameters. The description adds no additional meaning beyond implying multi-network support, which aligns with the schema's 'networks' parameter. Baseline 3 is appropriate as the schema does the heavy lifting.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the verb ('Get') and resource ('balance data for a provided wallet address'), specifying the scope ('on all CoinStats supported networks'). It distinguishes from sibling 'get-wallet-balance' by implying multi-network coverage, though not explicitly contrasting them.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance on when to use this tool versus alternatives like 'get-wallet-balance' or 'get-exchange-balance' is provided. The description implies usage for wallet balance queries but lacks explicit context or exclusions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get-wallet-sync-statusC
Get the syncing status of the wallet with the blockchain network.
| Name | Required | Description | Default |
|---|---|---|---|
| address | Yes | Wallet address | |
| connectionId | Yes | The identifier of connection, which you received from /wallet/blockchains call response. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries full burden for behavioral disclosure. While 'Get' implies a read-only operation, it doesn't specify whether this requires authentication, has rate limits, what the response format looks like, or potential error conditions. The description is minimal and doesn't provide enough behavioral context for a read operation 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 a single, efficient sentence that directly states the tool's purpose without unnecessary words. It's appropriately sized for a simple status-checking tool and front-loads the essential information.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a tool with no annotations and no output schema, the description is insufficient. It doesn't explain what 'syncing status' means in practical terms, what values might be returned, or how to interpret the results. The description should provide more context about the operation's purpose and expected outcomes.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The description adds no parameter information beyond what's already in the schema, which has 100% coverage with clear descriptions for both required parameters. The baseline score of 3 is appropriate since the schema does the heavy lifting, but the description doesn't provide additional context about parameter relationships or usage examples.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the action ('Get the syncing status') and target resource ('wallet with the blockchain network'), providing a specific verb+resource combination. However, it doesn't explicitly differentiate from sibling tools like 'get-exchange-sync-status' or 'get-wallet-balance', which would be needed for a perfect score.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides no guidance on when to use this tool versus alternatives like 'get-exchange-sync-status' for exchanges or 'get-wallet-balance' for balance information. It also doesn't mention prerequisites such as needing a connectionId from the 'get-blockchains' call, which is implied by the parameter description but not stated in the tool description itself.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get-wallet-transactionsB
Get transaction data for a specific wallet. Ensure transactions are synced by calling PATCH /transactions first.
| Name | Required | Description | Default |
|---|---|---|---|
| address | Yes | Wallet address | |
| connectionId | Yes | The identifier of connection, which you received from /wallet/blockchains call response. | |
| page | No | Page number | |
| limit | No | Number of results per page | |
| from | No | Start date in ISO 8601 format | |
| to | No | End date in ISO 8601 format | |
| currency | No | Currency for price data | USD |
| types | No | Transaction types, comma separated (deposit,withdraw,approve,executed,balance,fee) | |
| txId | No | To search with transaction hash |
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 a prerequisite sync action, which adds some context, but fails to describe other important traits such as whether this is a read-only operation, potential rate limits, error conditions, or what the output looks like (e.g., pagination details). For a tool with no annotations, 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 directly address the tool's purpose and a key usage note. There's no unnecessary verbosity, and each sentence serves a clear purpose. However, it could be slightly improved by integrating the usage note more seamlessly, but it's still efficient.
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 (9 parameters, no output schema, no annotations), the description is moderately complete. It covers the basic purpose and a prerequisite, but lacks details on behavioral aspects, output format, and differentiation from siblings. Without annotations or an output schema, more context would be helpful, but it meets a minimum viable level for a read-focused 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?
The input schema has 100% description coverage, providing clear documentation for all 9 parameters. The description doesn't add any additional meaning or clarification beyond what the schema already states about parameters like 'address' or 'connectionId.' According to the rules, when schema coverage is high (>80%), the baseline score is 3 even without param info in the description, which applies here.
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 transaction data for a specific wallet.' This specifies the verb ('Get') and resource ('transaction data for a specific wallet'), making it easy to understand what the tool does. However, it doesn't explicitly differentiate from sibling tools like 'get-exchange-transactions' or 'get-portfolio-transactions,' 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 some usage guidance by stating 'Ensure transactions are synced by calling PATCH /transactions first,' which implies a prerequisite action. However, it doesn't specify when to use this tool versus alternatives like 'get-exchange-transactions' or 'get-portfolio-transactions,' nor does it clarify exclusions or other contextual factors. This leaves the guidance incomplete but better than none.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
transactions-syncC
Initiate the syncing process to update transaction data for a specific wallet.
| Name | Required | Description | Default |
|---|---|---|---|
| address | Yes | Wallet address | |
| connectionId | Yes | The identifier of connection, which you received from /wallet/blockchains call response. |
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 initiates a syncing process, implying a write or update operation, but doesn't clarify if this is asynchronous, requires specific permissions, has side effects, or what the expected outcome is. This leaves significant gaps in understanding the tool's 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 directly states the tool's purpose without unnecessary words. It's front-loaded and appropriately sized, making it easy to parse quickly.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the complexity of initiating a sync process, lack of annotations, and no output schema, the description is incomplete. It doesn't explain what 'syncing' entails, the expected response, error conditions, or how it integrates with other tools, leaving the agent with insufficient 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?
The description doesn't add any meaning beyond the input schema, which has 100% coverage with clear descriptions for both parameters. Since the schema fully documents the parameters, the baseline score of 3 is appropriate, as the description doesn't compensate but also doesn't detract.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the action ('Initiate the syncing process') and resource ('transaction data for a specific wallet'), making the purpose understandable. However, it doesn't explicitly differentiate from sibling tools like 'get-wallet-transactions' or 'get-wallet-sync-status', which might involve similar concepts but different operations.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides no guidance on when to use this tool versus alternatives. It doesn't mention prerequisites, timing considerations, or how it relates to sibling tools such as 'get-wallet-sync-status' or 'get-wallet-transactions', leaving the agent without context for selection.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
30 tool updates
v1.0.0- Changed
add-portfolio-transaction2 fields changed- added
Input schema / $schemaAdded value: +"http://json-schema.org/draft-07/schema#" - added
Input schema / additionalPropertiesAdded value: +false
- Changed
get-blockchains2 fields changed- added
Input schema / $schemaAdded value: +"http://json-schema.org/draft-07/schema#" - added
Input schema / additionalPropertiesAdded value: +false
- Changed
get-coin-avg-price2 fields changed- added
Input schema / $schemaAdded value: +"http://json-schema.org/draft-07/schema#" - added
Input schema / additionalPropertiesAdded value: +false
- Changed
get-coin-by-id2 fields changed- added
Input schema / $schemaAdded value: +"http://json-schema.org/draft-07/schema#" - added
Input schema / additionalPropertiesAdded value: +false
- Changed
get-coin-chart-by-id2 fields changed- added
Input schema / $schemaAdded value: +"http://json-schema.org/draft-07/schema#" - added
Input schema / additionalPropertiesAdded value: +false
- Changed
get-coin-exchange-price2 fields changed- added
Input schema / $schemaAdded value: +"http://json-schema.org/draft-07/schema#" - added
Input schema / additionalPropertiesAdded value: +false
- Changed
get-coins2 fields changed- added
Input schema / $schemaAdded value: +"http://json-schema.org/draft-07/schema#" - added
Input schema / additionalPropertiesAdded value: +false
- Changed
get-currencies2 fields changed- added
Input schema / $schemaAdded value: +"http://json-schema.org/draft-07/schema#" - added
Input schema / additionalPropertiesAdded value: +false
- Changed
get-exchange-balance2 fields changed- added
Input schema / $schemaAdded value: +"http://json-schema.org/draft-07/schema#" - added
Input schema / additionalPropertiesAdded value: +false
- Changed
get-exchange-sync-status2 fields changed- added
Input schema / $schemaAdded value: +"http://json-schema.org/draft-07/schema#" - added
Input schema / additionalPropertiesAdded value: +false
- Changed
get-exchange-transactions2 fields changed- added
Input schema / $schemaAdded value: +"http://json-schema.org/draft-07/schema#" - added
Input schema / additionalPropertiesAdded value: +false
- Changed
get-exchanges2 fields changed- added
Input schema / $schemaAdded value: +"http://json-schema.org/draft-07/schema#" - added
Input schema / additionalPropertiesAdded value: +false
- Changed
get-fiat-currencies2 fields changed- added
Input schema / $schemaAdded value: +"http://json-schema.org/draft-07/schema#" - added
Input schema / additionalPropertiesAdded value: +false
- Changed
get-market-cap2 fields changed- added
Input schema / $schemaAdded value: +"http://json-schema.org/draft-07/schema#" - added
Input schema / additionalPropertiesAdded value: +false
- Changed
get-news2 fields changed- added
Input schema / $schemaAdded value: +"http://json-schema.org/draft-07/schema#" - added
Input schema / additionalPropertiesAdded value: +false
- Changed
get-news-by-id2 fields changed- added
Input schema / $schemaAdded value: +"http://json-schema.org/draft-07/schema#" - added
Input schema / additionalPropertiesAdded value: +false
- Changed
get-news-by-type2 fields changed- added
Input schema / $schemaAdded value: +"http://json-schema.org/draft-07/schema#" - added
Input schema / additionalPropertiesAdded value: +false
- Changed
get-news-sources2 fields changed- added
Input schema / $schemaAdded value: +"http://json-schema.org/draft-07/schema#" - added
Input schema / additionalPropertiesAdded value: +false
- Changed
get-portfolio-chart2 fields changed- added
Input schema / $schemaAdded value: +"http://json-schema.org/draft-07/schema#" - added
Input schema / additionalPropertiesAdded value: +false
- Changed
get-portfolio-coins2 fields changed- added
Input schema / $schemaAdded value: +"http://json-schema.org/draft-07/schema#" - added
Input schema / additionalPropertiesAdded value: +false
- Changed
get-portfolio-transactions2 fields changed- added
Input schema / $schemaAdded value: +"http://json-schema.org/draft-07/schema#" - added
Input schema / additionalPropertiesAdded value: +false
- Changed
get-share-token2 fields changed- added
Input schema / $schemaAdded value: +"http://json-schema.org/draft-07/schema#" - added
Input schema / additionalPropertiesAdded value: +false
- Changed
get-ticker-exchanges2 fields changed- added
Input schema / $schemaAdded value: +"http://json-schema.org/draft-07/schema#" - added
Input schema / additionalPropertiesAdded value: +false
- Changed
get-ticker-markets2 fields changed- added
Input schema / $schemaAdded value: +"http://json-schema.org/draft-07/schema#" - added
Input schema / additionalPropertiesAdded value: +false
- Changed
get-wallet-balance2 fields changed- added
Input schema / $schemaAdded value: +"http://json-schema.org/draft-07/schema#" - added
Input schema / additionalPropertiesAdded value: +false
- Changed
get-wallet-balances2 fields changed- added
Input schema / $schemaAdded value: +"http://json-schema.org/draft-07/schema#" - added
Input schema / additionalPropertiesAdded value: +false
- Changed
get-wallet-sync-status2 fields changed- added
Input schema / $schemaAdded value: +"http://json-schema.org/draft-07/schema#" - added
Input schema / additionalPropertiesAdded value: +false
- Changed
get-wallet-transactions2 fields changed- added
Input schema / $schemaAdded value: +"http://json-schema.org/draft-07/schema#" - added
Input schema / additionalPropertiesAdded value: +false
- Changed
save-share-token2 fields changed- added
Input schema / $schemaAdded value: +"http://json-schema.org/draft-07/schema#" - added
Input schema / additionalPropertiesAdded value: +false
- Changed
transactions-sync2 fields changed- added
Input schema / $schemaAdded value: +"http://json-schema.org/draft-07/schema#" - added
Input schema / additionalPropertiesAdded value: +false
30 tool updates
- Changed
add-portfolio-transaction2 fields changed- removed
Input schema / $schemaRemoved value: -"http://json-schema.org/draft-07/schema#" - removed
Input schema / additionalPropertiesRemoved value: -false
- Changed
get-blockchains2 fields changed- removed
Input schema / $schemaRemoved value: -"http://json-schema.org/draft-07/schema#" - removed
Input schema / additionalPropertiesRemoved value: -false
- Changed
get-coin-avg-price2 fields changed- removed
Input schema / $schemaRemoved value: -"http://json-schema.org/draft-07/schema#" - removed
Input schema / additionalPropertiesRemoved value: -false
- Changed
get-coin-by-id2 fields changed- removed
Input schema / $schemaRemoved value: -"http://json-schema.org/draft-07/schema#" - removed
Input schema / additionalPropertiesRemoved value: -false
- Changed
get-coin-chart-by-id2 fields changed- removed
Input schema / $schemaRemoved value: -"http://json-schema.org/draft-07/schema#" - removed
Input schema / additionalPropertiesRemoved value: -false
- Changed
get-coin-exchange-price2 fields changed- removed
Input schema / $schemaRemoved value: -"http://json-schema.org/draft-07/schema#" - removed
Input schema / additionalPropertiesRemoved value: -false
- Changed
get-coins2 fields changed- removed
Input schema / $schemaRemoved value: -"http://json-schema.org/draft-07/schema#" - removed
Input schema / additionalPropertiesRemoved value: -false
- Changed
get-currencies2 fields changed- removed
Input schema / $schemaRemoved value: -"http://json-schema.org/draft-07/schema#" - removed
Input schema / additionalPropertiesRemoved value: -false
- Changed
get-exchange-balance2 fields changed- removed
Input schema / $schemaRemoved value: -"http://json-schema.org/draft-07/schema#" - removed
Input schema / additionalPropertiesRemoved value: -false
- Changed
get-exchange-sync-status2 fields changed- removed
Input schema / $schemaRemoved value: -"http://json-schema.org/draft-07/schema#" - removed
Input schema / additionalPropertiesRemoved value: -false
- Changed
get-exchange-transactions2 fields changed- removed
Input schema / $schemaRemoved value: -"http://json-schema.org/draft-07/schema#" - removed
Input schema / additionalPropertiesRemoved value: -false
- Changed
get-exchanges2 fields changed- removed
Input schema / $schemaRemoved value: -"http://json-schema.org/draft-07/schema#" - removed
Input schema / additionalPropertiesRemoved value: -false
- Changed
get-fiat-currencies2 fields changed- removed
Input schema / $schemaRemoved value: -"http://json-schema.org/draft-07/schema#" - removed
Input schema / additionalPropertiesRemoved value: -false
- Changed
get-market-cap2 fields changed- removed
Input schema / $schemaRemoved value: -"http://json-schema.org/draft-07/schema#" - removed
Input schema / additionalPropertiesRemoved value: -false
- Changed
get-news2 fields changed- removed
Input schema / $schemaRemoved value: -"http://json-schema.org/draft-07/schema#" - removed
Input schema / additionalPropertiesRemoved value: -false
- Changed
get-news-by-id2 fields changed- removed
Input schema / $schemaRemoved value: -"http://json-schema.org/draft-07/schema#" - removed
Input schema / additionalPropertiesRemoved value: -false
- Changed
get-news-by-type2 fields changed- removed
Input schema / $schemaRemoved value: -"http://json-schema.org/draft-07/schema#" - removed
Input schema / additionalPropertiesRemoved value: -false
- Changed
get-news-sources2 fields changed- removed
Input schema / $schemaRemoved value: -"http://json-schema.org/draft-07/schema#" - removed
Input schema / additionalPropertiesRemoved value: -false
- Changed
get-portfolio-chart2 fields changed- removed
Input schema / $schemaRemoved value: -"http://json-schema.org/draft-07/schema#" - removed
Input schema / additionalPropertiesRemoved value: -false
- Changed
get-portfolio-coins2 fields changed- removed
Input schema / $schemaRemoved value: -"http://json-schema.org/draft-07/schema#" - removed
Input schema / additionalPropertiesRemoved value: -false
- Changed
get-portfolio-transactions2 fields changed- removed
Input schema / $schemaRemoved value: -"http://json-schema.org/draft-07/schema#" - removed
Input schema / additionalPropertiesRemoved value: -false
- Changed
get-share-token2 fields changed- removed
Input schema / $schemaRemoved value: -"http://json-schema.org/draft-07/schema#" - removed
Input schema / additionalPropertiesRemoved value: -false
- Changed
get-ticker-exchanges2 fields changed- removed
Input schema / $schemaRemoved value: -"http://json-schema.org/draft-07/schema#" - removed
Input schema / additionalPropertiesRemoved value: -false
- Changed
get-ticker-markets2 fields changed- removed
Input schema / $schemaRemoved value: -"http://json-schema.org/draft-07/schema#" - removed
Input schema / additionalPropertiesRemoved value: -false
- Changed
get-wallet-balance2 fields changed- removed
Input schema / $schemaRemoved value: -"http://json-schema.org/draft-07/schema#" - removed
Input schema / additionalPropertiesRemoved value: -false
- Changed
get-wallet-balances2 fields changed- removed
Input schema / $schemaRemoved value: -"http://json-schema.org/draft-07/schema#" - removed
Input schema / additionalPropertiesRemoved value: -false
- Changed
get-wallet-sync-status2 fields changed- removed
Input schema / $schemaRemoved value: -"http://json-schema.org/draft-07/schema#" - removed
Input schema / additionalPropertiesRemoved value: -false
- Changed
get-wallet-transactions2 fields changed- removed
Input schema / $schemaRemoved value: -"http://json-schema.org/draft-07/schema#" - removed
Input schema / additionalPropertiesRemoved value: -false
- Changed
save-share-token2 fields changed- removed
Input schema / $schemaRemoved value: -"http://json-schema.org/draft-07/schema#" - removed
Input schema / additionalPropertiesRemoved value: -false
- Changed
transactions-sync2 fields changed- removed
Input schema / $schemaRemoved value: -"http://json-schema.org/draft-07/schema#" - removed
Input schema / additionalPropertiesRemoved value: -false
30 tool updates
- First observed
add-portfolio-transaction - First observed
get-blockchains - First observed
get-coin-avg-price - First observed
get-coin-by-id - First observed
get-coin-chart-by-id - First observed
get-coin-exchange-price - First observed
get-coins - First observed
get-currencies - First observed
get-exchange-balance - First observed
get-exchange-sync-status - First observed
get-exchange-transactions - First observed
get-exchanges - First observed
get-fiat-currencies - First observed
get-market-cap - First observed
get-news - First observed
get-news-by-id - First observed
get-news-by-type - First observed
get-news-sources - First observed
get-portfolio-chart - First observed
get-portfolio-coins - First observed
get-portfolio-transactions - First observed
get-share-token - First observed
get-ticker-exchanges - First observed
get-ticker-markets - First observed
get-wallet-balance - First observed
get-wallet-balances - First observed
get-wallet-sync-status - First observed
get-wallet-transactions - First observed
save-share-token - First observed
transactions-sync
TDQS
Scored across 30 tools
Most tools have distinct purposes targeting specific resources like coins, exchanges, wallets, portfolios, or news, with clear boundaries. However, some potential confusion exists between get-currencies and get-fiat-currencies (both list fiat currencies) and get-exchange-balance versus get-wallet-balance (similar balance concepts but for different assets).
Tool names follow a highly consistent verb-noun pattern with hyphens, primarily using 'get-' for retrieval operations (e.g., get-coin-by-id, get-exchange-balance) and other verbs like 'add-', 'save-', and 'transactions-sync' for actions. This uniformity makes the set predictable and easy to navigate.
With 30 tools, the count is borderline high for a cryptocurrency portfolio and data server, potentially overwhelming for agents. While the domain is broad (covering coins, exchanges, wallets, portfolios, news), the number suggests some tools might be redundant or overly granular, such as multiple news-related tools that could be consolidated.
The tool set provides comprehensive coverage for cryptocurrency portfolio management and data analysis, including CRUD-like operations (e.g., add-portfolio-transaction, get-portfolio-transactions), data retrieval (coins, exchanges, wallets, news), and synchronization features. No obvious gaps are present; agents can perform end-to-end workflows from data fetching to portfolio updates.
Maintenance
Related MCP Connectors
CoinGecko MCP — wraps CoinGecko free API (no auth required)
Official CoinMarketCap MCP server: real-time crypto prices, market cap, rankings and exchange data.
Unlock the power of real-time cryptocurrency data with our Crypto Price Insights MCP server.
MCP server for Gainium — manage trading bots, deals, and balances via AI assistants
Related MCP Servers
- AlicenseBqualityAmaintenanceA Model Context Protocol (MCP) server that provides comprehensive cryptocurrency analysis using the CoinCap API. This server offers real-time price data, market analysis, and historical trends through an easy-to-use interface.331439MIT
- AlicenseAqualityBmaintenanceA Model Context Protocol (MCP) server that provides comprehensive cryptocurrency analysis using the CoinCap API. This server offers real-time price data, market analysis, and historical trends through an easy-to-use interface. Updated to use Coin Cap API v33231MIT
- FlicenseCqualityCmaintenanceProvides access to CoinCap's cryptocurrency market data and technical analysis tools via MCP, supporting assets, exchanges, markets, and more.38407-
- AlicenseNot gradedqualityAmaintenanceMCP server providing market data for 15,000+ cryptocurrencies including prices, history, trends, and deep coin metadata via CoinGecko.451Apache 2.0