Skip to main content
Glama

get_network_usage

Read-onlyIdempotent

Reports per-program network receive and send rates and totals, then traces traffic to show destinations and which programs communicate with them.

Instructions

Who uses the network: each program's receive and send rates and totals, and (after trace_seconds of the network trace) where the traffic goes, by destination name, with the programs talking to each.

Input Schema

NameRequiredDescriptionDefault
trace_secondsNoSeconds to trace first (0 to 30, default 5): where the traffic goes needs the network trace. Needs "Turn kernel traces on".

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv0.1.0

TDQS

A3.5/5.0
Behavior3/5

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

Annotations already declare readOnly, idempotent, non-destructive and closed-world, so the safety profile is covered. The description adds that destination data requires a trace and takes trace_seconds, implying a blocking wait, but it never states the default 5s cost or that the trace prerequisite ('Turn kernel traces on') comes from the schema, not the description. Modest added value.

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?

One dense sentence, front-loaded with what you get (per-program rates/totals) before the conditional destination data. It is slightly run-on with the trailing 'with the programs talking to each', but nothing is redundant.

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

Completeness4/5

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

No output schema exists, so the description must convey return structure, and it does: per-program rates/totals plus destination-name grouping. The main omission is the latency cost of the trace and that the trace prerequisite must be enabled beforehand, which an agent needs in order to avoid a surprise delay.

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?

With one parameter at 100% schema coverage, the schema already documents trace_seconds fully, including the 0-30 range, default 5, and the kernel-traces prerequisite. The description only adds that the trace gates the destination-name output, which is a small semantic gain over the schema text.

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 the specific resource and the shape of the result: per-program receive/send rates and totals, plus destination breakdown by name. That is far more concrete than a generic 'get network usage'. It does not name the sibling tools it overlaps with (list_connections, list_dns_lookups), 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?

Usage is implied: call it for per-program bandwidth, and the destination breakdown only appears after a trace. There is no explicit when-to-use versus list_connections or list_dns_lookups, and no statement of when the trace is worth the wait beyond the parenthetical condition.

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