AIsa Crypto Market Data
Server Details
Your agent needs crypto prices it can rely on — spot, ranked market tables, history, OHLC, per-venue tickers, and what is trending right now.
What you can ask for • "What is the price of these 20 tokens in USD and EUR right now?" • "Give me the top 100 by market cap with 24h and 7d change." • "Chart this coin's price over the last year, hourly." • "Where does this token trade, and at what spread per venue?" • "What is trending on CoinGecko today?"
How to use it Point any MCP client at https://mcp.aisa.one/crypto-market-data/mcp and sign in with OAuth — there is no key to create or paste. 21 CoinGecko tools: simple price and token price by contract, supported currencies, coin list and detail, ranked markets, history, market charts and ranges, OHLC, per-coin tickers, categories, exchanges and their tickers, token data and charts, and trending.
It is also a door to the rest The same login reaches 26 sources and 580+ operations. Price the token here, then ask the same agent what X is posting about it — without adding a second server.
What it costs Finding and inspecting an operation is free. Running one is billed per call at API prices, with no seat and no monthly minimum, and every call takes max_price_usd so an agent cannot overspend by accident.
Where else it reaches https://mcp.aisa.one/finance/mcp for equities, crypto and prediction markets in one place.
- Status
- Healthy
- Uptime
- 93.9% over 42 days
- OAuth
- Works in Glama
- Last Tested
- Transport
- Streamable HTTP · MCP 2025-11-25
- URL
TDQS
Scored across 28 tools
The CoinGecko endpoint tools are mostly separable (coin-ID vs contract-address lookups, plain list vs list-with-market-data, chart vs chart-range), but several pairs like get_coingecko_coins_categories vs get_coingecko_coins_categories_list and the two token_market_chart variants are easy to confuse. The bigger problem is the layered meta-tools (search, batch_get_schema, batch_quote, batch_use) sitting alongside a deprecated `use` that duplicates batch_use, creating workflow ambiguity.
Most tools use snake_case, but conventions are mixed: a noun-only `account`, bare verbs `search`/`use`/`list_categories`, `batch_*` prefixed workflow tools, and a long `get_coingecko_<entity>_<detail>` pattern with redundant vendor prefixing. Still readable, but there is no single predictable scheme.
At 28 tools the surface is heavy, and much of the count comes from one-to-one API endpoint wrapping plus a deprecated `use` tool that ships a duplicate of batch_use. Several endpoint variants could be collapsed into parameterized tools, so not every tool clearly earns its place.
Coverage of the crypto market data domain is broad: coin lists, metadata, prices, market charts, OHLC, tickers, exchanges, categories, trending search, and contract-address token data, plus pricing/account plumbing. Gaps exist (no global market-wide stats, no NFT detail, no derivatives or exchange-rate endpoints), but core workflows have no dead ends.
Available Tools
28 toolsaccountShow account and usageARead-onlyInspect
Who am I, what can I use, how much can I spend: the key, the account balance, the Go-to-Market wallet when one is active, and usage for today, 7 days and 30 days. Free; needs the Authorization header. Call it to verify a new connection or to explain a 402. ok is true only when the balance was read; otherwise each entry of errors says what to do in next_step.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Adds substantial context beyond the readOnlyHint/openWorldHint/destructiveHint annotations: the call is free, it requires the Authorization header, and it discloses result semantics ('ok is true only when the balance was read; otherwise each entry of errors says what to do in next_step'). That tells an agent how to interpret partial failure, which annotations cannot convey.
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?
Three sentences, front-loaded with what the agent gets, followed by cost/auth, then call triggers, then result interpretation. No sentence is redundant and none could be dropped without losing 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 zero-parameter read tool with an output schema already present, the description covers the remaining gaps: cost, auth requirement, invocation triggers, and the ok/errors/next_step contract. Nothing an agent needs to call or interpret it correctly is missing.
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 takes zero parameters, so the description has nothing parameter-level to compensate for, and the schema is fully covered. A 4 rather than 5 reflects that it adds no input-syntax detail, though none is possible 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 states a concrete resource set (identity/key, account balance, Go-to-Market wallet, usage over 1/7/30 days) rather than restating the name. It is clearly distinguishable from every sibling, which are all Reddit, batch, or search tools. An agent knows exactly what it will learn by calling it.
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?
Explicit triggering conditions are given: 'Call it to verify a new connection or to explain a 402.' That is a strong when-to-use statement. It stops short of 5 because it names no alternative tool or a when-not condition, though the sibling list offers no obvious competing diagnostic.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
batch_get_schemaGet AIsa tool schemas in one batchARead-onlyIdempotentInspect
Retrieve schemas for 1 to 20 exact tool names from search. Build arguments from successful schemas, then call batch_quote. Do not call batch_use yet. Use tool names exactly as search returns them, without a client prefix such as mcp__aisa__. Reuse the session_id returned by Search in all subsequent tool calls for this task. If omitted, a new session is created.
| Name | Required | Description | Default |
|---|---|---|---|
| tools | Yes | Exact tool names returned by search whose complete contracts are needed. Never invent tool names. | |
| session_id | No | Reuse the session_id returned by Search in all subsequent tool calls for this task. If omitted, a new session is created. | |
| include_documentation | No | Return the complete immutable public OpenAPI operation, referenced declarations, provenance and scoped completeness. Documentation does not change execution support. | |
| include_response_schema | No | Return the complete response_schema. Defaults to false. | |
| include_arguments_schema | No | Return the complete arguments_schema. Defaults to true. |
Output Schema
| Name | Required | Description |
|---|---|---|
| tools | Yes | |
| session_id | Yes | Reuse the session_id returned by Search in all subsequent tool calls for this task. If omitted, a new session is created. |
| error_count | Yes | |
| total_count | Yes | |
| success_count | Yes | |
| next_steps_guidance | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already cover the safety profile (readOnly, idempotent, non-destructive, closed-world), so the description is not required to restate it. It adds genuine operational context: the batch_use prohibition, exact-name/prefix requirements, and session reuse semantics. It does not cover failure handling when names are invalid, keeping it below a 5.
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?
Front-loaded with the core action and size limit, and every sentence carries workflow value. The session_id sentence duplicates the schema's own parameter description, which is minor redundancy rather than bloat.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a read-only batch retrieval tool with an output schema, the description supplies the orchestration context an agent needs (source of names, next steps, session handling) without needing to explain return values. Nothing essential to correct invocation is missing.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the baseline is 3. The description adds real meaning beyond the schema by constraining names to those returned by search and warning against a client prefix such as mcp__aisa__, which is not encoded in the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb and resource ('Retrieve schemas for 1 to 20 exact tool names') and pins the source of those names to search. This clearly separates it from siblings like search (finds tools), batch_quote, and batch_use.
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?
Explicitly sequences the workflow: build arguments from successful schemas, then call batch_quote, and 'Do not call batch_use yet.' This is an explicit when-to-use and when-not-to-use instruction naming the alternative siblings.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
batch_quoteQuote published AIsa tools without executing themARead-onlyIdempotentInspect
Obtain AIsaServices cost quotes for 1 to 20 published tools without executing them. Same input as batch_use: exact tool names and schema-valid arguments. Never falls back to execution. The response reports auto_execute_eligible and auto_execute_threshold_micros_usd. auto_execute_eligible waives only the extra cost-confirmation step and does not override a user prohibition on execution, a narrower scope, or a tighter budget limit. Quotes are price observations, not authorization grants. Use tool names exactly as search returns them, without a client prefix such as mcp__aisa__. Reuse the session_id returned by Search in all subsequent tool calls for this task. If omitted, a new session is created.
| Name | Required | Description | Default |
|---|---|---|---|
| calls | Yes | ||
| search_id | No | Optional search correlation identifier returned by search. | |
| session_id | No | Reuse the session_id returned by Search in all subsequent tool calls for this task. If omitted, a new session is created. |
Output Schema
| Name | Required | Description |
|---|---|---|
| results | Yes | |
| batch_id | Yes | |
| session_id | Yes | Reuse the session_id returned by Search in all subsequent tool calls for this task. If omitted, a new session is created. |
| error_count | Yes | |
| total_count | Yes | |
| success_count | Yes | |
| next_steps_guidance | Yes | Deterministic next-step instructions derived from this result. Not an authorization grant. |
| auto_execute_eligible | No | True when the worst-known total of successful USD quotes is at or below auto_execute_threshold_micros_usd. A non-USD successful quote makes the batch ineligible. Present on quote responses. |
| auto_execute_threshold_micros_usd | No | Configured auto-execute threshold in micro-USD. 0 disables automatic execution. Present on quote responses. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Goes well past the readOnly/idempotent annotations by explaining that quotes are price observations rather than authorization grants, and precisely delimiting what auto_execute_eligible does and does not waive (user prohibition, narrower scope, tighter budget). It also guarantees no execution fallback, which is the key behavioral risk for this 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?
Purpose is front-loaded and most sentences carry distinct rules (no fallback, eligibility limits, naming, session reuse). It is on the long side and the argument-shape constraint is stated twice in spirit, but little is truly wasted.
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?
An output schema exists, so return-value documentation isn't required, yet the description still flags the two response fields that matter for a downstream decision. Combined with session and naming guidance, an agent has everything needed to call it correctly.
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?
At 67% schema coverage the schema already documents each parameter, so the description earns credit only for added meaning: exact-name rules for 'tool', session_id reuse semantics, and the 1-to-20 argument-shape parallel with batch_use. It doesn't clarify search_id beyond what the schema states.
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?
States a specific verb and resource ('Obtain AIsaServices cost quotes for 1 to 20 published tools') plus the crucial scope qualifier 'without executing them.' It is immediately distinguishable from the sibling batch_use, which executes rather than quotes.
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?
Explicitly names the parallel sibling ('Same input as batch_use') and draws the boundary ('Never falls back to execution'). It also gives operational conditions: use names exactly as search returns them, strip any mcp__aisa__ prefix, and reuse session_id from Search for the task.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
batch_useExecute published AIsa toolsADestructiveInspect
Billable API calls can incur substantial charges. Never call before a successful batch_quote for the same tools and arguments. Execute only when that quote response reports auto_execute_eligible=true for these calls, or when explicit user authorization covers that cost and risk. auto_execute_eligible waives only the extra cost-confirmation step; it does not override a user prohibition on execution, a narrower scope, or a tighter budget limit. Re-quote if tools, arguments, or scope change. Execute 1 to 20 independent published-tool calls; never silently retry. A missing or failed quote is not free. Use tool names exactly as search returns them, without a client prefix such as mcp__aisa__. Reuse the session_id returned by Search in all subsequent tool calls for this task. If omitted, a new session is created.
| Name | Required | Description | Default |
|---|---|---|---|
| calls | Yes | ||
| search_id | No | Optional search correlation identifier returned by search. | |
| session_id | No | Reuse the session_id returned by Search in all subsequent tool calls for this task. If omitted, a new session is created. |
Output Schema
| Name | Required | Description |
|---|---|---|
| results | Yes | |
| batch_id | Yes | |
| session_id | Yes | Reuse the session_id returned by Search in all subsequent tool calls for this task. If omitted, a new session is created. |
| error_count | Yes | |
| total_count | Yes | |
| success_count | Yes | |
| next_steps_guidance | Yes | Deterministic next-step instructions derived from this result. Not an authorization grant. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already cover mutability, destructiveness, and open-world behavior. The description adds critical business logic: billable calls, quote dependency, the meaning of auto_execute_eligible (waives only cost confirmation, not user prohibitions), and no silent retry. It doesn't detail rate limits or return format, but with an output schema present, that's acceptable.
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 dense and front-loads the cost warning, but it packs many separate instructions into one block, making it less scannable. Some sentences like 'A missing or failed quote is not free' add value, but the overall flow could be better structured.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the destructive, open-world annotations and the presence of an output schema, the description covers the essential preconditions and behavioral constraints. It could mention error handling or partial failure behavior, but the core guidance is sufficient for correct invocation.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 67%, and the description adds important semantics: tool names must be exact without client prefix, session_id reuse guidance, and 1-20 call limit. It doesn't explain search_id, but the schema description for search_id is already clear enough.
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 and resource: 'Execute 1 to 20 independent published-tool calls', and the title matches. It distinguishes itself from batch_quote by requiring a quote first, but doesn't explicitly contrast with the singular 'use' sibling, though that's implied by 'batch'.
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 gives explicit when-to-use and when-not-to-use conditions: only after a successful batch_quote with auto_execute_eligible=true or explicit user authorization. It also states re-quote conditions and prohibits silent retries, leaving little ambiguity.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_coingecko_coins_categoriesCoins Categories List with Market DataCRead-onlyIdempotentInspect
This endpoint allows you to query all the coins categories with market data (market cap, volume, ...) on CoinGecko
Published reference price: $0.008 USD per successful request. Declared unit rate: $0 USD per provider_credit. Account-specific pricing and final settlement may differ.
| Name | Required | Description | Default |
|---|---|---|---|
| order | No | Sort results by field. Default: `market_cap_desc` |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, idempotentHint=true, destructiveHint=false and openWorldHint=true, so the safety and idempotency profile is fully covered. The description adds no further behavioral context — no rate limits, no auth requirements, no pagination or result-size behavior. The pricing block is billing boilerplate, not behavioral guidance.
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 core sentence is a single front-loaded clause with no wasted words. It is undercut by the injected pricing comment block, which occupies roughly half the description text and carries no value for tool selection or invocation.
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?
An output schema exists, so return values need not be explained, and the one parameter is fully specified. The remaining gap is disambiguation: with both 'get_coingecko_coins_categories' and 'get_coingecko_coins_categories_list' in the sibling set, the description should clarify which one includes market 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?
Schema description coverage is 100% and the single 'order' parameter is fully documented in the schema with an enum and a stated default. The description adds nothing about sorting, so the baseline of 3 is appropriate when the schema does all the work.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific verb and resource: 'query all the coins categories with market data (market cap, volume, ...) on CoinGecko.' That is clear enough to know what the tool returns. However, it never differentiates itself from the near-identically named sibling 'get_coingecko_coins_categories_list', so an agent cannot tell the two apart from the description alone.
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?
There is no statement of when to use this tool versus the many sibling category/coins tools, and no prerequisites or exclusions. The only contextual cue is the parenthetical field list, which implies a richer dataset than the plain list endpoint but never says so.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_coingecko_coins_categories_listCoins Categories List (ID Map)CRead-onlyIdempotentInspect
This endpoint allows you to query all the coins categories on CoinGecko
Published reference price: $0.008 USD per successful request. Declared unit rate: $0 USD per provider_credit. Account-specific pricing and final settlement may differ.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, idempotentHint=true, openWorldHint=true and destructiveHint=false, covering the safety profile. The description adds no behavioral context beyond them — no note on rate limits, auth, or that this returns a full unpaginated category map. The pricing block discloses a per-request cost, which is marginally useful but boilerplate rather than tool-specific 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?
One sentence, front-loaded with the resource being queried, followed by a templated pricing disclosure. No wasted prose in the functional part; the pricing block is mandatory boilerplate rather than authorial bloat.
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?
With an output schema present, annotations covering the safety profile, and no parameters, the description need not explain return values. What it still lacks is the one thing structured fields cannot supply: why an agent would pick this over get_coingecko_coins_categories, making it minimally adequate rather than complete.
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 takes zero parameters and schema coverage is 100%, so there is nothing for the description to disambiguate. Baseline of 4 applies for a parameterless endpoint.
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 states a specific verb and resource ('query all the coins categories on CoinGecko'), so the basic purpose is legible. However, it does nothing to distinguish itself from the very similarly named sibling get_coingecko_coins_categories, and the title's 'ID Map' qualifier — the one detail that would differentiate it — never appears in the description text.
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?
There is no statement of when to use this tool versus get_coingecko_coins_categories, list_categories, or get_coingecko_coins_list. No prerequisites, no exclusions, no context — an agent must infer selection entirely from the name.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_coingecko_coins_idCoin Data by IDBRead-onlyIdempotentInspect
This endpoint allows you to query all the metadata (image, websites, socials, description, contract address, etc.) and market data (price, ATH, exchange tickers, etc.) of a coin from the CoinGecko coin page based on a particular coin ID
Published reference price: $0.008 USD per successful request. Declared unit rate: $0 USD per provider_credit. Account-specific pricing and final settlement may differ.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | Coin ID. *refers to [`/coins/list`](/reference/coins-list) | bitcoin |
| tickers | No | Include tickers data. Default: true | |
| sparkline | No | Include sparkline 7-day data. Default: false | |
| market_data | No | Include market data. Default: true | |
| localization | No | Include all localized languages in the response. Default: true | |
| community_data | No | Include community data. Deprecated: has no effect as of 28 August 2026; the `community_data` object is no longer returned. | |
| developer_data | No | Include developer data. Deprecated: has no effect as of 28 August 2026; the `developer_data` object is no longer returned. | |
| dex_pair_format | No | Set to `symbol` to display DEX pair base and target as symbols. Default: `contract_address` | |
| include_categories_details | No | Include categories details. Default: false |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint, and destructiveHint=false, so safety is covered. The description adds the scope of returned data and the injected pricing note ($0.008 per successful request), which is genuinely useful cost context, but it says nothing about response size, rate limits, or that booleans control payload composition.
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 core statement is one long, markdown-bolded sentence padded with 'This endpoint allows you to', and it is followed by an HTML-comment pricing block that is noise for tool selection. The purpose is front-loaded, but the prose is bloated relative to its information content.
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?
With an output schema present, the description need not explain return values, and annotations cover the safety profile; combined with a 100%-documented schema, the agent has enough to call it correctly. The remaining gap is ambiguity about when to prefer this over the narrower coin siblings.
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% (9 params, all documented, including deprecation notices for community_data/developer_data and the dex_pair_format enum), so the schema carries the burden. The description's enumeration of returned data loosely maps to the boolean toggles but adds no syntax or default information beyond the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb (query) and resource (metadata + market data for a coin by coin ID), and enumerates the concrete payload (image, websites, socials, contract address, price, ATH, tickers). An agent can tell this is the broad 'everything about one coin' endpoint, but the description never contrasts it with near-overlapping siblings like get_coingecko_coins_id_tickers, get_coingecko_simple_price, or get_coingecko_coins_id_history.
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?
There is no when-to-use / when-not-to-use guidance and no mention of alternatives, despite the sibling set containing several overlapping coin-detail endpoints (tickers, history, market_chart, ohlc). The agent must infer selection purely from the endpoint URL.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_coingecko_coins_id_historyCoin Historical Data by IDBRead-onlyIdempotentInspect
This endpoint allows you to query the historical data (price, market cap, 24hrs volume, ...) at a given date for a coin based on a particular coin ID
Published reference price: $0.008 USD per successful request. Declared unit rate: $0 USD per provider_credit. Account-specific pricing and final settlement may differ.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | Coin ID. *refers to [`/coins/list`](/reference/coins-list). | bitcoin |
| date | Yes | The date of data snapshot. Format: `YYYY-MM-DD` | 2025-12-30 |
| localization | No | Include all the localized languages in response. Default: true |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint, openWorldHint, and destructiveHint=false, so the safety profile is covered. The description adds only a cost signal (the injected pricing note of $0.008 per successful request), which is genuinely useful behavioral context, but says nothing about rate limits, auth, or response shape.
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 opening sentence is front-loaded and efficient, but roughly half the text is an injected pricing boilerplate block that is unrelated to tool selection. The core content earns its place; the wrapper does not.
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?
An output schema exists, so return values need not be spelled out, and the description still previews the returned fields. With annotations covering safety and 100% schema coverage, the only real gap is the absence of routing guidance versus sibling historical-data tools.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so all three parameters (id, date, localization) are already documented with defaults and formats in the schema. The description adds no extra syntax or constraint beyond what the schema provides, so the baseline 3 applies.
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 names a specific verb (query) and resource (historical data for a coin by coin ID) and enumerates the returned fields (price, market cap, 24hrs volume). It is clear on its own, but it does not differentiate itself from close siblings such as get_coingecko_coins_id_market_chart_range or get_coingecko_coins_id_ohlc, which also return historical 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 phrase 'at a given date' implicitly distinguishes this from the range-based siblings, so the intended usage is inferable. However, there is no explicit statement of when to prefer this over market_chart_range/ohlc, and no prerequisites or exclusions are given.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_coingecko_coins_id_market_chartCoin Historical Chart Data by IDBRead-onlyIdempotentInspect
This endpoint allows you to get the historical chart data of a coin including time in UNIX, price, market cap and 24hr volume based on particular coin ID
Published reference price: $0.008 USD per successful request. Declared unit rate: $0 USD per provider_credit. Account-specific pricing and final settlement may differ.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | Coin ID. *refers to [`/coins/list`](/reference/coins-list). | bitcoin |
| days | Yes | Data up to number of days ago. You may use any integer or `max` for number of days. | 1 |
| interval | No | Data interval, leave empty for auto granularity. | |
| precision | No | Decimal place for currency price value. | |
| vs_currency | Yes | Target currency of market data. *refers to [`/simple/supported_vs_currencies`](/reference/simple-supported-currencies). | usd |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnly, idempotent, non-destructive, openWorld, so the safety profile is covered. The description adds the returned field set and a per-request cost note ($0.008/request), which is genuine behavioral context an agent can act on. It says nothing about pagination, granularity defaults, or rate limits beyond price.
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 purpose is a single front-loaded sentence, followed by a compact pricing block. No wasted prose. Minus one point because the boilerplate pricing comment block is injected noise relative to the tool's actual semantics and the bold markdown is gratuitous.
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?
An output schema exists, so return values need not be described, and annotations cover safety. What is missing is the routing context against the many coin-chart siblings (range vs. trailing days, ohlc, history). For a 5-parameter endpoint in a dense tool family, that gap keeps it at minimum viable.
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% (id, days, interval, precision, vs_currency all documented with enums), so the schema carries parameter semantics. The description echoes only the coin-ID selector and returned fields, adding no syntax or constraint detail beyond the schema. Baseline 3 applies.
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?
Specific verb+resource: gets historical chart data (UNIX time, price, market cap, 24hr volume) for a coin identified by ID. An agent knows exactly what the call returns. However, it never distinguishes itself from the near-identical sibling get_coingecko_coins_id_market_chart_range, which an agent must infer differs only by date-range selection.
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 when-to-use guidance, no exclusions, no named alternatives. With siblings like market_chart_range (arbitrary date window vs. trailing 'days'), ohlc, and history, the description leaves the agent to guess which chart tool to pick. Only implied usage from the required 'days' parameter.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_coingecko_coins_id_market_chart_rangeCoin Historical Chart Data within Time Range by IDBRead-onlyIdempotentInspect
This endpoint allows you to get the historical chart data of a coin within certain time range in UNIX along with price, market cap and 24hr volume based on particular coin ID
Published reference price: $0.008 USD per successful request. Declared unit rate: $0 USD per provider_credit. Account-specific pricing and final settlement may differ.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | Coin ID. *refers to [`/coins/list`](/reference/coins-list). | bitcoin |
| to | Yes | Ending date in ISO date string (`YYYY-MM-DD` or `YYYY-MM-DDTHH:MM`) or UNIX timestamp. **Use ISO date string for best compatibility.** | 2025-12-31 |
| from | Yes | Starting date in ISO date string (`YYYY-MM-DD` or `YYYY-MM-DDTHH:MM`) or UNIX timestamp. **Use ISO date string for best compatibility.** | 2025-12-22 |
| interval | No | Data interval, leave empty for auto granularity. | |
| precision | No | Decimal place for currency price value. | |
| vs_currency | Yes | Target currency of market data. *refers to [`/simple/supported_vs_currencies`](/reference/simple-supported-currencies). | usd |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint, openWorldHint and destructiveHint=false, so the safety profile is fully covered. The description usefully enumerates which market series come back (price, market cap, 24h volume), which goes beyond the annotations, but it discloses nothing about granularity defaults, rate limits, or the fact that the returned timestamp unit depends on the interval chosen.
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 core capability is front-loaded in a single sentence before the mandatory pricing block, so an agent hits the substance immediately. It is slightly padded with bolding and the trailing clause that restates what is already covered, but nothing is genuinely wasted.
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?
An output schema exists, so return values need not be explained, and annotations cover the safety profile. What is missing is the one thing that matters for this tool family: how it differs from the adjacent range/days variants, plus any note on interval-driven granularity or timestamp units — a notable gap for a 6-parameter time-series endpoint.
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% and each parameter (including the two enums) is documented in the schema itself, so the description carries no burden here. It adds no format, default, or constraint detail beyond the schema, which is exactly the baseline-3 case.
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?
States a specific verb and resource: get historical chart data for a coin by ID, listing the exact returned series (price, market cap, 24hr volume). That is enough to distinguish it from most siblings, but it never differentiates itself from the near-identical `get_coingecko_coins_id_market_chart`, which differs only in taking a relative window rather than an explicit range.
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?
There is no when-to-use guidance, no prerequisites, and no pointer to alternatives. The phrase 'within certain time range' implies the range-vs-days distinction, but the agent must infer that from the tool name alone and cannot tell when `get_coingecko_coins_id_market_chart` would be preferable.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_coingecko_coins_id_ohlcCoin OHLC Chart by IDCRead-onlyIdempotentInspect
This endpoint allows you to get the OHLC chart (Open, High, Low, Close) of a coin based on particular coin ID
Published reference price: $0.008 USD per successful request. Declared unit rate: $0 USD per provider_credit. Account-specific pricing and final settlement may differ.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | Coin ID. *refers to [`/coins/list`](/reference/coins-list). | bitcoin |
| days | Yes | Data up to number of days ago. | 1 |
| interval | No | Data interval, leave empty for auto granularity. | |
| precision | No | Decimal place for currency price value. | |
| vs_currency | Yes | Target currency of price data. *refers to [`/simple/supported_vs_currencies`](/reference/simple-supported-currencies). | usd |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, idempotentHint=true, destructiveHint=false, and openWorldHint=true, so the safety profile is covered. The description adds no behavioral context of its own beyond a pricing boilerplate block: it says nothing about granularity constraints, rate limits, or result volume, which are the traits that actually matter for this endpoint.
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 core is a single front-loaded sentence that puts the resource and key first, and the pricing block is a mandated disclosure rather than filler. The 'This endpoint allows you to...' framing is mildly wasteful but costs one clause, not a paragraph.
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?
An output schema exists, so return values need not be explained, and annotations cover the safety profile. What is missing is the operational constraint tying 'days' to 'interval' granularity (e.g. that hourly data is only available over short windows), which an agent needs to avoid a failed or misleading call.
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%, and all five parameters carry either a description or an enum, so the schema does the heavy lifting. The description only restates that the call is keyed on coin ID, adding no syntax or format meaning beyond the schema. Baseline 3 applies.
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 names a specific verb (get) and a precise resource (OHLC chart: Open, High, Low, Close) keyed by coin ID, so the agent knows exactly what data comes back. It does not, however, distinguish this from close siblings such as get_coingecko_coins_id_market_chart or get_coingecko_coins_id_history, leaving the agent to infer that 'OHLC' is the differentiator.
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?
There is no when-to-use, when-not-to-use, or alternative-naming guidance. An agent choosing between this, market_chart, and history gets no routing help, and there is no mention of the interval/days interaction that governs whether the call is even valid.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_coingecko_coins_id_tickersCoin Tickers by IDBRead-onlyIdempotentInspect
This endpoint allows you to query the coin tickers on both centralized exchange (CEX) and decentralized exchange (DEX) based on a particular coin ID
Published reference price: $0.008 USD per successful request. Declared unit rate: $0 USD per provider_credit. Account-specific pricing and final settlement may differ.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | Coin ID. *refers to [`/coins/list`](/reference/coins-list) | bitcoin |
| page | No | Page through results | |
| depth | No | Include 2% orderbook depth, i.e. `cost_to_move_up_usd` and `cost_to_move_down_usd`. Default: false | |
| order | No | Sort the order of responses. Default: trust_score_desc | |
| exchange_ids | No | Exchange ID. *refers to [`/exchanges/list`](/reference/exchanges-list) | |
| dex_pair_format | No | Set to `symbol` to display DEX pair base and target as symbols. Default: `contract_address` | |
| include_exchange_logo | No | Include exchange logo. Default: false |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint, openWorldHint, and destructiveHint=false, so the safety profile is covered. The description adds the CEX/DEX scope but says nothing about pagination, result volume, or rate limits beyond the generic pricing boilerplate.
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 core sentence is a single efficient statement of purpose and is front-loaded. The appended pricing boilerplate is noise for tool selection but is not authored content that dilutes the functional description.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With an output schema present and 100% parameter coverage, the description needn't explain returns or params. Annotations carry the safety profile, leaving only the lack of sibling/alternative routing as a minor gap.
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 every parameter (id, page, depth, order, exchange_ids, dex_pair_format, include_exchange_logo) is already documented with enums and defaults in the schema. The description contributes no additional parameter meaning, so the baseline 3 applies.
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 gives a specific verb (query) and resource (coin tickers) and scopes it to both CEX and DEX for a given coin ID, which an agent can distinguish from exchange-oriented siblings. It stops short of naming the nearest alternative, get_coingecko_exchanges_id_tickers, so it does not fully self-differentiate.
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?
There is no explicit when-to-use or when-not-to-use guidance and no mention of the sibling get_coingecko_exchanges_id_tickers, which retrieves tickers from the exchange side. Usage is only implied by the resource described.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_coingecko_coins_listCoins List (ID Map)CRead-onlyIdempotentInspect
This endpoint allows you to query all the supported coins on CoinGecko with coins ID, name and symbol
Published reference price: $0.008 USD per successful request. Declared unit rate: $0 USD per provider_credit. Account-specific pricing and final settlement may differ.
| Name | Required | Description | Default |
|---|---|---|---|
| status | No | Filter by status of coins. Default: active | |
| include_platform | No | Include platform and token's contract addresses. Default: false |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint, openWorldHint and destructiveHint=false, so the safety profile is covered. The description adds no behavioral context beyond that: no rate limits, caching, pagination, or size characteristics of the full coin list, and no auth requirements.
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 core sentence is short, front-loaded, and free of padding. The appended pricing blockquote is boilerplate rather than description content, but it does not obscure the purpose.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
An output schema exists, so return values need not be explained, and the 100% schema coverage handles parameters. The remaining gap is routing guidance against the large sibling set, which is not addressed.
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 both optional parameters (status filter, include_platform) are fully documented in the schema with defaults. The description adds nothing about them, so the baseline 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 states a specific verb (query) plus resource (all supported coins) and names the returned fields (ID, name, symbol), which is concrete. However, it does not differentiate itself from close siblings like get_coingecko_coins_markets or get_coingecko_coins_id, so an agent must infer that this is the flat ID/name/symbol lookup rather than price or detail 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?
There is no when-to-use guidance, no exclusions, and no mention of alternatives. With roughly 20 coingecko siblings, an agent gets no explicit routing signal for choosing this list endpoint over markets, id, or search.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_coingecko_coins_marketsCoins List with Market DataCRead-onlyIdempotentInspect
This endpoint allows you to query all the supported coins with price, market cap, volume and market related data
Published reference price: $0.008 USD per successful request. Declared unit rate: $0 USD per provider_credit. Account-specific pricing and final settlement may differ.
| Name | Required | Description | Default |
|---|---|---|---|
| ids | No | Coins' IDs, comma-separated if querying more than 1 coin. *refers to [`/coins/list`](/reference/coins-list) | bitcoin |
| page | No | Page through results. Default: 1 | |
| names | No | Coins' names, comma-separated if querying more than 1 coin. | Bitcoin |
| order | No | Sort result by field. Default: market_cap_desc | |
| locale | No | Language background. Default: en | |
| symbols | No | Coins' symbols, comma-separated if querying more than 1 coin. | btc |
| category | No | Filter based on coins' category. *refers to [`/coins/categories/list`](/reference/coins-categories-list) | |
| per_page | No | Total results per page. Default: 100 Valid values: 1...250 | |
| precision | No | Decimal places for currency price value | |
| sparkline | No | Include sparkline 7-day data. Default: false | |
| vs_currency | Yes | Target currency of coins and market data. *refers to [`/simple/supported_vs_currencies`](/reference/simple-supported-currencies) | usd |
| include_tokens | No | For `symbols` lookups, specify `all` to include all matching tokens. Default `top` returns top-ranked tokens by market cap or volume. | |
| include_rehypothecated | No | Include rehypothecated tokens in results. When true, returns `market_cap_rank_with_rehypothecated` field. Default: false | |
| price_change_percentage | No | Include price change percentage timeframe, comma-separated if querying more than 1 timeframe. Valid values: `1h`, `24h`, `7d`, `14d`, `30d`, `200d`, `1y` |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, idempotentHint=true, destructiveHint=false and openWorldHint=true, so the safety profile is fully covered by structured data. The description adds no behavioral context beyond that — no pagination behavior, no rate-limit or quota notes, no indication of result size or cost implications beyond the boilerplate pricing line.
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?
A single front-loaded sentence states the purpose immediately, with the pricing block appended as required boilerplate. Nothing is padded or redundant, though the sentence is arguably too sparse for a 14-parameter tool rather than truly 'concise'.
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?
An output schema exists, so return values need no explanation, and annotations cover the safety profile. But for a 14-parameter, highly configurable endpoint sitting among many overlapping CoinGecko siblings, the description omits any differentiation or scoping guidance an agent needs to select it correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so all 14 parameters (including enums for order, locale, precision, include_tokens) are already documented in the schema. The description adds nothing parameter-specific, which matches the baseline 3 when the schema does the heavy lifting.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description gives a clear verb and resource: query all supported coins with price, market cap, volume and market-related data. An agent knows what it returns. However, it does not distinguish this tool from close siblings like get_coingecko_coins_list, get_coingecko_simple_price, or get_coingecko_coins_id, so the 'which one do I call' question is left open.
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?
There is no when-to-use guidance, no stated prerequisites, and no mention of alternatives in a sibling set of 27 tools. With get_coingecko_coins_list, get_coingecko_simple_price, and get_coingecko_coins_id all plausibly overlapping, the absence of routing guidance is a real gap.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_coingecko_exchangesExchanges List with DataBRead-onlyIdempotentInspect
This endpoint allows you to query all the supported exchanges with exchanges' data (ID, name, country, ...) that have active trading volumes on CoinGecko
Published reference price: $0.008 USD per successful request. Declared unit rate: $0 USD per provider_credit. Account-specific pricing and final settlement may differ.
| Name | Required | Description | Default |
|---|---|---|---|
| page | No | Page through results. Default: 1 | |
| per_page | No | Total results per page. Default: 100. Valid values: 1...250 |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, idempotentHint=true, openWorldHint=true, and destructiveHint=false, so the safety profile is fully covered. The description adds the meaningful behavioral constraint that only exchanges with active trading volumes are returned. The appended pricing block is harness metadata about billing, not tool behavior, so it earns no credit.
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 tool description itself is a single front-loaded sentence with no filler, and the key scope qualifier is stated up front. The only bloat is the injected pricing comment block, which is not part of the authored description.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
An output schema exists, so return values need not be explained, and annotations cover safety and idempotency. What remains thin is the routing relative to the near-identically named get_coingecko_exchanges_list sibling, which is the one thing an agent is most likely to get wrong.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, with both page and per_page documented including defaults and the 1...250 valid range, so the schema carries the parameter burden. The description adds no pagination or format detail beyond that, making the baseline 3 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?
States a specific verb and resource (query supported exchanges) and enumerates the returned fields (ID, name, country), which implicitly separates it from the bare get_coingecko_exchanges_list sibling. However, it never names that sibling, so an agent must infer the distinction from the 'with exchanges' data' phrasing rather than being told.
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?
There is no explicit when-to-use or when-not-to-use guidance and no alternative is named. The phrase 'that have active trading volumes' hints at the result scope, but nothing tells the agent why it should pick this over get_coingecko_exchanges_list or get_coingecko_exchanges_id.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_coingecko_exchanges_idExchange Data by IDBRead-onlyIdempotentInspect
This endpoint allows you to query exchange's data (name, year established, country, ...), exchange volume in BTC and top 100 tickers based on exchange's ID
Published reference price: $0.008 USD per successful request. Declared unit rate: $0 USD per provider_credit. Account-specific pricing and final settlement may differ.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | Exchange ID. *refers to [`/exchanges/list`](/reference/exchanges-list). | binance |
| dex_pair_format | No | Set to `symbol` to display DEX pair base and target as symbols. Default: `contract_address` |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint, openWorldHint, and destructiveHint=false, so the safety profile is covered. The description adds what payload is returned and a pricing note, which is useful, but does not address pagination, rate limits, or auth, so it adds only moderate value beyond annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The purpose is front-loaded in a single sentence with no filler; the only additional text is the auto-inserted pricing block. The sentence is slightly run-on with the enumeration of fields, but it is not padded.
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?
With an output schema present, return-value explanation is not strictly required, and annotations cover the safety profile, so the definition is largely adequate. The notable gap is guidance on when to pick this over the sibling list/tickers endpoints.
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 id and dex_pair_format parameters are fully documented in the schema. The description only restates that the lookup is keyed by exchange ID, adding no syntax or format detail 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?
States a specific verb (query) and resource (exchange data: name, year established, country, volume in BTC, top 100 tickers) keyed by exchange ID. It is distinguishable from get_coingecko_exchanges (list) and get_coingecko_exchanges_list, though the mention of 'top 100 tickers' overlaps with the dedicated get_coingecko_exchanges_id_tickers sibling, creating mild 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?
There is no explicit when-to-use guidance, no exclusions, and no routing to alternatives such as get_coingecko_exchanges or get_coingecko_exchanges_id_tickers. Usage is only implied by the 'based on exchange's ID' phrasing.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_coingecko_exchanges_id_tickersExchange Tickers by IDCRead-onlyIdempotentInspect
This endpoint allows you to query exchange's tickers based on exchange's ID
Published reference price: $0.008 USD per successful request. Declared unit rate: $0 USD per provider_credit. Account-specific pricing and final settlement may differ.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | Exchange ID. *refers to [`/exchanges/list`](/reference/exchanges-list). | binance |
| page | No | Page through results. | |
| depth | No | Include 2% orderbook depth (cost_to_move_up_usd and cost_to_move_down_usd). Default: false | |
| order | No | Sort the order of responses. Default: `trust_score_desc` | |
| coin_ids | No | Filter tickers by coin IDs, comma-separated if querying more than 1 coin. *refers to [`/coins/list`](/reference/coins-list). | |
| dex_pair_format | No | Set to `symbol` to display DEX pair base and target as symbols. Default: `contract_address` | |
| include_exchange_logo | No | Include exchange logo. Default: false |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint, openWorldHint and destructiveHint=false, so the safety profile is covered. The description adds nothing behavioral beyond that – no pagination notes despite the 'page' param, no sort default behavior, no data-freshness or rate-limit context. The pricing boilerplate is billing metadata, not behavioral guidance.
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 core sentence is short and front-loaded, but it is padded with the 'This endpoint allows you to' frame and a multi-line pricing block that consumes most of the text without aiding tool selection. The meaningful content is a single clause.
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?
An output schema exists so return values need not be explained, and annotations cover safety. But for a 7-param, paginated, sortable list endpoint the description omits pagination semantics, default sort, and when to prefer it over sibling ticker tools, leaving it only minimally adequate.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so all seven parameters (including page, depth, order, coin_ids) are already documented in the schema. The description adds no syntax, format, or default guidance beyond what the schema provides, which is the baseline 3 case.
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 states a clear verb (query) and resource (exchange's tickers) bounded by exchange ID, which distinguishes it from get_coingecko_coins_id_tickers and get_coingecko_exchanges_id. However, the 'This endpoint allows you to' wrapper is filler and the purpose is not contrasted against those siblings explicitly.
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?
There is no guidance on when to use this tool versus the many sibling ticker/exchange endpoints (get_coingecko_exchanges_id, get_coingecko_coins_id_tickers, get_coingecko_exchanges). The only implicit signal is the 'based on exchange's ID' scoping, with no exclusions or prerequisites stated.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_coingecko_exchanges_listExchanges List (ID Map)CRead-onlyIdempotentInspect
This endpoint allows you to query all the exchanges with ID and name
Published reference price: $0.008 USD per successful request. Declared unit rate: $0 USD per provider_credit. Account-specific pricing and final settlement may differ.
| Name | Required | Description | Default |
|---|---|---|---|
| status | No | Filter by status of exchanges. Default: `active` |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint, openWorldHint and destructiveHint=false, so safety is covered. The description adds nothing beyond that — no note on result volume, pagination, caching, or that only active exchanges are returned by default. Only the injected pricing boilerplate adds any non-schema information.
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 core purpose is a single front-loaded sentence, which is good. However, the appended pricing block is multi-line boilerplate that inflates the definition without helping tool selection, and the purpose sentence contains redundant bolding markup.
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?
An output schema exists and annotations cover the safety profile, so return values and side effects need not be explained. Still, the description omits the default status filtering behavior that shapes the output, and gives no sibling routing, leaving a modest gap for an otherwise simple lookup.
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 single 'status' enum parameter (active/inactive, default active) is fully documented in the schema. The description contributes no additional semantics, which is the expected baseline when the schema does the heavy lifting.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb ('query') and resource ('all the exchanges with ID and name'), and the title 'ID Map' confirms this is a lightweight identifier lookup rather than market data. However, it never distinguishes itself from siblings like get_coingecko_exchanges or get_coingecko_exchanges_id, which an agent must disambiguate among.
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 when-to-use context, no exclusions, and no routing to an alternative such as get_coingecko_exchanges for detailed data. The description also fails to mention the status filter (default 'active'), which materially changes the result set.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_coingecko_search_trendingTrending Search ListBRead-onlyIdempotentInspect
This endpoint allows you query trending search coins, NFTs and categories on CoinGecko in the last 24 hours
Published reference price: $0.008 USD per successful request. Declared unit rate: $0 USD per provider_credit. Account-specific pricing and final settlement may differ.
| Name | Required | Description | Default |
|---|---|---|---|
| show_max | No | Show max number of results available for the given type. Available values: `coins`, `nfts`, `categories` e.g. `coins` or `coins,nfts,categories` |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnly, idempotent, openWorld, and non-destructive, so the safety profile is covered. The description usefully adds the 24-hour time window, but says nothing about rate limits, freshness guarantees, or result ordering beyond that.
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 core description is a single front-loaded sentence that states purpose and scope efficiently. The embedded pricing boilerplate adds some noise but is bounded and clearly demarcated.
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?
An output schema exists, so return values need not be explained, and annotations cover the safety profile. For a zero-required-parameter read tool, the description is nearly complete; only the missing alternative-tool routing keeps it from a top score.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, with show_max fully documented including its enum-like accepted values, so the schema carries the parameter burden. The description adds no parameter meaning beyond what the schema provides, so baseline 3 applies.
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?
States a specific verb and resource: 'query trending search coins, NFTs and categories', with the temporal scope ('last 24 hours') made explicit. This is clearly distinguishable from list/market siblings by the 'trending search' framing, though it does not name any sibling to contrast against.
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?
There is no when-to-use or when-not-to-use guidance. An agent is left to infer that this is for surfacing currently-trending assets; alternatives like get_coingecko_coins_list, get_coingecko_coins_markets, or search are never mentioned as differentiators.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_coingecko_simple_priceCoin Price by IDs, Symbols, or NamesCRead-onlyIdempotentInspect
This endpoint allows you to query the prices of one or more coins by using their unique Coin API IDs, symbols, or names
Published reference price: $0.008 USD per successful request. Declared unit rate: $0 USD per provider_credit. Account-specific pricing and final settlement may differ.
| Name | Required | Description | Default |
|---|---|---|---|
| ids | No | Coins' IDs, comma-separated if querying more than 1 coin. *refers to [`/coins/list`](/reference/coins-list) | bitcoin |
| names | No | Coins' names, comma-separated if querying more than 1 coin. | Bitcoin |
| symbols | No | Coins' symbols, comma-separated if querying more than 1 coin. | btc |
| precision | No | Decimal places for currency price value | |
| vs_currencies | Yes | Target currency of coins, comma-separated if querying more than 1 currency. *refers to [`/simple/supported_vs_currencies`](/reference/simple-supported-currencies) | usd |
| include_tokens | No | For `symbols` lookups, specify `all` to include all matching tokens. Default `top` returns top-ranked tokens by market cap or volume. | |
| include_24hr_vol | No | Include 24-hour trading volume. Default: false | |
| include_market_cap | No | Include market capitalization. Default: false | |
| include_24hr_change | No | Include 24-hour change percentage. Default: false | |
| include_last_updated_at | No | Include last updated price time as a UNIX timestamp. Default: false |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, idempotentHint=true, and destructiveHint=false, so the safety profile is covered structurally. The description adds no behavioral context beyond the purpose statement — no rate limits, caching, batching behavior, or auth requirements — so it contributes little beyond the annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The core purpose is a single front-loaded sentence, which is good. However, the injected aisa-pricing boilerplate adds three lines of billing text irrelevant to tool selection or invocation, diluting an otherwise tight description.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
An output schema exists, so return values need no explanation, and the schema fully covers parameters while annotations cover safety. The remaining gap is routing guidance against the many sibling price/coin tools, which the description does not address.
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 10 parameters including the enum constraints and comma-separated syntax. The description adds no syntax or semantic detail beyond what the schema provides, making the baseline 3 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?
States a specific verb ('query the prices') and resource ('one or more coins') plus the three lookup keys (IDs, symbols, names), which maps cleanly to the title. It does not, however, distinguish itself from close siblings like get_coingecko_simple_token_price_id or get_coingecko_coins_markets, so an agent cannot route between them from this text alone.
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?
There is no when-to-use guidance, no prerequisites, and no mention of when a different sibling (e.g. token_price_id, markets, or coins_id_history) would be preferable. The agent is left to infer usage purely from the endpoint name.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_coingecko_simple_supported_vs_currenciesSupported Currencies ListARead-onlyIdempotentInspect
This endpoint allows you to query all the supported currencies on CoinGecko
Published reference price: $0.008 USD per successful request. Declared unit rate: $0 USD per provider_credit. Account-specific pricing and final settlement may differ.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, idempotentHint=true, destructiveHint=false, and openWorldHint=true, so the safety and idempotency profile is fully covered for this no-param read. The description adds 'all supported currencies' scope, which is useful, but doesn't explain return structure beyond what annotations and output schema already provide. With annotations carrying the behavioral burden, a 3 is appropriate.
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 core description is a single efficient sentence with the resource front-loaded. It includes a pricing note that isn't strictly part of the tool semantics, adding a bit of noise, but the tool description itself is tight.
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 zero-parameter read-only list tool with an output schema and full annotations, the description covers what the tool returns ('all supported currencies'). An agent has enough to call it. It could note the list's typical use for constructing simple_price queries, but this isn't essential.
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?
Zero parameters, so baseline 4 applies. No parameter semantics needed.
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?
States a specific verb and resource ('query all the supported currencies on CoinGecko') with clear scope ('all'). A named endpoint resource ('supported vs currencies') that's distinguishable from sibling list tools like get_coingecko_coins_list.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance on when to use this versus alternatives. The description doesn't explain the relationship to sibling tools like get_coingecko_simple_price or get_coingecko_coins_list, or explain what this list is used for (e.g. as valid currency codes for simple_price).
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_coingecko_simple_token_price_idCoin Price by Token AddressesARead-onlyIdempotentInspect
This endpoint allows you to query one or more token prices using their token contract addresses
Published reference price: $0.008 USD per successful request. Declared unit rate: $0 USD per provider_credit. Account-specific pricing and final settlement may differ.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | Asset platform's ID. *refers to [`/asset_platforms`](/reference/asset-platforms-list) | ethereum |
| precision | No | Decimal places for currency price value | |
| vs_currencies | Yes | Target currency of coins, comma-separated if querying more than 1 currency. *refers to [`/simple/supported_vs_currencies`](/reference/simple-supported-currencies) | usd |
| include_24hr_vol | No | Include 24-hour trading volume. Default: false | |
| contract_addresses | Yes | Token contract addresses, comma-separated if querying more than 1 token | 0x2260fac5e5542a773aa44fbcfedf7c193bc2c599 |
| include_market_cap | No | Include market capitalization. Default: false | |
| include_24hr_change | No | Include 24-hour change percentage. Default: false | |
| include_last_updated_at | No | Include last updated price time as a UNIX timestamp. Default: false |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint, openWorldHint, and destructiveHint=false, so the safety profile is fully covered elsewhere. The description contributes only the pricing note (a published reference rate per successful request), which is genuine cost context not present in structured fields. It adds nothing about rate limits, batching behavior, or result shape, so a 3 is appropriate given the low bar set by rich annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The functional sentence is front-loaded and wastes nothing. The appended pricing block is boilerplate rather than author-chosen content, but it still adds length that dilutes the one useful sentence, keeping this just below a 5.
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?
With an output schema present, the description need not explain return values, and rich annotations cover safety. The schema carries all parameter detail. The only real gap is the unstated boundary with the ID-based simple-price sibling, which is a minor omission for an otherwise well-specified endpoint.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so all eight parameters — including precision enum, comma-separated multi-value handling, and the include_* flags — are documented in the schema itself. The description says 'one or more' tokens, which lightly reinforces the multi-address capability the schema already states. Baseline 3 applies when the schema does the heavy lifting.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific verb and resource: query one or more token prices using token contract addresses. Combined with the title and the required contract_addresses parameter, an agent can tell it apart from get_coingecko_simple_price (which keys on coin IDs). It stops short of explicitly naming that sibling or stating the address-vs-ID distinction, so it is clear but not fully differentiated.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No explicit when-to-use or when-not-to-use guidance is given. Usage is only implied by the phrase 'using their token contract addresses', which suggests this is the right call when you have contract addresses rather than coin IDs. The agent must infer the boundary against get_coingecko_simple_price and get_coingecko_token_data on its own.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_coingecko_token_dataCoin Data by Token AddressARead-onlyIdempotentInspect
This endpoint allows you to query all the metadata (image, websites, socials, description, contract address, etc.) and market data (price, ATH, exchange tickers, etc.) of a coin from the CoinGecko coin page based on an asset platform and a particular token contract address
Published reference price: $0.008 USD per successful request. Declared unit rate: $0 USD per provider_credit. Account-specific pricing and final settlement may differ.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | Asset platform ID. *refers to [`/asset_platforms`](/reference/asset-platforms-list). | ethereum |
| contract_address | Yes | The contract address of token. | 0xc02aaa39b223fe8d0a0e5c4f27ead9083c756cc2 |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare the full safety profile (readOnly, idempotent, openWorld, non-destructive), so the description's job is to add beyond that. It does: it enumerates the returned data categories, and it discloses a concrete cost of $0.008 per successful request, which is real behavioral context an agent can budget against. It stops short of noting rate limits or response size for a data-heavy call.
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?
One front-loaded sentence that leads with the action and follows with the returned payload; the pricing block is boilerplate but clearly delimited. The parenthetical 'etc.' lists are slightly bloated but still earn their place by conveying return scope.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
An output schema exists, so return values need not be explained, and annotations plus a 100%-covered 2-param schema leave little uncovered. The description adds the useful payload preview and cost. The remaining gap is disambiguation from the many overlapping CoinGecko siblings, which is the only material omission.
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% — both id (asset platform, pointing at /asset_platforms) and contract_address are documented in the schema itself. The description merely restates these inputs in prose without adding format, casing, or lookup guidance, so the baseline 3 applies.
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?
Specific verb (query) plus a concrete resource scope: metadata (image, websites, socials, contract address) and market data (price, ATH, tickers) keyed on asset platform + contract address. An agent can see exactly what payload this returns. It never distinguishes itself from near-neighbours like get_coingecko_coins_id or get_coingecko_simple_token_price_id, which is the only thing keeping it from 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 phrase 'based on an asset platform and a particular token contract address' describes the input basis rather than when to reach for this tool over its 27 siblings. There is no statement of when-not-to-use or which alternative to pick when only a price or only metadata is wanted.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_coingecko_token_market_chartCoin Historical Chart Data by Token AddressBRead-onlyIdempotentInspect
This endpoint allows you to get the historical chart data including time in UNIX, price, market cap and 24hr volume based on asset platform and particular token contract address
Published reference price: $0.008 USD per successful request. Declared unit rate: $0 USD per provider_credit. Account-specific pricing and final settlement may differ.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | Asset platform ID. *refers to [`/asset_platforms`](/reference/asset-platforms-list). | ethereum |
| days | Yes | Data up to number of days ago. You may use any integer or `max` for number of days. | 1 |
| interval | No | Data interval, leave empty for auto granularity. | |
| precision | No | Decimal place for currency price value. | |
| vs_currency | Yes | Target currency of market data. *refers to [`/simple/supported_vs_currencies`](/reference/simple-supported-currencies). | usd |
| contract_address | Yes | The contract address of token. | 0xa0b86991c6218b36c1d19d4a2e9eb0ce3606eb48 |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint, openWorldHint and destructiveHint=false, so the safety profile is fully covered. The description adds the returned data shape (UNIX time, price, market cap, 24hr volume) and a per-request price, but says nothing about rate limits, pagination, or historical depth limits ('max'). With annotations doing the heavy lifting, this is an adequate 3.
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 functional sentence is single and front-loaded, and the injected pricing block is clearly delimited boilerplate rather than prose. Slight bloat from the pricing/metadata block, but the core content is tight.
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?
The tool has rich annotations, full schema coverage and an output schema, so return values and safety need not be explained. The description is complete enough for correct invocation, though it omits sibling routing and any note on granularity behavior (interval vs days interaction).
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% and two parameters carry enums, so the schema already documents id, days, interval, precision, vs_currency and contract_address thoroughly. The description adds no parameter-level meaning beyond echoing 'asset platform and particular token contract address'. Baseline 3 applies when the schema does the work.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific verb (get) and resource (historical chart data) and names the disambiguating scoping dimension: 'based on asset platform and particular token contract address'. This implicitly separates it from the coin-id based siblings, but it never names get_coingecko_coins_id_market_chart or get_coingecko_token_market_chart_range explicitly, so differentiation requires inference.
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?
There is no when-to-use guidance, no when-not-to-use, and no named alternative, despite several closely related siblings (get_coingecko_coins_id_market_chart, get_coingecko_token_market_chart_range) that an agent must choose between. The agent is left to infer the choice entirely from the resource wording.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_coingecko_token_market_chart_rangeCoin Historical Chart Data within Time Range by Token AddressCRead-onlyIdempotentInspect
This endpoint allows you to get the historical chart data within certain time range in UNIX along with price, market cap and 24hr volume based on asset platform and particular token contract address
Published reference price: $0.008 USD per successful request. Declared unit rate: $0 USD per provider_credit. Account-specific pricing and final settlement may differ.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | Asset platform ID. *refers to [`/asset_platforms`](/reference/asset-platforms-list). | ethereum |
| to | Yes | Ending date in ISO date string (`YYYY-MM-DD` or `YYYY-MM-DDTHH:MM`) or UNIX timestamp. **Use ISO date string for best compatibility.** | 2025-12-31 |
| from | Yes | Starting date in ISO date string (`YYYY-MM-DD` or `YYYY-MM-DDTHH:MM`) or UNIX timestamp. **Use ISO date string for best compatibility.** | 2025-12-22 |
| interval | No | Data interval, leave empty for auto granularity. | |
| precision | No | Decimal place for currency price value. | |
| vs_currency | Yes | Target currency of market data. *refers to [`/simple/supported_vs_currencies`](/reference/simple-supported-currencies). | usd |
| contract_address | Yes | The contract address of token. | 0xa0b86991c6218b36c1d19d4a2e9eb0ce3606eb48 |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint and openWorldHint, so safety is covered, but the description adds no behavioral context beyond that — no rate limits, no note that it is a paid endpoint beyond the injected pricing block, and no granularity/auto-interval behavior. It also says the range is 'in UNIX' while the schema instructs ISO date strings for best compatibility, which adds confusion rather than clarity.
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 core purpose is front-loaded in a single dense sentence, but that sentence is over-long and contains the misleading 'in UNIX' claim. The appended pricing boilerplate consumes roughly half the text without helping an agent select or invoke the 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?
With an output schema and full annotation coverage, the description need not explain return values, and the inputs are documented in the schema. What is missing is the differentiation and usage context that would let an agent choose this tool over its range/market-chart siblings.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, with defaults, enums and per-parameter docs already present, so the baseline is 3. The description only restates the high-level output dimensions (price, market cap, 24hr volume) and the platform/contract-address inputs without adding format, interval, or precision semantics beyond the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description names a specific verb and resource ('get the historical chart data within certain time range... along with price, market cap and 24hr volume') and scopes it to a token contract address on an asset platform. It does not, however, distinguish itself from near-identical siblings such as get_coingecko_token_market_chart or get_coingecko_coins_id_market_chart_range, so the agent must guess which range/market-chart variant to call.
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?
There is no explicit when-to-use guidance and no alternatives named, despite three closely related market-chart siblings in the list. The only usage signal is the implicit 'based on asset platform and particular token contract address', which is a scope statement, not routing guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
list_categoriesBrowse the AIsa catalogueARead-onlyInspect
The AIsa catalogue at a glance: categories, the servers in each, tool counts, and the dedicated endpoint to connect if you only need one category. Free. (AIsa-only: tool-router has no equivalent.) Use mcp.aisa.one/mcp?modules=<category> (or mcp.aisa.one/<category>/mcp) to have that category's tools listed directly instead of via search.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already establish that this is a safe, read-only, closed-world operation. The description adds useful context beyond annotations by saying it returns categories, servers, tool counts, and the dedicated endpoint, and that it is free. It omits auth/rate-limit details, but those are less critical given the read-only annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is front-loaded with what the tool returns and is generally efficient. The parenthetical about tool-router and the endpoint URL add some density, but each part contributes usage or content 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?
With zero parameters, read-only annotations, and an output schema available, the description supplies enough context for correct invocation. It explains the catalogue contents and gives the category-specific endpoint alternative, leaving no critical gap for an agent.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool has zero parameters, so parameter semantics are not a meaningful differentiator. The schema has no properties to explain, and the description does not need to document any inputs.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states that this tool gives a catalogue overview: categories, servers per category, tool counts, and a dedicated endpoint. The resource is specific and recognizable, though sibling differentiation is only partial because it references 'tool-router' rather than the listed siblings like search/use.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
It gives a clear alternative: use the category-specific endpoint if you only need one category, rather than going via search. It also notes the tool is free and AIsa-only, but it does not explicitly state when to call list_categories instead of search or use.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
searchSearch AIsa tools and agent-ready plansARead-onlyInspect
Discover AIsa tools and Plans for external data or actions. Skip tasks that only need supplied content or general knowledge. For multi-step tasks, search the full goal before decomposing it. Use English; put identifiers in known_fields. If has_full_schema=false, call batch_get_schema. Next call batch_quote, not batch_use. Do not search for standalone rewriting, translation, summarization, formatting, or calculations on supplied content. For one capability, use an atomic query. Select a matching capability, date window, and metric. A Plan may cover only part of the task; assess its purpose and follow next_steps_guidance.
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | Maximum number of additional direct tool candidates. | |
| query | Yes | Natural-language capability or task to discover. | |
| category | No | Restrict retrieval to one category. Omit to search everything. (AIsa-only: tool-router has no equivalent.) | |
| session_id | No | Reuse the session_id returned by Search in all subsequent tool calls for this task. If omitted, a new session is created. | |
| known_fields | No | Known values such as ticker, URL, provider, or identifier that improve retrieval. | |
| provider_filters | No | Optional exact catalog provider keys used to narrow retrieval (for example similarweb). Do not use display brands. Omit this field if the exact key is unknown. |
Output Schema
| Name | Required | Description |
|---|---|---|
| plan | No | |
| tools | Yes | |
| search_id | Yes | |
| session_id | Yes | Reuse the session_id returned by Search in all subsequent tool calls for this task. If omitted, a new session is created. |
| retrieval_mode | No | |
| next_steps_guidance | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true and destructiveHint=false, so the safety profile is covered. The description adds workflow behavior the annotations cannot: the has_full_schema flag gates a required batch_get_schema call, and the next step after search is batch_quote, not batch_use. It stops short of disclosing retrieval limits or catalog breadth that would push it to a 5.
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?
It is a dense run of imperatives rather than flowing prose, but each sentence carries a distinct rule (scope, language, workflow branch, negative cases, result interpretation) and the most important scoping guidance is front-loaded. Slightly more compression would help.
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?
With an output schema present, the description need not explain return values, and it correctly avoids doing so while still referencing the output fields that drive the workflow (has_full_schema, next_steps_guidance). A mutation-free, well-annotated search tool is adequately covered, though catalog scope ('AIsa-only', no external providers) could be stated more explicitly.
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 coverage is 100%, so the structured baseline is 3. The description adds genuine meaning beyond the schema by telling the agent to write the query in English and to place tickers, URLs, providers, or identifiers in known_fields, which is non-obvious routing guidance for a nested free-form object.
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 opens with a specific verb+resource: 'Discover AIsa tools and Plans for external data or actions.' It also separates this discovery step from the sibling execution tools by naming batch_get_schema, batch_quote, and batch_use and stating when each follows, so an agent can place it in the workflow without opening schemas.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
It gives explicit when-to-use ('tasks needing external data or actions'), when-not ('tasks that only need supplied content or general knowledge'; no standalone rewriting, translation, summarization, formatting, or calculations), and named alternatives (batch_get_schema when has_full_schema=false, batch_quote rather than batch_use). It also specifies query language and atomic-query style, leaving little to inference.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
useRun an AIsa operationCDestructiveInspect
deprecated, use batch_use instead
| Name | Required | Description | Default |
|---|---|---|---|
| arguments | No | Arguments matching input_schema / arguments_schema | |
| search_id | No | search_id from the search that found this operation | |
| operation_id | Yes | operation_id as returned by search | |
| max_price_usd | No | Refuse the call before any spend if its quoted price is above this many USD |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=false, destructiveHint=true, and openWorldHint=true, so the agent knows this is a state-changing, open-world operation. The description adds only the deprecation status and says nothing about what gets mutated, spend behavior (despite a max_price_usd param), or authorization needs.
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?
A single clause with zero waste; the deprecation notice and the replacement are front-loaded. It is terse by design for a deprecated endpoint, though it is under-specified rather than optimally 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?
Has an output schema and annotations, which reduces the burden, but a 4-parameter operation tool with a deprecation notice gives no information about what it executes or whether it remains functional. For an agent deciding between this and batch_use, the description is thin.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so all four parameters (operation_id, arguments, search_id, max_price_usd) are already documented in the schema. The description adds no parameter meaning on top, so the baseline 3 applies.
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 never states what the tool does — no verb or resource. It only labels the tool as deprecated and points to a replacement, leaving the actual capability ('Run an AIsa operation' from the title) unexplained. An agent must infer the purpose from the title and schema alone.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
It explicitly routes the agent to the alternative ('use batch_use instead'), which is exactly the guidance needed for a deprecated tool. It doesn't explain when, if ever, this tool should still be called (e.g., during a migration window), so it stops short of a 5.
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.
2 tool updates
- Added
account - Removed
get_details
25 tool updates
- Added
batch_get_schema - Added
batch_quote - Changed
batch_use18 fields changed- added
Input schema / $schemaAdded value: +"https://json-schema.org/draft/2020-12/schema" - removed
Input schema / properties / calls / descriptionRemoved value: -"Up to 20 items of {call_id, operation_id, arguments}; steps at the same execution_level of a plan go in one batch" - added
Input schema / properties / calls / items / $schemaAdded value: +"https://json-schema.org/draft/2020-12/schema" - changed
Input schema / properties / calls / items / additionalPropertiesPrevious value: -trueNew value: +false - added
Input schema / properties / calls / items / propertiesAdded value: +{ + "arguments": { + "additionalProperties": true, + "description": "Strictly schema-compliant arguments using the exact field names and types from this tool's arguments_schema.", + "type": "object" + }, + "call_id": { + "description": "Caller-chosen identifier unique within this batch.", + "maxLength": 128, + "minLength": 1, + "type": "string" + }, + "tool": { + "description": "Exact tool name returned by search or batch_get_schema. Never invent a name.", + "minLength": 1, + "type": "string" + } +} - added
Input schema / properties / calls / items / requiredAdded value: +[ + "call_id", + "tool", + "arguments" +] - added
Input schema / properties / calls / maxItemsAdded value: +20 - added
Input schema / properties / calls / minItemsAdded value: +1 - removed
Input schema / properties / max_price_usdRemoved value: -{ - "anyOf": [ - { - "type": "number" - }, - { - "type": "null" - } - ], - "default": null, - "description": "Per-call price cap applied to every item" -} - removed
Input schema / properties / search_id / anyOfRemoved value: -[ - { - "type": "string" - }, - { - "type": "null" - } -] - removed
Input schema / properties / search_id / defaultRemoved value: -null - changed
Input schema / properties / search_id / descriptionPrevious value: -"search_id from the search that found these operations"New value: +"Optional search correlation identifier returned by search." - added
Input schema / properties / search_id / typeAdded value: +"string" - added
Input schema / properties / session_idAdded value: +{ + "description": "Reuse the session_id returned by Search in all subsequent tool calls for this task. If omitted, a new session is created.", + "maxLength": 128, + "pattern": "^[A-Za-z0-9_-]*$", + "type": "string" +} - added
Output schema / $defsAdded value: +{ + "jsonValue": { + "anyOf": [ + { + "additionalProperties": { + "$ref": "#/$defs/jsonValue" + }, + "type": "object" + }, + { + "items": { + "$ref": "#/$defs/jsonValue" + }, + "type": "array" + }, + { + "type": "string" + }, + { + "type": "number" + }, + { + "type": "boolean" + }, + { + "type": "null" + } + ], + "description": "JSON value returned by the upstream tool." + } +} - added
Output schema / $schemaAdded value: +"https://json-schema.org/draft/2020-12/schema" - added
Output schema / propertiesAdded value: +{ + "batch_id": { + "type": "string" + }, + "error_count": { + "minimum": 0, + "type": "integer" + }, + "next_steps_guidance": { + "description": "Deterministic next-step instructions derived from this result. Not an authorization grant.", + "items": { + "type": "string" + }, + "type": "array" + }, + "results": { + "items": { + "$schema": "https://json-schema.org/draft/2020-12/schema", + "additionalProperties": false, + "properties": { + "call_id": { + "type": "string" + }, + "customer_cost_micros_usd": { + "description": "Actual customer charge settled by AIsaServices, in micro-USD. Omitted when the upstream response does not report it.", + "minimum": 0, + "type": "integer" + }, + "data": { + "$ref": "#/$defs/jsonValue" + }, + "error": { + "anyOf": [ + { + "$schema": "https://json-schema.org/draft/2020-12/schema", + "additionalProperties": false, + "properties": { + "message": { + "type": "string" + }, + "retryable": { + "type": "boolean" + }, + "status": { + "type": "integer" + }, + "type": { + "enum": [ + "validation", + "authentication", + "payment", + "permission", + "rate_limit", + "upstream", + "timeout", + "internal" + ], + "type": "string" + } + }, + "required": [ + "type", + "status", + "retryable" + ], + "type": "object" + }, + { + "type": "null" + } + ] + }, + "request_id": { + "type": "string" + }, + "successful": { + "type": "boolean" + }, + "tool": { + "type": "string" + }, + "upstream_status": { + "description": "HTTP status returned by AIsaServices when a request was dispatched.", + "type": "integer" + } + }, + "required": [ + "call_id", + "tool", + "successful", + "request_id" + ], + "type": "object" + }, + "type": "array" + }, + "session_id": { + "description": "Reuse the session_id returned by Search in all subsequent tool calls for this task. If omitted, a new session is created.", + "maxLength": 128, + "minLength": 1, + "pattern": "^[A-Za-z0-9_-]*$", + "type": "string" + }, + "success_count": { + "minimum": 0, + "type": "integer" + }, + "total_count": { + "minimum": 1, + "type": "integer" + } +} - added
Output schema / requiredAdded value: +[ + "session_id", + "batch_id", + "total_count", + "success_count", + "error_count", + "results", + "next_steps_guidance" +]
- Changed
get_coingecko_coins_categories1 field changed- added
Input schema / properties / order / descriptionAdded value: +"Sort results by field. \nDefault: `market_cap_desc`"
- Changed
get_coingecko_coins_id16 fields changed- removed
Input schema / properties / community_data / defaultRemoved value: -true - added
Input schema / properties / community_data / descriptionAdded value: +"Include community data. \nDeprecated: has no effect as of 28 August 2026; the `community_data` object is no longer returned." - removed
Input schema / properties / developer_data / defaultRemoved value: -true - added
Input schema / properties / developer_data / descriptionAdded value: +"Include developer data. \nDeprecated: has no effect as of 28 August 2026; the `developer_data` object is no longer returned." - added
Input schema / properties / dex_pair_formatAdded value: +{ + "description": "Set to `symbol` to display DEX pair base and target as symbols. \nDefault: `contract_address`", + "enum": [ + "contract_address", + "symbol" + ], + "type": "string" +} - added
Input schema / properties / id / defaultAdded value: +"bitcoin" - changed
Input schema / properties / id / descriptionPrevious value: -"CoinGecko coin ID (e.g., `bitcoin`, `ethereum`). Get the list via `/coins/list`."New value: +"Coin ID. \n*refers to [`/coins/list`](/reference/coins-list)" - added
Input schema / properties / include_categories_detailsAdded value: +{ + "description": "Include categories details. \nDefault: false", + "type": "boolean" +} - removed
Input schema / properties / localization / defaultRemoved value: -true - added
Input schema / properties / localization / descriptionAdded value: +"Include all localized languages in the response. \nDefault: true" - removed
Input schema / properties / market_data / defaultRemoved value: -true - added
Input schema / properties / market_data / descriptionAdded value: +"Include market data. \nDefault: true" - removed
Input schema / properties / sparkline / defaultRemoved value: -false - added
Input schema / properties / sparkline / descriptionAdded value: +"Include sparkline 7-day data. \nDefault: false" - removed
Input schema / properties / tickers / defaultRemoved value: -true - added
Input schema / properties / tickers / descriptionAdded value: +"Include tickers data. \nDefault: true"
- Changed
get_coingecko_coins_id_history8 fields changed- added
Input schema / properties / date / defaultAdded value: +"2025-12-30" - changed
Input schema / properties / date / descriptionPrevious value: -"Date in `dd-mm-yyyy` format."New value: +"The date of data snapshot. \nFormat: `YYYY-MM-DD`" - removed
Input schema / properties / date / exampleRemoved value: -"30-12-2024" - added
Input schema / properties / id / defaultAdded value: +"bitcoin" - changed
Input schema / properties / id / descriptionPrevious value: -"CoinGecko coin ID (e.g., `bitcoin`, `ethereum`). Get the list via `/coins/list`."New value: +"Coin ID. \n*refers to [`/coins/list`](/reference/coins-list)." - removed
Input schema / properties / id / exampleRemoved value: -"bitcoin" - removed
Input schema / properties / localization / defaultRemoved value: -true - added
Input schema / properties / localization / descriptionAdded value: +"Include all the localized languages in response. \nDefault: true"
- Changed
get_coingecko_coins_id_market_chart13 fields changed- added
Input schema / properties / days / defaultAdded value: +"1" - changed
Input schema / properties / days / descriptionPrevious value: -"Data up to N days ago. Accepts `1`, `7`, `14`, `30`, `90`, `180`, `365`, or `max`."New value: +"Data up to number of days ago. \nYou may use any integer or `max` for number of days." - removed
Input schema / properties / days / exampleRemoved value: -"7" - added
Input schema / properties / id / defaultAdded value: +"bitcoin" - changed
Input schema / properties / id / descriptionPrevious value: -"CoinGecko coin ID (e.g., `bitcoin`, `ethereum`). Get the list via `/coins/list`."New value: +"Coin ID. \n*refers to [`/coins/list`](/reference/coins-list)." - removed
Input schema / properties / id / exampleRemoved value: -"bitcoin" - changed
Input schema / properties / interval / descriptionPrevious value: -"Data interval. CoinGecko supports `daily`; `hourly` is also available for supported ranges."New value: +"Data interval, leave empty for auto granularity." - changed
Input schema / properties / interval / enumPrevious value: -[ - "daily", - "hourly" -]New value: +[ + "1m", + "5m", + "hourly", + "daily" +] - changed
Input schema / properties / precision / descriptionPrevious value: -"`full` or a value from `0` to `18` to specify decimal places for currency price values."New value: +"Decimal place for currency price value." - added
Input schema / properties / precision / enumAdded value: +[ + "full", + "0", + "1", + "2", + "3", + "4", + "5", + "6", + "7", + "8", + "9", + "10", + "11", + "12", + "13", + "14", + "15", + "16", + "17", + "18" +] - removed
Input schema / properties / precision / exampleRemoved value: -"2" - changed
Input schema / properties / vs_currency / descriptionPrevious value: -"Target currency for price (e.g., `usd`, `eur`, `btc`). See `/simple/supported_vs_currencies`."New value: +"Target currency of market data. \n*refers to [`/simple/supported_vs_currencies`](/reference/simple-supported-currencies)." - changed
Input schema / requiredPrevious value: -[ - "id", - "vs_currency", - "days" -]New value: +[ + "id", + "days", + "vs_currency" +]
- Changed
get_coingecko_coins_id_market_chart_range17 fields changed- added
Input schema / properties / from / defaultAdded value: +"2025-12-22" - changed
Input schema / properties / from / descriptionPrevious value: -"Start UNIX timestamp (seconds)."New value: +"Starting date in ISO date string (`YYYY-MM-DD` or `YYYY-MM-DDTHH:MM`) or UNIX timestamp. \n**Use ISO date string for best compatibility.**" - removed
Input schema / properties / from / exampleRemoved value: -1713398400 - changed
Input schema / properties / from / typePrevious value: -"integer"New value: +"string" - added
Input schema / properties / id / defaultAdded value: +"bitcoin" - changed
Input schema / properties / id / descriptionPrevious value: -"CoinGecko coin ID (e.g., `bitcoin`, `ethereum`). Get the list via `/coins/list`."New value: +"Coin ID. \n*refers to [`/coins/list`](/reference/coins-list)." - removed
Input schema / properties / id / exampleRemoved value: -"bitcoin" - added
Input schema / properties / intervalAdded value: +{ + "description": "Data interval, leave empty for auto granularity.", + "enum": [ + "1m", + "5m", + "hourly", + "daily" + ], + "type": "string" +} - changed
Input schema / properties / precision / descriptionPrevious value: -"`full` or a value from `0` to `18` to specify decimal places for currency price values."New value: +"Decimal place for currency price value." - added
Input schema / properties / precision / enumAdded value: +[ + "full", + "0", + "1", + "2", + "3", + "4", + "5", + "6", + "7", + "8", + "9", + "10", + "11", + "12", + "13", + "14", + "15", + "16", + "17", + "18" +] - removed
Input schema / properties / precision / exampleRemoved value: -"2" - added
Input schema / properties / to / defaultAdded value: +"2025-12-31" - changed
Input schema / properties / to / descriptionPrevious value: -"End UNIX timestamp (seconds)."New value: +"Ending date in ISO date string (`YYYY-MM-DD` or `YYYY-MM-DDTHH:MM`) or UNIX timestamp. \n**Use ISO date string for best compatibility.**" - removed
Input schema / properties / to / exampleRemoved value: -1713484800 - changed
Input schema / properties / to / typePrevious value: -"integer"New value: +"string" - changed
Input schema / properties / vs_currency / descriptionPrevious value: -"Target currency for price (e.g., `usd`, `eur`, `btc`). See `/simple/supported_vs_currencies`."New value: +"Target currency of market data. \n*refers to [`/simple/supported_vs_currencies`](/reference/simple-supported-currencies)." - changed
Input schema / requiredPrevious value: -[ - "id", - "vs_currency", - "from", - "to" -]New value: +[ + "id", + "from", + "to", + "vs_currency" +]
- Changed
get_coingecko_coins_id_ohlc13 fields changed- added
Input schema / properties / days / defaultAdded value: +"1" - changed
Input schema / properties / days / descriptionPrevious value: -"`1`, `7`, `14`, `30`, `90`, `180`, `365`."New value: +"Data up to number of days ago." - added
Input schema / properties / days / enumAdded value: +[ + "1", + "7", + "14", + "30", + "90", + "180", + "365", + "max" +] - removed
Input schema / properties / days / exampleRemoved value: -"7" - added
Input schema / properties / id / defaultAdded value: +"bitcoin" - changed
Input schema / properties / id / descriptionPrevious value: -"CoinGecko coin ID (e.g., `bitcoin`, `ethereum`). Get the list via `/coins/list`."New value: +"Coin ID. \n*refers to [`/coins/list`](/reference/coins-list)." - removed
Input schema / properties / id / exampleRemoved value: -"bitcoin" - added
Input schema / properties / intervalAdded value: +{ + "description": "Data interval, leave empty for auto granularity.", + "enum": [ + "daily", + "hourly" + ], + "type": "string" +} - changed
Input schema / properties / precision / descriptionPrevious value: -"`full` or a value from `0` to `18` to specify decimal places for currency price values."New value: +"Decimal place for currency price value." - added
Input schema / properties / precision / enumAdded value: +[ + "full", + "0", + "1", + "2", + "3", + "4", + "5", + "6", + "7", + "8", + "9", + "10", + "11", + "12", + "13", + "14", + "15", + "16", + "17", + "18" +] - removed
Input schema / properties / precision / exampleRemoved value: -"2" - changed
Input schema / properties / vs_currency / descriptionPrevious value: -"Target currency for price (e.g., `usd`, `eur`, `btc`). See `/simple/supported_vs_currencies`."New value: +"Target currency of price data. \n*refers to [`/simple/supported_vs_currencies`](/reference/simple-supported-currencies)." - changed
Input schema / requiredPrevious value: -[ - "id", - "vs_currency", - "days" -]New value: +[ + "id", + "days", + "vs_currency" +]
- Changed
get_coingecko_coins_id_tickers13 fields changed- removed
Input schema / properties / depth / defaultRemoved value: -false - added
Input schema / properties / depth / descriptionAdded value: +"Include 2% orderbook depth, i.e. `cost_to_move_up_usd` and `cost_to_move_down_usd`. \nDefault: false" - added
Input schema / properties / dex_pair_formatAdded value: +{ + "description": "Set to `symbol` to display DEX pair base and target as symbols. \nDefault: `contract_address`", + "enum": [ + "contract_address", + "symbol" + ], + "type": "string" +} - changed
Input schema / properties / exchange_ids / descriptionPrevious value: -"Comma-separated exchange IDs."New value: +"Exchange ID. \n*refers to [`/exchanges/list`](/reference/exchanges-list)" - added
Input schema / properties / id / defaultAdded value: +"bitcoin" - changed
Input schema / properties / id / descriptionPrevious value: -"CoinGecko coin ID (e.g., `bitcoin`, `ethereum`). Get the list via `/coins/list`."New value: +"Coin ID. \n*refers to [`/coins/list`](/reference/coins-list)" - removed
Input schema / properties / id / exampleRemoved value: -"bitcoin" - removed
Input schema / properties / include_exchange_logo / defaultRemoved value: -false - changed
Input schema / properties / include_exchange_logo / descriptionPrevious value: -"Show exchange logos in ticker results."New value: +"Include exchange logo. \nDefault: false" - added
Input schema / properties / order / descriptionAdded value: +"Sort the order of responses. \nDefault: trust_score_desc" - changed
Input schema / properties / order / enumPrevious value: -[ - "trust_score_desc", - "trust_score_asc", - "volume_desc" -]New value: +[ + "trust_score_desc", + "trust_score_asc", + "volume_desc", + "volume_asc" +] - removed
Input schema / properties / page / defaultRemoved value: -1 - added
Input schema / properties / page / descriptionAdded value: +"Page through results"
- Changed
get_coingecko_coins_list3 fields changed- removed
Input schema / properties / include_platform / defaultRemoved value: -false - changed
Input schema / properties / include_platform / descriptionPrevious value: -"Include platform + contract addresses."New value: +"Include platform and token's contract addresses. \nDefault: false" - added
Input schema / properties / statusAdded value: +{ + "description": "Filter by status of coins. \nDefault: active", + "enum": [ + "active", + "inactive" + ], + "type": "string" +}
- Changed
get_coingecko_coins_markets29 fields changed- changed
Input schema / properties / category / descriptionPrevious value: -"Filter by category (see `/coins/categories/list`)."New value: +"Filter based on coins' category. \n*refers to [`/coins/categories/list`](/reference/coins-categories-list)" - added
Input schema / properties / ids / defaultAdded value: +"bitcoin" - changed
Input schema / properties / ids / descriptionPrevious value: -"Comma-separated CoinGecko coin IDs."New value: +"Coins' IDs, comma-separated if querying more than 1 coin. \n*refers to [`/coins/list`](/reference/coins-list)" - removed
Input schema / properties / ids / exampleRemoved value: -"bitcoin,ethereum" - removed
Input schema / properties / include_rehypothecated / defaultRemoved value: -false - changed
Input schema / properties / include_rehypothecated / descriptionPrevious value: -"Include rehypothecated tokens in market data when supported by CoinGecko."New value: +"Include rehypothecated tokens in results. When true, returns `market_cap_rank_with_rehypothecated` field. \nDefault: false" - added
Input schema / properties / include_tokensAdded value: +{ + "description": "For `symbols` lookups, specify `all` to include all matching tokens. \nDefault `top` returns top-ranked tokens by market cap or volume.", + "enum": [ + "top", + "all" + ], + "type": "string" +} - removed
Input schema / properties / locale / defaultRemoved value: -"en" - changed
Input schema / properties / locale / descriptionPrevious value: -"Response language locale. Official values include `en`, `zh`, `zh-tw`, and other supported CoinGecko locales."New value: +"Language background. \nDefault: en" - added
Input schema / properties / locale / enumAdded value: +[ + "ar", + "bg", + "cs", + "da", + "de", + "el", + "en", + "es", + "fi", + "fr", + "he", + "hi", + "hr", + "hu", + "id", + "it", + "ja", + "ko", + "lt", + "nl", + "no", + "pl", + "pt", + "ro", + "ru", + "sk", + "sl", + "sv", + "th", + "tr", + "uk", + "vi", + "zh", + "zh-tw" +] - removed
Input schema / properties / locale / exampleRemoved value: -"en" - added
Input schema / properties / namesAdded value: +{ + "default": "Bitcoin", + "description": "Coins' names, comma-separated if querying more than 1 coin.", + "type": "string" +} - removed
Input schema / properties / order / defaultRemoved value: -"market_cap_desc" - added
Input schema / properties / order / descriptionAdded value: +"Sort result by field. \nDefault: market_cap_desc" - changed
Input schema / properties / order / enumPrevious value: -[ - "market_cap_desc", - "market_cap_asc", - "volume_desc", - "volume_asc", - "id_asc", - "id_desc" -]New value: +[ + "market_cap_asc", + "market_cap_desc", + "volume_asc", + "volume_desc", + "id_asc", + "id_desc" +] - removed
Input schema / properties / page / defaultRemoved value: -1 - added
Input schema / properties / page / descriptionAdded value: +"Page through results. \nDefault: 1" - removed
Input schema / properties / per_page / defaultRemoved value: -100 - added
Input schema / properties / per_page / descriptionAdded value: +"Total results per page. \nDefault: 100 \nValid values: 1...250" - removed
Input schema / properties / per_page / maximumRemoved value: -250 - removed
Input schema / properties / per_page / minimumRemoved value: -1 - changed
Input schema / properties / precision / descriptionPrevious value: -"`full` or a value from `0` to `18` to specify decimal places for currency price values."New value: +"Decimal places for currency price value" - added
Input schema / properties / precision / enumAdded value: +[ + "full", + "0", + "1", + "2", + "3", + "4", + "5", + "6", + "7", + "8", + "9", + "10", + "11", + "12", + "13", + "14", + "15", + "16", + "17", + "18" +] - removed
Input schema / properties / precision / exampleRemoved value: -"2" - changed
Input schema / properties / price_change_percentage / descriptionPrevious value: -"Comma-separated windows: `1h,24h,7d,14d,30d,200d,1y`."New value: +"Include price change percentage timeframe, comma-separated if querying more than 1 timeframe. \nValid values: `1h`, `24h`, `7d`, `14d`, `30d`, `200d`, `1y`" - removed
Input schema / properties / sparkline / defaultRemoved value: -false - added
Input schema / properties / sparkline / descriptionAdded value: +"Include sparkline 7-day data. \nDefault: false" - added
Input schema / properties / symbolsAdded value: +{ + "default": "btc", + "description": "Coins' symbols, comma-separated if querying more than 1 coin.", + "type": "string" +} - changed
Input schema / properties / vs_currency / descriptionPrevious value: -"Target currency for price (e.g., `usd`, `eur`, `btc`). See `/simple/supported_vs_currencies`."New value: +"Target currency of coins and market data. \n*refers to [`/simple/supported_vs_currencies`](/reference/simple-supported-currencies)"
- Changed
get_coingecko_exchanges7 fields changed- removed
Input schema / properties / page / defaultRemoved value: -1 - added
Input schema / properties / page / descriptionAdded value: +"Page through results. \nDefault: 1" - changed
Input schema / properties / page / typePrevious value: -"integer"New value: +"number" - removed
Input schema / properties / per_page / defaultRemoved value: -100 - added
Input schema / properties / per_page / descriptionAdded value: +"Total results per page. \nDefault: 100. \nValid values: 1...250" - removed
Input schema / properties / per_page / maximumRemoved value: -250 - changed
Input schema / properties / per_page / typePrevious value: -"integer"New value: +"number"
- Changed
get_coingecko_exchanges_id4 fields changed- added
Input schema / properties / dex_pair_formatAdded value: +{ + "description": "Set to `symbol` to display DEX pair base and target as symbols. \nDefault: `contract_address`", + "enum": [ + "contract_address", + "symbol" + ], + "type": "string" +} - added
Input schema / properties / id / defaultAdded value: +"binance" - changed
Input schema / properties / id / descriptionPrevious value: -"CoinGecko exchange ID (e.g., `binance`, `gdax`). Get the list via `/exchanges/list`."New value: +"Exchange ID. \n*refers to [`/exchanges/list`](/reference/exchanges-list)." - removed
Input schema / properties / id / exampleRemoved value: -"binance"
- Changed
get_coingecko_exchanges_id_tickers14 fields changed- changed
Input schema / properties / coin_ids / descriptionPrevious value: -"Filter by coin IDs (comma-separated)."New value: +"Filter tickers by coin IDs, comma-separated if querying more than 1 coin. \n*refers to [`/coins/list`](/reference/coins-list)." - removed
Input schema / properties / depth / defaultRemoved value: -false - added
Input schema / properties / depth / descriptionAdded value: +"Include 2% orderbook depth (cost_to_move_up_usd and cost_to_move_down_usd). \nDefault: false" - added
Input schema / properties / dex_pair_formatAdded value: +{ + "description": "Set to `symbol` to display DEX pair base and target as symbols. \nDefault: `contract_address`", + "enum": [ + "contract_address", + "symbol" + ], + "type": "string" +} - added
Input schema / properties / id / defaultAdded value: +"binance" - changed
Input schema / properties / id / descriptionPrevious value: -"CoinGecko exchange ID (e.g., `binance`, `gdax`). Get the list via `/exchanges/list`."New value: +"Exchange ID. \n*refers to [`/exchanges/list`](/reference/exchanges-list)." - removed
Input schema / properties / id / exampleRemoved value: -"binance" - removed
Input schema / properties / include_exchange_logo / defaultRemoved value: -false - changed
Input schema / properties / include_exchange_logo / descriptionPrevious value: -"Show exchange logos in ticker results."New value: +"Include exchange logo. \nDefault: false" - added
Input schema / properties / order / descriptionAdded value: +"Sort the order of responses. \nDefault: `trust_score_desc`" - changed
Input schema / properties / order / enumPrevious value: -[ - "trust_score_desc", - "trust_score_asc", - "volume_desc" -]New value: +[ + "market_cap_asc", + "market_cap_desc", + "trust_score_desc", + "trust_score_asc", + "volume_desc", + "volume_asc", + "base_target" +] - removed
Input schema / properties / page / defaultRemoved value: -1 - added
Input schema / properties / page / descriptionAdded value: +"Page through results." - changed
Input schema / properties / page / typePrevious value: -"integer"New value: +"number"
- Changed
get_coingecko_exchanges_list1 field changed- added
Input schema / properties / statusAdded value: +{ + "description": "Filter by status of exchanges. \nDefault: `active`", + "enum": [ + "active", + "inactive" + ], + "type": "string" +}
- Changed
get_coingecko_search_trending1 field changed- added
Input schema / properties / show_maxAdded value: +{ + "description": "Show max number of results available for the given type. \nAvailable values: `coins`, `nfts`, `categories` \ne.g. `coins` or `coins,nfts,categories`", + "type": "string" +}
- Changed
get_coingecko_simple_price20 fields changed- added
Input schema / properties / ids / defaultAdded value: +"bitcoin" - changed
Input schema / properties / ids / descriptionPrevious value: -"Comma-separated coin IDs."New value: +"Coins' IDs, comma-separated if querying more than 1 coin. \n*refers to [`/coins/list`](/reference/coins-list)" - removed
Input schema / properties / ids / exampleRemoved value: -"bitcoin,ethereum" - removed
Input schema / properties / include_24hr_change / defaultRemoved value: -false - added
Input schema / properties / include_24hr_change / descriptionAdded value: +"Include 24-hour change percentage. \nDefault: false" - removed
Input schema / properties / include_24hr_vol / defaultRemoved value: -false - added
Input schema / properties / include_24hr_vol / descriptionAdded value: +"Include 24-hour trading volume. \nDefault: false" - removed
Input schema / properties / include_last_updated_at / defaultRemoved value: -false - added
Input schema / properties / include_last_updated_at / descriptionAdded value: +"Include last updated price time as a UNIX timestamp. \nDefault: false" - removed
Input schema / properties / include_market_cap / defaultRemoved value: -false - added
Input schema / properties / include_market_cap / descriptionAdded value: +"Include market capitalization. \nDefault: false" - added
Input schema / properties / include_tokensAdded value: +{ + "description": "For `symbols` lookups, specify `all` to include all matching tokens. \nDefault `top` returns top-ranked tokens by market cap or volume.", + "enum": [ + "top", + "all" + ], + "type": "string" +} - added
Input schema / properties / namesAdded value: +{ + "default": "Bitcoin", + "description": "Coins' names, comma-separated if querying more than 1 coin.", + "type": "string" +} - added
Input schema / properties / precision / descriptionAdded value: +"Decimal places for currency price value" - added
Input schema / properties / precision / enumAdded value: +[ + "full", + "0", + "1", + "2", + "3", + "4", + "5", + "6", + "7", + "8", + "9", + "10", + "11", + "12", + "13", + "14", + "15", + "16", + "17", + "18" +] - added
Input schema / properties / symbolsAdded value: +{ + "default": "btc", + "description": "Coins' symbols, comma-separated if querying more than 1 coin.", + "type": "string" +} - added
Input schema / properties / vs_currencies / defaultAdded value: +"usd" - changed
Input schema / properties / vs_currencies / descriptionPrevious value: -"Comma-separated target currencies."New value: +"Target currency of coins, comma-separated if querying more than 1 currency. \n*refers to [`/simple/supported_vs_currencies`](/reference/simple-supported-currencies)" - removed
Input schema / properties / vs_currencies / exampleRemoved value: -"usd,eur" - changed
Input schema / requiredPrevious value: -[ - "ids", - "vs_currencies" -]New value: +[ + "vs_currencies" +]
- Changed
get_coingecko_simple_token_price_id16 fields changed- added
Input schema / properties / contract_addresses / defaultAdded value: +"0x2260fac5e5542a773aa44fbcfedf7c193bc2c599" - changed
Input schema / properties / contract_addresses / descriptionPrevious value: -"Comma-separated contract addresses."New value: +"Token contract addresses, comma-separated if querying more than 1 token" - removed
Input schema / properties / contract_addresses / exampleRemoved value: -"0xdAC17F958D2ee523a2206206994597C13D831ec7" - added
Input schema / properties / id / defaultAdded value: +"ethereum" - changed
Input schema / properties / id / descriptionPrevious value: -"Platform ID (e.g., `ethereum`, `binance-smart-chain`, `polygon-pos`)."New value: +"Asset platform's ID. \n*refers to [`/asset_platforms`](/reference/asset-platforms-list)" - removed
Input schema / properties / id / exampleRemoved value: -"ethereum" - added
Input schema / properties / include_24hr_change / descriptionAdded value: +"Include 24-hour change percentage. \nDefault: false" - added
Input schema / properties / include_24hr_vol / descriptionAdded value: +"Include 24-hour trading volume. \nDefault: false" - added
Input schema / properties / include_last_updated_at / descriptionAdded value: +"Include last updated price time as a UNIX timestamp. \nDefault: false" - added
Input schema / properties / include_market_cap / descriptionAdded value: +"Include market capitalization. \nDefault: false" - changed
Input schema / properties / precision / descriptionPrevious value: -"`full` or a value from `0` to `18` to specify decimal places for currency price values."New value: +"Decimal places for currency price value" - added
Input schema / properties / precision / enumAdded value: +[ + "full", + "0", + "1", + "2", + "3", + "4", + "5", + "6", + "7", + "8", + "9", + "10", + "11", + "12", + "13", + "14", + "15", + "16", + "17", + "18" +] - removed
Input schema / properties / precision / exampleRemoved value: -"2" - added
Input schema / properties / vs_currencies / defaultAdded value: +"usd" - changed
Input schema / properties / vs_currencies / descriptionPrevious value: -"Comma-separated target currencies."New value: +"Target currency of coins, comma-separated if querying more than 1 currency. \n*refers to [`/simple/supported_vs_currencies`](/reference/simple-supported-currencies)" - removed
Input schema / properties / vs_currencies / exampleRemoved value: -"usd"
- Changed
get_coingecko_token_data7 fields changed- changed
Input schema / properties / contract_address / defaultPrevious value: -"0xa0b86991c6218b36c1d19d4a2e9eb0ce3606eb48"New value: +"0xc02aaa39b223fe8d0a0e5c4f27ead9083c756cc2" - changed
Input schema / properties / contract_address / descriptionPrevious value: -"The contract address of the token."New value: +"The contract address of token." - removed
Input schema / properties / contract_address / exampleRemoved value: -"0xa0b86991c6218b36c1d19d4a2e9eb0ce3606eb48" - changed
Input schema / properties / id / descriptionPrevious value: -"Asset platform ID (e.g., `ethereum`). Refers to the `/asset_platforms` list on CoinGecko."New value: +"Asset platform ID. \n*refers to [`/asset_platforms`](/reference/asset-platforms-list)." - removed
Input schema / properties / id / exampleRemoved value: -"ethereum" - changed
Input schema / requiredPrevious value: -[ - "id", - "contract_address" -]New value: +[ + "contract_address", + "id" +] - removed
Output schema / x-fastmcp-wrap-resultRemoved value: -true
- Changed
get_coingecko_token_market_chart14 fields changed- added
Input schema / properties / contract_address / defaultAdded value: +"0xa0b86991c6218b36c1d19d4a2e9eb0ce3606eb48" - changed
Input schema / properties / contract_address / descriptionPrevious value: -"Contract address."New value: +"The contract address of token." - added
Input schema / properties / days / defaultAdded value: +"1" - changed
Input schema / properties / days / descriptionPrevious value: -"Data up to N days ago. Accepts `1`, `7`, `14`, `30`, `90`, `180`, `365`, or `max`."New value: +"Data up to number of days ago. \nYou may use any integer or `max` for number of days." - removed
Input schema / properties / days / exampleRemoved value: -"7" - added
Input schema / properties / id / defaultAdded value: +"ethereum" - changed
Input schema / properties / id / descriptionPrevious value: -"Platform ID."New value: +"Asset platform ID. \n*refers to [`/asset_platforms`](/reference/asset-platforms-list)." - removed
Input schema / properties / id / exampleRemoved value: -"ethereum" - added
Input schema / properties / intervalAdded value: +{ + "description": "Data interval, leave empty for auto granularity.", + "enum": [ + "1m", + "5m", + "hourly", + "daily" + ], + "type": "string" +} - changed
Input schema / properties / precision / descriptionPrevious value: -"`full` or a value from `0` to `18` to specify decimal places for currency price values."New value: +"Decimal place for currency price value." - added
Input schema / properties / precision / enumAdded value: +[ + "full", + "0", + "1", + "2", + "3", + "4", + "5", + "6", + "7", + "8", + "9", + "10", + "11", + "12", + "13", + "14", + "15", + "16", + "17", + "18" +] - removed
Input schema / properties / precision / exampleRemoved value: -"2" - changed
Input schema / properties / vs_currency / descriptionPrevious value: -"Target currency for price (e.g., `usd`, `eur`, `btc`). See `/simple/supported_vs_currencies`."New value: +"Target currency of market data. \n*refers to [`/simple/supported_vs_currencies`](/reference/simple-supported-currencies)." - changed
Input schema / requiredPrevious value: -[ - "id", - "contract_address", - "vs_currency", - "days" -]New value: +[ + "contract_address", + "id", + "days", + "vs_currency" +]
- Changed
get_coingecko_token_market_chart_range20 fields changed- added
Input schema / properties / contract_address / defaultAdded value: +"0xa0b86991c6218b36c1d19d4a2e9eb0ce3606eb48" - changed
Input schema / properties / contract_address / descriptionPrevious value: -"Token contract address."New value: +"The contract address of token." - removed
Input schema / properties / contract_address / exampleRemoved value: -"0xa0b86991c6218b36c1d19d4a2e9eb0ce3606eb48" - added
Input schema / properties / from / defaultAdded value: +"2025-12-22" - changed
Input schema / properties / from / descriptionPrevious value: -"Start UNIX timestamp (seconds)."New value: +"Starting date in ISO date string (`YYYY-MM-DD` or `YYYY-MM-DDTHH:MM`) or UNIX timestamp. \n**Use ISO date string for best compatibility.**" - removed
Input schema / properties / from / exampleRemoved value: -1751328000 - changed
Input schema / properties / from / typePrevious value: -"integer"New value: +"string" - added
Input schema / properties / id / defaultAdded value: +"ethereum" - changed
Input schema / properties / id / descriptionPrevious value: -"Asset platform ID (e.g., `ethereum`)."New value: +"Asset platform ID. \n*refers to [`/asset_platforms`](/reference/asset-platforms-list)." - removed
Input schema / properties / id / exampleRemoved value: -"ethereum" - added
Input schema / properties / intervalAdded value: +{ + "description": "Data interval, leave empty for auto granularity.", + "enum": [ + "1m", + "5m", + "hourly", + "daily" + ], + "type": "string" +} - changed
Input schema / properties / precision / descriptionPrevious value: -"`full` or a value from `0` to `18` to specify decimal places for currency price values."New value: +"Decimal place for currency price value." - added
Input schema / properties / precision / enumAdded value: +[ + "full", + "0", + "1", + "2", + "3", + "4", + "5", + "6", + "7", + "8", + "9", + "10", + "11", + "12", + "13", + "14", + "15", + "16", + "17", + "18" +] - removed
Input schema / properties / precision / exampleRemoved value: -"2" - added
Input schema / properties / to / defaultAdded value: +"2025-12-31" - changed
Input schema / properties / to / descriptionPrevious value: -"End UNIX timestamp (seconds)."New value: +"Ending date in ISO date string (`YYYY-MM-DD` or `YYYY-MM-DDTHH:MM`) or UNIX timestamp. \n**Use ISO date string for best compatibility.**" - removed
Input schema / properties / to / exampleRemoved value: -1751414400 - changed
Input schema / properties / to / typePrevious value: -"integer"New value: +"string" - changed
Input schema / properties / vs_currency / descriptionPrevious value: -"Target currency for price (e.g., `usd`, `eur`, `btc`). See `/simple/supported_vs_currencies`."New value: +"Target currency of market data. \n*refers to [`/simple/supported_vs_currencies`](/reference/simple-supported-currencies)." - changed
Input schema / requiredPrevious value: -[ - "id", - "contract_address", - "vs_currency", - "from", - "to" -]New value: +[ + "contract_address", + "id", + "from", + "to", + "vs_currency" +]
- Changed
get_details13 fields changed- added
Input schema / $schemaAdded value: +"https://json-schema.org/draft/2020-12/schema" - removed
Input schema / properties / argumentsRemoved value: -{ - "anyOf": [ - { - "additionalProperties": true, - "type": "object" - }, - { - "type": "null" - } - ], - "default": null, - "description": "The arguments the operation would be called with, for a price that reflects them. Keyed by operation_id for a batch, or passed flat for a single operation_id. Routes whose required parameters are validated before pricing have no price without them." -} - added
Input schema / properties / include_arguments_schemaAdded value: +{ + "default": true, + "description": "Return the complete arguments_schema. Defaults to true.", + "type": "boolean" +} - changed
Input schema / properties / include_documentation / descriptionPrevious value: -"Include the complete native public OpenAPI document, reference closure and scoped completeness. Existing execution schemas remain unchanged."New value: +"Return the complete immutable public OpenAPI operation, referenced declarations, provenance and scoped completeness. Documentation does not change execution support." - added
Input schema / properties / include_response_schemaAdded value: +{ + "default": false, + "description": "Return the complete response_schema. Defaults to false.", + "type": "boolean" +} - removed
Input schema / properties / operation_idRemoved value: -{ - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ], - "default": null, - "description": "One operation_id from search" -} - removed
Input schema / properties / operation_idsRemoved value: -{ - "anyOf": [ - { - "items": { - "type": "string" - }, - "type": "array" - }, - { - "type": "null" - } - ], - "default": null, - "description": "Up to 20 operation_ids, for a batch" -} - added
Input schema / properties / session_idAdded value: +{ + "description": "Reuse the session_id returned by Search in all subsequent tool calls for this task. If omitted, a new session is created.", + "maxLength": 128, + "pattern": "^[A-Za-z0-9_-]*$", + "type": "string" +} - added
Input schema / properties / toolsAdded value: +{ + "description": "Exact tool names returned by search whose complete contracts are needed. Never invent tool names.", + "items": { + "minLength": 1, + "pattern": "^\\S(?:.*\\S)?$", + "type": "string" + }, + "maxItems": 20, + "minItems": 1, + "type": "array", + "uniqueItems": true +} - removed
Input schema / properties / with_quoteRemoved value: -{ - "default": true, - "description": "Whether each operation is priced for this account before the answer. One round trip per operation; spends nothing.", - "type": "boolean" -} - added
Input schema / requiredAdded value: +[ + "tools" +] - added
Output schema / propertiesAdded value: +{ + "error_count": { + "type": "integer" + }, + "next_steps_guidance": { + "anyOf": [ + { + "type": "null" + }, + { + "type": "array" + } + ], + "items": { + "type": "string" + } + }, + "session_id": { + "description": "Reuse the session_id returned by Search in all subsequent tool calls for this task. If omitted, a new session is created.", + "maxLength": 128, + "minLength": 1, + "pattern": "^[A-Za-z0-9_-]{1,128}$", + "type": "string" + }, + "success_count": { + "type": "integer" + }, + "tools": { + "additionalProperties": { + "additionalProperties": false, + "properties": { + "arguments_schema": { + "additionalProperties": true, + "anyOf": [ + { + "type": "null" + }, + { + "type": "object" + } + ] + }, + "canonical_operation_id": { + "type": "string" + }, + "documentation": { + "additionalProperties": true, + "type": "object" + }, + "error": { + "additionalProperties": false, + "anyOf": [ + { + "type": "null" + }, + { + "type": "object" + } + ], + "properties": { + "code": { + "type": "string" + }, + "message": { + "type": "string" + } + }, + "required": [ + "code", + "message" + ] + }, + "execution_supported": { + "description": "Whether this router can execute and quote the operation; false retains documentation and discovery only.", + "type": "boolean" + }, + "execution_unsupported_reason": { + "description": "Why execution and quoting remain unavailable through this router.", + "type": "string" + }, + "idempotent": { + "anyOf": [ + { + "type": "null" + }, + { + "type": "boolean" + } + ] + }, + "known_pitfalls": { + "anyOf": [ + { + "type": "null" + }, + { + "type": "array" + } + ], + "items": { + "type": "string" + } + }, + "read_only": { + "anyOf": [ + { + "type": "null" + }, + { + "type": "boolean" + } + ] + }, + "response_schema": { + "additionalProperties": true, + "anyOf": [ + { + "type": "null" + }, + { + "type": "object" + } + ] + }, + "side_effects": { + "anyOf": [ + { + "type": "null" + }, + { + "type": "array" + } + ], + "items": { + "type": "string" + } + }, + "successful": { + "type": "boolean" + } + }, + "required": [ + "successful" + ], + "type": "object" + }, + "type": "object" + }, + "total_count": { + "type": "integer" + } +} - added
Output schema / requiredAdded value: +[ + "error_count", + "next_steps_guidance", + "session_id", + "success_count", + "tools", + "total_count" +]
- Changed
search17 fields changed- added
Input schema / $schemaAdded value: +"https://json-schema.org/draft/2020-12/schema" - removed
Input schema / properties / category / anyOfRemoved value: -[ - { - "enum": [ - "seo", - "finance", - "social", - "search", - "sales", - "mail" - ], - "type": "string" - }, - { - "type": "null" - } -] - removed
Input schema / properties / category / defaultRemoved value: -null - changed
Input schema / properties / category / descriptionPrevious value: -"Restrict to one category (seo, finance, social, search, sales, mail). Omit to search everything."New value: +"Restrict retrieval to one category. Omit to search everything. (AIsa-only: tool-router has no equivalent.)" - added
Input schema / properties / category / enumAdded value: +[ + "seo", + "finance", + "social", + "search", + "sales", + "mail" +] - added
Input schema / properties / category / typeAdded value: +"string" - added
Input schema / properties / known_fieldsAdded value: +{ + "additionalProperties": true, + "default": {}, + "description": "Known values such as ticker, URL, provider, or identifier that improve retrieval.", + "type": "object" +} - changed
Input schema / properties / limit / descriptionPrevious value: -"Maximum candidates, 1-10"New value: +"Maximum number of additional direct tool candidates." - added
Input schema / properties / limit / maximumAdded value: +20 - added
Input schema / properties / limit / minimumAdded value: +1 - added
Input schema / properties / provider_filtersAdded value: +{ + "default": [], + "description": "Optional exact catalog provider keys used to narrow retrieval (for example similarweb). Do not use display brands. Omit this field if the exact key is unknown.", + "items": { + "type": "string" + }, + "maxItems": 50, + "type": "array", + "uniqueItems": true +} - changed
Input schema / properties / query / descriptionPrevious value: -"What you need, in plain language, e.g. 'backlinks of a domain', 'recent tweets by a user', 'insider trades for AAPL'. English works best."New value: +"Natural-language capability or task to discover." - added
Input schema / properties / query / maxLengthAdded value: +2000 - added
Input schema / properties / query / minLengthAdded value: +1 - added
Input schema / properties / session_idAdded value: +{ + "description": "Reuse the session_id returned by Search in all subsequent tool calls for this task. If omitted, a new session is created.", + "maxLength": 128, + "pattern": "^[A-Za-z0-9_-]*$", + "type": "string" +} - added
Output schema / propertiesAdded value: +{ + "next_steps_guidance": { + "anyOf": [ + { + "type": "null" + }, + { + "type": "array" + } + ], + "items": { + "type": "string" + } + }, + "plan": { + "additionalProperties": false, + "anyOf": [ + { + "type": "null" + }, + { + "type": "object" + } + ], + "properties": { + "canonical_use_case": { + "type": "string" + }, + "description": { + "type": "string" + }, + "known_pitfalls": { + "anyOf": [ + { + "type": "null" + }, + { + "type": "array" + } + ], + "items": { + "type": "string" + } + }, + "plan_ref": { + "type": "string" + }, + "primary_tools": { + "anyOf": [ + { + "type": "null" + }, + { + "type": "array" + } + ], + "items": { + "type": "string" + } + }, + "recommended_steps": { + "anyOf": [ + { + "type": "null" + }, + { + "type": "array" + } + ], + "items": { + "type": "string" + } + }, + "related_tools": { + "anyOf": [ + { + "type": "null" + }, + { + "type": "array" + } + ], + "items": { + "type": "string" + } + } + }, + "required": [ + "canonical_use_case", + "description", + "known_pitfalls", + "plan_ref", + "primary_tools", + "recommended_steps", + "related_tools" + ] + }, + "retrieval_mode": { + "anyOf": [ + { + "type": "null" + }, + { + "type": "string" + } + ] + }, + "search_id": { + "type": "string" + }, + "session_id": { + "description": "Reuse the session_id returned by Search in all subsequent tool calls for this task. If omitted, a new session is created.", + "maxLength": 128, + "minLength": 1, + "pattern": "^[A-Za-z0-9_-]{1,128}$", + "type": "string" + }, + "tools": { + "anyOf": [ + { + "type": "null" + }, + { + "type": "array" + } + ], + "items": { + "additionalProperties": false, + "properties": { + "arguments_schema": { + "additionalProperties": true, + "anyOf": [ + { + "type": "null" + }, + { + "type": "object" + } + ] + }, + "description": { + "type": "string" + }, + "execution_supported": { + "description": "Whether this router can execute and quote the operation; false retains documentation and discovery only.", + "type": "boolean" + }, + "execution_unsupported_reason": { + "description": "Why execution and quoting remain unavailable through this router.", + "type": "string" + }, + "has_full_schema": { + "type": "boolean" + }, + "match_reasons": { + "anyOf": [ + { + "type": "null" + }, + { + "type": "array" + } + ], + "items": { + "type": "string" + } + }, + "price": { + "additionalProperties": true, + "type": "object" + }, + "retrieval_debug": { + "additionalProperties": false, + "anyOf": [ + { + "type": "null" + }, + { + "type": "object" + } + ], + "properties": { + "fused_rank": { + "type": "integer" + }, + "fused_score": { + "type": "number" + }, + "lexical_rank": { + "type": "integer" + }, + "lexical_score": { + "type": "number" + }, + "rerank_admission_rank": { + "type": "integer" + }, + "rerank_rank": { + "type": "integer" + }, + "rerank_score": { + "anyOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "runtime_availability": { + "type": "string" + }, + "vector_view_ranks": { + "additionalProperties": { + "type": "integer" + }, + "type": "object" + }, + "vector_view_scores": { + "additionalProperties": { + "type": "number" + }, + "type": "object" + } + }, + "required": [ + "fused_rank", + "fused_score", + "lexical_rank", + "lexical_score", + "rerank_admission_rank", + "rerank_rank", + "runtime_availability", + "vector_view_ranks", + "vector_view_scores" + ] + }, + "summary": { + "type": "string" + }, + "tool": { + "type": "string" + } + }, + "required": [ + "description", + "has_full_schema", + "price", + "summary", + "tool" + ], + "type": "object" + } + } +} - added
Output schema / requiredAdded value: +[ + "next_steps_guidance", + "search_id", + "session_id", + "tools" +]
- Changed
use1 field changed- changed
Input schema / properties / max_price_usd / descriptionPrevious value: -"Refuse the call before any spend if it would cost more than this many USD"New value: +"Refuse the call before any spend if its quoted price is above this many USD"
25 tool updates
- Removed
batch_get_schema - Removed
batch_quote - Changed
batch_use18 fields changed- removed
Input schema / $schemaRemoved value: -"https://json-schema.org/draft/2020-12/schema" - added
Input schema / properties / calls / descriptionAdded value: +"Up to 20 items of {call_id, operation_id, arguments}; steps at the same execution_level of a plan go in one batch" - removed
Input schema / properties / calls / items / $schemaRemoved value: -"https://json-schema.org/draft/2020-12/schema" - changed
Input schema / properties / calls / items / additionalPropertiesPrevious value: -falseNew value: +true - removed
Input schema / properties / calls / items / propertiesRemoved value: -{ - "arguments": { - "additionalProperties": true, - "description": "Strictly schema-compliant arguments using the exact field names and types from this tool's arguments_schema.", - "type": "object" - }, - "call_id": { - "description": "Caller-chosen identifier unique within this batch.", - "maxLength": 128, - "minLength": 1, - "type": "string" - }, - "tool": { - "description": "Exact tool name returned by search or batch_get_schema. Never invent a name.", - "minLength": 1, - "type": "string" - } -} - removed
Input schema / properties / calls / items / requiredRemoved value: -[ - "call_id", - "tool", - "arguments" -] - removed
Input schema / properties / calls / maxItemsRemoved value: -20 - removed
Input schema / properties / calls / minItemsRemoved value: -1 - added
Input schema / properties / max_price_usdAdded value: +{ + "anyOf": [ + { + "type": "number" + }, + { + "type": "null" + } + ], + "default": null, + "description": "Per-call price cap applied to every item" +} - added
Input schema / properties / search_id / anyOfAdded value: +[ + { + "type": "string" + }, + { + "type": "null" + } +] - added
Input schema / properties / search_id / defaultAdded value: +null - changed
Input schema / properties / search_id / descriptionPrevious value: -"Optional search correlation identifier returned by search."New value: +"search_id from the search that found these operations" - removed
Input schema / properties / search_id / typeRemoved value: -"string" - removed
Input schema / properties / session_idRemoved value: -{ - "description": "Reuse the session_id returned by Search in all subsequent tool calls for this task. If omitted, a new session is created.", - "maxLength": 128, - "pattern": "^[A-Za-z0-9_-]*$", - "type": "string" -} - removed
Output schema / $defsRemoved value: -{ - "jsonValue": { - "anyOf": [ - { - "additionalProperties": { - "$ref": "#/$defs/jsonValue" - }, - "type": "object" - }, - { - "items": { - "$ref": "#/$defs/jsonValue" - }, - "type": "array" - }, - { - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ], - "description": "JSON value returned by the upstream tool." - } -} - removed
Output schema / $schemaRemoved value: -"https://json-schema.org/draft/2020-12/schema" - removed
Output schema / propertiesRemoved value: -{ - "batch_id": { - "type": "string" - }, - "error_count": { - "minimum": 0, - "type": "integer" - }, - "next_steps_guidance": { - "description": "Deterministic next-step instructions derived from this result. Not an authorization grant.", - "items": { - "type": "string" - }, - "type": "array" - }, - "results": { - "items": { - "$schema": "https://json-schema.org/draft/2020-12/schema", - "additionalProperties": false, - "properties": { - "call_id": { - "type": "string" - }, - "customer_cost_micros_usd": { - "description": "Actual customer charge settled by AIsaServices, in micro-USD. Omitted when the upstream response does not report it.", - "minimum": 0, - "type": "integer" - }, - "data": { - "$ref": "#/$defs/jsonValue" - }, - "error": { - "anyOf": [ - { - "$schema": "https://json-schema.org/draft/2020-12/schema", - "additionalProperties": false, - "properties": { - "message": { - "type": "string" - }, - "retryable": { - "type": "boolean" - }, - "status": { - "type": "integer" - }, - "type": { - "enum": [ - "validation", - "authentication", - "payment", - "permission", - "rate_limit", - "upstream", - "timeout", - "internal" - ], - "type": "string" - } - }, - "required": [ - "type", - "status", - "retryable" - ], - "type": "object" - }, - { - "type": "null" - } - ] - }, - "request_id": { - "type": "string" - }, - "successful": { - "type": "boolean" - }, - "tool": { - "type": "string" - }, - "upstream_status": { - "description": "HTTP status returned by AIsaServices when a request was dispatched.", - "type": "integer" - } - }, - "required": [ - "call_id", - "tool", - "successful", - "request_id" - ], - "type": "object" - }, - "type": "array" - }, - "session_id": { - "description": "Reuse the session_id returned by Search in all subsequent tool calls for this task. If omitted, a new session is created.", - "maxLength": 128, - "minLength": 1, - "pattern": "^[A-Za-z0-9_-]*$", - "type": "string" - }, - "success_count": { - "minimum": 0, - "type": "integer" - }, - "total_count": { - "minimum": 1, - "type": "integer" - } -} - removed
Output schema / requiredRemoved value: -[ - "session_id", - "batch_id", - "total_count", - "success_count", - "error_count", - "results", - "next_steps_guidance" -]
- Changed
get_coingecko_coins_categories1 field changed- removed
Input schema / properties / order / descriptionRemoved value: -"Sort results by field. \nDefault: `market_cap_desc`"
- Changed
get_coingecko_coins_id16 fields changed- added
Input schema / properties / community_data / defaultAdded value: +true - removed
Input schema / properties / community_data / descriptionRemoved value: -"Include community data. \nDeprecated: has no effect as of 28 August 2026; the `community_data` object is no longer returned." - added
Input schema / properties / developer_data / defaultAdded value: +true - removed
Input schema / properties / developer_data / descriptionRemoved value: -"Include developer data. \nDeprecated: has no effect as of 28 August 2026; the `developer_data` object is no longer returned." - removed
Input schema / properties / dex_pair_formatRemoved value: -{ - "description": "Set to `symbol` to display DEX pair base and target as symbols. \nDefault: `contract_address`", - "enum": [ - "contract_address", - "symbol" - ], - "type": "string" -} - removed
Input schema / properties / id / defaultRemoved value: -"bitcoin" - changed
Input schema / properties / id / descriptionPrevious value: -"Coin ID. \n*refers to [`/coins/list`](/reference/coins-list)"New value: +"CoinGecko coin ID (e.g., `bitcoin`, `ethereum`). Get the list via `/coins/list`." - removed
Input schema / properties / include_categories_detailsRemoved value: -{ - "description": "Include categories details. \nDefault: false", - "type": "boolean" -} - added
Input schema / properties / localization / defaultAdded value: +true - removed
Input schema / properties / localization / descriptionRemoved value: -"Include all localized languages in the response. \nDefault: true" - added
Input schema / properties / market_data / defaultAdded value: +true - removed
Input schema / properties / market_data / descriptionRemoved value: -"Include market data. \nDefault: true" - added
Input schema / properties / sparkline / defaultAdded value: +false - removed
Input schema / properties / sparkline / descriptionRemoved value: -"Include sparkline 7-day data. \nDefault: false" - added
Input schema / properties / tickers / defaultAdded value: +true - removed
Input schema / properties / tickers / descriptionRemoved value: -"Include tickers data. \nDefault: true"
- Changed
get_coingecko_coins_id_history8 fields changed- removed
Input schema / properties / date / defaultRemoved value: -"2025-12-30" - changed
Input schema / properties / date / descriptionPrevious value: -"The date of data snapshot. \nFormat: `YYYY-MM-DD`"New value: +"Date in `dd-mm-yyyy` format." - added
Input schema / properties / date / exampleAdded value: +"30-12-2024" - removed
Input schema / properties / id / defaultRemoved value: -"bitcoin" - changed
Input schema / properties / id / descriptionPrevious value: -"Coin ID. \n*refers to [`/coins/list`](/reference/coins-list)."New value: +"CoinGecko coin ID (e.g., `bitcoin`, `ethereum`). Get the list via `/coins/list`." - added
Input schema / properties / id / exampleAdded value: +"bitcoin" - added
Input schema / properties / localization / defaultAdded value: +true - removed
Input schema / properties / localization / descriptionRemoved value: -"Include all the localized languages in response. \nDefault: true"
- Changed
get_coingecko_coins_id_market_chart13 fields changed- removed
Input schema / properties / days / defaultRemoved value: -"1" - changed
Input schema / properties / days / descriptionPrevious value: -"Data up to number of days ago. \nYou may use any integer or `max` for number of days."New value: +"Data up to N days ago. Accepts `1`, `7`, `14`, `30`, `90`, `180`, `365`, or `max`." - added
Input schema / properties / days / exampleAdded value: +"7" - removed
Input schema / properties / id / defaultRemoved value: -"bitcoin" - changed
Input schema / properties / id / descriptionPrevious value: -"Coin ID. \n*refers to [`/coins/list`](/reference/coins-list)."New value: +"CoinGecko coin ID (e.g., `bitcoin`, `ethereum`). Get the list via `/coins/list`." - added
Input schema / properties / id / exampleAdded value: +"bitcoin" - changed
Input schema / properties / interval / descriptionPrevious value: -"Data interval, leave empty for auto granularity."New value: +"Data interval. CoinGecko supports `daily`; `hourly` is also available for supported ranges." - changed
Input schema / properties / interval / enumPrevious value: -[ - "1m", - "5m", - "hourly", - "daily" -]New value: +[ + "daily", + "hourly" +] - changed
Input schema / properties / precision / descriptionPrevious value: -"Decimal place for currency price value."New value: +"`full` or a value from `0` to `18` to specify decimal places for currency price values." - removed
Input schema / properties / precision / enumRemoved value: -[ - "full", - "0", - "1", - "2", - "3", - "4", - "5", - "6", - "7", - "8", - "9", - "10", - "11", - "12", - "13", - "14", - "15", - "16", - "17", - "18" -] - added
Input schema / properties / precision / exampleAdded value: +"2" - changed
Input schema / properties / vs_currency / descriptionPrevious value: -"Target currency of market data. \n*refers to [`/simple/supported_vs_currencies`](/reference/simple-supported-currencies)."New value: +"Target currency for price (e.g., `usd`, `eur`, `btc`). See `/simple/supported_vs_currencies`." - changed
Input schema / requiredPrevious value: -[ - "id", - "days", - "vs_currency" -]New value: +[ + "id", + "vs_currency", + "days" +]
- Changed
get_coingecko_coins_id_market_chart_range17 fields changed- removed
Input schema / properties / from / defaultRemoved value: -"2025-12-22" - changed
Input schema / properties / from / descriptionPrevious value: -"Starting date in ISO date string (`YYYY-MM-DD` or `YYYY-MM-DDTHH:MM`) or UNIX timestamp. \n**Use ISO date string for best compatibility.**"New value: +"Start UNIX timestamp (seconds)." - added
Input schema / properties / from / exampleAdded value: +1713398400 - changed
Input schema / properties / from / typePrevious value: -"string"New value: +"integer" - removed
Input schema / properties / id / defaultRemoved value: -"bitcoin" - changed
Input schema / properties / id / descriptionPrevious value: -"Coin ID. \n*refers to [`/coins/list`](/reference/coins-list)."New value: +"CoinGecko coin ID (e.g., `bitcoin`, `ethereum`). Get the list via `/coins/list`." - added
Input schema / properties / id / exampleAdded value: +"bitcoin" - removed
Input schema / properties / intervalRemoved value: -{ - "description": "Data interval, leave empty for auto granularity.", - "enum": [ - "1m", - "5m", - "hourly", - "daily" - ], - "type": "string" -} - changed
Input schema / properties / precision / descriptionPrevious value: -"Decimal place for currency price value."New value: +"`full` or a value from `0` to `18` to specify decimal places for currency price values." - removed
Input schema / properties / precision / enumRemoved value: -[ - "full", - "0", - "1", - "2", - "3", - "4", - "5", - "6", - "7", - "8", - "9", - "10", - "11", - "12", - "13", - "14", - "15", - "16", - "17", - "18" -] - added
Input schema / properties / precision / exampleAdded value: +"2" - removed
Input schema / properties / to / defaultRemoved value: -"2025-12-31" - changed
Input schema / properties / to / descriptionPrevious value: -"Ending date in ISO date string (`YYYY-MM-DD` or `YYYY-MM-DDTHH:MM`) or UNIX timestamp. \n**Use ISO date string for best compatibility.**"New value: +"End UNIX timestamp (seconds)." - added
Input schema / properties / to / exampleAdded value: +1713484800 - changed
Input schema / properties / to / typePrevious value: -"string"New value: +"integer" - changed
Input schema / properties / vs_currency / descriptionPrevious value: -"Target currency of market data. \n*refers to [`/simple/supported_vs_currencies`](/reference/simple-supported-currencies)."New value: +"Target currency for price (e.g., `usd`, `eur`, `btc`). See `/simple/supported_vs_currencies`." - changed
Input schema / requiredPrevious value: -[ - "id", - "from", - "to", - "vs_currency" -]New value: +[ + "id", + "vs_currency", + "from", + "to" +]
- Changed
get_coingecko_coins_id_ohlc13 fields changed- removed
Input schema / properties / days / defaultRemoved value: -"1" - changed
Input schema / properties / days / descriptionPrevious value: -"Data up to number of days ago."New value: +"`1`, `7`, `14`, `30`, `90`, `180`, `365`." - removed
Input schema / properties / days / enumRemoved value: -[ - "1", - "7", - "14", - "30", - "90", - "180", - "365", - "max" -] - added
Input schema / properties / days / exampleAdded value: +"7" - removed
Input schema / properties / id / defaultRemoved value: -"bitcoin" - changed
Input schema / properties / id / descriptionPrevious value: -"Coin ID. \n*refers to [`/coins/list`](/reference/coins-list)."New value: +"CoinGecko coin ID (e.g., `bitcoin`, `ethereum`). Get the list via `/coins/list`." - added
Input schema / properties / id / exampleAdded value: +"bitcoin" - removed
Input schema / properties / intervalRemoved value: -{ - "description": "Data interval, leave empty for auto granularity.", - "enum": [ - "daily", - "hourly" - ], - "type": "string" -} - changed
Input schema / properties / precision / descriptionPrevious value: -"Decimal place for currency price value."New value: +"`full` or a value from `0` to `18` to specify decimal places for currency price values." - removed
Input schema / properties / precision / enumRemoved value: -[ - "full", - "0", - "1", - "2", - "3", - "4", - "5", - "6", - "7", - "8", - "9", - "10", - "11", - "12", - "13", - "14", - "15", - "16", - "17", - "18" -] - added
Input schema / properties / precision / exampleAdded value: +"2" - changed
Input schema / properties / vs_currency / descriptionPrevious value: -"Target currency of price data. \n*refers to [`/simple/supported_vs_currencies`](/reference/simple-supported-currencies)."New value: +"Target currency for price (e.g., `usd`, `eur`, `btc`). See `/simple/supported_vs_currencies`." - changed
Input schema / requiredPrevious value: -[ - "id", - "days", - "vs_currency" -]New value: +[ + "id", + "vs_currency", + "days" +]
- Changed
get_coingecko_coins_id_tickers13 fields changed- added
Input schema / properties / depth / defaultAdded value: +false - removed
Input schema / properties / depth / descriptionRemoved value: -"Include 2% orderbook depth, i.e. `cost_to_move_up_usd` and `cost_to_move_down_usd`. \nDefault: false" - removed
Input schema / properties / dex_pair_formatRemoved value: -{ - "description": "Set to `symbol` to display DEX pair base and target as symbols. \nDefault: `contract_address`", - "enum": [ - "contract_address", - "symbol" - ], - "type": "string" -} - changed
Input schema / properties / exchange_ids / descriptionPrevious value: -"Exchange ID. \n*refers to [`/exchanges/list`](/reference/exchanges-list)"New value: +"Comma-separated exchange IDs." - removed
Input schema / properties / id / defaultRemoved value: -"bitcoin" - changed
Input schema / properties / id / descriptionPrevious value: -"Coin ID. \n*refers to [`/coins/list`](/reference/coins-list)"New value: +"CoinGecko coin ID (e.g., `bitcoin`, `ethereum`). Get the list via `/coins/list`." - added
Input schema / properties / id / exampleAdded value: +"bitcoin" - added
Input schema / properties / include_exchange_logo / defaultAdded value: +false - changed
Input schema / properties / include_exchange_logo / descriptionPrevious value: -"Include exchange logo. \nDefault: false"New value: +"Show exchange logos in ticker results." - removed
Input schema / properties / order / descriptionRemoved value: -"Sort the order of responses. \nDefault: trust_score_desc" - changed
Input schema / properties / order / enumPrevious value: -[ - "trust_score_desc", - "trust_score_asc", - "volume_desc", - "volume_asc" -]New value: +[ + "trust_score_desc", + "trust_score_asc", + "volume_desc" +] - added
Input schema / properties / page / defaultAdded value: +1 - removed
Input schema / properties / page / descriptionRemoved value: -"Page through results"
- Changed
get_coingecko_coins_list3 fields changed- added
Input schema / properties / include_platform / defaultAdded value: +false - changed
Input schema / properties / include_platform / descriptionPrevious value: -"Include platform and token's contract addresses. \nDefault: false"New value: +"Include platform + contract addresses." - removed
Input schema / properties / statusRemoved value: -{ - "description": "Filter by status of coins. \nDefault: active", - "enum": [ - "active", - "inactive" - ], - "type": "string" -}
- Changed
get_coingecko_coins_markets29 fields changed- changed
Input schema / properties / category / descriptionPrevious value: -"Filter based on coins' category. \n*refers to [`/coins/categories/list`](/reference/coins-categories-list)"New value: +"Filter by category (see `/coins/categories/list`)." - removed
Input schema / properties / ids / defaultRemoved value: -"bitcoin" - changed
Input schema / properties / ids / descriptionPrevious value: -"Coins' IDs, comma-separated if querying more than 1 coin. \n*refers to [`/coins/list`](/reference/coins-list)"New value: +"Comma-separated CoinGecko coin IDs." - added
Input schema / properties / ids / exampleAdded value: +"bitcoin,ethereum" - added
Input schema / properties / include_rehypothecated / defaultAdded value: +false - changed
Input schema / properties / include_rehypothecated / descriptionPrevious value: -"Include rehypothecated tokens in results. When true, returns `market_cap_rank_with_rehypothecated` field. \nDefault: false"New value: +"Include rehypothecated tokens in market data when supported by CoinGecko." - removed
Input schema / properties / include_tokensRemoved value: -{ - "description": "For `symbols` lookups, specify `all` to include all matching tokens. \nDefault `top` returns top-ranked tokens by market cap or volume.", - "enum": [ - "top", - "all" - ], - "type": "string" -} - added
Input schema / properties / locale / defaultAdded value: +"en" - changed
Input schema / properties / locale / descriptionPrevious value: -"Language background. \nDefault: en"New value: +"Response language locale. Official values include `en`, `zh`, `zh-tw`, and other supported CoinGecko locales." - removed
Input schema / properties / locale / enumRemoved value: -[ - "ar", - "bg", - "cs", - "da", - "de", - "el", - "en", - "es", - "fi", - "fr", - "he", - "hi", - "hr", - "hu", - "id", - "it", - "ja", - "ko", - "lt", - "nl", - "no", - "pl", - "pt", - "ro", - "ru", - "sk", - "sl", - "sv", - "th", - "tr", - "uk", - "vi", - "zh", - "zh-tw" -] - added
Input schema / properties / locale / exampleAdded value: +"en" - removed
Input schema / properties / namesRemoved value: -{ - "default": "Bitcoin", - "description": "Coins' names, comma-separated if querying more than 1 coin.", - "type": "string" -} - added
Input schema / properties / order / defaultAdded value: +"market_cap_desc" - removed
Input schema / properties / order / descriptionRemoved value: -"Sort result by field. \nDefault: market_cap_desc" - changed
Input schema / properties / order / enumPrevious value: -[ - "market_cap_asc", - "market_cap_desc", - "volume_asc", - "volume_desc", - "id_asc", - "id_desc" -]New value: +[ + "market_cap_desc", + "market_cap_asc", + "volume_desc", + "volume_asc", + "id_asc", + "id_desc" +] - added
Input schema / properties / page / defaultAdded value: +1 - removed
Input schema / properties / page / descriptionRemoved value: -"Page through results. \nDefault: 1" - added
Input schema / properties / per_page / defaultAdded value: +100 - removed
Input schema / properties / per_page / descriptionRemoved value: -"Total results per page. \nDefault: 100 \nValid values: 1...250" - added
Input schema / properties / per_page / maximumAdded value: +250 - added
Input schema / properties / per_page / minimumAdded value: +1 - changed
Input schema / properties / precision / descriptionPrevious value: -"Decimal places for currency price value"New value: +"`full` or a value from `0` to `18` to specify decimal places for currency price values." - removed
Input schema / properties / precision / enumRemoved value: -[ - "full", - "0", - "1", - "2", - "3", - "4", - "5", - "6", - "7", - "8", - "9", - "10", - "11", - "12", - "13", - "14", - "15", - "16", - "17", - "18" -] - added
Input schema / properties / precision / exampleAdded value: +"2" - changed
Input schema / properties / price_change_percentage / descriptionPrevious value: -"Include price change percentage timeframe, comma-separated if querying more than 1 timeframe. \nValid values: `1h`, `24h`, `7d`, `14d`, `30d`, `200d`, `1y`"New value: +"Comma-separated windows: `1h,24h,7d,14d,30d,200d,1y`." - added
Input schema / properties / sparkline / defaultAdded value: +false - removed
Input schema / properties / sparkline / descriptionRemoved value: -"Include sparkline 7-day data. \nDefault: false" - removed
Input schema / properties / symbolsRemoved value: -{ - "default": "btc", - "description": "Coins' symbols, comma-separated if querying more than 1 coin.", - "type": "string" -} - changed
Input schema / properties / vs_currency / descriptionPrevious value: -"Target currency of coins and market data. \n*refers to [`/simple/supported_vs_currencies`](/reference/simple-supported-currencies)"New value: +"Target currency for price (e.g., `usd`, `eur`, `btc`). See `/simple/supported_vs_currencies`."
- Changed
get_coingecko_exchanges7 fields changed- added
Input schema / properties / page / defaultAdded value: +1 - removed
Input schema / properties / page / descriptionRemoved value: -"Page through results. \nDefault: 1" - changed
Input schema / properties / page / typePrevious value: -"number"New value: +"integer" - added
Input schema / properties / per_page / defaultAdded value: +100 - removed
Input schema / properties / per_page / descriptionRemoved value: -"Total results per page. \nDefault: 100. \nValid values: 1...250" - added
Input schema / properties / per_page / maximumAdded value: +250 - changed
Input schema / properties / per_page / typePrevious value: -"number"New value: +"integer"
- Changed
get_coingecko_exchanges_id4 fields changed- removed
Input schema / properties / dex_pair_formatRemoved value: -{ - "description": "Set to `symbol` to display DEX pair base and target as symbols. \nDefault: `contract_address`", - "enum": [ - "contract_address", - "symbol" - ], - "type": "string" -} - removed
Input schema / properties / id / defaultRemoved value: -"binance" - changed
Input schema / properties / id / descriptionPrevious value: -"Exchange ID. \n*refers to [`/exchanges/list`](/reference/exchanges-list)."New value: +"CoinGecko exchange ID (e.g., `binance`, `gdax`). Get the list via `/exchanges/list`." - added
Input schema / properties / id / exampleAdded value: +"binance"
- Changed
get_coingecko_exchanges_id_tickers14 fields changed- changed
Input schema / properties / coin_ids / descriptionPrevious value: -"Filter tickers by coin IDs, comma-separated if querying more than 1 coin. \n*refers to [`/coins/list`](/reference/coins-list)."New value: +"Filter by coin IDs (comma-separated)." - added
Input schema / properties / depth / defaultAdded value: +false - removed
Input schema / properties / depth / descriptionRemoved value: -"Include 2% orderbook depth (cost_to_move_up_usd and cost_to_move_down_usd). \nDefault: false" - removed
Input schema / properties / dex_pair_formatRemoved value: -{ - "description": "Set to `symbol` to display DEX pair base and target as symbols. \nDefault: `contract_address`", - "enum": [ - "contract_address", - "symbol" - ], - "type": "string" -} - removed
Input schema / properties / id / defaultRemoved value: -"binance" - changed
Input schema / properties / id / descriptionPrevious value: -"Exchange ID. \n*refers to [`/exchanges/list`](/reference/exchanges-list)."New value: +"CoinGecko exchange ID (e.g., `binance`, `gdax`). Get the list via `/exchanges/list`." - added
Input schema / properties / id / exampleAdded value: +"binance" - added
Input schema / properties / include_exchange_logo / defaultAdded value: +false - changed
Input schema / properties / include_exchange_logo / descriptionPrevious value: -"Include exchange logo. \nDefault: false"New value: +"Show exchange logos in ticker results." - removed
Input schema / properties / order / descriptionRemoved value: -"Sort the order of responses. \nDefault: `trust_score_desc`" - changed
Input schema / properties / order / enumPrevious value: -[ - "market_cap_asc", - "market_cap_desc", - "trust_score_desc", - "trust_score_asc", - "volume_desc", - "volume_asc", - "base_target" -]New value: +[ + "trust_score_desc", + "trust_score_asc", + "volume_desc" +] - added
Input schema / properties / page / defaultAdded value: +1 - removed
Input schema / properties / page / descriptionRemoved value: -"Page through results." - changed
Input schema / properties / page / typePrevious value: -"number"New value: +"integer"
- Changed
get_coingecko_exchanges_list1 field changed- removed
Input schema / properties / statusRemoved value: -{ - "description": "Filter by status of exchanges. \nDefault: `active`", - "enum": [ - "active", - "inactive" - ], - "type": "string" -}
- Changed
get_coingecko_search_trending1 field changed- removed
Input schema / properties / show_maxRemoved value: -{ - "description": "Show max number of results available for the given type. \nAvailable values: `coins`, `nfts`, `categories` \ne.g. `coins` or `coins,nfts,categories`", - "type": "string" -}
- Changed
get_coingecko_simple_price20 fields changed- removed
Input schema / properties / ids / defaultRemoved value: -"bitcoin" - changed
Input schema / properties / ids / descriptionPrevious value: -"Coins' IDs, comma-separated if querying more than 1 coin. \n*refers to [`/coins/list`](/reference/coins-list)"New value: +"Comma-separated coin IDs." - added
Input schema / properties / ids / exampleAdded value: +"bitcoin,ethereum" - added
Input schema / properties / include_24hr_change / defaultAdded value: +false - removed
Input schema / properties / include_24hr_change / descriptionRemoved value: -"Include 24-hour change percentage. \nDefault: false" - added
Input schema / properties / include_24hr_vol / defaultAdded value: +false - removed
Input schema / properties / include_24hr_vol / descriptionRemoved value: -"Include 24-hour trading volume. \nDefault: false" - added
Input schema / properties / include_last_updated_at / defaultAdded value: +false - removed
Input schema / properties / include_last_updated_at / descriptionRemoved value: -"Include last updated price time as a UNIX timestamp. \nDefault: false" - added
Input schema / properties / include_market_cap / defaultAdded value: +false - removed
Input schema / properties / include_market_cap / descriptionRemoved value: -"Include market capitalization. \nDefault: false" - removed
Input schema / properties / include_tokensRemoved value: -{ - "description": "For `symbols` lookups, specify `all` to include all matching tokens. \nDefault `top` returns top-ranked tokens by market cap or volume.", - "enum": [ - "top", - "all" - ], - "type": "string" -} - removed
Input schema / properties / namesRemoved value: -{ - "default": "Bitcoin", - "description": "Coins' names, comma-separated if querying more than 1 coin.", - "type": "string" -} - removed
Input schema / properties / precision / descriptionRemoved value: -"Decimal places for currency price value" - removed
Input schema / properties / precision / enumRemoved value: -[ - "full", - "0", - "1", - "2", - "3", - "4", - "5", - "6", - "7", - "8", - "9", - "10", - "11", - "12", - "13", - "14", - "15", - "16", - "17", - "18" -] - removed
Input schema / properties / symbolsRemoved value: -{ - "default": "btc", - "description": "Coins' symbols, comma-separated if querying more than 1 coin.", - "type": "string" -} - removed
Input schema / properties / vs_currencies / defaultRemoved value: -"usd" - changed
Input schema / properties / vs_currencies / descriptionPrevious value: -"Target currency of coins, comma-separated if querying more than 1 currency. \n*refers to [`/simple/supported_vs_currencies`](/reference/simple-supported-currencies)"New value: +"Comma-separated target currencies." - added
Input schema / properties / vs_currencies / exampleAdded value: +"usd,eur" - changed
Input schema / requiredPrevious value: -[ - "vs_currencies" -]New value: +[ + "ids", + "vs_currencies" +]
- Changed
get_coingecko_simple_token_price_id16 fields changed- removed
Input schema / properties / contract_addresses / defaultRemoved value: -"0x2260fac5e5542a773aa44fbcfedf7c193bc2c599" - changed
Input schema / properties / contract_addresses / descriptionPrevious value: -"Token contract addresses, comma-separated if querying more than 1 token"New value: +"Comma-separated contract addresses." - added
Input schema / properties / contract_addresses / exampleAdded value: +"0xdAC17F958D2ee523a2206206994597C13D831ec7" - removed
Input schema / properties / id / defaultRemoved value: -"ethereum" - changed
Input schema / properties / id / descriptionPrevious value: -"Asset platform's ID. \n*refers to [`/asset_platforms`](/reference/asset-platforms-list)"New value: +"Platform ID (e.g., `ethereum`, `binance-smart-chain`, `polygon-pos`)." - added
Input schema / properties / id / exampleAdded value: +"ethereum" - removed
Input schema / properties / include_24hr_change / descriptionRemoved value: -"Include 24-hour change percentage. \nDefault: false" - removed
Input schema / properties / include_24hr_vol / descriptionRemoved value: -"Include 24-hour trading volume. \nDefault: false" - removed
Input schema / properties / include_last_updated_at / descriptionRemoved value: -"Include last updated price time as a UNIX timestamp. \nDefault: false" - removed
Input schema / properties / include_market_cap / descriptionRemoved value: -"Include market capitalization. \nDefault: false" - changed
Input schema / properties / precision / descriptionPrevious value: -"Decimal places for currency price value"New value: +"`full` or a value from `0` to `18` to specify decimal places for currency price values." - removed
Input schema / properties / precision / enumRemoved value: -[ - "full", - "0", - "1", - "2", - "3", - "4", - "5", - "6", - "7", - "8", - "9", - "10", - "11", - "12", - "13", - "14", - "15", - "16", - "17", - "18" -] - added
Input schema / properties / precision / exampleAdded value: +"2" - removed
Input schema / properties / vs_currencies / defaultRemoved value: -"usd" - changed
Input schema / properties / vs_currencies / descriptionPrevious value: -"Target currency of coins, comma-separated if querying more than 1 currency. \n*refers to [`/simple/supported_vs_currencies`](/reference/simple-supported-currencies)"New value: +"Comma-separated target currencies." - added
Input schema / properties / vs_currencies / exampleAdded value: +"usd"
- Changed
get_coingecko_token_data7 fields changed- changed
Input schema / properties / contract_address / defaultPrevious value: -"0xc02aaa39b223fe8d0a0e5c4f27ead9083c756cc2"New value: +"0xa0b86991c6218b36c1d19d4a2e9eb0ce3606eb48" - changed
Input schema / properties / contract_address / descriptionPrevious value: -"The contract address of token."New value: +"The contract address of the token." - added
Input schema / properties / contract_address / exampleAdded value: +"0xa0b86991c6218b36c1d19d4a2e9eb0ce3606eb48" - changed
Input schema / properties / id / descriptionPrevious value: -"Asset platform ID. \n*refers to [`/asset_platforms`](/reference/asset-platforms-list)."New value: +"Asset platform ID (e.g., `ethereum`). Refers to the `/asset_platforms` list on CoinGecko." - added
Input schema / properties / id / exampleAdded value: +"ethereum" - changed
Input schema / requiredPrevious value: -[ - "contract_address", - "id" -]New value: +[ + "id", + "contract_address" +] - added
Output schema / x-fastmcp-wrap-resultAdded value: +true
- Changed
get_coingecko_token_market_chart14 fields changed- removed
Input schema / properties / contract_address / defaultRemoved value: -"0xa0b86991c6218b36c1d19d4a2e9eb0ce3606eb48" - changed
Input schema / properties / contract_address / descriptionPrevious value: -"The contract address of token."New value: +"Contract address." - removed
Input schema / properties / days / defaultRemoved value: -"1" - changed
Input schema / properties / days / descriptionPrevious value: -"Data up to number of days ago. \nYou may use any integer or `max` for number of days."New value: +"Data up to N days ago. Accepts `1`, `7`, `14`, `30`, `90`, `180`, `365`, or `max`." - added
Input schema / properties / days / exampleAdded value: +"7" - removed
Input schema / properties / id / defaultRemoved value: -"ethereum" - changed
Input schema / properties / id / descriptionPrevious value: -"Asset platform ID. \n*refers to [`/asset_platforms`](/reference/asset-platforms-list)."New value: +"Platform ID." - added
Input schema / properties / id / exampleAdded value: +"ethereum" - removed
Input schema / properties / intervalRemoved value: -{ - "description": "Data interval, leave empty for auto granularity.", - "enum": [ - "1m", - "5m", - "hourly", - "daily" - ], - "type": "string" -} - changed
Input schema / properties / precision / descriptionPrevious value: -"Decimal place for currency price value."New value: +"`full` or a value from `0` to `18` to specify decimal places for currency price values." - removed
Input schema / properties / precision / enumRemoved value: -[ - "full", - "0", - "1", - "2", - "3", - "4", - "5", - "6", - "7", - "8", - "9", - "10", - "11", - "12", - "13", - "14", - "15", - "16", - "17", - "18" -] - added
Input schema / properties / precision / exampleAdded value: +"2" - changed
Input schema / properties / vs_currency / descriptionPrevious value: -"Target currency of market data. \n*refers to [`/simple/supported_vs_currencies`](/reference/simple-supported-currencies)."New value: +"Target currency for price (e.g., `usd`, `eur`, `btc`). See `/simple/supported_vs_currencies`." - changed
Input schema / requiredPrevious value: -[ - "contract_address", - "id", - "days", - "vs_currency" -]New value: +[ + "id", + "contract_address", + "vs_currency", + "days" +]
- Changed
get_coingecko_token_market_chart_range20 fields changed- removed
Input schema / properties / contract_address / defaultRemoved value: -"0xa0b86991c6218b36c1d19d4a2e9eb0ce3606eb48" - changed
Input schema / properties / contract_address / descriptionPrevious value: -"The contract address of token."New value: +"Token contract address." - added
Input schema / properties / contract_address / exampleAdded value: +"0xa0b86991c6218b36c1d19d4a2e9eb0ce3606eb48" - removed
Input schema / properties / from / defaultRemoved value: -"2025-12-22" - changed
Input schema / properties / from / descriptionPrevious value: -"Starting date in ISO date string (`YYYY-MM-DD` or `YYYY-MM-DDTHH:MM`) or UNIX timestamp. \n**Use ISO date string for best compatibility.**"New value: +"Start UNIX timestamp (seconds)." - added
Input schema / properties / from / exampleAdded value: +1751328000 - changed
Input schema / properties / from / typePrevious value: -"string"New value: +"integer" - removed
Input schema / properties / id / defaultRemoved value: -"ethereum" - changed
Input schema / properties / id / descriptionPrevious value: -"Asset platform ID. \n*refers to [`/asset_platforms`](/reference/asset-platforms-list)."New value: +"Asset platform ID (e.g., `ethereum`)." - added
Input schema / properties / id / exampleAdded value: +"ethereum" - removed
Input schema / properties / intervalRemoved value: -{ - "description": "Data interval, leave empty for auto granularity.", - "enum": [ - "1m", - "5m", - "hourly", - "daily" - ], - "type": "string" -} - changed
Input schema / properties / precision / descriptionPrevious value: -"Decimal place for currency price value."New value: +"`full` or a value from `0` to `18` to specify decimal places for currency price values." - removed
Input schema / properties / precision / enumRemoved value: -[ - "full", - "0", - "1", - "2", - "3", - "4", - "5", - "6", - "7", - "8", - "9", - "10", - "11", - "12", - "13", - "14", - "15", - "16", - "17", - "18" -] - added
Input schema / properties / precision / exampleAdded value: +"2" - removed
Input schema / properties / to / defaultRemoved value: -"2025-12-31" - changed
Input schema / properties / to / descriptionPrevious value: -"Ending date in ISO date string (`YYYY-MM-DD` or `YYYY-MM-DDTHH:MM`) or UNIX timestamp. \n**Use ISO date string for best compatibility.**"New value: +"End UNIX timestamp (seconds)." - added
Input schema / properties / to / exampleAdded value: +1751414400 - changed
Input schema / properties / to / typePrevious value: -"string"New value: +"integer" - changed
Input schema / properties / vs_currency / descriptionPrevious value: -"Target currency of market data. \n*refers to [`/simple/supported_vs_currencies`](/reference/simple-supported-currencies)."New value: +"Target currency for price (e.g., `usd`, `eur`, `btc`). See `/simple/supported_vs_currencies`." - changed
Input schema / requiredPrevious value: -[ - "contract_address", - "id", - "from", - "to", - "vs_currency" -]New value: +[ + "id", + "contract_address", + "vs_currency", + "from", + "to" +]
- Changed
get_details13 fields changed- removed
Input schema / $schemaRemoved value: -"https://json-schema.org/draft/2020-12/schema" - added
Input schema / properties / argumentsAdded value: +{ + "anyOf": [ + { + "additionalProperties": true, + "type": "object" + }, + { + "type": "null" + } + ], + "default": null, + "description": "The arguments the operation would be called with, for a price that reflects them. Keyed by operation_id for a batch, or passed flat for a single operation_id. Routes whose required parameters are validated before pricing have no price without them." +} - removed
Input schema / properties / include_arguments_schemaRemoved value: -{ - "default": true, - "description": "Return the complete arguments_schema. Defaults to true.", - "type": "boolean" -} - changed
Input schema / properties / include_documentation / descriptionPrevious value: -"Return the complete immutable public OpenAPI operation, referenced declarations, provenance and scoped completeness. Documentation does not change execution support."New value: +"Include the complete native public OpenAPI document, reference closure and scoped completeness. Existing execution schemas remain unchanged." - removed
Input schema / properties / include_response_schemaRemoved value: -{ - "default": false, - "description": "Return the complete response_schema. Defaults to false.", - "type": "boolean" -} - added
Input schema / properties / operation_idAdded value: +{ + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "default": null, + "description": "One operation_id from search" +} - added
Input schema / properties / operation_idsAdded value: +{ + "anyOf": [ + { + "items": { + "type": "string" + }, + "type": "array" + }, + { + "type": "null" + } + ], + "default": null, + "description": "Up to 20 operation_ids, for a batch" +} - removed
Input schema / properties / session_idRemoved value: -{ - "description": "Reuse the session_id returned by Search in all subsequent tool calls for this task. If omitted, a new session is created.", - "maxLength": 128, - "pattern": "^[A-Za-z0-9_-]*$", - "type": "string" -} - removed
Input schema / properties / toolsRemoved value: -{ - "description": "Exact tool names returned by search whose complete contracts are needed. Never invent tool names.", - "items": { - "minLength": 1, - "pattern": "^\\S(?:.*\\S)?$", - "type": "string" - }, - "maxItems": 20, - "minItems": 1, - "type": "array", - "uniqueItems": true -} - added
Input schema / properties / with_quoteAdded value: +{ + "default": true, + "description": "Whether each operation is priced for this account before the answer. One round trip per operation; spends nothing.", + "type": "boolean" +} - removed
Input schema / requiredRemoved value: -[ - "tools" -] - removed
Output schema / propertiesRemoved value: -{ - "error_count": { - "type": "integer" - }, - "next_steps_guidance": { - "anyOf": [ - { - "type": "null" - }, - { - "type": "array" - } - ], - "items": { - "type": "string" - } - }, - "session_id": { - "description": "Reuse the session_id returned by Search in all subsequent tool calls for this task. If omitted, a new session is created.", - "maxLength": 128, - "minLength": 1, - "pattern": "^[A-Za-z0-9_-]{1,128}$", - "type": "string" - }, - "success_count": { - "type": "integer" - }, - "tools": { - "additionalProperties": { - "additionalProperties": false, - "properties": { - "arguments_schema": { - "additionalProperties": true, - "anyOf": [ - { - "type": "null" - }, - { - "type": "object" - } - ] - }, - "canonical_operation_id": { - "type": "string" - }, - "documentation": { - "additionalProperties": true, - "type": "object" - }, - "error": { - "additionalProperties": false, - "anyOf": [ - { - "type": "null" - }, - { - "type": "object" - } - ], - "properties": { - "code": { - "type": "string" - }, - "message": { - "type": "string" - } - }, - "required": [ - "code", - "message" - ] - }, - "execution_supported": { - "description": "Whether this router can execute and quote the operation; false retains documentation and discovery only.", - "type": "boolean" - }, - "execution_unsupported_reason": { - "description": "Why execution and quoting remain unavailable through this router.", - "type": "string" - }, - "idempotent": { - "anyOf": [ - { - "type": "null" - }, - { - "type": "boolean" - } - ] - }, - "known_pitfalls": { - "anyOf": [ - { - "type": "null" - }, - { - "type": "array" - } - ], - "items": { - "type": "string" - } - }, - "read_only": { - "anyOf": [ - { - "type": "null" - }, - { - "type": "boolean" - } - ] - }, - "response_schema": { - "additionalProperties": true, - "anyOf": [ - { - "type": "null" - }, - { - "type": "object" - } - ] - }, - "side_effects": { - "anyOf": [ - { - "type": "null" - }, - { - "type": "array" - } - ], - "items": { - "type": "string" - } - }, - "successful": { - "type": "boolean" - } - }, - "required": [ - "successful" - ], - "type": "object" - }, - "type": "object" - }, - "total_count": { - "type": "integer" - } -} - removed
Output schema / requiredRemoved value: -[ - "error_count", - "next_steps_guidance", - "session_id", - "success_count", - "tools", - "total_count" -]
- Changed
search17 fields changed- removed
Input schema / $schemaRemoved value: -"https://json-schema.org/draft/2020-12/schema" - added
Input schema / properties / category / anyOfAdded value: +[ + { + "enum": [ + "seo", + "finance", + "social", + "search", + "sales", + "mail" + ], + "type": "string" + }, + { + "type": "null" + } +] - added
Input schema / properties / category / defaultAdded value: +null - changed
Input schema / properties / category / descriptionPrevious value: -"Restrict retrieval to one category. Omit to search everything. (AIsa-only: tool-router has no equivalent.)"New value: +"Restrict to one category (seo, finance, social, search, sales, mail). Omit to search everything." - removed
Input schema / properties / category / enumRemoved value: -[ - "seo", - "finance", - "social", - "search", - "sales", - "mail" -] - removed
Input schema / properties / category / typeRemoved value: -"string" - removed
Input schema / properties / known_fieldsRemoved value: -{ - "additionalProperties": true, - "default": {}, - "description": "Known values such as ticker, URL, provider, or identifier that improve retrieval.", - "type": "object" -} - changed
Input schema / properties / limit / descriptionPrevious value: -"Maximum number of additional direct tool candidates."New value: +"Maximum candidates, 1-10" - removed
Input schema / properties / limit / maximumRemoved value: -20 - removed
Input schema / properties / limit / minimumRemoved value: -1 - removed
Input schema / properties / provider_filtersRemoved value: -{ - "default": [], - "description": "Optional exact catalog provider keys used to narrow retrieval (for example similarweb). Do not use display brands. Omit this field if the exact key is unknown.", - "items": { - "type": "string" - }, - "maxItems": 50, - "type": "array", - "uniqueItems": true -} - changed
Input schema / properties / query / descriptionPrevious value: -"Natural-language capability or task to discover."New value: +"What you need, in plain language, e.g. 'backlinks of a domain', 'recent tweets by a user', 'insider trades for AAPL'. English works best." - removed
Input schema / properties / query / maxLengthRemoved value: -2000 - removed
Input schema / properties / query / minLengthRemoved value: -1 - removed
Input schema / properties / session_idRemoved value: -{ - "description": "Reuse the session_id returned by Search in all subsequent tool calls for this task. If omitted, a new session is created.", - "maxLength": 128, - "pattern": "^[A-Za-z0-9_-]*$", - "type": "string" -} - removed
Output schema / propertiesRemoved value: -{ - "next_steps_guidance": { - "anyOf": [ - { - "type": "null" - }, - { - "type": "array" - } - ], - "items": { - "type": "string" - } - }, - "plan": { - "additionalProperties": false, - "anyOf": [ - { - "type": "null" - }, - { - "type": "object" - } - ], - "properties": { - "canonical_use_case": { - "type": "string" - }, - "description": { - "type": "string" - }, - "known_pitfalls": { - "anyOf": [ - { - "type": "null" - }, - { - "type": "array" - } - ], - "items": { - "type": "string" - } - }, - "plan_ref": { - "type": "string" - }, - "primary_tools": { - "anyOf": [ - { - "type": "null" - }, - { - "type": "array" - } - ], - "items": { - "type": "string" - } - }, - "recommended_steps": { - "anyOf": [ - { - "type": "null" - }, - { - "type": "array" - } - ], - "items": { - "type": "string" - } - }, - "related_tools": { - "anyOf": [ - { - "type": "null" - }, - { - "type": "array" - } - ], - "items": { - "type": "string" - } - } - }, - "required": [ - "canonical_use_case", - "description", - "known_pitfalls", - "plan_ref", - "primary_tools", - "recommended_steps", - "related_tools" - ] - }, - "retrieval_mode": { - "anyOf": [ - { - "type": "null" - }, - { - "type": "string" - } - ] - }, - "search_id": { - "type": "string" - }, - "session_id": { - "description": "Reuse the session_id returned by Search in all subsequent tool calls for this task. If omitted, a new session is created.", - "maxLength": 128, - "minLength": 1, - "pattern": "^[A-Za-z0-9_-]{1,128}$", - "type": "string" - }, - "tools": { - "anyOf": [ - { - "type": "null" - }, - { - "type": "array" - } - ], - "items": { - "additionalProperties": false, - "properties": { - "arguments_schema": { - "additionalProperties": true, - "anyOf": [ - { - "type": "null" - }, - { - "type": "object" - } - ] - }, - "description": { - "type": "string" - }, - "execution_supported": { - "description": "Whether this router can execute and quote the operation; false retains documentation and discovery only.", - "type": "boolean" - }, - "execution_unsupported_reason": { - "description": "Why execution and quoting remain unavailable through this router.", - "type": "string" - }, - "has_full_schema": { - "type": "boolean" - }, - "match_reasons": { - "anyOf": [ - { - "type": "null" - }, - { - "type": "array" - } - ], - "items": { - "type": "string" - } - }, - "price": { - "additionalProperties": true, - "type": "object" - }, - "retrieval_debug": { - "additionalProperties": false, - "anyOf": [ - { - "type": "null" - }, - { - "type": "object" - } - ], - "properties": { - "fused_rank": { - "type": "integer" - }, - "fused_score": { - "type": "number" - }, - "lexical_rank": { - "type": "integer" - }, - "lexical_score": { - "type": "number" - }, - "rerank_admission_rank": { - "type": "integer" - }, - "rerank_rank": { - "type": "integer" - }, - "rerank_score": { - "anyOf": [ - { - "type": "null" - }, - { - "type": "number" - } - ] - }, - "runtime_availability": { - "type": "string" - }, - "vector_view_ranks": { - "additionalProperties": { - "type": "integer" - }, - "type": "object" - }, - "vector_view_scores": { - "additionalProperties": { - "type": "number" - }, - "type": "object" - } - }, - "required": [ - "fused_rank", - "fused_score", - "lexical_rank", - "lexical_score", - "rerank_admission_rank", - "rerank_rank", - "runtime_availability", - "vector_view_ranks", - "vector_view_scores" - ] - }, - "summary": { - "type": "string" - }, - "tool": { - "type": "string" - } - }, - "required": [ - "description", - "has_full_schema", - "price", - "summary", - "tool" - ], - "type": "object" - } - } -} - removed
Output schema / requiredRemoved value: -[ - "next_steps_guidance", - "search_id", - "session_id", - "tools" -]
- Changed
use1 field changed- changed
Input schema / properties / max_price_usd / descriptionPrevious value: -"Refuse the call before any spend if its quoted price is above this many USD"New value: +"Refuse the call before any spend if it would cost more than this many USD"
25 tool updates
- Added
batch_get_schema - Added
batch_quote - Changed
batch_use18 fields changed- added
Input schema / $schemaAdded value: +"https://json-schema.org/draft/2020-12/schema" - removed
Input schema / properties / calls / descriptionRemoved value: -"Up to 20 items of {call_id, operation_id, arguments}; steps at the same execution_level of a plan go in one batch" - added
Input schema / properties / calls / items / $schemaAdded value: +"https://json-schema.org/draft/2020-12/schema" - changed
Input schema / properties / calls / items / additionalPropertiesPrevious value: -trueNew value: +false - added
Input schema / properties / calls / items / propertiesAdded value: +{ + "arguments": { + "additionalProperties": true, + "description": "Strictly schema-compliant arguments using the exact field names and types from this tool's arguments_schema.", + "type": "object" + }, + "call_id": { + "description": "Caller-chosen identifier unique within this batch.", + "maxLength": 128, + "minLength": 1, + "type": "string" + }, + "tool": { + "description": "Exact tool name returned by search or batch_get_schema. Never invent a name.", + "minLength": 1, + "type": "string" + } +} - added
Input schema / properties / calls / items / requiredAdded value: +[ + "call_id", + "tool", + "arguments" +] - added
Input schema / properties / calls / maxItemsAdded value: +20 - added
Input schema / properties / calls / minItemsAdded value: +1 - removed
Input schema / properties / max_price_usdRemoved value: -{ - "anyOf": [ - { - "type": "number" - }, - { - "type": "null" - } - ], - "default": null, - "description": "Per-call price cap applied to every item" -} - removed
Input schema / properties / search_id / anyOfRemoved value: -[ - { - "type": "string" - }, - { - "type": "null" - } -] - removed
Input schema / properties / search_id / defaultRemoved value: -null - changed
Input schema / properties / search_id / descriptionPrevious value: -"search_id from the search that found these operations"New value: +"Optional search correlation identifier returned by search." - added
Input schema / properties / search_id / typeAdded value: +"string" - added
Input schema / properties / session_idAdded value: +{ + "description": "Reuse the session_id returned by Search in all subsequent tool calls for this task. If omitted, a new session is created.", + "maxLength": 128, + "pattern": "^[A-Za-z0-9_-]*$", + "type": "string" +} - added
Output schema / $defsAdded value: +{ + "jsonValue": { + "anyOf": [ + { + "additionalProperties": { + "$ref": "#/$defs/jsonValue" + }, + "type": "object" + }, + { + "items": { + "$ref": "#/$defs/jsonValue" + }, + "type": "array" + }, + { + "type": "string" + }, + { + "type": "number" + }, + { + "type": "boolean" + }, + { + "type": "null" + } + ], + "description": "JSON value returned by the upstream tool." + } +} - added
Output schema / $schemaAdded value: +"https://json-schema.org/draft/2020-12/schema" - added
Output schema / propertiesAdded value: +{ + "batch_id": { + "type": "string" + }, + "error_count": { + "minimum": 0, + "type": "integer" + }, + "next_steps_guidance": { + "description": "Deterministic next-step instructions derived from this result. Not an authorization grant.", + "items": { + "type": "string" + }, + "type": "array" + }, + "results": { + "items": { + "$schema": "https://json-schema.org/draft/2020-12/schema", + "additionalProperties": false, + "properties": { + "call_id": { + "type": "string" + }, + "customer_cost_micros_usd": { + "description": "Actual customer charge settled by AIsaServices, in micro-USD. Omitted when the upstream response does not report it.", + "minimum": 0, + "type": "integer" + }, + "data": { + "$ref": "#/$defs/jsonValue" + }, + "error": { + "anyOf": [ + { + "$schema": "https://json-schema.org/draft/2020-12/schema", + "additionalProperties": false, + "properties": { + "message": { + "type": "string" + }, + "retryable": { + "type": "boolean" + }, + "status": { + "type": "integer" + }, + "type": { + "enum": [ + "validation", + "authentication", + "payment", + "permission", + "rate_limit", + "upstream", + "timeout", + "internal" + ], + "type": "string" + } + }, + "required": [ + "type", + "status", + "retryable" + ], + "type": "object" + }, + { + "type": "null" + } + ] + }, + "request_id": { + "type": "string" + }, + "successful": { + "type": "boolean" + }, + "tool": { + "type": "string" + }, + "upstream_status": { + "description": "HTTP status returned by AIsaServices when a request was dispatched.", + "type": "integer" + } + }, + "required": [ + "call_id", + "tool", + "successful", + "request_id" + ], + "type": "object" + }, + "type": "array" + }, + "session_id": { + "description": "Reuse the session_id returned by Search in all subsequent tool calls for this task. If omitted, a new session is created.", + "maxLength": 128, + "minLength": 1, + "pattern": "^[A-Za-z0-9_-]*$", + "type": "string" + }, + "success_count": { + "minimum": 0, + "type": "integer" + }, + "total_count": { + "minimum": 1, + "type": "integer" + } +} - added
Output schema / requiredAdded value: +[ + "session_id", + "batch_id", + "total_count", + "success_count", + "error_count", + "results", + "next_steps_guidance" +]
- Changed
get_coingecko_coins_categories1 field changed- added
Input schema / properties / order / descriptionAdded value: +"Sort results by field. \nDefault: `market_cap_desc`"
- Changed
get_coingecko_coins_id16 fields changed- removed
Input schema / properties / community_data / defaultRemoved value: -true - added
Input schema / properties / community_data / descriptionAdded value: +"Include community data. \nDeprecated: has no effect as of 28 August 2026; the `community_data` object is no longer returned." - removed
Input schema / properties / developer_data / defaultRemoved value: -true - added
Input schema / properties / developer_data / descriptionAdded value: +"Include developer data. \nDeprecated: has no effect as of 28 August 2026; the `developer_data` object is no longer returned." - added
Input schema / properties / dex_pair_formatAdded value: +{ + "description": "Set to `symbol` to display DEX pair base and target as symbols. \nDefault: `contract_address`", + "enum": [ + "contract_address", + "symbol" + ], + "type": "string" +} - added
Input schema / properties / id / defaultAdded value: +"bitcoin" - changed
Input schema / properties / id / descriptionPrevious value: -"CoinGecko coin ID (e.g., `bitcoin`, `ethereum`). Get the list via `/coins/list`."New value: +"Coin ID. \n*refers to [`/coins/list`](/reference/coins-list)" - added
Input schema / properties / include_categories_detailsAdded value: +{ + "description": "Include categories details. \nDefault: false", + "type": "boolean" +} - removed
Input schema / properties / localization / defaultRemoved value: -true - added
Input schema / properties / localization / descriptionAdded value: +"Include all localized languages in the response. \nDefault: true" - removed
Input schema / properties / market_data / defaultRemoved value: -true - added
Input schema / properties / market_data / descriptionAdded value: +"Include market data. \nDefault: true" - removed
Input schema / properties / sparkline / defaultRemoved value: -false - added
Input schema / properties / sparkline / descriptionAdded value: +"Include sparkline 7-day data. \nDefault: false" - removed
Input schema / properties / tickers / defaultRemoved value: -true - added
Input schema / properties / tickers / descriptionAdded value: +"Include tickers data. \nDefault: true"
- Changed
get_coingecko_coins_id_history8 fields changed- added
Input schema / properties / date / defaultAdded value: +"2025-12-30" - changed
Input schema / properties / date / descriptionPrevious value: -"Date in `dd-mm-yyyy` format."New value: +"The date of data snapshot. \nFormat: `YYYY-MM-DD`" - removed
Input schema / properties / date / exampleRemoved value: -"30-12-2024" - added
Input schema / properties / id / defaultAdded value: +"bitcoin" - changed
Input schema / properties / id / descriptionPrevious value: -"CoinGecko coin ID (e.g., `bitcoin`, `ethereum`). Get the list via `/coins/list`."New value: +"Coin ID. \n*refers to [`/coins/list`](/reference/coins-list)." - removed
Input schema / properties / id / exampleRemoved value: -"bitcoin" - removed
Input schema / properties / localization / defaultRemoved value: -true - added
Input schema / properties / localization / descriptionAdded value: +"Include all the localized languages in response. \nDefault: true"
- Changed
get_coingecko_coins_id_market_chart13 fields changed- added
Input schema / properties / days / defaultAdded value: +"1" - changed
Input schema / properties / days / descriptionPrevious value: -"Data up to N days ago. Accepts `1`, `7`, `14`, `30`, `90`, `180`, `365`, or `max`."New value: +"Data up to number of days ago. \nYou may use any integer or `max` for number of days." - removed
Input schema / properties / days / exampleRemoved value: -"7" - added
Input schema / properties / id / defaultAdded value: +"bitcoin" - changed
Input schema / properties / id / descriptionPrevious value: -"CoinGecko coin ID (e.g., `bitcoin`, `ethereum`). Get the list via `/coins/list`."New value: +"Coin ID. \n*refers to [`/coins/list`](/reference/coins-list)." - removed
Input schema / properties / id / exampleRemoved value: -"bitcoin" - changed
Input schema / properties / interval / descriptionPrevious value: -"Data interval. CoinGecko supports `daily`; `hourly` is also available for supported ranges."New value: +"Data interval, leave empty for auto granularity." - changed
Input schema / properties / interval / enumPrevious value: -[ - "daily", - "hourly" -]New value: +[ + "1m", + "5m", + "hourly", + "daily" +] - changed
Input schema / properties / precision / descriptionPrevious value: -"`full` or a value from `0` to `18` to specify decimal places for currency price values."New value: +"Decimal place for currency price value." - added
Input schema / properties / precision / enumAdded value: +[ + "full", + "0", + "1", + "2", + "3", + "4", + "5", + "6", + "7", + "8", + "9", + "10", + "11", + "12", + "13", + "14", + "15", + "16", + "17", + "18" +] - removed
Input schema / properties / precision / exampleRemoved value: -"2" - changed
Input schema / properties / vs_currency / descriptionPrevious value: -"Target currency for price (e.g., `usd`, `eur`, `btc`). See `/simple/supported_vs_currencies`."New value: +"Target currency of market data. \n*refers to [`/simple/supported_vs_currencies`](/reference/simple-supported-currencies)." - changed
Input schema / requiredPrevious value: -[ - "id", - "vs_currency", - "days" -]New value: +[ + "id", + "days", + "vs_currency" +]
- Changed
get_coingecko_coins_id_market_chart_range17 fields changed- added
Input schema / properties / from / defaultAdded value: +"2025-12-22" - changed
Input schema / properties / from / descriptionPrevious value: -"Start UNIX timestamp (seconds)."New value: +"Starting date in ISO date string (`YYYY-MM-DD` or `YYYY-MM-DDTHH:MM`) or UNIX timestamp. \n**Use ISO date string for best compatibility.**" - removed
Input schema / properties / from / exampleRemoved value: -1713398400 - changed
Input schema / properties / from / typePrevious value: -"integer"New value: +"string" - added
Input schema / properties / id / defaultAdded value: +"bitcoin" - changed
Input schema / properties / id / descriptionPrevious value: -"CoinGecko coin ID (e.g., `bitcoin`, `ethereum`). Get the list via `/coins/list`."New value: +"Coin ID. \n*refers to [`/coins/list`](/reference/coins-list)." - removed
Input schema / properties / id / exampleRemoved value: -"bitcoin" - added
Input schema / properties / intervalAdded value: +{ + "description": "Data interval, leave empty for auto granularity.", + "enum": [ + "1m", + "5m", + "hourly", + "daily" + ], + "type": "string" +} - changed
Input schema / properties / precision / descriptionPrevious value: -"`full` or a value from `0` to `18` to specify decimal places for currency price values."New value: +"Decimal place for currency price value." - added
Input schema / properties / precision / enumAdded value: +[ + "full", + "0", + "1", + "2", + "3", + "4", + "5", + "6", + "7", + "8", + "9", + "10", + "11", + "12", + "13", + "14", + "15", + "16", + "17", + "18" +] - removed
Input schema / properties / precision / exampleRemoved value: -"2" - added
Input schema / properties / to / defaultAdded value: +"2025-12-31" - changed
Input schema / properties / to / descriptionPrevious value: -"End UNIX timestamp (seconds)."New value: +"Ending date in ISO date string (`YYYY-MM-DD` or `YYYY-MM-DDTHH:MM`) or UNIX timestamp. \n**Use ISO date string for best compatibility.**" - removed
Input schema / properties / to / exampleRemoved value: -1713484800 - changed
Input schema / properties / to / typePrevious value: -"integer"New value: +"string" - changed
Input schema / properties / vs_currency / descriptionPrevious value: -"Target currency for price (e.g., `usd`, `eur`, `btc`). See `/simple/supported_vs_currencies`."New value: +"Target currency of market data. \n*refers to [`/simple/supported_vs_currencies`](/reference/simple-supported-currencies)." - changed
Input schema / requiredPrevious value: -[ - "id", - "vs_currency", - "from", - "to" -]New value: +[ + "id", + "from", + "to", + "vs_currency" +]
- Changed
get_coingecko_coins_id_ohlc13 fields changed- added
Input schema / properties / days / defaultAdded value: +"1" - changed
Input schema / properties / days / descriptionPrevious value: -"`1`, `7`, `14`, `30`, `90`, `180`, `365`."New value: +"Data up to number of days ago." - added
Input schema / properties / days / enumAdded value: +[ + "1", + "7", + "14", + "30", + "90", + "180", + "365", + "max" +] - removed
Input schema / properties / days / exampleRemoved value: -"7" - added
Input schema / properties / id / defaultAdded value: +"bitcoin" - changed
Input schema / properties / id / descriptionPrevious value: -"CoinGecko coin ID (e.g., `bitcoin`, `ethereum`). Get the list via `/coins/list`."New value: +"Coin ID. \n*refers to [`/coins/list`](/reference/coins-list)." - removed
Input schema / properties / id / exampleRemoved value: -"bitcoin" - added
Input schema / properties / intervalAdded value: +{ + "description": "Data interval, leave empty for auto granularity.", + "enum": [ + "daily", + "hourly" + ], + "type": "string" +} - changed
Input schema / properties / precision / descriptionPrevious value: -"`full` or a value from `0` to `18` to specify decimal places for currency price values."New value: +"Decimal place for currency price value." - added
Input schema / properties / precision / enumAdded value: +[ + "full", + "0", + "1", + "2", + "3", + "4", + "5", + "6", + "7", + "8", + "9", + "10", + "11", + "12", + "13", + "14", + "15", + "16", + "17", + "18" +] - removed
Input schema / properties / precision / exampleRemoved value: -"2" - changed
Input schema / properties / vs_currency / descriptionPrevious value: -"Target currency for price (e.g., `usd`, `eur`, `btc`). See `/simple/supported_vs_currencies`."New value: +"Target currency of price data. \n*refers to [`/simple/supported_vs_currencies`](/reference/simple-supported-currencies)." - changed
Input schema / requiredPrevious value: -[ - "id", - "vs_currency", - "days" -]New value: +[ + "id", + "days", + "vs_currency" +]
- Changed
get_coingecko_coins_id_tickers13 fields changed- removed
Input schema / properties / depth / defaultRemoved value: -false - added
Input schema / properties / depth / descriptionAdded value: +"Include 2% orderbook depth, i.e. `cost_to_move_up_usd` and `cost_to_move_down_usd`. \nDefault: false" - added
Input schema / properties / dex_pair_formatAdded value: +{ + "description": "Set to `symbol` to display DEX pair base and target as symbols. \nDefault: `contract_address`", + "enum": [ + "contract_address", + "symbol" + ], + "type": "string" +} - changed
Input schema / properties / exchange_ids / descriptionPrevious value: -"Comma-separated exchange IDs."New value: +"Exchange ID. \n*refers to [`/exchanges/list`](/reference/exchanges-list)" - added
Input schema / properties / id / defaultAdded value: +"bitcoin" - changed
Input schema / properties / id / descriptionPrevious value: -"CoinGecko coin ID (e.g., `bitcoin`, `ethereum`). Get the list via `/coins/list`."New value: +"Coin ID. \n*refers to [`/coins/list`](/reference/coins-list)" - removed
Input schema / properties / id / exampleRemoved value: -"bitcoin" - removed
Input schema / properties / include_exchange_logo / defaultRemoved value: -false - changed
Input schema / properties / include_exchange_logo / descriptionPrevious value: -"Show exchange logos in ticker results."New value: +"Include exchange logo. \nDefault: false" - added
Input schema / properties / order / descriptionAdded value: +"Sort the order of responses. \nDefault: trust_score_desc" - changed
Input schema / properties / order / enumPrevious value: -[ - "trust_score_desc", - "trust_score_asc", - "volume_desc" -]New value: +[ + "trust_score_desc", + "trust_score_asc", + "volume_desc", + "volume_asc" +] - removed
Input schema / properties / page / defaultRemoved value: -1 - added
Input schema / properties / page / descriptionAdded value: +"Page through results"
- Changed
get_coingecko_coins_list3 fields changed- removed
Input schema / properties / include_platform / defaultRemoved value: -false - changed
Input schema / properties / include_platform / descriptionPrevious value: -"Include platform + contract addresses."New value: +"Include platform and token's contract addresses. \nDefault: false" - added
Input schema / properties / statusAdded value: +{ + "description": "Filter by status of coins. \nDefault: active", + "enum": [ + "active", + "inactive" + ], + "type": "string" +}
- Changed
get_coingecko_coins_markets29 fields changed- changed
Input schema / properties / category / descriptionPrevious value: -"Filter by category (see `/coins/categories/list`)."New value: +"Filter based on coins' category. \n*refers to [`/coins/categories/list`](/reference/coins-categories-list)" - added
Input schema / properties / ids / defaultAdded value: +"bitcoin" - changed
Input schema / properties / ids / descriptionPrevious value: -"Comma-separated CoinGecko coin IDs."New value: +"Coins' IDs, comma-separated if querying more than 1 coin. \n*refers to [`/coins/list`](/reference/coins-list)" - removed
Input schema / properties / ids / exampleRemoved value: -"bitcoin,ethereum" - removed
Input schema / properties / include_rehypothecated / defaultRemoved value: -false - changed
Input schema / properties / include_rehypothecated / descriptionPrevious value: -"Include rehypothecated tokens in market data when supported by CoinGecko."New value: +"Include rehypothecated tokens in results. When true, returns `market_cap_rank_with_rehypothecated` field. \nDefault: false" - added
Input schema / properties / include_tokensAdded value: +{ + "description": "For `symbols` lookups, specify `all` to include all matching tokens. \nDefault `top` returns top-ranked tokens by market cap or volume.", + "enum": [ + "top", + "all" + ], + "type": "string" +} - removed
Input schema / properties / locale / defaultRemoved value: -"en" - changed
Input schema / properties / locale / descriptionPrevious value: -"Response language locale. Official values include `en`, `zh`, `zh-tw`, and other supported CoinGecko locales."New value: +"Language background. \nDefault: en" - added
Input schema / properties / locale / enumAdded value: +[ + "ar", + "bg", + "cs", + "da", + "de", + "el", + "en", + "es", + "fi", + "fr", + "he", + "hi", + "hr", + "hu", + "id", + "it", + "ja", + "ko", + "lt", + "nl", + "no", + "pl", + "pt", + "ro", + "ru", + "sk", + "sl", + "sv", + "th", + "tr", + "uk", + "vi", + "zh", + "zh-tw" +] - removed
Input schema / properties / locale / exampleRemoved value: -"en" - added
Input schema / properties / namesAdded value: +{ + "default": "Bitcoin", + "description": "Coins' names, comma-separated if querying more than 1 coin.", + "type": "string" +} - removed
Input schema / properties / order / defaultRemoved value: -"market_cap_desc" - added
Input schema / properties / order / descriptionAdded value: +"Sort result by field. \nDefault: market_cap_desc" - changed
Input schema / properties / order / enumPrevious value: -[ - "market_cap_desc", - "market_cap_asc", - "volume_desc", - "volume_asc", - "id_asc", - "id_desc" -]New value: +[ + "market_cap_asc", + "market_cap_desc", + "volume_asc", + "volume_desc", + "id_asc", + "id_desc" +] - removed
Input schema / properties / page / defaultRemoved value: -1 - added
Input schema / properties / page / descriptionAdded value: +"Page through results. \nDefault: 1" - removed
Input schema / properties / per_page / defaultRemoved value: -100 - added
Input schema / properties / per_page / descriptionAdded value: +"Total results per page. \nDefault: 100 \nValid values: 1...250" - removed
Input schema / properties / per_page / maximumRemoved value: -250 - removed
Input schema / properties / per_page / minimumRemoved value: -1 - changed
Input schema / properties / precision / descriptionPrevious value: -"`full` or a value from `0` to `18` to specify decimal places for currency price values."New value: +"Decimal places for currency price value" - added
Input schema / properties / precision / enumAdded value: +[ + "full", + "0", + "1", + "2", + "3", + "4", + "5", + "6", + "7", + "8", + "9", + "10", + "11", + "12", + "13", + "14", + "15", + "16", + "17", + "18" +] - removed
Input schema / properties / precision / exampleRemoved value: -"2" - changed
Input schema / properties / price_change_percentage / descriptionPrevious value: -"Comma-separated windows: `1h,24h,7d,14d,30d,200d,1y`."New value: +"Include price change percentage timeframe, comma-separated if querying more than 1 timeframe. \nValid values: `1h`, `24h`, `7d`, `14d`, `30d`, `200d`, `1y`" - removed
Input schema / properties / sparkline / defaultRemoved value: -false - added
Input schema / properties / sparkline / descriptionAdded value: +"Include sparkline 7-day data. \nDefault: false" - added
Input schema / properties / symbolsAdded value: +{ + "default": "btc", + "description": "Coins' symbols, comma-separated if querying more than 1 coin.", + "type": "string" +} - changed
Input schema / properties / vs_currency / descriptionPrevious value: -"Target currency for price (e.g., `usd`, `eur`, `btc`). See `/simple/supported_vs_currencies`."New value: +"Target currency of coins and market data. \n*refers to [`/simple/supported_vs_currencies`](/reference/simple-supported-currencies)"
- Changed
get_coingecko_exchanges7 fields changed- removed
Input schema / properties / page / defaultRemoved value: -1 - added
Input schema / properties / page / descriptionAdded value: +"Page through results. \nDefault: 1" - changed
Input schema / properties / page / typePrevious value: -"integer"New value: +"number" - removed
Input schema / properties / per_page / defaultRemoved value: -100 - added
Input schema / properties / per_page / descriptionAdded value: +"Total results per page. \nDefault: 100. \nValid values: 1...250" - removed
Input schema / properties / per_page / maximumRemoved value: -250 - changed
Input schema / properties / per_page / typePrevious value: -"integer"New value: +"number"
- Changed
get_coingecko_exchanges_id4 fields changed- added
Input schema / properties / dex_pair_formatAdded value: +{ + "description": "Set to `symbol` to display DEX pair base and target as symbols. \nDefault: `contract_address`", + "enum": [ + "contract_address", + "symbol" + ], + "type": "string" +} - added
Input schema / properties / id / defaultAdded value: +"binance" - changed
Input schema / properties / id / descriptionPrevious value: -"CoinGecko exchange ID (e.g., `binance`, `gdax`). Get the list via `/exchanges/list`."New value: +"Exchange ID. \n*refers to [`/exchanges/list`](/reference/exchanges-list)." - removed
Input schema / properties / id / exampleRemoved value: -"binance"
- Changed
get_coingecko_exchanges_id_tickers14 fields changed- changed
Input schema / properties / coin_ids / descriptionPrevious value: -"Filter by coin IDs (comma-separated)."New value: +"Filter tickers by coin IDs, comma-separated if querying more than 1 coin. \n*refers to [`/coins/list`](/reference/coins-list)." - removed
Input schema / properties / depth / defaultRemoved value: -false - added
Input schema / properties / depth / descriptionAdded value: +"Include 2% orderbook depth (cost_to_move_up_usd and cost_to_move_down_usd). \nDefault: false" - added
Input schema / properties / dex_pair_formatAdded value: +{ + "description": "Set to `symbol` to display DEX pair base and target as symbols. \nDefault: `contract_address`", + "enum": [ + "contract_address", + "symbol" + ], + "type": "string" +} - added
Input schema / properties / id / defaultAdded value: +"binance" - changed
Input schema / properties / id / descriptionPrevious value: -"CoinGecko exchange ID (e.g., `binance`, `gdax`). Get the list via `/exchanges/list`."New value: +"Exchange ID. \n*refers to [`/exchanges/list`](/reference/exchanges-list)." - removed
Input schema / properties / id / exampleRemoved value: -"binance" - removed
Input schema / properties / include_exchange_logo / defaultRemoved value: -false - changed
Input schema / properties / include_exchange_logo / descriptionPrevious value: -"Show exchange logos in ticker results."New value: +"Include exchange logo. \nDefault: false" - added
Input schema / properties / order / descriptionAdded value: +"Sort the order of responses. \nDefault: `trust_score_desc`" - changed
Input schema / properties / order / enumPrevious value: -[ - "trust_score_desc", - "trust_score_asc", - "volume_desc" -]New value: +[ + "market_cap_asc", + "market_cap_desc", + "trust_score_desc", + "trust_score_asc", + "volume_desc", + "volume_asc", + "base_target" +] - removed
Input schema / properties / page / defaultRemoved value: -1 - added
Input schema / properties / page / descriptionAdded value: +"Page through results." - changed
Input schema / properties / page / typePrevious value: -"integer"New value: +"number"
- Changed
get_coingecko_exchanges_list1 field changed- added
Input schema / properties / statusAdded value: +{ + "description": "Filter by status of exchanges. \nDefault: `active`", + "enum": [ + "active", + "inactive" + ], + "type": "string" +}
- Changed
get_coingecko_search_trending1 field changed- added
Input schema / properties / show_maxAdded value: +{ + "description": "Show max number of results available for the given type. \nAvailable values: `coins`, `nfts`, `categories` \ne.g. `coins` or `coins,nfts,categories`", + "type": "string" +}
- Changed
get_coingecko_simple_price20 fields changed- added
Input schema / properties / ids / defaultAdded value: +"bitcoin" - changed
Input schema / properties / ids / descriptionPrevious value: -"Comma-separated coin IDs."New value: +"Coins' IDs, comma-separated if querying more than 1 coin. \n*refers to [`/coins/list`](/reference/coins-list)" - removed
Input schema / properties / ids / exampleRemoved value: -"bitcoin,ethereum" - removed
Input schema / properties / include_24hr_change / defaultRemoved value: -false - added
Input schema / properties / include_24hr_change / descriptionAdded value: +"Include 24-hour change percentage. \nDefault: false" - removed
Input schema / properties / include_24hr_vol / defaultRemoved value: -false - added
Input schema / properties / include_24hr_vol / descriptionAdded value: +"Include 24-hour trading volume. \nDefault: false" - removed
Input schema / properties / include_last_updated_at / defaultRemoved value: -false - added
Input schema / properties / include_last_updated_at / descriptionAdded value: +"Include last updated price time as a UNIX timestamp. \nDefault: false" - removed
Input schema / properties / include_market_cap / defaultRemoved value: -false - added
Input schema / properties / include_market_cap / descriptionAdded value: +"Include market capitalization. \nDefault: false" - added
Input schema / properties / include_tokensAdded value: +{ + "description": "For `symbols` lookups, specify `all` to include all matching tokens. \nDefault `top` returns top-ranked tokens by market cap or volume.", + "enum": [ + "top", + "all" + ], + "type": "string" +} - added
Input schema / properties / namesAdded value: +{ + "default": "Bitcoin", + "description": "Coins' names, comma-separated if querying more than 1 coin.", + "type": "string" +} - added
Input schema / properties / precision / descriptionAdded value: +"Decimal places for currency price value" - added
Input schema / properties / precision / enumAdded value: +[ + "full", + "0", + "1", + "2", + "3", + "4", + "5", + "6", + "7", + "8", + "9", + "10", + "11", + "12", + "13", + "14", + "15", + "16", + "17", + "18" +] - added
Input schema / properties / symbolsAdded value: +{ + "default": "btc", + "description": "Coins' symbols, comma-separated if querying more than 1 coin.", + "type": "string" +} - added
Input schema / properties / vs_currencies / defaultAdded value: +"usd" - changed
Input schema / properties / vs_currencies / descriptionPrevious value: -"Comma-separated target currencies."New value: +"Target currency of coins, comma-separated if querying more than 1 currency. \n*refers to [`/simple/supported_vs_currencies`](/reference/simple-supported-currencies)" - removed
Input schema / properties / vs_currencies / exampleRemoved value: -"usd,eur" - changed
Input schema / requiredPrevious value: -[ - "ids", - "vs_currencies" -]New value: +[ + "vs_currencies" +]
- Changed
get_coingecko_simple_token_price_id16 fields changed- added
Input schema / properties / contract_addresses / defaultAdded value: +"0x2260fac5e5542a773aa44fbcfedf7c193bc2c599" - changed
Input schema / properties / contract_addresses / descriptionPrevious value: -"Comma-separated contract addresses."New value: +"Token contract addresses, comma-separated if querying more than 1 token" - removed
Input schema / properties / contract_addresses / exampleRemoved value: -"0xdAC17F958D2ee523a2206206994597C13D831ec7" - added
Input schema / properties / id / defaultAdded value: +"ethereum" - changed
Input schema / properties / id / descriptionPrevious value: -"Platform ID (e.g., `ethereum`, `binance-smart-chain`, `polygon-pos`)."New value: +"Asset platform's ID. \n*refers to [`/asset_platforms`](/reference/asset-platforms-list)" - removed
Input schema / properties / id / exampleRemoved value: -"ethereum" - added
Input schema / properties / include_24hr_change / descriptionAdded value: +"Include 24-hour change percentage. \nDefault: false" - added
Input schema / properties / include_24hr_vol / descriptionAdded value: +"Include 24-hour trading volume. \nDefault: false" - added
Input schema / properties / include_last_updated_at / descriptionAdded value: +"Include last updated price time as a UNIX timestamp. \nDefault: false" - added
Input schema / properties / include_market_cap / descriptionAdded value: +"Include market capitalization. \nDefault: false" - changed
Input schema / properties / precision / descriptionPrevious value: -"`full` or a value from `0` to `18` to specify decimal places for currency price values."New value: +"Decimal places for currency price value" - added
Input schema / properties / precision / enumAdded value: +[ + "full", + "0", + "1", + "2", + "3", + "4", + "5", + "6", + "7", + "8", + "9", + "10", + "11", + "12", + "13", + "14", + "15", + "16", + "17", + "18" +] - removed
Input schema / properties / precision / exampleRemoved value: -"2" - added
Input schema / properties / vs_currencies / defaultAdded value: +"usd" - changed
Input schema / properties / vs_currencies / descriptionPrevious value: -"Comma-separated target currencies."New value: +"Target currency of coins, comma-separated if querying more than 1 currency. \n*refers to [`/simple/supported_vs_currencies`](/reference/simple-supported-currencies)" - removed
Input schema / properties / vs_currencies / exampleRemoved value: -"usd"
- Changed
get_coingecko_token_data7 fields changed- changed
Input schema / properties / contract_address / defaultPrevious value: -"0xa0b86991c6218b36c1d19d4a2e9eb0ce3606eb48"New value: +"0xc02aaa39b223fe8d0a0e5c4f27ead9083c756cc2" - changed
Input schema / properties / contract_address / descriptionPrevious value: -"The contract address of the token."New value: +"The contract address of token." - removed
Input schema / properties / contract_address / exampleRemoved value: -"0xa0b86991c6218b36c1d19d4a2e9eb0ce3606eb48" - changed
Input schema / properties / id / descriptionPrevious value: -"Asset platform ID (e.g., `ethereum`). Refers to the `/asset_platforms` list on CoinGecko."New value: +"Asset platform ID. \n*refers to [`/asset_platforms`](/reference/asset-platforms-list)." - removed
Input schema / properties / id / exampleRemoved value: -"ethereum" - changed
Input schema / requiredPrevious value: -[ - "id", - "contract_address" -]New value: +[ + "contract_address", + "id" +] - removed
Output schema / x-fastmcp-wrap-resultRemoved value: -true
- Changed
get_coingecko_token_market_chart14 fields changed- added
Input schema / properties / contract_address / defaultAdded value: +"0xa0b86991c6218b36c1d19d4a2e9eb0ce3606eb48" - changed
Input schema / properties / contract_address / descriptionPrevious value: -"Contract address."New value: +"The contract address of token." - added
Input schema / properties / days / defaultAdded value: +"1" - changed
Input schema / properties / days / descriptionPrevious value: -"Data up to N days ago. Accepts `1`, `7`, `14`, `30`, `90`, `180`, `365`, or `max`."New value: +"Data up to number of days ago. \nYou may use any integer or `max` for number of days." - removed
Input schema / properties / days / exampleRemoved value: -"7" - added
Input schema / properties / id / defaultAdded value: +"ethereum" - changed
Input schema / properties / id / descriptionPrevious value: -"Platform ID."New value: +"Asset platform ID. \n*refers to [`/asset_platforms`](/reference/asset-platforms-list)." - removed
Input schema / properties / id / exampleRemoved value: -"ethereum" - added
Input schema / properties / intervalAdded value: +{ + "description": "Data interval, leave empty for auto granularity.", + "enum": [ + "1m", + "5m", + "hourly", + "daily" + ], + "type": "string" +} - changed
Input schema / properties / precision / descriptionPrevious value: -"`full` or a value from `0` to `18` to specify decimal places for currency price values."New value: +"Decimal place for currency price value." - added
Input schema / properties / precision / enumAdded value: +[ + "full", + "0", + "1", + "2", + "3", + "4", + "5", + "6", + "7", + "8", + "9", + "10", + "11", + "12", + "13", + "14", + "15", + "16", + "17", + "18" +] - removed
Input schema / properties / precision / exampleRemoved value: -"2" - changed
Input schema / properties / vs_currency / descriptionPrevious value: -"Target currency for price (e.g., `usd`, `eur`, `btc`). See `/simple/supported_vs_currencies`."New value: +"Target currency of market data. \n*refers to [`/simple/supported_vs_currencies`](/reference/simple-supported-currencies)." - changed
Input schema / requiredPrevious value: -[ - "id", - "contract_address", - "vs_currency", - "days" -]New value: +[ + "contract_address", + "id", + "days", + "vs_currency" +]
- Changed
get_coingecko_token_market_chart_range20 fields changed- added
Input schema / properties / contract_address / defaultAdded value: +"0xa0b86991c6218b36c1d19d4a2e9eb0ce3606eb48" - changed
Input schema / properties / contract_address / descriptionPrevious value: -"Token contract address."New value: +"The contract address of token." - removed
Input schema / properties / contract_address / exampleRemoved value: -"0xa0b86991c6218b36c1d19d4a2e9eb0ce3606eb48" - added
Input schema / properties / from / defaultAdded value: +"2025-12-22" - changed
Input schema / properties / from / descriptionPrevious value: -"Start UNIX timestamp (seconds)."New value: +"Starting date in ISO date string (`YYYY-MM-DD` or `YYYY-MM-DDTHH:MM`) or UNIX timestamp. \n**Use ISO date string for best compatibility.**" - removed
Input schema / properties / from / exampleRemoved value: -1751328000 - changed
Input schema / properties / from / typePrevious value: -"integer"New value: +"string" - added
Input schema / properties / id / defaultAdded value: +"ethereum" - changed
Input schema / properties / id / descriptionPrevious value: -"Asset platform ID (e.g., `ethereum`)."New value: +"Asset platform ID. \n*refers to [`/asset_platforms`](/reference/asset-platforms-list)." - removed
Input schema / properties / id / exampleRemoved value: -"ethereum" - added
Input schema / properties / intervalAdded value: +{ + "description": "Data interval, leave empty for auto granularity.", + "enum": [ + "1m", + "5m", + "hourly", + "daily" + ], + "type": "string" +} - changed
Input schema / properties / precision / descriptionPrevious value: -"`full` or a value from `0` to `18` to specify decimal places for currency price values."New value: +"Decimal place for currency price value." - added
Input schema / properties / precision / enumAdded value: +[ + "full", + "0", + "1", + "2", + "3", + "4", + "5", + "6", + "7", + "8", + "9", + "10", + "11", + "12", + "13", + "14", + "15", + "16", + "17", + "18" +] - removed
Input schema / properties / precision / exampleRemoved value: -"2" - added
Input schema / properties / to / defaultAdded value: +"2025-12-31" - changed
Input schema / properties / to / descriptionPrevious value: -"End UNIX timestamp (seconds)."New value: +"Ending date in ISO date string (`YYYY-MM-DD` or `YYYY-MM-DDTHH:MM`) or UNIX timestamp. \n**Use ISO date string for best compatibility.**" - removed
Input schema / properties / to / exampleRemoved value: -1751414400 - changed
Input schema / properties / to / typePrevious value: -"integer"New value: +"string" - changed
Input schema / properties / vs_currency / descriptionPrevious value: -"Target currency for price (e.g., `usd`, `eur`, `btc`). See `/simple/supported_vs_currencies`."New value: +"Target currency of market data. \n*refers to [`/simple/supported_vs_currencies`](/reference/simple-supported-currencies)." - changed
Input schema / requiredPrevious value: -[ - "id", - "contract_address", - "vs_currency", - "from", - "to" -]New value: +[ + "contract_address", + "id", + "from", + "to", + "vs_currency" +]
- Changed
get_details13 fields changed- added
Input schema / $schemaAdded value: +"https://json-schema.org/draft/2020-12/schema" - removed
Input schema / properties / argumentsRemoved value: -{ - "anyOf": [ - { - "additionalProperties": true, - "type": "object" - }, - { - "type": "null" - } - ], - "default": null, - "description": "The arguments the operation would be called with, for a price that reflects them. Keyed by operation_id for a batch, or passed flat for a single operation_id. Routes whose required parameters are validated before pricing have no price without them." -} - added
Input schema / properties / include_arguments_schemaAdded value: +{ + "default": true, + "description": "Return the complete arguments_schema. Defaults to true.", + "type": "boolean" +} - changed
Input schema / properties / include_documentation / descriptionPrevious value: -"Include the complete native public OpenAPI document, reference closure and scoped completeness. Existing execution schemas remain unchanged."New value: +"Return the complete immutable public OpenAPI operation, referenced declarations, provenance and scoped completeness. Documentation does not change execution support." - added
Input schema / properties / include_response_schemaAdded value: +{ + "default": false, + "description": "Return the complete response_schema. Defaults to false.", + "type": "boolean" +} - removed
Input schema / properties / operation_idRemoved value: -{ - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ], - "default": null, - "description": "One operation_id from search" -} - removed
Input schema / properties / operation_idsRemoved value: -{ - "anyOf": [ - { - "items": { - "type": "string" - }, - "type": "array" - }, - { - "type": "null" - } - ], - "default": null, - "description": "Up to 20 operation_ids, for a batch" -} - added
Input schema / properties / session_idAdded value: +{ + "description": "Reuse the session_id returned by Search in all subsequent tool calls for this task. If omitted, a new session is created.", + "maxLength": 128, + "pattern": "^[A-Za-z0-9_-]*$", + "type": "string" +} - added
Input schema / properties / toolsAdded value: +{ + "description": "Exact tool names returned by search whose complete contracts are needed. Never invent tool names.", + "items": { + "minLength": 1, + "pattern": "^\\S(?:.*\\S)?$", + "type": "string" + }, + "maxItems": 20, + "minItems": 1, + "type": "array", + "uniqueItems": true +} - removed
Input schema / properties / with_quoteRemoved value: -{ - "default": true, - "description": "Whether each operation is priced for this account before the answer. One round trip per operation; spends nothing.", - "type": "boolean" -} - added
Input schema / requiredAdded value: +[ + "tools" +] - added
Output schema / propertiesAdded value: +{ + "error_count": { + "type": "integer" + }, + "next_steps_guidance": { + "anyOf": [ + { + "type": "null" + }, + { + "type": "array" + } + ], + "items": { + "type": "string" + } + }, + "session_id": { + "description": "Reuse the session_id returned by Search in all subsequent tool calls for this task. If omitted, a new session is created.", + "maxLength": 128, + "minLength": 1, + "pattern": "^[A-Za-z0-9_-]{1,128}$", + "type": "string" + }, + "success_count": { + "type": "integer" + }, + "tools": { + "additionalProperties": { + "additionalProperties": false, + "properties": { + "arguments_schema": { + "additionalProperties": true, + "anyOf": [ + { + "type": "null" + }, + { + "type": "object" + } + ] + }, + "canonical_operation_id": { + "type": "string" + }, + "documentation": { + "additionalProperties": true, + "type": "object" + }, + "error": { + "additionalProperties": false, + "anyOf": [ + { + "type": "null" + }, + { + "type": "object" + } + ], + "properties": { + "code": { + "type": "string" + }, + "message": { + "type": "string" + } + }, + "required": [ + "code", + "message" + ] + }, + "execution_supported": { + "description": "Whether this router can execute and quote the operation; false retains documentation and discovery only.", + "type": "boolean" + }, + "execution_unsupported_reason": { + "description": "Why execution and quoting remain unavailable through this router.", + "type": "string" + }, + "idempotent": { + "anyOf": [ + { + "type": "null" + }, + { + "type": "boolean" + } + ] + }, + "known_pitfalls": { + "anyOf": [ + { + "type": "null" + }, + { + "type": "array" + } + ], + "items": { + "type": "string" + } + }, + "read_only": { + "anyOf": [ + { + "type": "null" + }, + { + "type": "boolean" + } + ] + }, + "response_schema": { + "additionalProperties": true, + "anyOf": [ + { + "type": "null" + }, + { + "type": "object" + } + ] + }, + "side_effects": { + "anyOf": [ + { + "type": "null" + }, + { + "type": "array" + } + ], + "items": { + "type": "string" + } + }, + "successful": { + "type": "boolean" + } + }, + "required": [ + "successful" + ], + "type": "object" + }, + "type": "object" + }, + "total_count": { + "type": "integer" + } +} - added
Output schema / requiredAdded value: +[ + "error_count", + "next_steps_guidance", + "session_id", + "success_count", + "tools", + "total_count" +]
- Changed
search17 fields changed- added
Input schema / $schemaAdded value: +"https://json-schema.org/draft/2020-12/schema" - removed
Input schema / properties / category / anyOfRemoved value: -[ - { - "enum": [ - "seo", - "finance", - "social", - "search", - "sales", - "mail" - ], - "type": "string" - }, - { - "type": "null" - } -] - removed
Input schema / properties / category / defaultRemoved value: -null - changed
Input schema / properties / category / descriptionPrevious value: -"Restrict to one category (seo, finance, social, search, sales, mail). Omit to search everything."New value: +"Restrict retrieval to one category. Omit to search everything. (AIsa-only: tool-router has no equivalent.)" - added
Input schema / properties / category / enumAdded value: +[ + "seo", + "finance", + "social", + "search", + "sales", + "mail" +] - added
Input schema / properties / category / typeAdded value: +"string" - added
Input schema / properties / known_fieldsAdded value: +{ + "additionalProperties": true, + "default": {}, + "description": "Known values such as ticker, URL, provider, or identifier that improve retrieval.", + "type": "object" +} - changed
Input schema / properties / limit / descriptionPrevious value: -"Maximum candidates, 1-10"New value: +"Maximum number of additional direct tool candidates." - added
Input schema / properties / limit / maximumAdded value: +20 - added
Input schema / properties / limit / minimumAdded value: +1 - added
Input schema / properties / provider_filtersAdded value: +{ + "default": [], + "description": "Optional exact catalog provider keys used to narrow retrieval (for example similarweb). Do not use display brands. Omit this field if the exact key is unknown.", + "items": { + "type": "string" + }, + "maxItems": 50, + "type": "array", + "uniqueItems": true +} - changed
Input schema / properties / query / descriptionPrevious value: -"What you need, in plain language, e.g. 'backlinks of a domain', 'recent tweets by a user', 'insider trades for AAPL'. English works best."New value: +"Natural-language capability or task to discover." - added
Input schema / properties / query / maxLengthAdded value: +2000 - added
Input schema / properties / query / minLengthAdded value: +1 - added
Input schema / properties / session_idAdded value: +{ + "description": "Reuse the session_id returned by Search in all subsequent tool calls for this task. If omitted, a new session is created.", + "maxLength": 128, + "pattern": "^[A-Za-z0-9_-]*$", + "type": "string" +} - added
Output schema / propertiesAdded value: +{ + "next_steps_guidance": { + "anyOf": [ + { + "type": "null" + }, + { + "type": "array" + } + ], + "items": { + "type": "string" + } + }, + "plan": { + "additionalProperties": false, + "anyOf": [ + { + "type": "null" + }, + { + "type": "object" + } + ], + "properties": { + "canonical_use_case": { + "type": "string" + }, + "description": { + "type": "string" + }, + "known_pitfalls": { + "anyOf": [ + { + "type": "null" + }, + { + "type": "array" + } + ], + "items": { + "type": "string" + } + }, + "plan_ref": { + "type": "string" + }, + "primary_tools": { + "anyOf": [ + { + "type": "null" + }, + { + "type": "array" + } + ], + "items": { + "type": "string" + } + }, + "recommended_steps": { + "anyOf": [ + { + "type": "null" + }, + { + "type": "array" + } + ], + "items": { + "type": "string" + } + }, + "related_tools": { + "anyOf": [ + { + "type": "null" + }, + { + "type": "array" + } + ], + "items": { + "type": "string" + } + } + }, + "required": [ + "canonical_use_case", + "description", + "known_pitfalls", + "plan_ref", + "primary_tools", + "recommended_steps", + "related_tools" + ] + }, + "retrieval_mode": { + "anyOf": [ + { + "type": "null" + }, + { + "type": "string" + } + ] + }, + "search_id": { + "type": "string" + }, + "session_id": { + "description": "Reuse the session_id returned by Search in all subsequent tool calls for this task. If omitted, a new session is created.", + "maxLength": 128, + "minLength": 1, + "pattern": "^[A-Za-z0-9_-]{1,128}$", + "type": "string" + }, + "tools": { + "anyOf": [ + { + "type": "null" + }, + { + "type": "array" + } + ], + "items": { + "additionalProperties": false, + "properties": { + "arguments_schema": { + "additionalProperties": true, + "anyOf": [ + { + "type": "null" + }, + { + "type": "object" + } + ] + }, + "description": { + "type": "string" + }, + "execution_supported": { + "description": "Whether this router can execute and quote the operation; false retains documentation and discovery only.", + "type": "boolean" + }, + "execution_unsupported_reason": { + "description": "Why execution and quoting remain unavailable through this router.", + "type": "string" + }, + "has_full_schema": { + "type": "boolean" + }, + "match_reasons": { + "anyOf": [ + { + "type": "null" + }, + { + "type": "array" + } + ], + "items": { + "type": "string" + } + }, + "price": { + "additionalProperties": true, + "type": "object" + }, + "retrieval_debug": { + "additionalProperties": false, + "anyOf": [ + { + "type": "null" + }, + { + "type": "object" + } + ], + "properties": { + "fused_rank": { + "type": "integer" + }, + "fused_score": { + "type": "number" + }, + "lexical_rank": { + "type": "integer" + }, + "lexical_score": { + "type": "number" + }, + "rerank_admission_rank": { + "type": "integer" + }, + "rerank_rank": { + "type": "integer" + }, + "rerank_score": { + "anyOf": [ + { + "type": "null" + }, + { + "type": "number" + } + ] + }, + "runtime_availability": { + "type": "string" + }, + "vector_view_ranks": { + "additionalProperties": { + "type": "integer" + }, + "type": "object" + }, + "vector_view_scores": { + "additionalProperties": { + "type": "number" + }, + "type": "object" + } + }, + "required": [ + "fused_rank", + "fused_score", + "lexical_rank", + "lexical_score", + "rerank_admission_rank", + "rerank_rank", + "runtime_availability", + "vector_view_ranks", + "vector_view_scores" + ] + }, + "summary": { + "type": "string" + }, + "tool": { + "type": "string" + } + }, + "required": [ + "description", + "has_full_schema", + "price", + "summary", + "tool" + ], + "type": "object" + } + } +} - added
Output schema / requiredAdded value: +[ + "next_steps_guidance", + "search_id", + "session_id", + "tools" +]
- Changed
use1 field changed- changed
Input schema / properties / max_price_usd / descriptionPrevious value: -"Refuse the call before any spend if it would cost more than this many USD"New value: +"Refuse the call before any spend if its quoted price is above this many USD"
1 tool update
- Changed
get_details1 field changed- added
Input schema / properties / include_documentationAdded value: +{ + "default": false, + "description": "Include the complete native public OpenAPI document, reference closure and scoped completeness. Existing execution schemas remain unchanged.", + "type": "boolean" +}
14 tool updates
- Changed
get_coingecko_coins_id1 field changed- added
Input schema / properties / id / exampleAdded value: +"bitcoin"
- Changed
get_coingecko_coins_id_history2 fields changed- added
Input schema / properties / date / exampleAdded value: +"30-12-2024" - added
Input schema / properties / id / exampleAdded value: +"bitcoin"
- Changed
get_coingecko_coins_id_market_chart3 fields changed- added
Input schema / properties / days / exampleAdded value: +"7" - added
Input schema / properties / id / exampleAdded value: +"bitcoin" - added
Input schema / properties / precision / exampleAdded value: +"2"
- Changed
get_coingecko_coins_id_market_chart_range4 fields changed- added
Input schema / properties / from / exampleAdded value: +1713398400 - added
Input schema / properties / id / exampleAdded value: +"bitcoin" - added
Input schema / properties / precision / exampleAdded value: +"2" - added
Input schema / properties / to / exampleAdded value: +1713484800
- Changed
get_coingecko_coins_id_ohlc3 fields changed- added
Input schema / properties / days / exampleAdded value: +"7" - added
Input schema / properties / id / exampleAdded value: +"bitcoin" - added
Input schema / properties / precision / exampleAdded value: +"2"
- Changed
get_coingecko_coins_id_tickers1 field changed- added
Input schema / properties / id / exampleAdded value: +"bitcoin"
- Changed
get_coingecko_coins_markets3 fields changed- added
Input schema / properties / ids / exampleAdded value: +"bitcoin,ethereum" - added
Input schema / properties / locale / exampleAdded value: +"en" - added
Input schema / properties / precision / exampleAdded value: +"2"
- Changed
get_coingecko_exchanges_id1 field changed- added
Input schema / properties / id / exampleAdded value: +"binance"
- Changed
get_coingecko_exchanges_id_tickers1 field changed- added
Input schema / properties / id / exampleAdded value: +"binance"
- Changed
get_coingecko_simple_price2 fields changed- added
Input schema / properties / ids / exampleAdded value: +"bitcoin,ethereum" - added
Input schema / properties / vs_currencies / exampleAdded value: +"usd,eur"
- Changed
get_coingecko_simple_token_price_id4 fields changed- added
Input schema / properties / contract_addresses / exampleAdded value: +"0xdAC17F958D2ee523a2206206994597C13D831ec7" - added
Input schema / properties / id / exampleAdded value: +"ethereum" - added
Input schema / properties / precision / exampleAdded value: +"2" - added
Input schema / properties / vs_currencies / exampleAdded value: +"usd"
- Changed
get_coingecko_token_data2 fields changed- added
Input schema / properties / contract_address / exampleAdded value: +"0xa0b86991c6218b36c1d19d4a2e9eb0ce3606eb48" - added
Input schema / properties / id / exampleAdded value: +"ethereum"
- Changed
get_coingecko_token_market_chart3 fields changed- added
Input schema / properties / days / exampleAdded value: +"7" - added
Input schema / properties / id / exampleAdded value: +"ethereum" - added
Input schema / properties / precision / exampleAdded value: +"2"
- Changed
get_coingecko_token_market_chart_range5 fields changed- added
Input schema / properties / contract_address / exampleAdded value: +"0xa0b86991c6218b36c1d19d4a2e9eb0ce3606eb48" - added
Input schema / properties / from / exampleAdded value: +1751328000 - added
Input schema / properties / id / exampleAdded value: +"ethereum" - added
Input schema / properties / precision / exampleAdded value: +"2" - added
Input schema / properties / to / exampleAdded value: +1751414400
26 tool updates
- First observed
batch_use - First observed
get_coingecko_coins_categories - First observed
get_coingecko_coins_categories_list - First observed
get_coingecko_coins_id - First observed
get_coingecko_coins_id_history - First observed
get_coingecko_coins_id_market_chart - First observed
get_coingecko_coins_id_market_chart_range - First observed
get_coingecko_coins_id_ohlc - First observed
get_coingecko_coins_id_tickers - First observed
get_coingecko_coins_list - First observed
get_coingecko_coins_markets - First observed
get_coingecko_exchanges - First observed
get_coingecko_exchanges_id - First observed
get_coingecko_exchanges_id_tickers - First observed
get_coingecko_exchanges_list - First observed
get_coingecko_search_trending - First observed
get_coingecko_simple_price - First observed
get_coingecko_simple_supported_vs_currencies - First observed
get_coingecko_simple_token_price_id - First observed
get_coingecko_token_data - First observed
get_coingecko_token_market_chart - First observed
get_coingecko_token_market_chart_range - First observed
get_details - First observed
list_categories - First observed
search - First observed
use
Publisher details
- Operator
- AIsa · Publisher source
- Operator website
- https://aisa.one
- Vendor relationship
- Independent
- Documentation
- https://mcp.aisa.one/servers
- Trust center
- Not available
- Restrictions
- No paid plan, admin approval, regional limit or custom OAuth app is needed to connect. Sign-in is OAuth against auth.aisa.one with dynamic client registration (RFC 7591), or an Authorization: Bearer AIsa API key. search, get_details and list_categories are free. use and batch_use are billed per call to the caller's own AIsa key, and max_price_usd refuses anything above a cap before any spend. Some operations are subscription-only on the gateway and answer 402 without the Hive GTM Growth plan.
Related MCP Connectors
Your agent needs markets — prices and fundamentals for listed companies, the filings behind them, crypto, and what the prediction markets put the odds at. **What you can ask for** • "Pull this company's income statement, cash flow and balance sheet for the last 8 quarters." • "What did insiders buy or sell, and when?" • "Snapshot prices for these 50 tickers, then the OHLC history for the three that moved." • "What are the current odds on this event across Kalshi and Polymarket?" • "Screen for companies matching these financial criteria." **How to use it** Point any MCP client at https://mcp.aisa.one/finance/mcp and sign in with OAuth — there is no key to create or paste. 49 tools: prices and snapshots, income statements, balance sheets and cash flows, metrics and ratios, earnings and analyst estimates, filings and line-item search, insider trades, macro interest rates, news, a screener; CoinGecko spot prices, market tables, OHLC, per-venue tickers and trending; Kalshi and Polymarket markets and trades; plus EDINET filings for Japan. **Why this rather than the source** Equities, crypto and event markets behind one account, so a cross-asset question is one conversation. **It is also a door to the rest** The same login reaches 26 sources and 580+ operations. Read the number here, then ask the same agent what X is saying about the ticker today — without adding a second server. **What it costs** Finding and inspecting an operation is free. Running one is billed per call at API prices, with no seat and no monthly minimum, and every call takes max_price_usd so an agent cannot overspend by accident. **Where else it reaches** https://mcp.aisa.one/marketpulse/mcp · /crypto-market-data/mcp · /prediction-market-data/mcp · /stock-pulse/mcp for one slice each.
Your agent needs company financials it can compute on — statements, ratios, earnings, estimates, filings and insider activity as structured data, not a PDF. **What you can ask for** • "Give me 8 quarters of income statement, balance sheet and cash flow for this ticker." • "What do analysts estimate for next quarter, and how did the last four surprise?" • "Find this exact line item across every filing." • "Who bought or sold as an insider in the last 90 days?" • "Screen for profitable companies under this valuation with growing revenue." **How to use it** Point any MCP client at https://mcp.aisa.one/marketpulse/mcp and sign in with OAuth — there is no key to create or paste. 21 tools: prices and snapshots, income statements, balance sheets, cash-flow statements, financial metrics and snapshots, earnings, analyst estimates, company facts, filings and filing items, line-item search, a screener, insider trades, macro interest rates, news, plus EDINET documents and filing digests for Japanese issuers. **Why this rather than the source** Statements as fields you can compute on, and a screener in the same place. **It is also a door to the rest** The same login reaches 26 sources and 580+ operations. Read the fundamentals here, then ask the same agent what social is saying about the ticker — without adding a second server. **What it costs** Finding and inspecting an operation is free. Running one is billed per call at API prices, with no seat and no monthly minimum, and every call takes max_price_usd so an agent cannot overspend by accident. **Where else it reaches** https://mcp.aisa.one/finance/mcp for equities, crypto and prediction markets in one place.
Your agent needs X/Twitter data — who follows a competitor, what a community is posting, who quoted that tweet, what is trending in Japan. Normally that means applying for an X developer account, passing app review, and managing a quota per endpoint. **What you can ask for** • "Who follows @stripe, and which of them are verified?" • "Pull every reply and quote on this tweet and summarise what people object to." • "List this community's moderators and its posts this week." • "What is trending in Japan right now?" • "Give me the full thread context behind this link, including the long-form article." **How to use it** Point any MCP client at https://mcp.aisa.one/twitter-api/mcp and sign in with OAuth — there is no key to create or paste. 29 read tools: users (profile, about, batch lookup by id, search, followers, verified followers, followings, follow check), tweets (timeline, latest, mentions, advanced search, replies, quotes, retweeters, thread context, articles), communities, lists, Spaces and trends. **Why this rather than the source** No developer account to apply for, no app review, no per-endpoint quota to manage. **It is also a door to the rest** The same login reaches 26 sources and 580+ operations. Ask for a handle's followers here, then ask the same agent for that brand's search traffic, its backlinks, or the people to contact — without adding a second server. **What it costs** Finding and inspecting an operation is free. Running one is billed per call at API prices, with no seat and no monthly minimum, and every call takes max_price_usd so an agent cannot overspend by accident. **Where else it reaches** https://mcp.aisa.one/social/mcp for X plus Instagram, Reddit, Pinterest and YouTube; https://mcp.aisa.one/gtm/mcp for those plus Similarweb and Apollo.
Your agent needs the two halves of a move at once — what people are posting about a ticker right now, and what the price and the news actually did. **What you can ask for** • "What is X saying about $NVDA today, and what did the stock do?" • "Show the chatter and the price move for these five tickers side by side." • "Which tickers are being talked about most right now?" • "Pull the news and the snapshot behind this spike." **How to use it** Point any MCP client at https://mcp.aisa.one/stock-pulse/mcp and sign in with OAuth — there is no key to create or paste. 4 tools: a combined stock-pulse call that joins X/Twitter chatter to the tickers mentioned, plus advanced tweet search, price snapshots and financial news. **Why this rather than the source** One call instead of four, with the join already done. **It is also a door to the rest** The same login reaches 26 sources and 580+ operations. Spot the move here, then ask the same agent for the filings or the fundamentals behind it — without adding a second server. **What it costs** Finding and inspecting an operation is free. Running one is billed per call at API prices, with no seat and no monthly minimum, and every call takes max_price_usd so an agent cannot overspend by accident. **Where else it reaches** https://mcp.aisa.one/finance/mcp for equities, crypto and prediction markets in one place.
Related MCP Servers
- AlicenseAqualityCmaintenanceFree MCP server for real-time cryptocurrency data. Get token prices, market overview, top movers, historical charts, and detailed token info directly in Claude Code, Cursor, or any MCP-compatible AI tool. Powered by CoinGecko with 70+ token mappings and built-in caching.5MIT
- AlicenseNot gradedqualityDmaintenanceConnects AI agents to real-time cryptocurrency market data from CoinGecko API, enabling price lookups, coin details, market rankings, search, and trending crypto queries through natural language.20 npmApache 2.0
- FlicenseAqualityDmaintenanceAn MCP server that enables AI agents to fetch real-time cryptocurrency prices and market data using the CoinGecko API.13-
- AlicenseNot gradedqualityDmaintenanceProvides live and historical cryptocurrency prices, trending coins, and global market data via CoinGecko API, enabling AI agents to fetch real-time and historical crypto information.MIT
Glama MCP Gateway
Add one secure layer between your agents and this server.