AI Rate Card
com.airatecard/ai-rate-cardairatecard.comstreamable-httpv1.0.0Scanned
Daily-checked AI model API prices from 120+ providers: search, compare, cheapest, cost estimates.
13 tools: 7 change things and 6 only read.
- Reads private data · 0
- Reads text others write · 0
- Can send data out · 0
- No findings
Anlyon alternative
7 of these tools change something. Run those as governed actions.
Declare what an action changes, and Anlyon puts it under a shared limit, binds every approval to the exact request, and grades the outcome. It works on any HTTPS API you can describe as an action.
Anlyon does not run, proxy or govern this MCP server. A tool your own code calls directly is not routed through Anlyon and is not governed by it.
Import an OpenAPI spec →Tools
Grouped by what each tool does, most consequential first. Open one for its reasons and full description; descriptions are the publisher's own words.
13 tools
Changes things 7Claude Code: ask
cheapestThe cheapest current offers (rows: one model at one provider) of one model type, by input price.No findings
Why it is in this group
- Nothing in its name or description says what it does, so it is counted as a write.
- The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
Description, as the server wrote it The cheapest current offers (rows: one model at one provider) of one model type, by input price. For the cheapest MODELS of a job (one row per model) use cheapest_models; for a monthly workload use cheapest_for_workload.
Annotations the server declares
- readOnlyHint: true
cheapest_for_workloadThe cheapest offers for a whole monthly workload, ranked by monthly cost in USD: give a preset (a typical job; see workload_presets) and/or your own tokens a month.No findings
Why it is in this group
- Nothing in its name or description says what it does, so it is counted as a write.
- The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
Description, as the server wrote it The cheapest offers for a whole monthly workload, ranked by monthly cost in USD: give a preset (a typical job; see workload_presets) and/or your own tokens a month. Best offer of each model; free promos and batch/flex/priority/regional prices left out unless asked. Each row: monthly_cost_usd, prices, context, checked_at, card_url and a ready cite line.
Annotations the server declares
- readOnlyHint: true
cheapest_modelsThe n cheapest MODELS for a job (task): each model counted once at its own lowest current price (input tokens by default).No findings
Why it is in this group
- Nothing in its name or description says what it does, so it is counted as a write.
- The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
Description, as the server wrote it The n cheapest MODELS for a job (task): each model counted once at its own lowest current price (input tokens by default). One row per model with that price, where it is and card_url.
Annotations the server declares
- readOnlyHint: true
dearest_modelsThe n most expensive MODELS for a job (task): each model counted once at its own lowest current price, highest first - the top of the market.No findings
Why it is in this group
- Nothing in its name or description says what it does, so it is counted as a write.
- The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
Description, as the server wrote it The n most expensive MODELS for a job (task): each model counted once at its own lowest current price, highest first - the top of the market. Same arguments as cheapest_models.
Annotations the server declares
- readOnlyHint: true
estimate_costThe cost of a workload (input, output and cached input tokens, number of requests) at every current provider of one model, cheapest first, in USD - what the same job costs where.No findings
Why it is in this group
- Nothing in its name or description says what it does, so it is counted as a write.
- The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
Description, as the server wrote it The cost of a workload (input, output and cached input tokens, number of requests) at every current provider of one model, cheapest first, in USD - what the same job costs where.
Annotations the server declares
- readOnlyHint: true
median_modelsThe typical (median) current price of a job (task) across models, and the n models closest to it - what a normal price for this job is.No findings
Why it is in this group
- Nothing in its name or description says what it does, so it is counted as a write.
- The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
Description, as the server wrote it The typical (median) current price of a job (task) across models, and the n models closest to it - what a normal price for this job is. Same arguments as cheapest_models.
Annotations the server declares
- readOnlyHint: true
workload_presetsThe ready-made workloads of cheapest_for_workload: name, what job it is, tokens a month, context needed, model type.No findings
Why it is in this group
- Nothing in its name or description says what it does, so it is counted as a write.
- The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
Description, as the server wrote it The ready-made workloads of cheapest_for_workload: name, what job it is, tokens a month, context needed, model type.
Annotations the server declares
- readOnlyHint: true
Only reads 6Show 6 read-only tools
compare_models2 to 5 models side by side: the best current offer of each and, for up to 4, every field compared (lowest and median input/output price, context, max output, providers, regions, a …No findings
Why it is in this group
- The name "compare_models" says "compare": a word for reading.
Description, as the server wrote it 2 to 5 models side by side: the best current offer of each and, for up to 4, every field compared (lowest and median input/output price, context, max output, providers, regions, a 1M-in/200k-out workload cost), who wins by how many percent, providers selling all, and summary sentences.
Annotations the server declares
- readOnlyHint: true
get_cardOne card with its citation.No findings
Why it is in this group
- The name "get_card" says "get": a word for reading.
Description, as the server wrote it One card with its citation. card_id is '<kind>:<key>': offer:<provider>|<model id as the provider writes it> (e.g. offer:anthropic|claude-opus-4), model:<creator>/<model> (e.g. model:anthropic/claude-opus-4), seller:<provider key> (e.g. seller:anthropic). Ids come from search_offers (offer_id, model_id, provider_id) and from the card_url of every result. Works for every seller, a hidden test seller too.
Annotations the server declares
- readOnlyHint: true
get_model_pricesEvery seller's current price of one model (an id, or a name to search for), cheapest input first.No findings
Why it is in this group
- The name "get_model_prices" says "get": a word for reading.
Description, as the server wrote it Every seller's current price of one model (an id, or a name to search for), cheapest input first.
Annotations the server declares
- readOnlyHint: true
list_articlesAI Rate Card's articles on AI model prices (the cheapest models by task, price moves, costs), newest first, with their links - to quote or point a reader to.No findings
Why it is in this group
- The name "list_articles" says "list": a word for reading.
Description, as the server wrote it AI Rate Card's articles on AI model prices (the cheapest models by task, price moves, costs), newest first, with their links - to quote or point a reader to.
Annotations the server declares
- readOnlyHint: true
search_offersSearch current AI model offers (one model at one provider = one offer) by words, model type and limits; priced offers first, doubtful prices after sane ones.No findings
Why it is in this group
- The name "search_offers" says "search": a word for reading.
Description, as the server wrote it Search current AI model offers (one model at one provider = one offer) by words, model type and limits; priced offers first, doubtful prices after sane ones. Each row has offer_id, model_id, provider_id, prices in USD per 1M tokens (or per unit), card_url and a cite line. Next: get_card {"card_id": "offer:<offer_id>"} for one offer, get_model_prices for one model everywhere, estimate_cost / cheapest_for_workload for a cost.
Annotations the server declares
- readOnlyHint: true
validate_provider_filesFor a provider (seller) joining the catalog: check a models.yaml before putting it online - the same check as the wizard and POST /v1/provider/validate.No findings
Why it is in this group
- The name "validate_provider_files" says "validate": a word for reading.
Description, as the server wrote it For a provider (seller) joining the catalog: check a models.yaml before putting it online - the same check as the wizard and POST /v1/provider/validate. Give the file's text in `models` (YAML, or the same structure as JSON text); `domain` (the provider's site) makes the model_page checks exact. Returns ok, the problems (file, line, model, path, value, code, message, hint - fix each and call again), the catalog's preview of the models and next_action. Call it before provider_publish; no account needed. Templates: /static/templates/models.min.yaml (required fields only) and models.yaml (every field with hints).
Annotations the server declares
- readOnlyHint: true
This is not a safety rating, and no finding is not a safety guarantee. The groups and findings come from fixed checks of the tool definitions the server returned on the date shown, not from its code or what it does when called. How the checks work.
Exfil surface
Which tools read private data, which read text someone else can write, and which can send data out. One of each is a path a prompt injection can use.
No private-data, untrusted-input, outbound path in this server alone: no tool is tagged private-data or untrusted-input or outbound.
- Reads private data0
- Reads files, mail, messages, databases, secrets, calendars or repositories.
- Reads text others write0
- Brings in text someone else can write: web pages, inbound email, messages, issues and comments.
- Can send data out0
- Can carry data to people or systems: it sends, posts or publishes, or takes a recipient, channel or URL.
Other servers in the same agent add their own tools to these paths. Audit your whole setup to see them together.
Findings
Matches of fixed checks, with the text they matched.
No check matched anything in these tool definitions. That is not a safety guarantee.
History
Changes to its tool definitions and to its remote endpoint, newest first.
No change seen yet. Its tools are rescanned every day, and a remote endpoint is looked at once a week.
Install
Pinned to version 1.0.0. Values in angle brackets are yours to fill in.
claude mcp add --transport http ai-rate-card https://airatecard.com/mcpclaude mcp add --transport http ai-rate-card https://airatecard.com/mcpRun in a terminal.
Claude Code permissions
Allow the reads, ask before a change or a way out, deny the deletes. Paste into .claude/settings.json.
{
"permissions": {
"allow": [
"mcp__ai-rate-card__search_offers",
"mcp__ai-rate-card__get_model_prices",
"mcp__ai-rate-card__compare_models",
"mcp__ai-rate-card__get_card",
"mcp__ai-rate-card__validate_provider_files",
"mcp__ai-rate-card__list_articles"
],
"ask": [
"mcp__ai-rate-card__cheapest",
"mcp__ai-rate-card__estimate_cost",
"mcp__ai-rate-card__cheapest_for_workload",
"mcp__ai-rate-card__workload_presets",
"mcp__ai-rate-card__cheapest_models",
"mcp__ai-rate-card__dearest_models",
"mcp__ai-rate-card__median_models"
],
"deny": []
}
}Tools that only read are allowed, tools that change things ask first, tools that delete or cancel are denied. A read that can send data out (it takes a URL, say) asks first too. It assumes the server is installed as ai-rate-card. Review it before you use it.
Pin
Keep the decision: fail CI when the tools change, follow every change, or show a badge.
Pin in CI
Fail a build when the tools you reviewed are not the tools the server serves today.
curl -s "https://anlyon.dev/api/v1/servers/com.airatecard/ai-rate-card/verify?hash=35fd4ba1fac4f0b5438f5c4a9cbf2a3804842f1018f4a369d56d2143d6fd7872" | jq -e '.changed == false'Pinned hash 35fd4ba1fac4, from Nov 4, 2026, 11:18 UTC.
Watch
Get told when its tools change: a new tool, a new description, a new class.
https://anlyon.dev/servers/com.airatecard/ai-rate-card/changes.xmlAn Atom feed. Works in any feed reader or Slack's RSS app.
Badge
[](https://anlyon.dev/servers/com.airatecard/ai-rate-card)Source: MCP Registry. Synced Nov 4, 2026, 11:17 UTC.