Skip to main content
Glama
ikatkov
by ikatkov

Server Configuration

Describes the environment variables required to run the server.

NameRequiredDescriptionDefault
JDS2800_PORTNoSerial port to use. If not set, the server probes USB serial ports and selects a single matching JDS generator. An explicit port always overrides discovery.
JDS2800_TIMEOUTNoTimeout in seconds per serial reply/write. Default is 1 second.1
JDS2800_CALIBRATIONNoPath to an alternate power calibration file. It must match the actual device and use the same sine/zero-offset/50-ohm convention.
JDS2800_LOCK_TIMEOUTNoTimeout in seconds waiting for another operation to release the serial lock. Default is 5 seconds.5

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

CapabilityDetails
tools
{
  "listChanged": false
}
prompts
{
  "listChanged": false
}
resources
{
  "subscribe": false,
  "listChanged": false
}
experimental
{}

Tools

Functions exposed to the LLM to take actions

NameDescription
get_manualA

Read the bundled manual reference: model/frequency/voltage limits, 50-ohm power estimates, modes, synchronization, protocol notes, and tested behavior. Includes source page numbers and discrepancies. No serial port is opened.

get_calibrationA

Read measured power calibration metadata/ranges without opening a port. include_points=true also returns the full amplitude/frequency measurement table. Applies to zero-offset SINE into a physical 50-ohm load through measured cables.

preview_powerA

Check generator identity and calculate calibrated voltage for sine power into 50 ohms. Interpolates measured levels/frequencies; no extrapolation or writes. Returns predicted power after 1 mV amplitude quantization, not a live measurement.

set_powerA

Set calibrated sine power into a physical 50-ohm load using the measured table. Sets waveform=SINE, DC offset=0, duty=50, and frequency/amplitude. Requires wave mode and matching serial number. Preserves enabled state unless supplied. Predicted dBm includes measured cable loss; other loads/waveforms are unsupported. Uses register readback; it does not remeasure the signal with the scope.

list_portsA

List USB serial ports without opening the generator.

list_waveformsA

List built-in waveform names/IDs and the 60 arbitrary waveform slots.

get_device_infoA

Read the model code, serial number, port and detected sine frequency limit.

get_stateA

Read mode, phase and channel settings. Omit channel to read both.

configure_channelA

Set channel parameters in wave mode and verify them. Unspecified settings are preserved. Output is gated during changes; its previous enable state is restored unless enabled is supplied. Limits follow the detected model. On communication/readback failure the target output is requested off. SQUARE is physically 50% duty; use PULSE for adjustable duty.

set_outputsA

Enable or disable outputs independently, preserving unspecified output state.

set_phaseA

Set inter-channel phase, normalized to 0..359.9 degrees, with readback.

set_modeA

Stop current actions, select the operating mode and verify it.

configure_sweepB

Switch to sweep mode, configure and read back limits. start=true starts the sweep. Output enable state is preserved; use set_outputs separately.

stop_outputsA

Stop sweep/counter/pulse/burst actions and disable both output channels.

read_registerA

Read a protocol register 0..89 for diagnostics or measurement/counter data. Unsupported registers may time out; this does not select a mode.

read_arbitraryA

Read all 2048 samples from an arbitrary waveform slot, numbered 1..60.

upload_arbitraryA

Overwrite slot 1..60 with 2048 integer samples (0..4095) and verify readback. This changes device waveform storage; it does not select the slot or enable output.

Prompts

Interactive templates invoked by user choice

NameDescription

No prompts

Resources

Contextual data attached and managed by the client

NameDescription
JDS2800 referenceManufacturer manual summary, protocol notes, and local hardware findings.
JDS2800 power calibrationMeasured 50-ohm sine calibration metadata and covered frequency/power ranges.
JDS2800 dBm guideCalibration conditions, measured tables, dBm examples, and uncertainty notes.

TDQS

A3.7/5.0

Scored across 17 tools

Disambiguation4/5

Most tools have a clear primary purpose, but there are overlapping boundaries around output control (stop_outputs vs set_outputs), power/amplitude setting (set_power vs configure_channel vs preview_power), and sweep/mode selection (configure_sweep vs set_mode). The detailed descriptions mostly resolve these, so misselection is possible but not severe.

Naming Consistency5/5

All tools use snake_case verb_noun names (get_/set_/list_/read_/configure_/stop_/upload_/preview_) with no mixed conventions. The pattern is predictable throughout.

Tool Count4/5

17 tools is slightly above the typical 3-15 range, but the complex signal-generator domain (calibration, power, modes, arbitrary waveforms, diagnostics) justifies most tools. It is not excessive but feels a bit heavy.

Completeness4/5

Core signal generation workflows are covered: ports/info/state, channel config, outputs, phase, mode/sweep, calibrated sine power, arbitrary waveform read/upload, and manual/diagnostics. Minor gaps exist for configuring pulse/burst/counter modes despite stop_outputs referencing them, but agents can handle the main use cases.

Maintenance

ActivityMaintained
ResponsivenessNo issues