Kubecost MCP server: 11 read-only Kubernetes cost tools
A first-party server with eleven read-only tools, and the savings half is the half worth connecting for.
Last verified 1 September 2026 · from Kubecost's repository, its README and the server's own tools/list response
This page is one of 90 in a directory of monitoring and developer tools. Each page checks what an AI coding agent can get out of the tool through its MCP server, the connector that lets the agent query the tool directly.
Summary
Kubecost ships a first-party MCP server, mcp-kubecost, described in its own README as the Kubecost FinOps MCP Server. It registers 11 tools, all read-only.
Half of them are savings rather than reporting: container rightsizing, cluster rightsizing, persistent-volume sizing, unclaimed volumes, local disk savings, resource quotas and abandoned workloads.
When this directory's census was taken, Kubecost had no MCP server of any kind. The repository was created on 10 June 2026 and was last pushed on 1 September 2026.
What is the Kubecost MCP server?
It is Kubecost's server for the Model Context Protocol. Kubecost allocates Kubernetes spend, so a connected agent reaches cost by cluster, namespace and workload.
The reporting half is two tools. get_kubecost_workload_costs returns allocation grouped by cluster and workload, and get_kubecost_cost_comparison compares two time windows, which is how a spike gets attributed.
The savings half is seven tools, each pointed at a different waste pattern. Oversized containers, oversized node groups and oversized volumes are three of them.
The rest cover volumes nobody claimed, underused local disks, missing resource quotas, and workloads with almost no network traffic.
Kubecost's eleven read-only tools concentrate on Kubernetes allocation, savings opportunities and workload rightsizing. They explain cluster spend and state, without covering source review, releases or agent behavior.
| Part of the work | What Kubecost has here | Can an agent reach it |
|---|---|---|
| Code, tests & review | None | Nothing for code or review |
| CI & release | None | No pipeline or deployment tools |
| Production observability | Workload utilization, abandoned workloads | Partial. get_abandoned_workloads finds pods with abnormally low network traffic; there are no metrics, logs or traces |
| Agent observability & evals | None | No traces or evaluations for your own agents |
| AI cost management | Kubernetes cost allocation and savings recommendations | Partial. Kubernetes spend is the core strength. Token spend is not a Kubecost concept |
In practice, Kubecost answers what a cluster costs and where the waste is. The savings tools are the reason to connect it: they name specific workloads with specific recommendations. It cannot apply any of them, so the change still goes through your normal path.
What can an AI agent do with Kubecost?
| Task | Tools | Works | Watch out for |
|---|---|---|---|
| Ask what a namespace costs | get_kubecost_workload_costs kubecost_list_windows | Yes | Call kubecost_list_windows first, or the query can be rejected for its window |
| Explain a cost spike | get_kubecost_cost_comparison | Yes | Compares two windows, so the answer depends on which two you pick |
| Find the biggest wins first | get_savings_overview | Yes | The ranking is by estimated saving, so it does not rank by how easy a change is to make |
| Right-size containers | get_container_savings_recommendations | Yes | Recommendations vary by sizing profile, so the profile is part of the answer |
| Right-size the cluster itself | get_cluster_rightsizing_recommendations | Yes | Covers node group scale-in, scale-out and instance-type changes |
| Clean up storage | get_pv_sizing_recommendations get_unclaimed_volumes get_local_disk_savings | Yes | Unclaimed volumes are provisioned and unbound, which is pure waste |
| Find workloads nobody uses | get_abandoned_workloads get_resource_quota_recommendations | Yes | Abandoned means abnormally low network traffic, which is a heuristic |
get_savings_overview is the right first call. It ranks every savings category, so the agent can go straight to the one worth the most rather than calling all seven savings tools.
11 tools registered, all on by default, all read-only
- Cost reporting3
get_kubecost_workload_costsget_kubecost_cost_comparisonkubecost_list_windows- Savings, ranked1
get_savings_overview- Compute savings2
get_container_savings_recommendationsget_cluster_rightsizing_recommendations- Storage savings3
get_pv_sizing_recommendationsget_unclaimed_volumesget_local_disk_savings- Waste detection2
get_abandoned_workloadsget_resource_quota_recommendations
The README states eleven tools, all read-only, and the wire agrees exactly. Nothing here changes cluster state. Counted on 25 August 2026 from the installed package.
What connecting costs before the first question
A context window is the amount of text a model can hold at once, and connecting uses some of it before the agent asks anything. Every tool the server registers sends its name, description and input schema to the model when the session starts. The tool list is charged whether or not a single tool is called.
11 tools cost between 5,140 and 9,055 tokens, which is 2.6% to 4.5% of a 200,000-token window.
The descriptions and the schemas are both large. Descriptions average 841 characters and schemas 1,079, because each savings tool explains its filters and its sizing assumptions.
| Tool set | Tools | Tokens (GPT-5.6, GPT-5.5) | Tokens (GPT-4, GPT-3.5) | Tokens (Claude Haiku 4.5 to Opus 5) | Share of a 200,000-token window |
|---|---|---|---|---|---|
| Every tool, as registered | 11 | 5,161 to 6,274 | 5,140 to 6,295 | 6,970 to 9,055 | 2.6% to 4.5% |
Encodings: GPT-5.6, GPT-5.5 o200k_base; GPT-4, GPT-3.5 cl100k_base; Claude Haiku 4.5 to Opus 5 count_tokens. Counted 25 August 2026 from tools/list on the package installed from the repository. It was run locally with a placeholder base URL.
Registration is static, so no Kubecost instance answered. Figures cover name, description and input schema. The two models in column one share the o200k_base encoding, so they get one count. The spread is formatting, about 22%. Reasoning tokens are output, spent per request. This count is input, charged once at connection.
The Claude figures are measured rather than encoded. Anthropic publishes no local tokenizer. The definitions were sent to the API's count_tokens endpoint, and a no-tools baseline was subtracted. The range covers two tokenizer generations rather than two serializations. Haiku 4.5 and Opus 4.6 sit at the low end. Opus 5 and Sonnet 5 sit at the high end. The gap between them is about a third.
Kubecost MCP server limits: where answers come back incomplete
Kubecost returns recommendations, not applied changes. The limits below follow from that.
The agent says: “I have right-sized the deployment.” Nothing was applied.
All eleven tools are read-only, and the README says so. get_container_savings_recommendations returns recommendations and a saving estimate; it does not change a workload.
The saving is therefore potential rather than realized, and it stays potential until someone edits the manifest.
Guard: Require the agent to describe savings as recommendations, and to name the sizing profile that produced them.
The agent says: “This workload is abandoned.” That is a network-traffic heuristic.
get_abandoned_workloads returns pods with abnormally low network traffic, which its own description calls likely abandoned. A batch job or a local-only process fits that pattern while being entirely in use.
Guard: Treat the list as candidates for a conversation with the owning team, not as a delete list.
Guides written before mid-2026 will tell you Kubecost has no MCP server.
This directory's own census recorded Kubecost as having none, because the repository did not exist when the research was done. kubecost/mcp-kubecost was created on 10 June 2026.
Guard: Check the repository directly rather than trusting an older survey, including this one's earlier entry.
How to configure Kubecost MCP for agents
- 1
Decide between the bundled and the standalone version
The README says the MCP is bundled with the Kubecost Helm installation by default, and that the repository may carry newer versions.
- 2
Check the Kubecost version
The README states compatibility with any Kubecost 3.x, with release notes worth reading for dependencies.
- 3
Set the base URL
KUBECOST_BASE_URLis required, and the server exits with a named configuration error without it. - 4
Read the auth documentation separately
Authentication, OIDC, API keys and pod hardening live in the repository's own auth documentation rather than the main README.
Paste this into your agent’s instructions
Every savings number is a recommendation under an assumed sizing profile, and none of it has been applied. The block keeps both facts in the answer.
When you answer using Kubecost MCP tools, state: - The cluster, namespace and time window the numbers cover. - That savings figures are recommendations, not applied changes, and which sizing profile produced them. - For abandoned workloads, that the signal is abnormally low network traffic rather than a proven lack of use. Never state that data does not exist. State that no workloads matched the window and filters above. Write your answer in ASD-STE100 Simplified Technical English. Use short sentences with one idea in each.
Do you need the MCP server at all?
Not for a monthly review. Kubecost's own interface shows the same savings, and it costs nothing in context.
The connector earns its place when the agent is already in the cluster's manifests. Reading a rightsizing recommendation and editing the resource block is one conversation rather than two tools.
OpenCost is the upstream open-source project and ships its own MCP server, which covers allocation without Kubecost's savings analysis.
Connect it when an agent is changing manifests. Use the interface for periodic review.
Kubecost MCP server setup
The simplest route is the Helm chart, because the MCP ships bundled with the Kubecost installation by default.
For a local client, install the package from the repository and point KUBECOST_BASE_URL at your Kubecost service. An HTTP entry point is also provided.
Claude Code
No credentials appear here for a cluster-internal Kubecost. Authentication, OIDC and API keys are documented separately in the repository.
claude mcp add-json "kubecost" '{"command":"mcp-kubecost",
"env":{"KUBECOST_BASE_URL":"http://kubecost.internal:9090"}}'Cursor
In ~/.cursor/mcp.json. No credentials appear here for a cluster-internal instance; the base URL is the only required value.
{"mcpServers":{"kubecost":{"command":"mcp-kubecost",
"env":{"KUBECOST_BASE_URL":"http://kubecost.internal:9090"}}}}Codex CLI
Codex reads TOML, so the JSON blocks above will not transfer. No credentials belong here either for an unauthenticated instance.
[mcp_servers.kubecost]
command = "mcp-kubecost"
env = { KUBECOST_BASE_URL = "http://kubecost.internal:9090" }Every other client
Each block below is the configuration for one client, with the file path and the key that client expects.
The bundled Helm route
The default path, and the one most installations already have. No credentials appear here: the chart configures OIDC or API keys where they are needed.
# The MCP ships with the Kubecost Helm install by default. # The repository's own chart carries newer versions: # charts/mcp-kubecost
HTTP entry point
The package installs a second entry point for HTTP transport. No credentials appear here; authorize the port itself or put OIDC in front of it.
KUBECOST_BASE_URL=http://kubecost.internal:9090 \ mcp-kubecost-http
Read-only access, permissions and security
Every tool reads
The README states all eleven are read-only, and the captured list contains no create, update or delete tool.
Nothing is applied
Rightsizing and quota tools return recommendations; changing a workload still goes through your normal deployment path.
Telemetry is flagged as experimental
The README carries a telemetry section marked experimental, which is worth reading before a production rollout.
Auth is documented apart from the README
Authentication, OIDC, API keys and pod hardening live in the repository's auth documentation.
Troubleshooting
- The server exits at startup
KUBECOST_BASE_URLis missing. The server raises a configuration error naming that variable and stops before registering tools.- Cost queries reject the time window
- Call
kubecost_list_windowsfirst. It returns the valid windows a Kubecost cost query accepts. - Rightsizing numbers look aggressive
- Container recommendations depend on a sizing profile. The README documents the profiles and the percentile each uses, so the profile is part of the answer.
- A workload is flagged abandoned but is in use
get_abandoned_workloadsfinds pods with abnormally low network traffic. A workload that does local work without network traffic will look abandoned to it.
Kubecost MCP server: Reference
| Item | Value |
|---|---|
| Status | Repository created 10 June 2026 · pushed 1 September 2026 · v0.11.0 |
| Adoption | 0 stars · first-party in the kubecost organization |
| License | Apache-2.0 |
| Distribution | Bundled with the Kubecost Helm installation, plus a chart and Dockerfile in the repository |
| Compatibility | Any Kubecost 3.x, per the README |
| Auth | KUBECOST_BASE_URL required; OIDC and API keys documented separately |
| Tools | 11, all on by default, all read-only |
| Entry points | mcp-kubecost for stdio and mcp-kubecost-http for HTTP |
| Context cost | 5,140 to 9,055 tokens |
| Census correction | Recorded as having no server until 24 August 2026 |
What engineers report
The repository is new and has no adoption to report, so the facts below are its own metadata and the wire capture.
| What was checked | What it shows |
|---|---|
| Stars | 0 |
| Created | 10 June 2026 |
| Last push | 25 August 2026 |
| License | Apache-2.0 |
Tools returned by tools/list | 11 |
| Tools claimed by the README | 11, matching exactly |
| Writing tools | 0 |
| Average description | 841 characters per tool |
Repository facts from the GitHub API, retrieved 25 August 2026. Tool counts come from the server's own tools/list response on the package installed from the repository, and match the README's stated count of eleven. This directory's census previously recorded Kubecost as having no MCP server; that row was corrected when this page was written.
Should you connect an agent to Kubecost?
Yes. Best for the bundled Helm deployment, with savings treated as candidates rather than decisions.
- Strongest fit
- Kubecost users who want savings recommendations named in the same session where the manifests get edited.
- Main advantage
- Seven savings tools covering distinct waste patterns, ranked by
get_savings_overview. - Main weakness
- New and unproven: created in June 2026 with no adoption signal yet.
- Operational risk
- Low. Every tool reads, and nothing it recommends is applied automatically.
From Oodle
One platform for agent traces and infrastructure
Agent traces usually sit in a different product from the rest of your telemetry, so when a slow database makes an agent slow the symptom is in one tool and the cause is in another. Oodle keeps both in one query surface, from $10 per million spans.
See agent observabilityFrequently asked questions
Does Kubecost have an MCP server?
Yes, since June 2026. kubecost/mcp-kubecost is first-party and Apache-2.0. Older surveys, including this directory's earlier census, record it as having none.
How many tools does it have?
11, all read-only. Counted from the server's own tools/list response on 25 August 2026, matching the count its README states.
Do I have to install it?
Usually not. The README says the MCP is bundled with the Kubecost Helm installation by default, though the repository may carry newer versions.
Can an agent apply a rightsizing recommendation?
No. Every tool reads. The recommendation has to be applied through your normal deployment path.
What does abandoned mean?
get_abandoned_workloads returns pods with abnormally low network traffic. It is a heuristic, so a local-only or batch workload can appear on the list.