PromptSpend
Server Details
LLM pricing where every rate carries its source and the date it was last confirmed.
- Status
- Healthy
- Last Tested
- Transport
- Streamable HTTP · MCP 2025-11-25
- URL
- Repository
- AndrewAvery7/promptspend
- GitHub Stars
- 1
- Server Listing
- promptspend
TDQS
Scored across 3 tools
The three tools have clearly distinct roles: workload costing, cheaper-alternative discovery, and single-model list pricing. The get_price description explicitly redirects workload costing to estimate_cost, preventing the only plausible confusion.
All names use a consistent snake_case verb-first pattern: estimate_cost, find_cheaper, get_price. The single slight irregularity is find_cheaper's comparative adjective, but it remains readable and predictable.
Three tools is a well-scoped surface for a focused LLM cost/pricing server. Each tool covers a distinct core operation and none feels redundant or missing at this scope.
The surface covers the main workflows: price lookup, workload cost estimation, and cheaper-model discovery. Minor gaps exist, such as no explicit model-listing or multi-model side-by-side comparison tool, but agents can work around these using the provided tools.
Available Tools
3 toolsestimate_costARead-onlyInspect
Monthly cost of a described workload, or of measured usage, on each model. Accounts for history compounding, cache writes, long-context tiers and reasoning tokens. Use this instead of multiplying prices by hand.
| Name | Required | Description | Default |
|---|---|---|---|
| turns | No | Turns per conversation. Default 4. | |
| usage | No | Measured totals to price instead: input, output, cache_read, cache_write tokens (input excludes cache reads). | |
| models | Yes | Up to about 8. | |
| user_tokens | No | Typical user message. Default 150. | |
| output_tokens | No | Typical reply. Default 350. | |
| system_tokens | No | System prompt size. Default 800. | |
| use_batch_api | No | Apply batch discounts. | |
| cached_input_share | No | 0-1. Default 0. | |
| reasoning_multiplier | No | Bill output at this multiple. Default 1. | |
| conversations_per_day | No | Default 1000. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description adds meaningful behavioral detail beyond the readOnly/openWorld annotations by naming history compounding, cache writes, long-context tiers, and reasoning tokens as modelled factors. However, with openWorldHint=true, it does not disclose where pricing data comes from, how fresh it is, or what the response shape looks like, leaving meaningful behavioral gaps.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three tight sentences, front-loaded with what is computed, then the modelling factors, then the usage rationale. There is no filler, and every sentence contributes information.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given 10 parameters, a nested usage object, and no output schema, the description is reasonably complete on the computation model. Still, it omits currency, pricing data source/freshness under openWorldHint, and any indication of the return structure beyond 'on each model', which leaves some gaps for an agent reasoning about outputs.
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 parameter meanings are already well documented in the schema. The description only lightly clarifies the workload-vs-measured-usage distinction and does not add format or interpretation details beyond what the schema provides, making 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?
The description states a specific verb and resource: estimating monthly cost per model for either a described workload or measured usage. It does not explicitly differentiate itself from siblings get_price and find_cheaper, though the modelling behavior implies it is the calculation tool rather than a raw price lookup or optimization helper.
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 'Use this instead of multiplying prices by hand' gives implied usage guidance, but it does not state when to choose this over get_price or find_cheaper, nor does it give explicit preconditions or exclusions. The usage context is inferable but not fully specified.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
find_cheaperARead-onlyInspect
Cheaper models that score at or above the given one on capability, costed on the same workload. Returns candidates to test, not a recommendation.
| Name | Required | Description | Default |
|---|---|---|---|
| model | Yes | The model currently in use. | |
| turns | No | Default 4. | |
| user_tokens | No | Default 150. | |
| output_tokens | No | Default 350. | |
| system_tokens | No | Default 800. | |
| min_capability | No | 0-100. Defaults to the given model’s score. | |
| conversations_per_day | No | Default 1000. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already establish readOnlyHint=true and openWorldHint=true. The description adds useful behavioral context by clarifying that results are candidates for testing rather than a recommendation, but it does not disclose ranking, limitations, or output 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?
Two tightly written sentences, with the core purpose front-loaded and the important caveat immediately following. There is 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 seven-parameter retrieval tool with no output schema, the description gives only a high-level indication of what is returned. It is sufficient to understand the tool's intent, but it does not describe the candidate result structure or any workload assumptions beyond the schema defaults.
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 are already documented, including defaults and the min_capability behavior. The description reinforces the capability threshold and workload basis but adds no parameter-specific 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 states a specific task: finding cheaper models that meet or exceed the given model's capability, costed on the same workload. It also clarifies the return is test candidates, not a recommendation, which distinguishes it from the price/cost siblings.
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 intended use is implied by "cheaper models that score at or above the given one," but there is no explicit when-to-use or when-not-to-use guidance relative to get_price or estimate_cost. The caveat "Returns candidates to test, not a recommendation" helps interpretation but not tool selection.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_priceARead-onlyInspect
List price for one LLM in USD per million tokens, with its source and last-confirmed date. Returns disputed=true when two sources disagree, and close matches when the model is unknown. To cost a workload, use estimate_cost.
| Name | Required | Description | Default |
|---|---|---|---|
| as_of | No | Past date YYYY-MM-DD: the rate published then. | |
| model_name | Yes | Model id or name, e.g. gpt-5 or "Claude Opus 5". |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint and openWorldHint, so the safety profile is covered; the description adds genuinely new behavior by disclosing that disputed=true signals source disagreement and that close matches are returned for unknown models. It doesn't say whether an unknown model returns an error or empty results beyond the close-match hint, but the key edge cases are surfaced.
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: what it returns, the disputed/close-match edge cases, then the sibling routing. Nothing is repeated and the essential facts are front-loaded.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no output schema, the description carries the return-shape burden and does so for the main fields (price, source, last-confirmed date, disputed flag, close matches). The only gap is that it never positions the tool against find_cheaper, leaving one sibling relationship unexplained.
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 both model_name and the past-date as_of are already documented in the schema. The description reinforces the single-model scope and USD-per-million-token basis but adds no format or syntax detail for as_of beyond what the schema states, 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?
States a specific verb and resource ("list price for one LLM") plus the unit semantics (USD per million tokens), which an agent can act on immediately. It also tells the agent what the payload includes (source, last-confirmed date), distinguishing it from siblings that aggregate or compare prices.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Explicitly routes workload costing to estimate_cost, which is the most likely confusion given the sibling set. It does not mention find_cheaper at all, so the agent gets no guidance on when to look up a single price versus search for a cheaper alternative.
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.
3 tool updates
- First observed
estimate_cost - First observed
find_cheaper - First observed
get_price
Related MCP Connectors
Verified, dated prices for 293 AI APIs in 45 markets: LLMs, GPUs, speech, video and more.
Source-backed AI model pricing, rankings, history, and benchmark data.
LLM API prices across 70+ providers: cheapest offer, comparisons, history and cost estimates.
Live LLM API price + status radar across 11 providers, with public per-model price HISTORY.
Related MCP Servers
- AlicenseAqualityBmaintenanceLive 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
- AlicenseNot gradedqualityCmaintenanceToken cost math for LLM API calls: current per-million-token rates for 69 models across 17 providers, with local arithmetic for estimates, comparisons and monthly budgets. Rates are verified and date-stamped.19 npm2MIT
- AlicenseAqualityAmaintenanceWhich AI model to use and what it costs: LiteLLM's price catalogue with every price change since 2023 and Arena ratings by task. Tools to find and compare models, estimate a job's cost and time, show price history and pick local or cloud; no API keys needed.11MIT
- AlicenseAqualityAmaintenanceDaily-verified LLM API pricing dataset (44+ models, CN & global) with a hosted MCP server for live price queries and token cost estimation.2CC BY-4.0
Glama MCP Gateway
Add one secure layer between your agents and this server.