Skip to main content
Glama
welingtoncassis

newrelic-mcp-nerdgraph

compare_metric_windows

Read-onlyIdempotent

Compare an aggregate against the same window in the past so regressions show up as a delta, which is more conclusive than an absolute value alone.

Instructions

Compare an aggregate against the same window in the past.

The baseline makes a regression visible as a delta, which is usually more conclusive than an absolute value taken on its own.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
sinceNo1 HOUR AGO
whereNoWHERE clause body.
event_typeYesEvent type, e.g. Transaction or Metric.
account_idsNo
nrql_selectYesAggregations only, e.g. 'percentile(duration, 95)' or 'rate(count(*), 1 minute)'.
compare_withNo1 DAY AGO

Output Schema

TableJSON Schema
NameRequiredDescriptionDefault
resultYes

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv0.1.0

TDQS

B3.4/5.0
Behavior3/5

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

Annotations already declare readOnlyHint, idempotentHint, and non-destructive, so the safety profile is covered. The description adds that the output is a delta against a past window, but says nothing about failure modes, window-matching behavior, or limits beyond the schema, and the second sentence is largely rationale rather than disclosure.

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?

Two short sentences with the operation front-loaded and no wasted preamble. The second sentence is somewhat editorial but does justify the baseline approach, so it mostly earns its place.

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

Completeness3/5

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

An output schema exists so return values need not be described, and annotations carry the safety profile. Still, for a 6-parameter tool at 50% schema coverage, the description leaves since, compare_with, and account_ids unexplained and does not address the required aggregations-only constraint on nrql_select.

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 coverage is 50% (where, event_type, nrql_select are documented; since, compare_with, account_ids are not). The phrase 'same window in the past' loosely explains the since/compare_with pairing, but the description gives no format, default, or interaction detail for the undocumented parameters.

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?

The description names a specific operation (compare an aggregate against the same window in the past) and clarifies that the result is a delta versus a baseline. This distinguishes it semantically from generic query siblings like run_nrql, but it never explicitly names an alternative tool or its distinguishing condition.

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?

It implies when the tool is worthwhile ('a regression visible as a delta ... more conclusive than an absolute value'), which is useful framing. However there is no explicit when-to-use/when-not guidance and no routing to run_nrql or run_nrql_async for the plain-query case.

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