Skip to main content
Glama

Plotanalytics

plotAnalytics

Generate a PNG line chart for a NextDNS analytics time-series metric to visualize query trends over time, using Unix or relative time ranges.

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.

Examples: - plotAnalytics(metric="status", profile_id="abc123", from_time="-1d") - plotAnalytics(metric="devices", profile_id="abc123", from_time="-7d", interval=86400)

Returns: An MCP ImageContent PNG chart, or an error dict if data is unavailable.

Input Schema

TableJSON 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.8/5.0
Behavior4/5

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

With no annotations present the description carries the full burden, and it does disclose the failure mode (error when no data is available) and the return shape (MCP ImageContent PNG or an error dict). It omits read-only/safety framing and any auth or rate-limit notes, which holds it below a 5.

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?

Well front-loaded: purpose, usage, metrics, time format, then two worked examples. The metric list and example block are useful rather than filler, though the Returns section partly duplicates what the opening sentence already implies.

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 zero schema description coverage and no output schema, the description covers purpose, return type, and two of the trickier parameters, but leaves five parameters unexplained, which is a meaningful gap for correct invocation.

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 usefully documents the metric values and that time inputs accept Unix timestamps or relative strings like '-1d', but limit, interval, partials, timezone, and alignment remain undocumented anywhere.

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?

Specific verb+resource: 'Generate a PNG line chart for a NextDNS analytics time-series metric.' It is clearly a visualization tool, implicitly distinct from the sibling queryAnalytics, but it never names or contrasts with that sibling explicitly, so an agent must infer the boundary.

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?

States when to use it ('visualize query trends over time') and gives a concrete precondition that failure depends on ('the profile should have recent query history; otherwise the tool returns an error'). It does not name alternatives such as queryAnalytics for raw data, so selection guidance is incomplete but clear.

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