What's New

Latest updates, new providers, features, and fixes — one place for every release.

v1.73.0 Oct 17, 2026 Feature
New npx -y llm-pricing-mcp — STDIO access with no clone, no Python
  • New npm package llm-pricing-mcp (npm/llm-pricing-mcp in this repo) — a zero-dependency Node.js bridge for MCP clients that only support command-based STDIO servers, not a direct remote/HTTP url config
  • It holds no tool logic or pricing data of its own: each stdin line is forwarded as-is to the hosted POST /mcp endpoint and the JSON-RPC response is written back to stdout, so it has nothing to keep in sync as tools or pricing change server-side
  • Add to any STDIO-only client config: {"command": "npx", "args": ["-y", "llm-pricing-mcp"]} — no git clone, Python, or pip install needed
  • Concurrent requests are dispatched independently, so one slow tools/call never blocks other in-flight requests from completing first
  • Existing options — the direct remote url config and running mcp/server.py locally — are unchanged; this is a third, lower-friction path for STDIO-only clients, not a replacement
v1.72.3 Sep 30, 2026 Fix
Fixed a false-positive price-drift bug, corrected 3 genuinely drifted Bedrock prices
  • The price-drift check had no tie-breaking logic when a registry carries multiple same-provider entries that disagree with each other (e.g. per-region Bedrock/Azure variants) — it trusted whichever candidate came first in iteration order rather than the value the majority actually report, which could flag an already-correct price as drift. Now resolved by majority vote among agreeing candidates
  • Three Amazon Bedrock models had genuinely drifted since their last reconfirmation and are now corrected: meta.llama3-1-405b-instruct-v1:0 $5.32 → $2.40 per 1M tokens, mistral.mistral-large-2407-v1:0 $3.00/$9.00 → $2.00/$6.00 per 1M input/output, meta.llama3-1-70b-instruct-v1:0 $0.99 → $0.72 per 1M tokens
  • check_price_drift and get_data_quality now report these prices as confirmed again
Withheld for drift 4 → 0
Confirmed 97.2% → 99.1%
v1.72.1 Sep 13, 2026 Fix
Corrected two drifted Mistral AI prices flagged by the weekly audit
  • codestral-latest was 233% overstated — $1.00 → $0.30 per 1M input tokens, $3.00 → $0.90 per 1M output tokens
  • mistral-small-latest was 60% understated — $0.06 → $0.15 per 1M input tokens, $0.18 → $0.60 per 1M output tokens
  • Both prices had been withheld from serving since drift was auto-detected; now confirmed and served again
Prices corrected 2
Confirmed 97.6% → 98.6%
v1.72.0 Sep 12, 2026 Feature
New import_session_usage tool backfills a session's usage after the fact — plus org-wide estimated-usage visibility
  • New MCP tool import_session_usage accepts a batch of usage entries under one shared session_id in a single call — the retroactive counterpart to record_usage, for a session (e.g. a VS Code Copilot Chat session) that wasn't instrumented live. Each entry resolves its input/output tokens from an exact count when known, or estimates them from raw turn text using this server's existing token counter
  • Cost for every entry is computed server-side from current pricing, exactly like record_usage — never trusted from the caller
  • A malformed entry (no usable tokens/text, or a model name that doesn't resolve) is reported as its own per-entry failure without discarding the rest of the batch; the response includes a per-entry outcome plus an aggregate summary (recorded exact / recorded estimated / duplicates / failed)
  • Idempotent like record_usage: when a caller omits request_id, a deterministic one is derived so resubmitting an identical batch is safely a no-op
  • Usage recorded this way is immediately readable through the existing analyze_session_usage tool and GET /usage/session/{session_id} — no change to how either is invoked
  • analyze_session_usage / GET /usage/session/{session_id} and get_usage_summary / GET /usage/summary now also report has_estimated_usage and estimated_request_count, so both session-level and org-wide views surface how much of the reported usage is estimated vs. exact
v1.71.1 Sep 11, 2026 Fix
Session-usage recommendations now warn about quality/cost tradeoffs too
  • analyze_session_usage and GET /usage/session/{session_id} could recommend switching to a materially lower-quality model purely because it's cheaper, showing a dollar savings figure with no indication that quality was being traded away — the equivalent recommend_model caveat never made it to this shared code path
  • Both now include a quality_tradeoff caveat in the recommendation object whenever the recommended model's quality_score falls below ~75, using the identical threshold and message wording as recommend_model's existing caveat, so the two entry points can't drift
  • No caveat is added when the session is already using the optimal model, or when the recommended model's quality_score is at or above the threshold — every other recommendation field is unchanged
v1.71.0 Sep 10, 2026 Feature
recommend_model now flags classification uncertainty and quality-per-dollar tradeoffs
  • When a description's task type is auto-inferred (not passed explicitly) and lands on the "chat" fallback, but the text also contains reasoning- or code-generation-style language, the response now includes a caveats entry naming both the inferred category and the plausible higher-stakes alternative — a nudge to double-check with an explicit task_type rather than a silent misclassification
  • When the top recommendation's quality_score falls below ~75, the response now includes a separate caveats entry noting that ranking by quality-per-dollar can understate risk for tasks where a wrong answer is costly to discover and fix downstream
  • Both caveats are purely additive: the recommendation, alternatives, score, and reasoning are unchanged, and caveats is omitted entirely when neither condition applies
  • Scoped to recommend_model only — analyze_session_usage, POST /router/recommend, and every other caller of the routing engine are unaffected
v1.70.0 Sep 9, 2026 Feature
compare_costs now suggests real model names when yours doesn't match exactly
  • When a name in compare_costs' model_names doesn't exactly match a catalogued model (e.g. "claude" or "claude sonnet"), that entry's response now includes a candidates list of real catalogued model names it likely refers to, capped to 8, instead of a bare "not found"
  • A name unrelated to any real model (e.g. a typo or made-up name) still clearly reports not-found with an empty candidates list — never a fabricated guess
  • Candidates are surfaced for the caller to retry with, never auto-selected: compare_costs still never returns a computed cost for anything but an exact, case-insensitive match, and mixing an exact match with an unresolved name in one call resolves each independently
  • Exact-match behavior is unchanged; this only affects the not-found path
v1.69.1 Sep 9, 2026 Fix
Cost estimates were 1000x too low — fixed across every cost-calculating tool
  • An erroneous extra divide-by-1000 in the single-model cost estimate, the multi-model comparison, the prompt-based cost predictor, the full pricing listing's fixed-volume figures (10K/100K/1M tokens), and prompt-cache savings meant every dollar figure these tools returned — and the chat assistant's own price citations, which are sourced from the same pricing data — understated real cost by three orders of magnitude
  • The same divide-by-1000 bug also affected optimize_workload's allocation/monthly-cost/budget checks and the repo cost auditor's (scripts/audit_repo.py) per-call-site cost and cheaper-model recommendations — both are now fixed to match every other cost-calculating tool
  • predict_cost's "best value" pick now enriches its ranked candidates with real quality-benchmark data before scoring, the same way recommend_model and optimize_workload already do, so it resolves to an actual model instead of always coming back empty
  • The chat assistant's pricing documents mislabeled the raw per-token dollar figure as a "per 1k tokens" figure; the parenthetical is now numerically correct for its label
  • No pricing data, provenance, or confirmation status changed — this only corrects the arithmetic applied to already-stored per-token rates
v1.69.0 Sep 8, 2026 Feature
New: analyze_session_usage / GET /usage/session/{session_id} — turn one session's actual usage into a recommendation
  • record_usage (and POST /usage / POST /usage/batch) now accept an optional session_id to tag a usage event, so a bounded burst of calls — a coding-agent run, a chat session, or any tagged workload — can be grouped and retrieved later
  • New MCP tool analyze_session_usage and REST endpoint GET /usage/session/{session_id} read back one session's real recorded usage on demand: total input/output tokens, total actual cost, and a per-model breakdown if more than one model was used
  • Runs the session's own observed token pattern through the same routing engine behind recommend_model / POST /router/recommend to produce a grounded recommendation — or confirm the current choice is already optimal — with the estimated dollar savings or increase versus that session's actual cost; the rationale cites the session's own request count, token volume, and blended cost profile, not generic boilerplate
  • A session_id with no recorded usage returns has_data: false and no recommendation rather than fabricating one. Advisory only — never re-prices history or switches anything
MCP tools 27 → 28
v1.68.0 Sep 8, 2026 Feature
New: get_cache_stats / GET /cache-stats — see whether the recommendation cache is actually working
  • New MCP tool get_cache_stats and REST endpoint GET /cache-stats report process-lifetime hit counts, miss counts, total lookups, and hit rate for the ~5-minute recommendation cache introduced in v1.67.0 — separately for recommend_model and POST /router/recommend, never combined into one figure
  • A fresh process reports zero hits and zero misses for both call sites immediately, not an error or a missing field; reading the stats never itself changes the counts
  • Current-process-lifetime only — no persistence across restarts or replicas, and no way to clear, bypass, or reconfigure the cache from this or any other surface; the existing per-response cached field is unchanged
MCP tools 26 → 27
v1.67.0 Sep 7, 2026 Feature
Repeat model recommendations now come back instantly from a short-lived cache
  • recommend_model (MCP tool) and POST /router/recommend now cache the routing decision for ~5 minutes, so an IDE re-asking on every keystroke pause — or an agent re-checking the best model for the same recurring task — gets the same answer back without recomputing the full routing pass each time
  • Both now return a cached field so a caller can tell whether a given recommendation was served from cache or freshly computed; cached and fresh responses have identical recommended/score/reason/alternatives for the same normalized inputs
  • In-memory only, per call site, ~5 minute freshness window with no caller-facing bypass — POST /router/recommend/stream and /v1/chat/completions are unaffected and always compute fresh
v1.66.0 Sep 7, 2026 Feature
New: recommend_model — describe your use case in plain English, get a model recommendation
  • New MCP tool recommend_model takes a free-text description (e.g. "summarize long customer support tickets") and classifies it into a task type using the same keyword-based inference as predict_cost, then runs it through the routing engine already live at POST /router/recommend
  • Returns the best-matching model plus up to 3 alternatives, scored by quality-per-dollar, with the same cost/quality/context-window/provider/budget filters as the REST router endpoint
  • Read-only — no feedback submission. Use predict_cost first if you want per-model cost estimates for an actual prompt, or optimize_workload if you have several distinct task types to route at once
MCP tools 25 → 26
v1.62.0 Aug 12, 2026 Feature
Repo cost auditor: Batch API, task right-sizing, and duplicate-prompt detection
  • scripts/audit_repo.py now also recommends the Batch API for call sites inside a loop or an offline-looking path (job/cron/pipeline/worker), typically ~50% cheaper for non-latency-sensitive calls
  • New task-based right-sizing check: flags a flagship-quality model used for a structurally simple task (classification, extraction, summarization, translation, rewrite) even when it already clears the cost-savings bar for a model-downgrade recommendation
  • New repo-wide duplicate-prompt detection: flags the exact same prompt appearing at multiple call sites, with a suggestion to extract it to a shared constant and apply caching consistently
Tests 1007
v1.61.0 Aug 12, 2026 Feature
New: repo cost auditor — find LLM call sites in your own codebase
  • scripts/audit_repo.py statically scans a Python codebase for LLM SDK call sites (OpenAI, Anthropic, Google, LangChain) and estimates the cost of each one using the same token counting and pricing math as predict_cost
  • Recommends cheaper models and prompt caching where a call site makes that detectable — no credentials or network access to your code required, everything runs locally
  • Run it with python scripts/audit_repo.py /path/to/your/repo; static estimates only, since call frequency can't be known from code alone — pair with GET /usage/summary once deployed for real numbers
Tests 982
v1.60.0 Aug 11, 2026 Feature
New: budget-spend alerts on top of actual usage tracking
  • POST /usage/alerts registers a webhook that fires when actual recorded spend (from POST /usage) crosses a USD threshold — per org, or across all orgs
  • Checked inline after every usage event, not on a schedule, and fires at most once per period_days while spend stays over threshold so it doesn't spam
  • Reuses the same HMAC-SHA256 webhook signing as price-change alerts — one signature format for both
  • New MCP tools: register_budget_alert, list_budget_alerts, delete_budget_alert
MCP tools 22 → 25
Tests 957
v1.59.0 Aug 11, 2026 Feature
New: actual usage/spend tracking — the real-cost counterpart to cost estimates
  • POST /usage and POST /usage/batch record real token usage after an LLM call completes — cost is computed server-side from current pricing, never trusted from the caller
  • GET /usage/summary reports total spend and breakdowns by model and provider, optionally filtered by org
  • Every other tool on this server estimates hypothetical cost from token counts you supply; this is the first one that tracks what you actually spent
  • New MCP tools: record_usage, get_usage_summary
MCP tools 20 → 22
Tests 923
v1.58.0 Aug 10, 2026 Feature
New: get_data_quality — one call for the whole catalogue's trust status
  • New GET /data-quality endpoint and matching MCP tool report an aggregate accuracy summary: what percentage of models have a confirmed, fresh price, how many are currently withheld due to price drift, how many are newly discovered and not yet priced, and how many confirmed prices are over 90 days old
  • Distinct from check_price_drift, which lists individual disputes — this is a single trust signal a customer can check without inspecting every model's provenance fields themselves
MCP tools 19 → 20
Tests 902
v1.57.0 Aug 10, 2026 Feature
Drifted prices are now withheld from serving automatically
  • A curated price that disagrees with the reference registry by more than 5% is now excluded from cost comparisons the moment it's detected — on every request, not just when the weekly audit happens to run. The price value itself is never overwritten by the registry; it's withheld, not silently replaced, until STATIC_PRICING is corrected.
  • check_price_drift now reports what's currently withheld and why, instead of reporting drift that's still quietly being served
v1.56.1 Aug 10, 2026 Fix
Correct GitHub Copilot's MCP config on the setup page
  • The VS Code tab's instructions were written for Cline's settings UI, but the page claimed to also cover GitHub Copilot — Copilot uses a different, native config (a servers key with an explicit type, not mcpServers). The tab now has separate steps for each.
  • Added the missing steps specific to Copilot: opening .vscode/mcp.json or the user MCP config via the Command Palette, and enabling the tools in Copilot Chat's Agent mode.
v1.56.0 Aug 10, 2026 Feature
One-click install for Cursor and VS Code
  • "Add to Cursor" / "Add to VS Code" buttons on the /mcp-setup page — opens the client directly via its MCP deep-link scheme, pre-filled with the hosted remote endpoint, no copy-paste required
  • Matching one-click badges added to the README so the same install path works straight from GitHub
  • Every button sits next to the plain JSON config as a fallback, since deep-link support varies by client version
v1.55.2 – v1.55.5 Aug 9, 2026 Fix
Weekly audit pipeline hardened; deletion-safe promotion tooling
  • Price-drift audit — the weekly job now provisions its own price-drift label instead of failing outright when it's missing
  • Snapshot refresh — validates schema, price sanity, and movement limits (>10% removed or >25% repriced rejected as a bad fetch) before opening a PR; bot-created PRs get zero CI from GitHub, so this is the only check they get
  • Dead code removed — mcp/server_azure.py (non-functional since v1.21.0; it imported a module that was never committed) is gone, and the version-literal guard now scans every file under mcp/ and src/ instead of a hand-maintained list
  • Promotion tooling — a git read-tree–based script replaces the manual promotion recipe that could silently resurrect a deleted file, covered by 12 tests against isolated repos
  • Doc guard now also catches "N of the M MCP tools" phrasing drifting independently of the plain tool count
Tests 876
Providers 26
v1.55.0 – v1.55.1 Jul 28, 2026 Feature Fix
Model catalogue completed — GPT-5, Gemini 3.x, Grok 4, DeepSeek V3
  • 14 current-generation models — GPT-5 family, Gemini 3.x, Grok 4, Mistral Medium 3, DeepSeek V3. None shipped with a hand-typed price: each lands unpriced and is filled in automatically by the price oracle, matched to its own provider
  • Weekly price-drift audit — a scheduled workflow re-runs drift detection and refreshes the vendored price snapshot every Monday, opening an issue or PR when either moves
  • 20 provider files on the async path (and 4 more on the sync path) were silently dropping price_confirmed, returning $0.00 marked as confirmed rather than unpriced
  • Provider layer consolidated — 51 hand-written PricingMetrics construction sites reduced to 18 behind one shared builder, 611 fewer lines; verified byte-identical output against a 228-record snapshot taken before the refactor
Models 150+ → 164+
Tests 876
v1.54.1 Jul 28, 2026 Fix
12 drifted prices corrected across 9 providers
  • mistral-small-latest $1.00 → $0.06 per 1M tokens, o3 $10.00 → $2.00, claude-opus-4-6 $15.00 → $5.00 — the three largest of 12 total corrections
  • Provider-aware matching — 9 of the original 20 flagged drifts had matched a different vendor's registry entry entirely; applying them would have replaced correct prices with wrong ones. Matching is now scoped to the model's actual provider
  • check_price_drift now reports zero against the corrected catalogue
Drift findings 20 → 0
Prices corrected 12
v1.54.0 Jul 28, 2026 Feature
External price oracle — LiteLLM registry as fallback and drift check
  • Unpriced models are automatically filled from LiteLLM's public pricing registry (~2,984 models, MIT licensed), matched by provider so the same model hosted by a different vendor never gets the wrong price
  • A vendored snapshot (data/model_prices_snapshot.json) keeps this working offline or if the upstream registry is unreachable
  • New check_price_drift MCP tool flags curated prices that have drifted more than 5% from the registry — for human review, never auto-applied
v1.53.0 Jul 28, 2026 Feature
Price provenance — every price now knows its own age
  • price_as_of and price_confirmed on every model; a computed price_is_stale flag trips at 90 days old or if a price was never dated
  • Additive model discovery — newly-seen models are added as unpriced placeholders instead of being silently skipped until someone hand-types a price
  • An unconfirmed price can never win a cost comparison — it's gated out of recommendations until priced and confirmed
v1.52.0 – v1.52.1 Jul 28, 2026 Feature Fix
optimize_workload — portfolio-level cost allocation; version desync fixed
  • New optimize_workload MCP tool — allocates each task in a workload mix to its cheapest qualifying model, then spends any remaining budget upgrading the highest quality-per-dollar allocations first
  • Savings are measured against a realistic baseline — the cheapest single model capable of serving every workload alone — not against the most expensive option
  • The version reported by MCP clients, the HTTP API, and every doc page now derives from a single source (src/__init__.py). Clients were previously being told 1.1.0 in serverInfo while the app itself was several minor versions ahead
v1.51.0 – v1.51.1 Jul 27, 2026 Feature
predict_cost — cost prediction straight from a raw prompt
  • New predict_cost MCP tool — counts tokens with tiktoken, infers the task type, estimates output length from empirical input/output ratios, and ranks every model cheapest-first with cache savings and a best-value pick
  • 12 built-in task profiles (chat, summarization, code generation, and more) with keyword-based auto-inference when the task type isn't given
  • predict_cost and get_ide_pricing were registered as MCP tools but unreachable from /chat and ask_agent — both are now wired into the ReAct agent (15 → 17 agent-bound tools)
Tests 667 → 716
v1.50.0 Jun 20, 2026 Feature
Salesforce AI lineup refreshed to current models
  • Replaced stale Einstein LLM placeholders with Agentforce, Einstein Copilot, and xLAM-2-70b/8b
  • Updated open-source research model entries and added clear per-conversation vs. per-token billing-model notes
v1.49.0 Jun 20, 2026 Perf
Scalability: WAL mode, more workers, response caching
  • SQLite WAL mode + busy-timeout on both databases — fewer "database is locked" errors under concurrent access
  • 2 uvicorn workers in production (Fly.io, 512MB) for roughly double the request concurrency
  • Cache-Control: public, max-age=300 on GET /pricing so repeated reads don't all hit the database
Workers 1 → 2
v1.48.0 Jun 21, 2026 Feature
4 new cloud & edge providers — 26 total, 150+ models
Azure OpenAI 9 models
Vertex AI 9 models
Hugging Face 14 models
Cloudflare AI 10 models
  • Azure OpenAI — PAYG East US pricing for GPT-4o, GPT-4o-mini, o1, o1-mini, o3-mini, GPT-4-Turbo, GPT-3.5-Turbo, text-embedding-3-large/small; enterprise SLA and VNet support
  • Vertex AI — GCP-native Gemini 2.0/1.5/1.0 family plus PaLM 2 (text-bison, code-bison) and multimodal embeddings; distinct from AI Studio with enterprise compliance
  • Hugging Face — Serverless Inference API pricing for 14 open-source models (Llama 3.x, Mistral, Mixtral, Qwen 2.5, Phi-3.5/4, Gemma 2, DeepSeek R1); optional live API sync when HUGGINGFACE_API_KEY is set
  • Cloudflare AI — Edge inference at 80ms latency; Neuron-derived per-token pricing for Llama, Mistral, Phi-2, Qwen AWQ, DeepSeek R1 distilled, and Stable Diffusion XL via Cloudflare's global CDN
Providers 21 → 26
Tests 667
v1.46.0 May 9, 2026 Feature UI
Capability flag UI & API filters — 150+ models
  • Capability filters on GET /pricing — filter by supports_vision, supports_function_calling, supports_json_mode, batch_available, is_reasoning_model
  • Compare page — capability badges (👁 Vision, ⚙ Functions, { } JSON, ⚡ Batch, 🧠 Reasoning) in every model card
  • Calculator page — capability badges shown for the selected model
  • History & Trends pages — Capabilities column showing live flags for each model in the table
  • STATIC_PRICING capability flags populated for all 16 remaining providers (Groq, Mistral, Cohere, Together AI, Fireworks, Perplexity, AI21, Cerebras, NVIDIA NIM, Replicate, Bedrock, Anyscale, Salesforce, PromptQL, Snowflake, Oracle OCI)
Models 133+ → 150+
Providers 21
v1.45.0 May 9, 2026 Feature
Model capability flags — vision, function calling, JSON mode, batch, reasoning
  • 5 new bool fields on PricingMetrics: supports_vision, supports_function_calling, supports_json_mode, batch_available, is_reasoning_model
  • Capability flags populated for OpenAI, Anthropic, Google Gemini, DeepSeek, xAI (Grok) — 5 providers with all flags accurate
  • New GET /pricing/use-cases API response includes all capability fields
  • OpenAPI schema updated to expose capability fields on model responses
v1.44.0 May 6, 2026 UI Feature
What's New page & release history
  • This page — a dedicated What's New / release history hub surfacing every version with dates, change types, and provider details
  • Navigation link added to all 13 browser UIs
  • Timeline layout with version badges, change-type tags, and provider pills
v1.43.0 May 6, 2026 Feature
4 new enterprise providers — 21 total, 133+ models
Salesforce 5 models
PromptQL 3 models
Snowflake 7 models
Oracle OCI 8 models
  • Salesforce — Einstein LLM Large/Standard (CRM-native AI with Trust Layer), xGen-7B-8K/4K, CodeGen2.5-7B open-source models
  • PromptQL — NL-to-query inference for structured data; smart/fast/mini tiers with schema-aware deterministic execution
  • Snowflake Cortex — Snowflake Arctic (480B MoE), Llama 3.1 70B/8B, Mistral Large/7B, Mixtral-8x7B, Reka Flash; data never leaves Snowflake
  • Oracle OCI Generative AI — Llama 3.1 405B/70B, Llama 3.2 90B/11B Vision, Cohere Command R+/R, Llama 3 70B; sovereign cloud with on-demand pricing
  • New env vars: SALESFORCE_API_KEY, PROMPTQL_API_KEY, SNOWFLAKE_API_KEY, ORACLE_API_KEY
Providers 17 → 21
Models 110+ → 133+
v1.42.0 May 6, 2026 Feature Live Sync
Live model sync — auto-remove deprecated models
  • BasePricingProvider._fetch_live_model_ids() — queries each provider's /v1/models API on a 6-hour cache; no extra requests on every call
  • _apply_live_filter() — removes models absent from the live list; exact + prefix matching handles versioned aliases (e.g. gpt-4o ↔ gpt-4o-2024-11-20)
  • Conservative fallback — if filtering would empty the list (naming mismatch), serves full static list and logs a warning
  • Deprecated models are logged at INFO level: [OpenAI] Removed 2 deprecated model(s): [...]
OpenAI
Anthropic
Groq
Mistral AI
Together AI
Fireworks AI
xAI
DeepSeek
Cerebras
NVIDIA NIM

xAI (Grok) 5 models
DeepSeek 4 models
Cerebras 4 models
NVIDIA NIM 6 models
Replicate 5 models
  • xAI — Grok-3, Grok-3-mini, Grok-2, Grok-2-mini, Grok-Vision-Beta with real-time X/Twitter data awareness
  • DeepSeek — deepseek-chat (V3), deepseek-reasoner (R1), V2.5, Coder-V2; lowest-cost reasoning in the market
  • Cerebras — Llama 3.1/3.3 variants running at 2000+ tok/s on wafer-scale chips
  • NVIDIA NIM — Llama-3.1-405B/70B/8B, Nemotron-4-340B, Mixtral-8x22B, Gemma-2-27B
  • Replicate — Llama-3-70B/8B, Llama-2-70B, Mistral-7B, Mixtral-8x7B; serverless pay-per-prediction
  • New env vars: XAI_API_KEY, DEEPSEEK_API_KEY, CEREBRAS_API_KEY, NVIDIA_API_KEY, REPLICATE_API_KEY
Providers 12 → 17
Models 87+ → 110+
v1.40.1 May 5, 2026 UI Fix
Dark Swagger/ReDoc theme + MCP ↔ Docs navigation
  • Custom dark theme for /docs (Swagger UI) and /redoc — now matches the site design system instead of default white background
  • Fixed broken navigation between MCP Setup page and API Docs — "Swagger UI" link in MCP setup now correctly opens /api-docs
  • /api-docs embeds SwaggerUIBundle and Redoc.init directly (no iframe) to prevent double nav bars

v1.40.0 — MCP Setup + API Docs pages
  • /mcp-setup — MCP integration hub with 5-tab client setup (Remote HTTP, Claude Desktop, VS Code, Cursor, Perplexity), live connection test, all 15 tools as cards with copy-to-clipboard prompts
  • /api-docs — API reference with Swagger UI, ReDoc, and static endpoint table (3-view toolbar); 12 endpoint groups, method badges
  • Navigation links added to all 10 existing browser UIs
  • Both pages added to unauthenticated paths — no API key required
v1.39.0 May 4, 2026 Docs
OpenAPI tags, grouped docs & Perplexity integration guide
  • OpenAPI endpoint tags — all routes grouped into 10 logical sections in Swagger UI
  • Rich app metadata: contact info, license, full API description
  • docs/PERPLEXITY_INTEGRATION.md — step-by-step guide for Perplexity desktop MCP config (macOS + Windows), all 15 tools with curl examples
v1.38.7 May 2026 Security Fix
Dependency security patches + MCP fixes
  • Security — python-dotenv 1.2.1 → 1.2.2 (symlink-following vulnerability fix)
  • Security — pytest 9.0.2 → 9.0.3 (tmpdir handling fix)
  • Fix — PricingAlertService now correctly initialized in MCP server main()
  • Fix — MCP server stability improvements and error handling
v1.37.0 April 2026 Feature
Stripe SaaS billing & self-serve API keys
  • BillingService — SQLite-backed customer table, idempotent free-tier signup, per-customer API keys (POST /billing/signup)
  • Stripe integration — checkout sessions, webhooks (HMAC-verified), billing portal, tier sync (free / pro / enterprise)
  • Auth middleware — billing DB checked first; falls back to global MCP_API_KEY; fully backward-compatible
  • Rate-limit buckets keyed by customer ID for billing users; IP:tier for unauthenticated
  • Stripe optional — checkout/portal/webhook return 503 without STRIPE_SECRET_KEY; free signup always works
v1.36.0 March 2026 Feature
Fly.io deployment + API tiers + router feedback loop
  • Fly.io — production deployment at llm-pricing-api.fly.dev; shared-cpu-1x, 512 MB, persistent 1 GB volume; ~$3.40/mo
  • API key tiers — X-Api-Key-Tier: free|pro|enterprise; token-bucket limits 30/120/600 req/min; GET /rate-limits/tiers
  • Router feedback loop — routing_id UUID on every recommendation; POST /router/feedback; acceptance_rate in savings stats
  • Streaming router — POST /router/recommend/stream SSE endpoint with 10-event sequence
v1.35.0 March 2026 Feature
LLM router, quality scores, savings tracker & OpenAI proxy
  • LLM Router — POST /router/recommend; scores models by task type, cost, quality; returns ranked recommendations
  • Quality Value Index — quality_score (0-100) + quality_value_score on every model; Hugging Face leaderboard fallback (24 h cache)
  • Savings tracker — per-org router savings via GET /telemetry/savings + X-Organization-Id header
  • OpenAI-compatible proxy — POST /v1/chat/completions; routing recommendation in OpenAI response format