Skip to main content
Glama
Fino-wind

Vaultbeat MCP Server

Compare two periods

compare_metric_periods
Read-onlyIdempotent

Compare a metric's latest days against the prior period with data, reporting means, medians, and differences. Use coverage fields to verify the actual windows compared.

Instructions

Compare the newest days days of a series against the days before them.

"Before" means the next-oldest days WITH DATA, so a gap makes the earlier window older rather than emptier — read previous.first_day / previous.last_day to see which period you actually got, and quote them.

Returns both windows' mean/median/min/max and the differences. It does not say which window is better; that depends on the metric and on the person.

Carries a coverage block over the days the arithmetic used: quote coverage.days_covered and coverage.span_days beside any number here, and read coverage.window_satisfied: false as a shorter history than you asked for rather than as a missing kind.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
daysNo
freshNo
ownerNo
seriesYes

Output Schema

TableJSON Schema
NameRequiredDescriptionDefault

No arguments

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv0.8.1

TDQS

A4.1/5.0
Behavior5/5

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

Annotations already declare readOnlyHint, idempotentHint, and destructiveHint, so the bar is lower. The description goes well beyond annotations by revealing non-obvious behavior: 'Before' means next-oldest days with data, a gap makes the earlier window older rather than emptier, and `previous.first_day`/`previous.last_day` should be quoted. It also discloses the `coverage` block and explicitly says the tool does not decide which window is better, which is valuable behavioral context for an agent.

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

Conciseness5/5

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

The description is dense but every sentence earns its place: the main operation is front-loaded, the gap semantics follow, the return summary is next, and the coverage caveat closes the important behavioral notes. There is no filler or repeated schema content, and the line breaks guide the reader through distinct concepts.

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?

For a 4-parameter analytical tool with an output schema and safety annotations, the description is unusually complete: it explains window selection, gap behavior, returned statistics, non-judgment, and the coverage block. The main gap is the absence of any explanation of `fresh` and `owner`, though both have defaults and the required `series` parameter is reasonably inferable from the prose. Overall, it is sufficient for confident default invocation and interpretation.

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

Parameters2/5

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

Schema description coverage is 0%, so the description must carry parameter meaning. It does give context for `days` through 'newest `days` days' and implies `series` through 'of a series.' However, `fresh` and `owner` are never mentioned or explained, leaving the agent without enough information to use those parameters deliberately. Because half the parameters are undocumented in both the schema and description, the compensation is incomplete.

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 opens with a specific verb and resource: 'Compare the newest `days` days of a series against the `days` before them.' This clearly distinguishes the tool from siblings like get_metric_trend or correlate_metric_series by describing a two-window comparison of a single series. The added statements about returned statistics and the absence of a judgment also reinforce what the tool is and is not.

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 gives useful interpretational guidance, such as how to treat gaps and how to read `coverage.window_satisfied: false` as a shorter history rather than a missing kind. However, it never explicitly says when to choose this tool over an alternative like correlate_metric_series or get_metric_trend, nor does it state a clear exclusion condition. The intended usage is implied by the operation described, but alternative selection is left to the agent.

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