Skip to main content
Glama
cloudprice-mcp

cloudprice-mcp

find_commitment_gaps

Analyze a local FOCUS CSV to find commitment coverage gaps, measure Savings Plan/RI/CUD utilization, and estimate steady on-demand spend plus 1- and 3-year no-upfront savings.

Instructions

FinOps rate optimisation on the user's actual bill (a local FOCUS 1.x CSV export; nothing is sent anywhere). Returns commitment coverage of eligible compute and database usage, utilisation of existing Savings Plans / RIs / CUDs (and what unused commitment cost), and per cloud the steady on-demand spend that could be committed, with the $/hour commitment and annual saving for 1-year and 3-year no-upfront terms. Use for: 'are we under-committed', 'how much would a Savings Plan save us', 'are our reservations being used'.

Input Schema

NameRequiredDescriptionDefault
file_pathYesLocal path to a FOCUS export, .csv or .csv.gz.

Schema Changelog

Changes observed during successful MCP inspections.

  1. Addedv0.29.0

TDQS

A4/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations, the description carries the full burden and does well: it discloses the input is a local FOCUS 1.x CSV and that "nothing is sent anywhere", making the read-only, local-processing nature clear and pre-empting data-egress concerns. It also spells out exactly what is computed and the term assumptions (1-year and 3-year, no-upfront). It omits failure behaviour for malformed/non-FOCUS files and any performance note for large bills.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Front-loaded with the core purpose, then a compact enumerated return list, then an explicit trigger list — no filler sentences. The main sentences are dense run-ons that require careful reading, which is the main structural weakness.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

With no output schema and no annotations, the description must explain what comes back, and it does so thoroughly (coverage, utilisation, wasted commitment, per-cloud commit candidates, savings figures). Combined with the privacy/local-processing note, an agent has enough to select and invoke it correctly; only edge-case behaviour (invalid file, version mismatch) is unaddressed.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100% and the single parameter is already documented as a local FOCUS export path (.csv/.csv.gz), so the baseline is 3. The description adds genuine meaning: the file is the user's own bill, must be FOCUS 1.x, and is processed locally rather than uploaded.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

Opens with a specific verb+resource ("FinOps rate optimisation on the user's actual bill") and enumerates concrete outputs: commitment coverage of eligible compute/database usage, utilisation of Savings Plans/RIs/CUDs, unused commitment cost, and per-cloud steady on-demand spend with $/hour and annual savings for 1- and 3-year no-upfront terms. It does not, however, distinguish itself from the sibling `optimize_commitment`, which an agent could easily confuse with this tool.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The "Use for:" clause gives three concrete trigger questions ("are we under-committed", "how much would a Savings Plan save us", "are our reservations being used"), which is clear positive guidance. There are no when-not conditions and no named alternative (e.g. `optimize_commitment`, `analyze_bill`), which keeps it below a 5.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.