Modelmeter
The changelog of record for the AI stack: sunset checks, deprecations, pricing, and model events.
Open source Repository Open in the app JSON README (API)
About
The changelog of record for the AI stack: sunset checks, deprecations, pricing, and model events.
Details
- Kind
- MCP servers
- Topic
- No topic detected
- Publisher
- xyz.modelmeter
- Origin
- official
- Category
- ferramentas
- Transport
- http
- Version
- 1.0.0
- Stars
- 1
- Open pull requests
- 90
- Last push
- 2026-08-14T18:00:46Z
- Repository state
- ativo
- Language
- JavaScript
- License
- MIT
- Added
- 2026-08-29 04:01:56
- Updated
- 2026-08-29 04:01:56
- Origin id
xyz.modelmeter/modelmeter
README
# Modelmeter The changelog of record for the AI stack. Live at [modelmeter.xyz](https://modelmeter.xyz). ## What this is A 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. Built 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. ## Endpoints - `GET /estimate?model=X&input=N&output=M` — token cost for a hypothetical call, including upstream-markup comparison for reseller models - `GET /models` — current model catalog, with filters - `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) - `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 - `GET /deprecations` — per-model retirement rows: which model dies when, with runway and migration target - `GET /feed.xml` / `GET /feed.json` — RSS 2.0 / JSON Feed 1.1 of breaking and action-required events - `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` - `GET /history` — historical pricing time-series per model, with filters - `GET /pricing.json` — raw pricing snapshot - `GET /events.json` — raw events snapshot - `GET /history.json` — raw historical time-series See [`public/openapi.yaml`](public/openapi.yaml) for the full spec. ## GitHub Action Fail CI when a model your repo depends on is deprecated, sunsetting, or already retired: ```yaml - uses: modelmeters/modelmeter/actions/check@main # with: # models: "gpt-4o, claude-sonnet-4-6" # optional — otherwise the repo is scanned for known model ids # fail-on: breaking # breaking (default) | retired | none # warn-days: "120" # sunsets within N days fail; beyond N warn ``` The 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. ## MCP server Modelmeter 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: ``` https://modelmeter.xyz/mcp ``` Tools: `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. ## Datasets - [`pricing/`](pricing/) — current and historical model pricing across providers - [`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 Each 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. ## Contributing Found 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. Spotted a meaningful AI market event? Add an entry to [`events/current.json`](events/current.json) with primary-source citations and `verified: true`. Automation opens issues when provider pricing pages change. Pick one up if you want to help. ## License MIT — see [LICENSE](LICENSE).