Skip to content

Changelog & 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.

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_costs is one flexible cost query (view= + filters); get_savings returns the whole savings picture in one call; investigate_anomaly chains 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_spend reports 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_budget does 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.
  • get_ai_spend speaks OpenAI. The tool gained a provider parameter — "anthropic" (unchanged default) or "openai" (requires the OpenAI integration) — plus new group_by dimensions: api_key, service_tier, and cost_type. Purely additive; existing calls behave exactly as before.
  • Service-account keys (cak_) shipped. Paid organizations can mint, list, and revoke cak_ 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.
  • 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.
  • 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.