Skip to main content
Glama

NCCL Benchmark Analyzer

analyze_nccl_benchmark
Read-onlyIdempotent

Analyzes nccl-tests / rccl-tests results (paste raw all_reduce_perf output, or give size/busbw points). Detects node and GPU counts from the output, compares large-message bus bandwidth with the fabric's NIC line rate (InfiniBand HDR/NDR/XDR, RoCE 100G to 800G), and flags data errors, degraded bandwidth, dips as message size grows and unstable run-to-run results, with likely causes. Returns a health status and a bandwidth-loss figure for calculate_fabric_degradation_cost.

Input Schema

NameRequiredDescriptionDefault
nodesNoNumber of nodes in the run. Detected from raw_output when omitted.
fabricNoInter-node fabric and per-port speed. Use 'other' with link_gbps for anything else.infiniband_ndr
resultsNoAlternative to raw_output: measured points as {size_bytes, busbw_gbs}.
link_gbpsNoPer-NIC link speed in Gb/s. Overrides the speed implied by fabric.
collectiveNoCollective that was benchmarked. Default all_reduce.all_reduce
raw_outputNoRaw stdout of an nccl-tests or rccl-tests run (e.g. all_reduce_perf -b 8 -e 8G -f 2 -g 1). Paste it unchanged; rank/host lines are used to detect node count.
gpus_per_nodeNoGPUs per node. Detected from raw_output when omitted; default 8.
nics_per_nodeNoCompute-fabric NICs per node (rails). Default: one per GPU.
expected_busbw_gbsNoExpected healthy bus bandwidth in GB/s, e.g. from an acceptance test. Overrides the line-rate reference; required to judge single-node runs.

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observed

TDQS

A4.1/5.0
Behavior4/5

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

Annotations already establish the safe read-only, idempotent, non-open-world profile, so the bar is lower. The description adds real behavioral context beyond that: it auto-detects node/GPU counts from raw output, flags specific failure modes (data errors, degraded bandwidth, dips vs message size, run-to-run instability) with likely causes, and names the returned health status and bandwidth-loss figure.

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?

Two sentences, front-loaded with the core action and followed by the analysis/return detail; little waste. The first sentence is long with many clauses, which slightly taxes readability but every clause carries information.

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?

With no output schema, the description correctly compensates by naming the return values (health status and bandwidth-loss figure) and the consumer tool. For a 9-parameter tool it covers inputs, detection behavior, and outputs adequately, though it does not describe the shape or units of the health status result.

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 description coverage is 100%, so the schema already documents all nine parameters and the baseline is 3. The description adds conditional meaning the schema does not carry, notably that raw output should be pasted unchanged and that rank/host lines drive node detection, plus that expected_busbw_gbs is required for single-node runs.

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 and resource ('Analyzes nccl-tests / rccl-tests results') plus the concrete analyses performed: node/GPU detection, busbw vs NIC line rate comparison, and error/degradation flagging. It also distinguishes itself from the sibling calculate_fabric_degradation_cost by naming it as the downstream consumer of its output.

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?

Gives useful input-mode guidance ('paste raw all_reduce_perf output, or give size/busbw points') and a conditional requirement ('expected_busbw_gbs ... required to judge single-node runs'), which is implied usage context. However, it never states when to use this tool versus the sibling tools or any exclusion conditions, so routing remains partly inferential.

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