Skip to main content
Glama

Compare the same workload across models

compare_models

Prices the same request across models, optionally filtered by provider or tier, and orders results by cost so you can choose a model before testing quality.

Instructions

Price the same request on every model (optionally one provider or tier), cheapest first. Use to choose a model on cost before testing quality.

Input Schema

NameRequiredDescriptionDefault
dateNoPrice on this date (YYYY-MM-DD), including announced changes; default today
tierNo
batchNoUse asynchronous batch prices (results within 24 hours)
providerNo
requestsNoNumber of requests to price
input_tokensYesPrompt tokens per request, including cached tokens
output_tokensYesOutput tokens per request, including any reasoning/thinking tokens
cached_input_tokensNoPart of input_tokens read from the prompt cache

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv0.1.0

TDQS

A3.7/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations, the description carries the disclosure burden. It usefully reveals the output ordering ('cheapest first') and that provider/tier are optional filters, but says nothing about pagination, which models are excluded, or that results are pure computation with no side effects.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two short sentences, zero filler, with the comparative scope and output ordering front-loaded before the usage recommendation. Every clause earns its place.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

There is no output schema and eight parameters, so the description should say more about the result: whether it returns one row per model, what cost fields appear, or how models without a listed price are handled. It is adequate for a read-only price comparison but leaves the agent guessing at the response shape and the relationship to estimate_cost.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 75%, so most parameters are already documented. The description only reinforces the optional provider/tier filtering and the 'same request' premise applied uniformly across models; it adds no meaning for date semantics, batch behavior, or cached_input_tokens beyond what the schema states. Baseline 3 applies.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb and scope: 'Price the same request on every model', with optional provider/tier narrowing and 'cheapest first' output ordering. This implicitly separates it from single-model siblings like get_model_price, but no sibling is named explicitly, so the differentiation is inferential.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Gives clear when-to-use guidance: 'Use to choose a model on cost before testing quality', which frames the decision stage this tool serves. It does not say when to prefer estimate_cost or estimate_text_cost instead, so the boundary with the cost-estimation siblings 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.