{
  "markdown": "# Modelmeter\n\nThe changelog of record for the AI stack. Live at [modelmeter.xyz](https://modelmeter.xyz).\n\n## What this is\n\nA machine-readable, source-verified record of everything that changes in the model layer: **deprecations with sunset dates and migration targets, silent model swaps behind stable IDs, price changes, releases** — plus three years of pricing history and cost tooling. Every event carries its sources with verbatim quotes (most with archive snapshots), a verification status (`unverified` → human-reviewed `verified`), and corrections are never silent — a `correction` event points at what it supersedes.\n\nBuilt primarily for AI agents to call programmatically, secondarily for humans through a dashboard. Reach it three ways: plain **GET URLs** returning JSON, a remote **[MCP server](#mcp-server)** any tool-calling agent can connect to, and a **visual dashboard** built on the same endpoints. The wedge: clean URLs, stable JSON contracts, an [OpenAPI spec](public/openapi.yaml), and an [`llms.txt`](public/llms.txt) discoverability file. Most sites in this space are JS-heavy SPAs that agents can't use; Modelmeter is built the other way around.\n\n## Endpoints\n\n- `GET /estimate?model=X&input=N&output=M` — token cost for a hypothetical call, including upstream-markup comparison for reseller models\n- `GET /models` — current model catalog, with filters\n- `GET /model?id=X` — unified card for one model: normalized pricing, capabilities (context window, vision, reasoning, tags), availability, reseller markup, and a price-history summary (launch vs. current price, % change, all-time low/high)\n- `GET /check?models=gpt-4o,claude-sonnet-4-6` — **is my stack okay?** Verdict per model: scheduled retirements with days-remaining and migration targets, past retirements, breaking changes, or a clean bill\n- `GET /deprecations` — per-model retirement rows: which model dies when, with runway and migration target\n- `GET /feed.xml` / `GET /feed.json` — RSS 2.0 / JSON Feed 1.1 of breaking and action-required events\n- `GET /events` — the changelog of record: deprecations, price changes, launches and surrounding market events, each with `severity` (`breaking` | `action_required` | `informational`), `announced_at`/`effective_at` dates, sources with quotes, and verification `status`. Filters: `provider`, `type`, `model`, `severity`, `since`, `until`, `status`\n- `GET /history` — historical pricing time-series per model, with filters\n- `GET /pricing.json` — raw pricing snapshot\n- `GET /events.json` — raw events snapshot\n- `GET /history.json` — raw historical time-series\n\nSee [`public/openapi.yaml`](public/openapi.yaml) for the full spec.\n\n## GitHub Action\n\nFail CI when a model your repo depends on is deprecated, sunsetting, or already retired:\n\n```yaml\n- uses: modelmeters/modelmeter/actions/check@main\n  # with:\n  #   models: \"gpt-4o, claude-sonnet-4-6\"   # optional — otherwise the repo is scanned for known model ids\n  #   fail-on: breaking                      # breaking (default) | retired | none\n  #   warn-days: \"120\"                       # sunsets within N days fail; beyond N warn\n```\n\nThe action scans your repo for known model ids (catalog + every model named in a deprecation event, dashed and dotted spellings), calls `/check`, annotates the exact `file:line` of each affected model, writes a job-summary table with migration targets, and exits nonzero per your `fail-on` policy.\n\n## MCP server\n\nModelmeter is also a remote [MCP](https://modelcontextprotocol.io) server, so any tool-calling agent (Claude, Hermes, …) can call it natively over the Streamable HTTP transport — no auth, no install:\n\n```\nhttps://modelmeter.xyz/mcp\n```\n\nTools: `check_model_dependencies`, `list_deprecations`, `estimate_cost`, `get_model`, `list_models`, `get_price_history`, `list_events`. Start with `list_models` to discover ids, then `get_model` or `estimate_cost`. The MCP tools return the same data as the REST endpoints above — use whichever your runtime prefers.\n\n## Datasets\n\n- [`pricing/`](pricing/) — current and historical model pricing across providers\n- [`events/`](events/) — the events record (schema 2.0.0): deprecations, price changes, releases, and market events with primary-source citations, verbatim quotes, and verification status\n\nEach entry carries a `last_verified` date. Daily snapshots in `pricing/snapshots/` accumulate the historical record. Wrong pricing is the existential risk — the schema requires explicit human verification before an entry is served.\n\n## Contributing\n\nFound a price change? Open a PR updating [`pricing/current.json`](pricing/current.json) with the new value, an updated `last_verified` date, and the source URL.\n\nSpotted a meaningful AI market event? Add an entry to [`events/current.json`](events/current.json) with primary-source citations and `verified: true`.\n\nAutomation opens issues when provider pricing pages change. Pick one up if you want to help.\n\n## License\n\nMIT — see [LICENSE](LICENSE).",
  "bytes": 4975,
  "sha": "b757f94f0a29ec29c1b52343d68ed685c540ea8cecd0bbb79c1a72830b6b354a",
  "repo_slug": "modelmeters/modelmeter",
  "fonte": "repo",
  "truncated": false,
  "api": "https://agentalog.com/api/listings/mcp_xyz_modelmeter_modelmeter_a22e6c45/readme"
}