Connect an MCP client
PruneOps exposes a read-only Model Context Protocol (MCP) endpoint, so external clients like Claude Desktop or Claude.ai can query your cost, resource and recommendation data directly.
How it works
A scoped, read-only surface any MCP-compatible client can talk to.
01
Read-only
No tool can modify data — every call only queries this organization's cost, resource, and recommendation data.
02
OAuth 2.1
Standard Dynamic Client Registration + PKCE — sign in once, pick an organization, and switch it later with the switch_organization tool.
03
Streamable HTTP
Standard MCP transport (the mcp SDK) served at /mcp.
Setup
-
Point your MCP client (Claude Desktop, Claude.ai, ...) at the endpoint below — Streamable HTTP transport:
https://mcp.pruneops.run/mcp
- The client registers itself automatically (Dynamic Client Registration) and opens a standard OAuth 2.1 + PKCE authorization flow — sign in and pick which organization the connection acts on.
- Once authorized, the client can call tools/list to discover the tools below, and tools/call to query data. Use the switch_organization tool at any time to point the same connection at a different organization you belong to.
Available tools8 tools
Read live from the endpoint — this list always matches what tools/list actually returns.
| Tool | Description | Arguments |
|---|---|---|
list_organizations |
List the organizations the signed-in user has access to, and which one the current token is scoped to. | none |
switch_organization |
Point this token at a different organization the signed-in user has access to. Subsequent tool calls act on the new organization. |
organization_id
|
list_accounts |
List cloud accounts connected to the current organization. | none |
list_k8s_clusters |
List registered Kubernetes clusters and when each was last seen reporting metrics. | none |
list_resources |
List cloud resources, optionally filtered by resource_type or account_id. |
resource_type
account_id
|
get_costs |
Get total and per-resource-type projected monthly cost, optionally filtered by account_id. |
account_id
|
get_recommendations |
List optimization recommendations, optionally filtered by resource_id or status (active/dismissed/applied, default active). |
resource_id
status
|
get_savings |
Get realized savings totals and ledger entries, optionally filtered by status (active/reversed, default active). |
status
|