MHS-5200A MCP Server
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
No arguments | |||
Instructions
Guidance the server publishes about itself, which clients place ahead of the tool catalog so the model reads it before choosing anything.
This server publishes no instructions, or was last inspected before Glama recorded them.
Capabilities
Features and capabilities supported by this server
Protocol revision2025-11-25
| Capability | Details |
|---|---|
| tools | {
"listChanged": false
} |
| prompts | {
"listChanged": false
} |
| resources | {
"subscribe": false,
"listChanged": false
} |
| experimental | {} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| mhs5200_connectA | Connect to MHS-5200A signal generator via serial port. This must be called before using any other mhs5200_* tools. If already connected, the existing connection is closed first. Args: params: Connection parameters containing: - port (str): Serial port name (e.g., 'COM3', '/dev/ttyUSB0') Returns: JSON with connection status and device information: { "status": "ok", "model": "5225A", "serial": "1234567890" } |
| mhs5200_disconnectA | Disconnect from the MHS-5200A signal generator. Safe to call even if not connected. Returns: JSON with disconnection status: {"status": "disconnected"} or {"status": "not_connected"} |
| mhs5200_get_statusA | Get complete status of all channels and device settings. Returns: JSON with full device status including: - Channel 1 & 2: frequency, amplitude, waveform, duty cycle, offset, phase - Global: output state, tracking mode, power amp state |
| mhs5200_set_frequencyA | Set the output frequency for a channel. Args: params: Frequency parameters containing: - channel (1 or 2): Target channel - frequency_hz (float): Frequency in Hz (0.01 to max supported by model) Returns: JSON confirming the new frequency setting. |
| mhs5200_set_amplitudeA | Set the peak-to-peak voltage for a channel. Automatically adjusts attenuation setting for optimal output. Args: params: Amplitude parameters containing: - channel (1 or 2): Target channel - vpp (float): Peak-to-peak voltage (0.0 to 15.0 V) Returns: JSON confirming the new amplitude setting. |
| mhs5200_set_waveformA | Set the waveform type for a channel. Args: params: Waveform parameters containing: - channel (1 or 2): Target channel - waveform (str): One of SINE, SQUARE, TRIANGLE, SAWTOOTH_UP, SAWTOOTH_DOWN, or ARB00-ARB15 for arbitrary Returns: JSON confirming the new waveform setting. |
| mhs5200_set_duty_cycleA | Set the duty cycle for a channel (primarily affects square waves). Args: params: Duty cycle parameters containing: - channel (1 or 2): Target channel - duty_percent (float): Duty cycle (0.0 to 99.9 %) Returns: JSON confirming the new duty cycle setting. |
| mhs5200_set_offsetA | Set the DC offset for a channel. The offset is specified as a percentage of half the peak-to-peak amplitude (Vpp/2). For example, with a 5Vpp signal: - offset_percent = 100 shifts the signal by +2.5V - offset_percent = -120 shifts the signal by -3.0V Formula: DC offset voltage = (Vpp / 2) × (offset_percent / 100) Args: params: Offset parameters containing: - channel (1 or 2): Target channel - offset_percent (float): Offset as percentage of Vpp/2 (-120 to +120, 0 is center) Returns: JSON confirming the new offset setting. |
| mhs5200_set_phaseA | Set the phase offset of CH2 relative to CH1. Args: params: Phase parameters containing: - phase_deg (int): Phase offset (-180° to +180°) Positive = CH2 leads CH1 Negative = CH2 lags CH1 Returns: JSON confirming the new phase setting. |
| mhs5200_set_invertA | Invert (flip vertically) the waveform output for a channel. Args: params: Invert parameters containing: - channel (1 or 2): Target channel - inverted (bool): True to invert, False for normal Returns: JSON confirming the inversion setting. |
| mhs5200_set_outputA | Enable or disable all signal outputs. Args: params: Output control parameters containing: - enabled (bool): True to enable outputs, False to disable Returns: JSON confirming the output state. |
| mhs5200_set_trackingA | Enable or disable frequency tracking mode. When enabled, CH2 automatically follows CH1's frequency. Args: params: Tracking parameters containing: - enabled (bool): True to enable tracking Returns: JSON confirming the tracking mode. |
| mhs5200_set_power_ampA | Enable or disable the internal power amplifier. Note: Not all MHS-5200A models have this feature. Args: params: Power amp parameters containing: - enabled (bool): True to enable power amplifier Returns: JSON confirming the power amp state. |
| mhs5200_set_sweepA | Start or stop the frequency sweep. Use mhs5200_configure_sweep first to set sweep parameters, then use this tool to start/stop the sweep. Args: params: Sweep control parameters containing: - enabled (bool): True to start sweep, False to stop sweep Returns: JSON confirming the sweep state. |
| mhs5200_configure_sweepA | Set sweep parameters for a channel. Use mhs5200_set_sweep to start/stop the configured sweep. Args: params: Sweep configuration containing: - start_hz (float): Start frequency in Hz - stop_hz (float): Stop frequency in Hz - time_sec (int): Sweep duration (1-600 seconds) - mode (str): "LINEAR" or "LOG" - channel (1 or 2): Target channel Returns: JSON confirming sweep configuration and start. |
| mhs5200_upload_arb_waveformA | Upload custom arbitrary waveform data to device memory. The waveform data must contain exactly 2048 samples, each an integer from 0 to 4095 (12-bit resolution). 2048 is the midpoint (zero crossing). Args: params: Upload parameters containing: - arb_index (int): Memory slot (0-15, corresponds to ARB00-ARB15) - filepath (str): Path to data file JSON format: [0, 100, 200, ...] Text format: one integer per line Returns: JSON confirming upload success with slot number and sample count. |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
No prompts | |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
No resources | |
TDQS
Scored across 16 tools
All 16 tools have distinct, clearly defined purposes with no overlap. Each tool addresses a specific function (e.g., connect, set_frequency, upload_arb_waveform) with unique parameters.
Tool names consistently follow the 'mhs5200_verb_noun' pattern in snake_case. Variations like 'upload_arb_waveform' (verb_adj_noun) are minor and still predictable.
16 tools provide comprehensive coverage for a signal generator's typical operations without being excessive. The scope is well-scoped for the domain.
Covers most expected operations (connection, waveform, frequency, amplitude, etc.), but lacks per-channel output control (only global) and possibly impedance or reset functions.