Skip to main content
Glama

Plotanalytics

plotAnalytics

Generate a PNG line chart for a NextDNS analytics time-series metric.

Instructions

Generate a PNG line chart for a NextDNS analytics time-series metric.

Use this to visualize query trends over time. The profile should have recent query history; otherwise the tool returns an error explaining that no data is available.

Supported metrics: status, devices, protocols, queryTypes, ipVersions, dnssec, encryption, reasons, ips.

Time values can be Unix timestamps or relative strings like -1d.

The ;series endpoint takes no limit parameter: limit is part of this tool's published surface, is rejected above 500 rather than clamped, and is never forwarded, so the requested range is the only thing that bounds the response. Three server-side limits are enforced before the request is built, and each is rejected with an invalid_argument error naming the limit rather than silently adjusted:

  • interval must be between 60 and 86400 seconds.

  • limit must not exceed 500.

  • The range must be interpretable (a Unix timestamp, an ISO 8601 timestamp, now, or a relative offset such as -7d; a relative unit letter is read case-sensitively and a timestamp with no timezone is read as UTC), must end after it starts, and spans at most 2000 intervals (at most 2000 points per series), so a wide range needs a proportionally larger interval.

Input Schema

NameRequiredDescriptionDefault
limitNo
metricYes
to_timeNonow
intervalNo
partialsNonone
timezoneNoGMT
alignmentNoend
from_timeNo-1d
profile_idNo

Schema Changelog

Changes observed during successful MCP inspections.

  1. Addedv3.0.1

TDQS

A3.7/5.0
Behavior5/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 so well: it discloses that limit is rejected above 500 rather than clamped, that no value is forwarded to the ;series endpoint, that interval is bounded 60–86400, that ranges over 2000 intervals are rejected, and that violations raise invalid_argument errors naming the limit. It also documents time-parsing rules (relative offsets, case-sensitive unit letters, UTC default for zoneless timestamps) and the no-data error path.

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

Conciseness3/5

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

The bulleted limit list is well front-loaded and scannable, but the preceding paragraph on the ';series' endpoint and 'published surface' is convoluted and repeats the limit-500 rule that the bullets state again. Implementation rationale crowds out parameter meaning.

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?

For a 9-parameter tool with no annotations and no output schema, the description covers error behavior and range limits thoroughly but leaves four parameters (profile_id, partials, alignment, timezone) unexplained. An agent could call it, but only by guessing on those fields.

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 0% across 9 parameters, so the description must compensate. It covers metric values, limit, interval bounds, and from/to time formats, but never explains profile_id, partials, alignment, or the timezone parameter's effect. Roughly half the surface remains undocumented in both schema and description.

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?

States a specific verb and resource plus the output format: 'Generate a PNG line chart for a NextDNS analytics time-series metric.' An agent immediately knows this is a visualization tool, not a raw-data tool. However, it never explicitly contrasts itself with the closely named sibling queryAnalytics, so differentiation is left to inference.

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?

Offers 'Use this to visualize query trends over time' and a precondition that the profile must have recent query history or an error is returned. That is useful context, but there is no guidance on when to prefer queryAnalytics over this charting tool, nor when profile_id should be supplied versus omitted.

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