Skip to main content
Glama

list_commitment_expirations

Read-onlyIdempotent

List this account's Reserved Instance / Savings Plan / Azure Reservation commitments with their expiration dates, ordered soonest-first. days_until_expiration is computed server-side against the current UTC date (negative means already expired — rows are not pruned immediately on expiry, so check the sign). latest_utilization_percentage is the commitment TYPE's most recent monthly aggregate utilization (from list_commitment_utilization) applied to every active commitment of that type — there is no true per-commitment utilization API, so this is the closest real signal for "is this expiring commitment even being used," not an exact per-commitment figure. The same 30/14/7/1-day thresholds and 80% cutoff the automatic expiration alert uses are the right ones to flag here too, for consistency with what a subscribed channel already receives.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault

No arguments

Schema Changelog

Changes observed during successful MCP inspections.

  1. Added

TDQS

A4.6/5.0
Behavior5/5

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

Annotations already declare it as a safe, idempotent, closed-world read, so the description goes well beyond them: it discloses that days_until_expiration is computed server-side against UTC, that negative means expired, that expired rows are not pruned immediately (check the sign), and that latest_utilization_percentage is a type-level aggregate, not a per-commitment figure. These are exactly the caveats an agent needs to reason about the data.

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 purpose and ordering, then layering caveats in a logical progression. It is dense but each caveat (sign semantics, non-pruned rows, type-level utilization) earns its place. The final sentence is somewhat long and packed, keeping it from a 5.

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

Completeness5/5

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

With no output schema, the description still explains the two meaningful return fields and their caveats (negative expiration, type-level utilization). Combined with the safety annotations, an agent has everything needed to call and interpret the tool correctly.

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?

The tool takes zero parameters, so the baseline is 4. The description usefully adds that field values like days_until_expiration are computed server-side and that latest_utilization_percentage is a type-level aggregate rather than a per-commitment value, clarifying what the returned fields actually mean.

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

Purpose5/5

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

Starts with a specific verb+resource ('List ... commitments with their expiration dates') and specifies ordering (soonest-first) and scope (this account's). It names the commitment types explicitly and differentiates itself from the sibling list_commitment_utilization it draws data from.

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?

Gives clear operational context: it explains that the 30/14/7/1-day thresholds and 80% cutoff match the automatic expiration alert and are 'the right ones to flag here too.' It references list_commitment_utilization as the utilization source, implying the relationship between the two. It stops short of an explicit when-not-to-use or a named alternative, so it lands at 4 rather than 5.

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

Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.

Resources