Skip to main content
Glama

Capture oscilloscope waveform

scope_capture_waveform
Read-only

Capture a scaled voltage-vs-time waveform from one oscilloscope channel and return downsampled points with vmin/vmax/vmean/vpp for compact MCP results.

Instructions

Read a scaled voltage-vs-time trace from one channel.

Uses the vendor dialect from *IDN? (or dialect=). Returns downsampled points plus vmin/vmax/vmean/vpp so the payload fits in an MCP tool result.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
channelNoChannel number or name (1, CHAN1, CH1, C1)
dialectNo
resourceNo
max_pointsNoReturned point budget after min/max downsample (keep small for MCP).

Output Schema

TableJSON Schema
NameRequiredDescriptionDefault
tYes
vYes
vppYes
dt_sYes
pathNo
t0_sYes
vmaxYes
vminYes
notesNo
vmeanYes
scaledNo
channelYes
dialectYes
units_tNos
units_vNoV
resourceYes
n_samples_rawYes
n_samples_returnedYes

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv0.1.0

TDQS

B3.4/5.0
Behavior4/5

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

Annotations already declare readOnlyHint=true and openWorldHint=false, so safety is covered, and the description adds real context beyond that: it discloses the dialect resolution path and, importantly, that output is downsampled and accompanied by vmin/vmax/vmean/vpp to keep the payload small. That is behavior an agent needs to know for a digitizing/truncating read. No permissions or rate-limit notes, though.

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 short sentences with no filler, and the core purpose is front-loaded ahead of the dialect and payload details. The line break mid-paragraph is slightly odd but harmless.

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?

An output schema exists, so return values need no prose, and annotations cover the safety profile. The description is adequate for invocation mechanics but leaves the resource parameter undocumented and gives no routing guidance among the many scope_* siblings, which is the biggest omission for a tool in this crowded namespace.

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 50%: channel and max_points are documented in the schema, while dialect and resource have titles only. The description partially compensates by explaining that dialect can be passed explicitly or inferred from *IDN?, but resource remains unexplained in both places. Marginal added value over the schema.

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?

States a specific verb and resource: "Read a scaled voltage-vs-time trace from one channel," which is unambiguous about what is produced. However, it never distinguishes itself from close siblings like scope_acquire, scope_measure, or export_waveform, which an agent will have to disambiguate on its own.

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

Usage Guidelines2/5

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

There is no statement of when to pick this tool over scope_acquire (also an acquisition tool) or export_waveform (which likely also returns trace data). The only usage-adjacent hint is that the dialect comes from *IDN? or the dialect parameter, which is a mechanics note, not selection guidance.

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