Changelog & versioning
Versioning
Section titled “Versioning”| Component | Version | Notes |
|---|---|---|
| Server / package | 0.1.0 |
Reported by GET /health and in the MCP server identity. |
| Tool surface | v1 | 43 tools (29 read + 14 write). See the Tool Reference. |
| MCP SDK | @modelcontextprotocol/sdk@1.29.0 |
Exact pin (the v1.x production line); not a caret range. |
| Transport | Streamable HTTP, stateless | JSON-buffered responses; no SSE, no session id, no resumability. |
| Protocol auth | OAuth 2.1 + PKCE (S256) | RFC 9728 / 8414 discovery + RFC 7591 DCR shim; RFC 8707 audience binding. |
The tool surface follows MCP house conventions: readOnlyHint/destructiveHint
annotations on every tool, a response_format: concise|detailed enum, limit +
~25k-token output truncation, account-id → name resolution, and
onboarding-quality descriptions with example inputs.
v1 — initial release
Section titled “v1 — initial release”Read tools (29): query_costs, get_ai_spend, get_savings,
get_recommendation_history, list_anomalies, investigate_anomaly,
get_weekly_cost_slices, list_anomaly_dismissals, get_budgets, get_budget,
get_budget_status, list_commitments, get_expiring_commitments,
get_tag_coverage, get_allocation_breakdown, list_cost_centers,
list_allocation_rules, list_saved_reports, get_report,
list_alert_rules, get_alert_rule, list_triggered_alerts,
list_integrations, get_integration, list_notification_channels,
get_metadata, get_available_services, get_available_tag_keys,
get_available_linked_accounts.
Write tools (14, require admin:write + confirm:true): create_budget,
update_budget, delete_budget, update_recommendation_status, dismiss_anomaly,
undismiss_anomaly, trigger_integration_ingest, create_notification_channel,
delete_notification_channel, test_notification_channel, send_invite,
cancel_invite, update_organization_name, update_organization_preferences.
Notable design points in v1:
- Workflow-shaped tools, not 1:1 endpoint mirrors.
query_costsis one flexible cost query (view=+ filters);get_savingsreturns the whole savings picture in one call;investigate_anomalychains three reads into a single investigation. - Anomalies are derived client-side from month-over-month / week-over-week movement — the backend exposes no precomputed anomaly list.
- AI spend.
get_ai_spendreports direct Anthropic (Claude) token spend, by model / token type / workspace. AWS Bedrock is excluded — it’s AWS-billed and already in your cloud spend, so counting it here would double-count. create_budgetdoes not accept a currency — the backend stamps the org’s display currency.- Stable public endpoint. Clients connect at the friendly custom domain
https://mcp.cloudquell.com/mcp(live; TLS cert + API Gateway mapping + DNS all in place). The OAuth resource/audience identifier matches it, so this is the canonical URL for every client.
v1 updates
Section titled “v1 updates”get_ai_spendspeaks OpenAI. The tool gained aproviderparameter —"anthropic"(unchanged default) or"openai"(requires the OpenAI integration) — plus newgroup_bydimensions:api_key,service_tier, andcost_type. Purely additive; existing calls behave exactly as before.- Service-account keys (
cak_) shipped. Paid organizations can mint, list, and revokecak_keys from Settings → API Keys for headless/scheduled access (Authorization: Bearer cak_…). See API keys. - FinOps skills pack. Five installable Agent Skills — spend review, anomaly triage, budget guardrails, savings actions, allocation hygiene — packaged workflow runbooks for Claude Code, Claude.ai, and any skill-aware agent, validated against the v1 tool surface.
Deferred (not in v1)
Section titled “Deferred (not in v1)”- Async report generation — both creating a report job (
generate_report, a write) and polling its status (get_report_job_status) are deferred; they’ll ship together so an agent can start a job and track it end-to-end. - Unit economics (
get_unit_cost) and resource-level waste listing — under consideration for a later wave.
Upgrade / stability notes
Section titled “Upgrade / stability notes”- The SDK pin is exact (
1.29.0) to keep the Lambda bundle reproducible and insulate the stateless transport from patch-level regressions. Any bump is validated against MCP Inspector before release. - Tool names and scopes are stable within v1. New tools are additive; if a tool’s behavior changes materially it will be noted here.