Skip to main content
Glama
j-straber
by j-straber

get_savings_report

Generate a cost-benefit and token savings ROI report over daily, weekly, monthly, or all-time intervals from local history.

Instructions

Generates an aggregated cost-benefit and token savings ROI report over a specified interval (daily, weekly, monthly, or all_time) based on persistent local history.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
formatNoOutput format: 'markdown' (default human-readable report) or 'json' (raw structured analytics).
intervalNoReporting interval: 'daily' (past 24h), 'weekly' (past 7 days), 'monthly' (past 30 days), or 'all_time' (cumulative). Default: 'all_time'.

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv1.3.0

TDQS

A3.7/5.0
Behavior3/5

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

No annotations are provided, so the description carries the full burden. It says the tool 'Generates' a report based on 'persistent local history', which implies a non-destructive read operation. It does not disclose details like whether the history is automatically updated, whether there are rate limits, or whether the data is cached. The term 'persistent local history' is somewhat ambiguous but provides some transparency that it is a read-only operation.

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?

The description is a single sentence that front-loads the core purpose and includes the interval options. It is reasonably concise, though it repeats enum values that are already in the schema. The phrase 'aggregated cost-benefit and token savings ROI' is a bit dense but not verbose.

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?

The tool has 2 parameters, no output schema, and no annotations, so the description must carry the context. It adequately explains what the tool does, the interval choices, and that it relies on local history. It does not explicitly describe the return value, but the format parameter in schema covers that. For a simple reporting tool, this is sufficient.

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

Parameters3/5

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

Schema description coverage is 100%, so the baseline is 3. The description mentions the interval parameter and its allowed values, but does not add meaning beyond what the schema already provides (e.g., enum values and their descriptions). It does not mention the format parameter, though that is also fully covered in schema.

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?

The description states a specific verb ('Generates') and resource ('aggregated cost-benefit and token savings ROI report'), and includes the key scoping dimension (interval). It clearly distinguishes this from siblings like prune_code_context and check_license, which are unrelated support tools.

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

Usage Guidelines3/5

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

The description implies the tool is for producing savings analytics reports over time, but it does not explicitly state when to use it over alternatives or provide any exclusions. The context is clear enough, but no explicit guidance about when not to use it exists.

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