Skip to content

CloudQuell MCP Server — Overview

The CloudQuell MCP server lets an AI agent — Claude, Cursor, Goose, Codex, or any Model Context Protocol client — read and act on your organization’s cloud-cost and FinOps data in plain language. Ask “why did our RDS spend jump last week?” or “which Savings Plans expire in the next 30 days?” and the agent calls the right CloudQuell tools, scoped to your organization, and answers from your live data.

It is a remote, hosted MCP server — there is nothing to install or run. You connect your MCP client to one URL, sign in once with your CloudQuell account, and the agent gets a curated set of cost tools.

MCP / agent access is a paid feature. Using the tools requires your organization to be on a paid CloudQuell plan. A Free org can connect and see the tool list, but every tool call returns upgrade_required until you upgrade. See Access, limits & data scope.


The server exposes 43 tools across the FinOps surface you already use in the CloudQuell dashboard:

  • Query cost — month-to-date vs. last month, by account, by service, pivoted by product / usage-type / tag (query_costs).
  • Track AI / LLM spend — direct Anthropic (Claude) and OpenAI token spend by model, token type, workspace/project, API key, or service tier (get_ai_spend). AWS Bedrock is excluded — it’s already in your AWS cloud spend.
  • Find savings — rightsizing, idle resources, commitment opportunities, with dollar estimates and effort (get_savings).
  • Investigate anomalies — surface month-over-month spikes and deep-dive a single service down to the resources driving it (list_anomalies, investigate_anomaly, get_weekly_cost_slices).
  • Track budgets & forecast — budget definitions and current actual-vs-forecast status with threshold crossings (get_budgets, get_budget_status).
  • Review commitments — Reserved Instances & Savings Plans utilization and upcoming expiries (list_commitments, get_expiring_commitments).
  • Audit tagging & allocation — tag-coverage gaps, cost-center allocation, and the rules behind it (get_tag_coverage, get_allocation_breakdown, list_cost_centers, list_allocation_rules).
  • Read saved reports & alert rules (list_saved_reports, list_alert_rules, list_triggered_alerts).
  • Make scoped changes — create a budget, send an org invite, manage notification channels, mark a recommendation applied, dismiss an anomaly, trigger an ingest (opt-in; see Read-mostly + scoped writes below).

See the Tool Reference for the full, grouped list with parameters, scopes, and annotations.

Don’t want to design these workflows yourself? Install the ready-made FinOps skills — packaged runbooks (spend review, anomaly triage, budget guardrails, savings actions, allocation hygiene) that teach your agent the full routine.

The server is read-only by default. Of the 43 tools, 29 are reads and the remaining 14 are writes that are gated twice:

  1. The caller’s OAuth token must carry the admin:write scope (an opt-in choice the user makes at sign-in consent). A read-only token can never invoke a write tool.
  2. Every write call must pass confirm: true in its arguments. Without it the tool refuses and changes nothing — no downstream call is made.

So an agent connected with the default read scope can analyze everything and mutate nothing. Even with admin:write, a write only happens on an explicit, confirmed call. This is stricter than a client-side “allow/deny” prompt — the gate is enforced server-side, inside CloudQuell. See Authentication & authorization and Security & privacy.

Aspect Detail
Hosting AWS Lambda + API Gateway HTTP API, region us-west-2
Transport Streamable HTTP, stateless (JSON responses; no SSE, no session id)
Protocol SDK @modelcontextprotocol/sdk 1.29.0 (pinned)
Auth OAuth 2.1 + PKCE (S256) via the CloudQuell (Cognito) Hosted UI
Endpoint https://mcp.cloudquell.com/mcp
Health check GET https://mcp.cloudquell.com/health (public, unauthenticated)
Server version 0.1.0 · tool-surface v1 (43 tools)

Because the transport is stateless, every request stands alone: there is no long-lived session and no server-initiated streaming. Long operations (such as async report generation, coming soon) will use a poll pattern rather than a streamed connection.

For headless / scheduled agents that can’t do a browser login, paid organizations can mint service-account (cak_) API keys from Settings → API Keys — see API keys.

Coming soon: async report generation (generate_report / get_report_job_status). See the Changelog.

The agent only ever sees data for the organization the signed-in user belongs to. Identity comes from your CloudQuell login; the server resolves your organization and role from it on every request and forwards a scoped, short-lived token to the backend. There is no cross-org access and no way for an agent to “select” another tenant it isn’t a member of. See Access, limits & data scope.

  1. Supported clients — pick your client.
  2. Connecting — add the connector and sign in (≈5 minutes).
  3. FinOps skills — install the packaged workflows.
  4. Example prompts & workflows — try it out.
  5. Tool reference — the full capability list.