Skip to main content
Glama

Get a fleet report

get_fleet_report
Read-onlyIdempotent

Read a report across screens for a time window.

When to use:

  • Uptime and outage causes, what actually played, or who changed what.

When NOT to use:

  • One screen's detail: use get_screen_status. What is wrong now: use list_items kind alerts.

What to know:

  • Reads stored history only; only screens this connection can see count. Needs screen.view (uptime), playback-log.view (proof_of_play) or audit-log.view (audit_log).

Parameters:

  • report: uptime (online % per screen, outages with causes, worst first, one-line insights), proof_of_play (plays, watch time, skips and failures per content, and where) or audit_log (who changed what, newest first, by name).

  • from and to: uptime and proof_of_play only; ISO 8601; default the whole stored window (30 days for uptime) up to now; a non-ISO value is refused. screenId: uptime and proof_of_play only, one screen. screenIds, contentIds and detail: proof_of_play only.

  • since, limit (default 50) and cursor (nextCursor of the previous page): audit_log only.

  • Parameters for another report are ignored. Example: {report:"uptime", from:"2026-10-13T00:00:00Z"}.

Input Schema

NameRequiredDescriptionDefault
toNoWindow end.
fromNoWindow start.
limitNoPage size.
sinceNoEvents since.
cursorNoNext page.
detailNoproof_of_play: screens adds byScreen, one row per content and screen.
reportYesWhich report.
screenIdNoScreen id.
screenIdsNoproof_of_play: only these screens, for example every screen at one venue.
contentIdsNoproof_of_play: only these content ids, for example one advertiser's ads.

Output Schema

NameRequiredDescriptionDefault
toNoWindow end.
fromNoWindow start.
nextCursorNoaudit_log: pass as cursor for the next page.

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed3 schema fields changed
    • addedInput schema / properties / contentIds
      Added value: +{
      +  "description": "proof_of_play: only these content ids, for example one advertiser's ads.",
      +  "items": {
      +    "type": "string"
      +  },
      +  "type": "array"
      +}
    • addedInput schema / properties / detail
      Added value: +{
      +  "description": "proof_of_play: screens adds byScreen, one row per content and screen.",
      +  "enum": [
      +    "screens"
      +  ],
      +  "type": "string"
      +}
    • addedInput schema / properties / screenIds
      Added value: +{
      +  "description": "proof_of_play: only these screens, for example every screen at one venue.",
      +  "items": {
      +    "type": "string"
      +  },
      +  "type": "array"
      +}
  2. Changed7 schema fields changed
    • changedInput schema / properties / cursor / description
      Previous value: -"audit_log: nextCursor from the previous page."New value: +"Next page."
    • changedInput schema / properties / from / description
      Previous value: -"uptime, proof_of_play: ISO 8601 start; default the start of the stored history (30 days for uptime)."New value: +"Window start."
    • changedInput schema / properties / limit / description
      Previous value: -"audit_log: page size, 1-500 (default 50)."New value: +"Page size."
    • changedInput schema / properties / report / description
      Previous value: -"uptime, proof_of_play or audit_log."New value: +"Which report."
    • changedInput schema / properties / screenId / description
      Previous value: -"uptime, proof_of_play: only this screen."New value: +"Screen id."
    • changedInput schema / properties / since / description
      Previous value: -"audit_log: ISO 8601; only events at or after it."New value: +"Events since."
    • changedInput schema / properties / to / description
      Previous value: -"uptime, proof_of_play: ISO 8601 end; default now."New value: +"Window end."
  3. Added

TDQS

A4.7/5.0
Behavior5/5

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

Annotations already declare readOnlyHint, idempotentHint and destructiveHint=false, and the description still adds substantial non-structured context: it reads stored history only, scope is limited to screens the connection can see, and each report variant requires a distinct permission (screen.view, playback-log.view, audit-log.view). It also discloses that parameters belonging to another report are silently ignored, which is a non-obvious behavioral trait that would otherwise cause silent misconfiguration.

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?

Aggressively front-loaded and organized under 'When to use', 'When NOT to use', 'What to know' and 'Parameters'. The prose is compressed into fragments, but each one carries a distinct fact (permission, default, applicability, refusal rule) with no redundancy.

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

Completeness5/5

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

This is a 10-parameter tool with three modes, and the description covers mode selection, per-mode parameter applicability, defaults, format requirements, permission prerequisites and scope limits, while the output schema carries the return shape. Nothing an agent needs in order to call it correctly is missing.

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 100%, so the baseline would be 3, but the description goes well beyond the schema by mapping each parameter to the report types that honor it (from/to only for uptime and proof_of_play, since/limit/cursor only for audit_log), specifying ISO 8601 with rejection of non-ISO values, stating defaults (whole stored window, 30 days for uptime, limit 50), and giving a worked example. The only thing it omits is clarity that cursor is the previous page's nextCursor, which is already in the 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?

Opens with a specific verb and resource ('Read a report across screens for a time window') and immediately enumerates the three report types (uptime, proof_of_play, audit_log), so an agent knows exactly what the tool returns. It also explicitly separates itself from get_screen_status and list_items, which are the closest siblings.

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

Usage Guidelines5/5

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

Provides explicit 'When to use' and 'When NOT to use' blocks, naming concrete alternatives for each exclusion ('One screen's detail: use get_screen_status. What is wrong now: use list_items kind alerts'). This is the strongest form of routing guidance: the agent never has to infer which sibling to pick.

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

Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.

Resources