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_requireduntil you upgrade. See Access, limits & data scope.
What you can do
Section titled “What you can do”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.
Read-mostly + scoped writes
Section titled “Read-mostly + scoped writes”The server is read-only by default. Of the 43 tools, 29 are reads and the remaining 14 are writes that are gated twice:
- The caller’s OAuth token must carry the
admin:writescope (an opt-in choice the user makes at sign-in consent). A read-only token can never invoke a write tool. - Every write call must pass
confirm: truein 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.
How it’s hosted
Section titled “How it’s hosted”| 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.
Your data, your scope
Section titled “Your data, your scope”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.
Next steps
Section titled “Next steps”- Supported clients — pick your client.
- Connecting — add the connector and sign in (≈5 minutes).
- FinOps skills — install the packaged workflows.
- Example prompts & workflows — try it out.
- Tool reference — the full capability list.