Skip to main content
Glama
paramount-engineering

Roku Dev Studio MCP Server

Network Inspector: Analyze

network_inspector_analyze
Read-onlyIdempotent

Aggregate captured network traffic into session hotspots and rollups: counts by event type, HTTP status, top hosts, and content types. Use summary to orient before drilling into individual events.

Instructions

Aggregate the captured buffer into hotspots and rollups in one call — counts by event type, by HTTP status class (2xx/3xx/4xx/5xx), top hosts (with error counts), top content types, total HTTP/MITM transactions, error count, and the largest responses. Use this to orient on a session before drilling into individual events. Accepts the same optional filters as network_inspector_list_events (device, host, method, type, status, statusClass, contentType, errorsOnly, mitmOnly). Requires Network Inspector enabled.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
hostNoOptional case-insensitive substring matched against hostname, TLS SNI, or request URL.
typeNoOptional event type filter.
deviceNoOptional Roku IP or serial. Omit to include every Roku on the hotspot.
methodNoOptional HTTP method filter.
statusNoOne or more values to match (OR).
mitmOnlyNoOnly count decrypted-HTTPS transactions.
errorsOnlyNoOnly count HTTP transactions with a response status >= 400.
contentTypeNoOne or more values to match (OR).
statusClassNoOne or more values to match (OR).

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed3 schema fields changedv1.0.2
    • addedInput schema / properties / contentType
      Added value: +{
      +  "description": "One or more values to match (OR).",
      +  "items": {
      +    "description": "Case-insensitive substring against the response Content-Type (falls back to the request's), e.g. \"json\" or \"image\".",
      +    "type": "string"
      +  },
      +  "type": "array"
      +}
    • addedInput schema / properties / status
      Added value: +{
      +  "description": "One or more values to match (OR).",
      +  "items": {
      +    "description": "Exact HTTP response status code, e.g. 404.",
      +    "type": "number"
      +  },
      +  "type": "array"
      +}
    • addedInput schema / properties / statusClass
      Added value: +{
      +  "description": "One or more values to match (OR).",
      +  "items": {
      +    "description": "Response status class.",
      +    "enum": [
      +      "2xx",
      +      "3xx",
      +      "4xx",
      +      "5xx"
      +    ],
      +    "type": "string"
      +  },
      +  "type": "array"
      +}
  2. First observedv1.0.1

TDQS

A4.5/5.0
Behavior4/5

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

Annotations already provide readOnlyHint, openWorldHint, and idempotentHint, so the safety profile is covered. The description adds a prerequisite ('Requires Network Inspector enabled'), explains that aggregation happens 'in one call', and outlines what the response contains, going beyond the annotations without contradicting them.

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?

Two sentences, no filler. The first sentence front-loads the tool's purpose and output categories, and the second packs usage context, filter relationship, and a prerequisite. Every clause earns its place.

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?

Despite lacking an output schema, the description lists the aggregate categories (event type, status class, top hosts, content types, transaction counts, error count, largest responses), so an agent knows what to expect. It covers usage context, filter semantics, and the enablement prerequisite, making it complete for a read-only aggregation tool.

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

Parameters4/5

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

Schema coverage is 100%, so parameters are already well documented. The description adds value by stating that this tool 'Accepts the same optional filters as network_inspector_list_events', letting the agent reuse its knowledge of a sibling tool's filter semantics—a meaningful enhancement beyond 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?

States a specific verb ('Aggregate') and resource ('captured buffer') and enumerates the exact rollups produced. It explicitly contrasts with 'drilling into individual events', distinguishing it from siblings like network_inspector_list_events and network_inspector_get_event_detail.

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?

Gives clear context: 'Use this to orient on a session before drilling into individual events,' which signals when to choose it over event-level tools. It also references network_inspector_list_events for filter compatibility, though it does not explicitly state when not to use it.

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