{"serverId":"mcp-registry/xyz.modelmeter/modelmeter","tools":[{"name":"check_model_dependencies","fixed":{"name":"check_model_dependencies","description":"Is my stack okay? Check a list of model ids against the record: scheduled retirements with days-remaining countdowns and migration targets, past retirements, and other breaking/action-required changes. Id matching tolerates dots vs dashes, dated snapshot suffixes, and bare or provider-prefixed forms. Call this at startup or in CI with the models you depend on.","inputSchema":{"type":"object","required":["models"],"properties":{"models":{"type":"array","items":{"type":"string"},"maxItems":50,"minItems":1,"description":"Model ids to check, e.g. [\"gpt-4o\", \"claude-sonnet-4-6\", \"gemini-2.5-flash\"]."}}},"annotations":{"readOnlyHint":true}},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: true (inferred from the name).","verify":true}],"tokensBefore":184,"tokensAfter":184},{"name":"estimate_cost","fixed":{"name":"estimate_cost","description":"Estimate the USD cost of an LLM API call for a given model and token counts. Returns input/output/total cost, plus reseller markup vs. the upstream model when applicable.","inputSchema":{"type":"object","required":["model","input_tokens","output_tokens"],"properties":{"model":{"type":"string","description":"Model id in provider/model form, e.g. anthropic/claude-opus-4-8. Use list_models to discover ids."},"input_tokens":{"type":"integer","minimum":0,"description":"Number of input (prompt) tokens."},"output_tokens":{"type":"integer","minimum":0,"description":"Number of output (completion) tokens."}}},"annotations":{"readOnlyHint":true}},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: true (inferred from the name).","verify":true}],"tokensBefore":180,"tokensAfter":180},{"name":"get_model","fixed":{"name":"get_model","description":"Unified card for one model in a single call: normalized pricing, capabilities (context window, vision, reasoning, tags), availability, reseller markup vs. upstream, and a price-history summary (launch vs. current price, percent change, last change date, all-time low/high).","inputSchema":{"type":"object","required":["id"],"properties":{"id":{"type":"string","description":"Model id in provider/model form, e.g. openai/gpt-5-5."}}},"annotations":{"readOnlyHint":true}},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: true (inferred from the name).","verify":true}],"tokensBefore":130,"tokensAfter":130},{"name":"get_price_history","fixed":{"name":"get_price_history","description":"Historical pricing time-series for a model or provider. Each point is a dated snapshot of the per-Mtok rates.","inputSchema":{"type":"object","properties":{"model":{"type":"string","description":"Model id to fetch history for."},"since":{"type":"string","description":"ISO date (YYYY-MM-DD); only points on/after this date."},"until":{"type":"string","description":"ISO date (YYYY-MM-DD); only points on/before this date."},"provider":{"type":"string","description":"Provider id to fetch history for (all its models)."}}},"annotations":{"readOnlyHint":true}},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: true (inferred from the name).","verify":true}],"tokensBefore":157,"tokensAfter":157},{"name":"list_deprecations","fixed":{"name":"list_deprecations","description":"Per-model retirement rows from the record: which model dies when, with runway and migration target. Default shows scheduled (upcoming) retirements sorted by shutdown date.","inputSchema":{"type":"object","properties":{"limit":{"type":"integer","maximum":500,"minimum":1,"description":"Max rows. Default 100."},"status":{"enum":["scheduled","retired","all"],"type":"string","description":"Default scheduled."},"provider":{"type":"string","description":"Filter to one provider id."}}},"annotations":{"readOnlyHint":true}},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: true (inferred from the name).","verify":true}],"tokensBefore":147,"tokensAfter":147},{"name":"list_events","fixed":{"name":"list_events","description":"The changelog of record for the model layer: deprecations, price changes, launches, and the market events around them. Filter by severity to find what demands action: 'breaking' (model going away, ID changing), 'action_required' (price/rate-limit/context changes), 'informational' (releases, funding).","inputSchema":{"type":"object","properties":{"type":{"type":"string","description":"Event type, e.g. model_deprecation, pricing_change, model_launch."},"limit":{"type":"integer","maximum":500,"minimum":1,"description":"Max events. Default 50."},"since":{"type":"string","description":"ISO date (YYYY-MM-DD); events announced on/after."},"until":{"type":"string","description":"ISO date (YYYY-MM-DD); events announced on/before."},"status":{"enum":["verified","unverified","all","corrected"],"type":"string","description":"Verification status. Default 'verified' (human-confirmed). 'all' = verified + unverified."},"provider":{"type":"string","description":"Filter to events touching this provider."},"severity":{"enum":["breaking","action_required","informational"],"type":"string","description":"Filter by what the event demands of consumers of the affected models."}}},"annotations":{"readOnlyHint":true}},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: true (inferred from the name).","verify":true}],"tokensBefore":337,"tokensAfter":337},{"name":"list_models","fixed":{"name":"list_models","description":"List available models with their current pricing. Optionally filter by provider.","inputSchema":{"type":"object","properties":{"limit":{"type":"integer","maximum":1000,"minimum":1,"description":"Max rows to return. Default 200."},"provider":{"type":"string","description":"Provider id, e.g. anthropic, openai, google, venice, openrouter."},"include_unavailable":{"type":"boolean","description":"Include deprecated/restricted/unavailable models. Default false."}}},"annotations":{"readOnlyHint":true}},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: true (inferred from the name).","verify":true}],"tokensBefore":140,"tokensAfter":140}],"toolsChanged":7,"tokensSaved":0,"todo":[],"note":"Deterministic fixes. Changes marked verify need a human look before shipping (renames, inferred annotations, inferred types, removed text). Parameter descriptions in `todo` need to be written by someone who knows the API."}