AICost MCP
122+ AI-cost decision engines behind one MCP server. Ask in plain language from Claude, ChatGPT, Cursor, or any MCP client — or call REST from CI/CD. Every engine returns the same decision envelope: the number, the assumptions, the confidence, the evidence, and (for policy engines) an executable gateway policy.
● Live Status page · /v1/status (JSON, public) · /v1/health
Connect in two minutes
MCP clients (Claude, ChatGPT, Cursor, and friends) — add a remote server:
URL: https://mcp.aicost.ai/mcp
Auth: Bearer aicost_sk_... (request a key via the form on this site)
REST (CI/CD, scripts):
curl -X POST https://mcp.aicost.ai/v1/run \
-H "Authorization: Bearer aicost_sk_..." \
-H "Content-Type: application/json" \
-H "Idempotency-Key: build-1234" \
-d '{"engine_id":"aicost.agentic-workflow-cost",
"inputs":{"preset":"support-agent-production"},
"context":{"workload_id":"support-bot","pricing_as_of":"2026-07-01"}}'
schemas_verified_at in /v1/health. snake_case and camelCase field names are both accepted.The five jobs (every engine is tagged)
| Job | You ask | Flagship engines |
|---|---|---|
| Protect | “Stop the bleeding before it happens” | cost-firewall, agentic-envelope, overage-forecaster |
| Identify | “Where is the money actually going” | business-bill-diagnose, margin-calculator, pricing-watch |
| Optimize | “Same quality, less money” | multi-model-router, prompt-cache-roi, batch-vs-realtime, cheapest-model |
| Plan | “What will this cost before we build it” | cost-calculator, agentic-workflow-cost, cross-cloud-placement, tco-roi-builder |
| Verify | “Prove the savings were real” | ledger_ingest_actuals → ledger_reconcile → ledger_attribution |
Don’t know which engine? Call recommend_engine with your question in plain language, or filter list_engines { job: "protect" }.
Guided workflows (MCP prompts)
runaway-triage pre-build-cost-review optimize-portfolio cloud-placement-review prove-the-savings
Each walks your assistant through a proven multi-engine chain — cap a runaway, gate a new feature in CI, stack routing + caching + batching into one gateway policy, compare Bedrock vs Azure vs Vertex all-in, or produce the QBR savings-proof report.
Resources your assistant can read for free
aicost://catalog/engines | Full truthful catalog with schemas, versions, lifecycle |
aicost://methodology/{slug} | Sources, inferred fields, methodology per engine |
aicost://pricing/as-of | Pricing SSOT freshness + how to pin |
aicost://docs/envelope | The 16-field decision envelope contract |
aicost://docs/errors | Machine-readable error taxonomy |
aicost://docs/changelog | What changed in every server version |
Presets, missing fields, and elicitation
Presets: flagship engines ship named enterprise scenarios — e.g. {"preset":"support-agent-production"}, coding-copilot-pilot, h100-cluster, deep-research, viral-consumer-app. One field instead of eight; anything you pass explicitly overrides the preset, and application is disclosed with a [preset_applied] warning.
Missing fields: if required inputs are absent you get status: "needs_more_data" with result.missing_fields[] (name, type, description). Clients that support form elicitation are simply asked mid-call and the engine re-runs with your answers.
Reproducibility for CI
context.pricing_as_of: "YYYY-MM-DD" pins token rates to that day’s snapshot (add "pricing_pin":"require" for strict mode). Idempotency-Key replays the same recorded run on retries. POST /v1/run-batch gates up to 25 workloads in one call with per-item envelopes.
Error codes
| Code | HTTP | Meaning |
|---|---|---|
auth_invalid | 401 | Missing or unrecognized credential. Send Authorization: Bearer aicost_sk_... |
auth_expired | 401 | Credential expired — request a fresh key. |
tenant_forbidden | 403 | Your key is not authorized for the requested tenant. |
admin_forbidden | 403 | Admin credential invalid (X-Admin-Key). |
engine_not_found | 404 | Unknown engine_id — check list_engines. |
engine_retired | 410 | Engine retired; the response includes superseded_by. |
input_invalid | 400 | Inputs failed schema validation (wrong types or unknown fields). Missing-required-only cases return a needs_more_data envelope instead. |
rate_limited | 429 | Per-tenant rate limit exceeded — honor the Retry-After header. |
idempotency_conflict | 409 | Same Idempotency-Key reused with a different request body. |
pin_unavailable | 200 | Requested pricing snapshot not found; live pricing used (warning on the envelope). |
internal | 500 | Our fault — the audit trail has it; tell us the timestamp. |
Why engineers accept the numbers
Every envelope carries assumptions, evidence, and a confidence score; inferred values are flagged, never silent. Model quality behind routing is measured (Artificial Analysis indices via OpenRouter, refreshed weekly, per-value provenance) — latency is honestly tier-seeded until a defensible feed exists. Every claimed saving can later be verified against your invoices via the Ledger reconcile loop.
Server changelog: aicost://docs/changelog · Uptime: status page · Keys: request via the AICost site · Built by CloudIntelligence.ai LLC — vendor-neutral by policy.