Skip to content

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.

Tools: 0 delete, 0 irreversible, 7 write, 6 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/mcp
claude mcp add --transport http ai-rate-card https://airatecard.com/mcp

Run 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.

.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.xml

An Atom feed. Works in any feed reader or Slack's RSS app.

Badge

anlyon.dev badge for com.airatecard/ai-rate-card
[![anlyon.dev](https://anlyon.dev/badge/com.airatecard/ai-rate-card.svg)](https://anlyon.dev/servers/com.airatecard/ai-rate-card)

Source: MCP Registry. Synced Nov 4, 2026, 11:17 UTC.