ModelCostComparison
Server Details
Find AI model pricing, estimate token costs and compare offers. No API key required.
- Status
- Healthy
- Uptime
- 100.0% over 18 days
- Last Tested
- Transport
- Streamable HTTP · MCP 2025-11-25
- URL
- Repository
- Lazige/modelcostcomparison-mcp
- GitHub Stars
- 0
TDQS
Scored across 6 tools
The six tools split cleanly along discovery vs. pricing vs. calculation lines, and descriptions explicitly cross-reference each other (e.g. calculate_cost for one offer vs. compare_model_costs for 2-20 vs. find_cheapest_models for open search). There is mild overlap since all three cost tools return the same USD text-token subtotal metric, but the input requirements and guidance clearly separate them.
Every tool follows a consistent snake_case verb_noun pattern (calculate_cost, compare_model_costs, find_cheapest_models, get_model_pricing, list_models, list_providers). Verb choice is predictable: list for discovery, get for single-item retrieval, calculate/compare/find for the analysis actions.
Six tools is well-scoped for a pricing/cost-comparison domain, with each tool covering a distinct workflow stage. No tool feels redundant or padded.
The surface covers the full pipeline: provider discovery, model/offer discovery, rate inspection, single-offer calculation, multi-offer comparison, and cheapest-offer search. Coverage is strong; the only gaps are peripheral operations like tariff history or bulk/saved comparisons that an agent can work around by re-calling existing tools.
Available Tools
6 toolscalculate_costARead-onlyIdempotentInspect
Use when you have one exact offer ID and token usage and want its USD text-token subtotal. Discover the ID with list_models first. Total input includes cached input; do not add cached tokens twice. Excludes cache writes, storage, search, tool fees and taxes. Requires current reviewed, supported rates; does not invoke a model. Use compare_model_costs for several known offers.
| Name | Required | Description | Default |
|---|---|---|---|
| usage | Yes | Token totals for the period or scenario being estimated, not dollars or request counts. Supply input and output separately; cached input is a subset of total input. | |
| model_id | Yes | Exact pricing-offer ID returned by list_models or find_cheapest_models. Do not substitute a display name or guessed API model name. | |
| expected_dataset_revision | No | Optional consistency check: copy meta.dataset_revision from a prior tool response to require the same current pricing snapshot. Omit to use the current snapshot. A mismatch returns DATASET_CHANGED; refresh pricing and retry. This cannot retrieve a historical snapshot. |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already cover the safety profile (readOnly, idempotent, non-destructive), and the description adds substantive behavioral context beyond them: what is excluded (cache writes, storage, search, tool fees, taxes), that it does not invoke a model, that it requires current reviewed supported rates, and the double-counting caveat for cached input.
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?
Five tight sentences, front-loaded with the use case, then prerequisite, then inclusions/exclusions, then alternative. Every sentence carries distinct information with no filler.
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 calculation tool with a full output schema (so return values need not be explained), the description covers scope, prerequisites, exclusions, rate requirements, and sibling routing. An agent has everything needed to invoke 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 coverage is 100%, so the baseline is 3, but the description adds real semantic value by clarifying that total input already includes cached input and warning not to add cached tokens twice. It does not add further syntax detail beyond what the schema already 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 (calculate) and resource (cost) with precise scope ('USD text-token subtotal' for 'one exact offer ID and token usage'). It explicitly distinguishes itself from siblings by naming compare_model_costs for multiple offers and list_models for ID discovery.
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?
Gives an explicit trigger condition ('when you have one exact offer ID and token usage'), a prerequisite step ('Discover the ID with list_models first'), and a named alternative with its selecting condition ('Use compare_model_costs for several known offers'). Nothing is left to inference.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
compare_model_costsARead-onlyIdempotentInspect
Use when you already have 2–20 exact offer IDs and want their USD text-token subtotals for the same usage and pricing snapshot. Equal token counts are a comparison assumption, not equivalent tokenization of the same text. Returns supported results and per-offer exclusions. Excludes cache writes, storage, search, tool fees and taxes; does not rank quality. Use find_cheapest_models to search without a shortlist.
| Name | Required | Description | Default |
|---|---|---|---|
| usage | Yes | Token totals for the period or scenario being estimated, not dollars or request counts. Supply input and output separately; cached input is a subset of total input. | |
| model_ids | Yes | Distinct exact pricing-offer IDs returned by discovery. Choose 2–20 offers to compare; do not supply display names. | |
| expected_dataset_revision | No | Optional consistency check: copy meta.dataset_revision from a prior tool response to require the same current pricing snapshot. Omit to use the current snapshot. A mismatch returns DATASET_CHANGED; refresh pricing and retry. This cannot retrieve a historical snapshot. |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations only cover the safety profile (readOnly, idempotent, non-destructive). The description adds substantive behavior: the equal-token-count comparison assumption, that per-offer exclusions are returned, and an explicit exclusion list (cache writes, storage, search, tool fees, taxes), plus the caveat that it does not rank quality.
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-loads the precondition, then caveats, then exclusions, then the sibling routing. Every sentence carries distinct, actionable information with no padding.
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 shapes need not be explained, yet the description still flags 'supported results and per-offer exclusions'. Combined with the documented usage shape and the DATASET_CHANGED handling in the schema, an agent has everything needed to invoke and interpret it.
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 reinforces 'exact offer IDs' and 'do not supply display names' and the 2–20 bound, but these are already documented in the schema, so it adds little beyond reinforcement.
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 ('compare' cost subtotals for 2–20 exact offer IDs) and scopes it tightly. It is immediately distinguishable from discovery/ranking siblings like find_cheapest_models.
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?
Opens with the precise precondition (you already have 2–20 exact offer IDs) and names the alternative with the condition that selects it ('Use find_cheapest_models to search without a shortlist'). When-to-use, when-not, and alternative are all explicit.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
find_cheapest_modelsARead-onlyIdempotentInspect
Use when you know your token workload but have not selected offers: rank eligible current reviewed offers by USD text-token subtotal and return their exact IDs. Defaults to standard tariffs. Cheapest means within the eligible catalogue and supplied filters, not best quality or the entire market. Equal token counts do not imply tokenizer equivalence. Excludes cache writes, storage, search, tool fees and taxes; reports exclusion counts. Optional capacity filtering uses reviewed pricing input limits, not full context windows.
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | Maximum ranked results to return: 1–20; default 10. | |
| usage | Yes | Token totals for the period or scenario being estimated, not dollars or request counts. Supply input and output separately; cached input is a subset of total input. | |
| provider_id | No | Optional exact provider_id returned by list_providers or offer identity. Use to restrict results to one provider; omit for all providers. | |
| pricing_tier | No | Optional exact tariff name from offer identity, such as standard or peak. Omit to rank standard tariffs. | standard |
| expected_dataset_revision | No | Optional consistency check: copy meta.dataset_revision from a prior tool response to require the same current pricing snapshot. Omit to use the current snapshot. A mismatch returns DATASET_CHANGED; refresh pricing and retry. This cannot retrieve a historical snapshot. | |
| min_input_tokens_per_request | No | Optional minimum reviewed per-request pricing input limit an offer must support. Unknown or smaller limits are excluded. This is not the model context window and does not replace usage.max_input_tokens_per_request. |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Beyond the readOnly/idempotent/non-destructive annotations, the description discloses the exact cost scope excluded (cache writes, storage, search, tool fees, taxes), that exclusion counts are reported, that the default tariff is standard, and that equal token counts do not imply tokenizer equivalence. These are non-obvious behavioral traits an agent cannot infer from the annotations or schema.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is a single dense paragraph that front-loads the usage trigger and then layers scope caveats; every sentence carries information. It would be easier to scan as short bullets, but there is no filler or repetition.
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 6-parameter ranking tool with an output schema and rich annotations, the description covers eligibility, cost exclusions, tariff defaults, capacity-filter semantics, and the tokenizer caveat. An agent has enough to invoke it correctly without guessing.
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, but the description adds meaning the schema does not: that capacity filtering reflects reviewed pricing input limits rather than full context windows, and that token-count parity across models is not tokenizer equivalence. It otherwise restates schema facts such as the standard-tariff default, keeping it below 5.
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 and resource: rank eligible current reviewed offers by USD text-token subtotal and return their exact IDs. It also pins down what 'cheapest' means (within eligible catalogue and supplied filters, not quality or whole market), which helps separate it from compare_model_costs. It stops short of naming sibling tools, so it falls one notch below 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 opening 'Use when you know your token workload but have not selected offers' states a clear triggering condition, and the 'not best quality or the entire market' caveat bounds expectations. No alternative tool is named for the adjacent case (e.g., when you already have offers or want a pairwise comparison), so there is no explicit when-not routing.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_model_pricingARead-onlyIdempotentInspect
Use after list_models when you need the rates, tariff identity, sources and freshness of one exact offer, without calculating a workload. Supply the returned model_id. Prices are recorded USD text-token rates; expired or unreviewed rates are informational only. Use calculate_cost for a workload estimate.
| Name | Required | Description | Default |
|---|---|---|---|
| model_id | Yes | Exact pricing-offer ID returned by list_models or find_cheapest_models. Do not substitute a display name or guessed API model name. |
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, non-destructive, and closed-world behavior. The description adds meaningful context beyond that: prices are recorded USD text-token rates, and expired or unreviewed rates are informational only, which helps the agent interpret data freshness and reliability.
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 tightly structured: usage context and prerequisite first, parameter guidance second, data caveat third, and alternative tool last. Every sentence adds distinct value with no redundant or filler 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?
For a simple single-parameter lookup tool with full schema coverage, annotations, and an output schema, the description covers usage context, the alternative tool, and important data-freshness limitations. Nothing an agent needs to select or invoke the tool 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?
Schema description coverage is 100%, and the schema's model_id description already explains that it must be the exact pricing-offer ID returned by list_models or find_cheapest_models. The tool description reinforces this with 'Supply the returned model_id' but adds no semantic detail beyond the schema, 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+resource: retrieving the rates, tariff identity, sources, and freshness of one exact offer. It explicitly distinguishes itself from calculate_cost (workload estimate) and implies its relationship to list_models, so an agent can tell it apart from siblings 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 says to use this tool after list_models and when an exact offer is needed without calculating a workload. It names calculate_cost as the alternative for workload estimates, providing explicit when-to-use and alternative guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
list_modelsARead-onlyIdempotentInspect
Use first when you know a model name or provider but need exact pricing-offer IDs for pricing or calculations. Search recorded labels and API IDs; case, spacing and punctuation variants are accepted. Multiple tariffs are returned as separate choices. Defaults to current reviewed offers; check costing_supported before calculating. This discovers pricing offers, not model capability recommendations.
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | Maximum offers per page to return: 1–50; default 20. | |
| query | No | Optional model name, recorded label or API ID to search. Use when the exact offer ID is unknown; omit to browse. Matching tolerates case, spacing and punctuation differences. | |
| cursor | No | Opaque next_cursor returned by list_models. Omit on the first page; on later pages repeat the original filters and limit unchanged. Restart without a cursor if it expires or the dataset changes. | |
| status | No | Use current (default) for reviewed offers. Choose expired, unreviewed or all only to inspect catalogue records; those records may not support calculations. | current |
| provider_id | No | Optional exact provider_id returned by list_providers or offer identity. Use to restrict results to one provider; omit for all providers. | |
| pricing_tier | No | Optional exact tariff name from offer identity, such as standard or peak. Use to restrict results to a tariff; omit to include all tariffs. |
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, so safety is covered. The description adds genuine context beyond that: default scoping to 'current reviewed offers,' that multiple tariffs surface as separate choices, and that non-current records may not support calculations — useful behavioral traits not captured by 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?
Front-loaded with the 'use first' trigger and dense with routing information, with no wasted sentences. It is slightly run-on with several clauses packed together, but every sentence carries actionable 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?
For a discovery/list tool with an output schema (so return values need not be explained), the description covers the when-to-use trigger, default scope, tariff behavior, and a calculation-readiness caveat. Nothing an agent needs to invoke 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?
Schema description coverage is 100%, so the schema already documents all six parameters including defaults, enums, and variant-tolerance. The description largely restates these (defaults to current, tolerates variants), adding little syntax or format meaning beyond the structured fields, 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?
The description states a specific resource (pricing offers/models) and its outcome (exact pricing-offer IDs) with a clear verb implied by 'search recorded labels and API IDs.' It explicitly differentiates itself from siblings by noting it 'discovers pricing offers, not model capability recommendations' and positions itself as 'use first' for obtaining offer IDs.
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 prescribes when to use it ('use first when you know a model name or provider but need exact pricing-offer IDs for pricing or calculations') and gives a downstream prerequisite ('check costing_supported before calculating'). It also draws a clear boundary against non-pricing discovery use cases.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
list_providersARead-onlyIdempotentInspect
Use to discover provider IDs and catalogue coverage before filtering model searches. Returns distinct API model counts, offer counts and current supported input/output rate ranges in USD per million tokens. The two rate minima may belong to different offers. For a workload estimate use find_cheapest_models or calculate_cost; ranges are not capability rankings.
| Name | Required | Description | Default |
|---|---|---|---|
| provider_id | No | Optional exact provider_id returned by list_providers or offer identity. Use to restrict results to one provider; omit for all providers. | |
| pricing_tier | No | Optional exact tariff name from offer identity, such as standard or peak. Use to restrict results to a tariff; omit to include all tariffs. | standard |
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/closed-world, so safety is covered without help. The description adds genuine non-obvious data semantics: that the two rate minima may come from different offers, and that ranges are not capability rankings. It stops short of noting pagination or result-size limits, which keeps it from 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?
Three tight sentences, front-loaded with the primary purpose, then the return shape, then the caveats and alternative routing. No filler or repetition; every sentence carries information an agent would otherwise have to guess.
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 is not required, yet the description still characterizes the payload. Combined with the sibling routing and the rate-range caveat, an agent has everything needed to decide whether to call this tool and how to interpret the result.
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% and both parameters carry their own descriptions, including the "omit for all providers" default behavior, so the schema does the heavy lifting. The description adds no parameter-level detail beyond that, matching the baseline 3 for fully documented schemas.
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 concrete purpose ("discover provider IDs and catalogue coverage") and specifies the returned payload (distinct API model counts, offer counts, USD rate ranges), so an agent knows exactly what it gets. It also names the siblings it is not, e.g. find_cheapest_models and calculate_cost, making it separable from the other pricing tools.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Gives an explicit trigger ("before filtering model searches") and explicit redirects for a different intent ("For a workload estimate use find_cheapest_models or calculate_cost"). It also warns what the tool is NOT for ("ranges are not capability rankings").
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.
6 tool updates
- Changed
calculate_cost7 fields changed- added
Input schema / properties / expected_dataset_revision / descriptionAdded value: +"Optional consistency check: copy meta.dataset_revision from a prior tool response to require the same current pricing snapshot. Omit to use the current snapshot. A mismatch returns DATASET_CHANGED; refresh pricing and retry. This cannot retrieve a historical snapshot." - added
Input schema / properties / model_id / descriptionAdded value: +"Exact pricing-offer ID returned by list_models or find_cheapest_models. Do not substitute a display name or guessed API model name." - added
Input schema / properties / usage / descriptionAdded value: +"Token totals for the period or scenario being estimated, not dollars or request counts. Supply input and output separately; cached input is a subset of total input." - added
Input schema / properties / usage / properties / cached_input_tokens / descriptionAdded value: +"Number of input_tokens expected to be cached, not additional input. Defaults to 0 and must not exceed input_tokens. Cache-write charges are excluded; an unconfirmed cache discount falls back to ordinary input pricing with a warning." - added
Input schema / properties / usage / properties / input_tokens / descriptionAdded value: +"Total input tokens across the workload, including cached input. For monthly estimates, sum input over all monthly requests." - added
Input schema / properties / usage / properties / max_input_tokens_per_request / descriptionAdded value: +"Largest full input in any single request, including cached tokens; not the monthly total or average. Provide when a tariff has an input limit so eligibility can be checked." - added
Input schema / properties / usage / properties / output_tokens / descriptionAdded value: +"Total billable output tokens across the same workload period, including billed reasoning tokens where applicable."
- Changed
compare_model_costs7 fields changed- added
Input schema / properties / expected_dataset_revision / descriptionAdded value: +"Optional consistency check: copy meta.dataset_revision from a prior tool response to require the same current pricing snapshot. Omit to use the current snapshot. A mismatch returns DATASET_CHANGED; refresh pricing and retry. This cannot retrieve a historical snapshot." - added
Input schema / properties / model_ids / descriptionAdded value: +"Distinct exact pricing-offer IDs returned by discovery. Choose 2–20 offers to compare; do not supply display names." - added
Input schema / properties / usage / descriptionAdded value: +"Token totals for the period or scenario being estimated, not dollars or request counts. Supply input and output separately; cached input is a subset of total input." - added
Input schema / properties / usage / properties / cached_input_tokens / descriptionAdded value: +"Number of input_tokens expected to be cached, not additional input. Defaults to 0 and must not exceed input_tokens. Cache-write charges are excluded; an unconfirmed cache discount falls back to ordinary input pricing with a warning." - added
Input schema / properties / usage / properties / input_tokens / descriptionAdded value: +"Total input tokens across the workload, including cached input. For monthly estimates, sum input over all monthly requests." - added
Input schema / properties / usage / properties / max_input_tokens_per_request / descriptionAdded value: +"Largest full input in any single request, including cached tokens; not the monthly total or average. Provide when a tariff has an input limit so eligibility can be checked." - added
Input schema / properties / usage / properties / output_tokens / descriptionAdded value: +"Total billable output tokens across the same workload period, including billed reasoning tokens where applicable."
- Changed
find_cheapest_models10 fields changed- added
Input schema / properties / expected_dataset_revision / descriptionAdded value: +"Optional consistency check: copy meta.dataset_revision from a prior tool response to require the same current pricing snapshot. Omit to use the current snapshot. A mismatch returns DATASET_CHANGED; refresh pricing and retry. This cannot retrieve a historical snapshot." - added
Input schema / properties / limit / descriptionAdded value: +"Maximum ranked results to return: 1–20; default 10." - added
Input schema / properties / min_input_tokens_per_request / descriptionAdded value: +"Optional minimum reviewed per-request pricing input limit an offer must support. Unknown or smaller limits are excluded. This is not the model context window and does not replace usage.max_input_tokens_per_request." - added
Input schema / properties / pricing_tier / descriptionAdded value: +"Optional exact tariff name from offer identity, such as standard or peak. Omit to rank standard tariffs." - added
Input schema / properties / provider_id / descriptionAdded value: +"Optional exact provider_id returned by list_providers or offer identity. Use to restrict results to one provider; omit for all providers." - added
Input schema / properties / usage / descriptionAdded value: +"Token totals for the period or scenario being estimated, not dollars or request counts. Supply input and output separately; cached input is a subset of total input." - added
Input schema / properties / usage / properties / cached_input_tokens / descriptionAdded value: +"Number of input_tokens expected to be cached, not additional input. Defaults to 0 and must not exceed input_tokens. Cache-write charges are excluded; an unconfirmed cache discount falls back to ordinary input pricing with a warning." - added
Input schema / properties / usage / properties / input_tokens / descriptionAdded value: +"Total input tokens across the workload, including cached input. For monthly estimates, sum input over all monthly requests." - added
Input schema / properties / usage / properties / max_input_tokens_per_request / descriptionAdded value: +"Largest full input in any single request, including cached tokens; not the monthly total or average. Provide when a tariff has an input limit so eligibility can be checked." - added
Input schema / properties / usage / properties / output_tokens / descriptionAdded value: +"Total billable output tokens across the same workload period, including billed reasoning tokens where applicable."
- Changed
get_model_pricing1 field changed- added
Input schema / properties / model_id / descriptionAdded value: +"Exact pricing-offer ID returned by list_models or find_cheapest_models. Do not substitute a display name or guessed API model name."
- Changed
list_models6 fields changed- added
Input schema / properties / cursor / descriptionAdded value: +"Opaque next_cursor returned by list_models. Omit on the first page; on later pages repeat the original filters and limit unchanged. Restart without a cursor if it expires or the dataset changes." - added
Input schema / properties / limit / descriptionAdded value: +"Maximum offers per page to return: 1–50; default 20." - added
Input schema / properties / pricing_tier / descriptionAdded value: +"Optional exact tariff name from offer identity, such as standard or peak. Use to restrict results to a tariff; omit to include all tariffs." - added
Input schema / properties / provider_id / descriptionAdded value: +"Optional exact provider_id returned by list_providers or offer identity. Use to restrict results to one provider; omit for all providers." - added
Input schema / properties / query / descriptionAdded value: +"Optional model name, recorded label or API ID to search. Use when the exact offer ID is unknown; omit to browse. Matching tolerates case, spacing and punctuation differences." - added
Input schema / properties / status / descriptionAdded value: +"Use current (default) for reviewed offers. Choose expired, unreviewed or all only to inspect catalogue records; those records may not support calculations."
- Changed
list_providers2 fields changed- added
Input schema / properties / pricing_tier / descriptionAdded value: +"Optional exact tariff name from offer identity, such as standard or peak. Use to restrict results to a tariff; omit to include all tariffs." - added
Input schema / properties / provider_id / descriptionAdded value: +"Optional exact provider_id returned by list_providers or offer identity. Use to restrict results to one provider; omit for all providers."
2 tool updates
- Added
find_cheapest_models - Added
list_providers
4 tool updates
- First observed
calculate_cost - First observed
compare_model_costs - First observed
get_model_pricing - First observed
list_models
Related MCP Connectors
Live LLM API pricing: token prices, comparisons, cheapest-model lookups. No key required.
Compare up-to-date pricing for 40+ LLMs (incl. Chinese) & estimate cost from tokens. EN/zh.
LLM API prices across 70+ providers: cheapest offer, comparisons, history and cost estimates.
Compare LLM API prices, search models and providers, and access reviewed benchmark results.
Related MCP Servers
- FlicenseNot gradedqualityDmaintenanceProvides real-time token pricing for AI models, model comparison, cost calculation, and token usage tracking for agents and developers.-
- FlicenseNot gradedqualityDmaintenanceProvides tools to count tokens, estimate API costs, optimize prompts, and compare AI model pricing for multiple LLMs.38 npm-
- AlicenseAqualityAmaintenanceLive LLM API pricing: current token prices, model comparisons, cheapest-model lookups, and The LLM Price Index for 150+ models across 20+ providers, re-verified daily. No API key required.41MIT

indextkn MCP serverofficial
AlicenseNot gradedqualityBmaintenanceEnables agents to query live AI model pricing, compare providers, and calculate token workload costs from current published prices.MIT
Glama MCP Gateway
Add one secure layer between your agents and this server.