Skip to main content
Glama
andy-qingcai

MHO98 MCP Server

by andy-qingcai

set_trigger_serial

Configure serial bus triggers for RS232, IIC, SPI, CAN, LIN, FLEXray, IIS, or M1553 on a Rigol MHO98 oscilloscope with protocol-specific parameters.

Instructions

Serial-bus trigger: RS232 | IIC | SPI | CAN | LIN | FLEXray | IIS | M1553.

Typed params map to the documented keywords of the selected protocol (sent as :TRIGger:: ; booleans are sent as 1/0, everything else verbatim): RS232: source level polarity when data baud width stop parity buser IIC: scl sda clevel dlevel when awidth address direction dbytes data currbit code SPI: clk scl miso sda cs clevel dlevel slevel slope when mode timeout width data currbit code CAN: source stype when baud spoint extended define dwidth data currbit code level LIN: source level standard baud samplepoint when error id data currbit code FLEXray: source when level baud pos error symbol frame define idcmp cyccomp maxcy mincy maxid minid ch IIS: clock data_source ws_select clock_slope clevel slevel dlevel alignment uwidth width dmin dmax when audio data code M1553: source when polarity window sync error datcomp datvalue dmin dmax drta dbit code alevel blevel Anything else: pass extra={"KEYWORD": value} (KEYWORD must be documented for that protocol in manual section 3.27).

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
extraNo
paramsYes
protocolYes

Output Schema

TableJSON Schema
NameRequiredDescriptionDefault
resultYes

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv0.1.0

TDQS

A3.9/5.0
Behavior3/5

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

With no annotations, the description carries the full behavioral burden. It usefully discloses the wire encoding (':'TRIGger:<PROTO>:<SUFFIX>' with booleans as 1/0) and the `extra` escape hatch, but says nothing about side effects, whether it overwrites existing trigger settings, or required instrument state.

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?

Front-loads purpose in the first line, then the encoding rule, then the per-protocol keyword reference. The long keyword dumps are justified given 0% schema coverage, though the list-heavy block is dense.

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?

An output schema exists, so return values need not be explained, and the description covers parameterization for every supported protocol plus an escape hatch with a manual reference. It omits only behavioral context (state changes, error handling) for a complex mutation 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 0%, so the description must compensate, and it does: it maps each protocol to its documented keyword set and explains the fallback `extra={'KEYWORD': value}` mechanism. It is docked slightly because the `params` parameter is typed as a plain string in the schema while the description implies a structured/typed mapping, leaving the actual encoding of `params` ambiguous.

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 resource ('Serial-bus trigger') and enumerates the exact protocol families covered (RS232, IIC, SPI, CAN, LIN, FLEXray, IIS, M1553). This clearly distinguishes it from siblings like set_trigger_edge, set_trigger_pulse_width, and set_trigger_video without opening a schema.

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 only implied by the protocol list; the description never states when to choose this over set_trigger_edge or the per-protocol configure_bus_* tools, nor any prerequisites such as needing the matching bus configured first. Adequate but with no explicit when/when-not guidance.

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

Deploy Server

Other Tools