PXE200 SA MCP
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| PXE_HOST | No | Bridge address(es), comma separated, tried in order. Default PXE IP is 10.0.0.223; 10.0.0.211 is used as a fallback. | 10.0.0.223,10.0.0.211 |
| PXE_REPORT_DIR | No | Where reports, screenshots and CSV go. | ~/pxe200-sa-reports |
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": true
} |
| logging | {} |
| prompts | {
"listChanged": true
} |
| resources | {
"subscribe": false,
"listChanged": true
} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| sa_connectB | Connect to the SCPI bridge inside SAStudio4 on the PXE200. |
| sa_statusC | Current mode, frequency range, RBW/VBW, reference level, offset and ADC overflow flag. |
| sa_scpiB | Send a raw command to the bridge (queries end with '?'). Supported: *IDN? *OPC? *WAI SYST:ERR? FREQ:CENT|STAR|STOP|SPAN, BAND[:VID], DISP:WIND:TRAC:Y:RLEV, INIT[:CONT], SWE:WAIT? n, SWE:COUN?, CALC:MARK:MAX, CALC:MARK[n]:X?|Y?, INST , TRAC:DATA? n, TRAC:DATA:X? n, TRAC:CAT?, CONF:CHP|OBW|ACP|OFF, FETC:CHP?|OBW?|ACP?, CHP:BWID|FREQ, OBW:XDB, CALC:CHP? c,bw[,n], GUI:LIST?|CLICK|SET|SELECT|OPTIONS?|VALUE?|TEXT, DEBUG:TAP , DEBUG:LAB?, DEBUG:BUTT?. |
| sa_guiA | Generic access to any SAStudio4 control by name, for settings without a dedicated tool. Menu controls are only reachable while their right-hand menu page is shown: open it with action=menu. |
| sa_modeC | Switch the SAStudio4 measurement mode. |
| sa_configureA | Set up the analyzer (any mode). Only the given parameters change; returns the resulting settings. In HARM / PN / IQS / DET the mode's own controls are used (HARM center/span/level, PN carrier, IQS/DET analysis bandwidth for span). ref_level_dbm is the level at the input: with an external attenuator of 40 dB and a +40 dB offset, ref_level_dbm=20 shows 60 dBm on screen. The offset is applied first, then the reference level (so the input range never drops below the one you asked for). |
| sa_traceB | Set a trace's type (Max Hold for hopping/bursty signals) and optionally accumulate for hold_s seconds. |
| sa_sweepC | Run control. single = stop after one fresh sweep and return when it is complete. |
| sa_trace_dataB | Read a displayed trace of any graph (values include amp offset). Spectrum graphs: peak, band power, occupied ranges. Time graphs (DET PvT, IQS IQ): X in seconds. Saves CSV + plot. |
| sa_peakC | Highest point of the trace (optionally within a range). |
| sa_channel_powerB | Channel power integrated over [center +- bandwidth/2] from the displayed trace (same method as SAStudio4's Channel Power, works on Max Hold and any span). |
| sa_total_powerA | Absolute power of a band, measured the right way: RMS detector + Average trace, cross-checked against the peak detector. If peak and RMS differ by more than 3 dB the signal is noise-like (jammer, OFDM, multi-tone): only the RMS figure is valid. Restores the detector and trace type. Checks the result against the DUT rating and returns warnings when it does not match. Set the span so the whole signal is inside it, and the offset (attenuator) before calling. |
| sa_channel_tableB | Channel power and peak for a regular channel plan, from one trace read (use a Max Hold trace for hopping transmitters). Returns per-channel dBm/W plus min/max/spread. |
| sa_measureA | Run one of SAStudio4's own measurements (Meas menu) and read its result. Note: entering Channel Power can change span/RBW to the measurement's own settings. |
| sa_screenshotC | Capture the SAStudio4 screen as PNG (saved to the report folder, with the current settings). |
| sa_controlsA | Catalog of every control of a mode (from the survey; no instrument access): name, caption, kind (number/enum/toggle/action/file/...), options, where it lives and its risk class. Use the names with sa_get / sa_set / sa_press. Dialog controls are listed under 'dialogs'. |
| sa_menuB | Open a right-hand menu and return its live controls (values, options, risk). |
| sa_getB | Read any control: navigates to it and returns value, options, caption, kind. |
| sa_setA | Set any SAStudio4 value control (number / choice / on-off) the way a user would, with read-back. Confirmation pop-ups that would switch mode are cancelled and reported. |
| sa_pressB | Press any SAStudio4 button (momentary actions, menu buttons). Reports dialogs it opened. |
| sa_dialogA | See open dialogs / message boxes (text and buttons) and answer or close them. |
| sa_appB | Application menu (File / Mode / System). File/Exit is blocked; Power On State, Setting Mode, Fan/Display/Device need confirm=true. |
| sa_fileA | Drive an open SAStudio4 file dialog (after sa_app 'File/Save State' / 'File/Recall State', record path, replay file, export): change folder, type a name or pick a file, confirm. Returns the folder listing. |
| sa_readA | Raw readouts of what is on screen: labels (result values, annotations), tables (peak/harmonic/SEM/ mapping/pulse tables), plots (graphs + trace point counts), windows, device info, widget tree. |
| sa_resultsC | All results SAStudio4 currently shows, parsed: Channel Power / ACPR (all pairs) / OBW / IM3 / SEM table + verdict (SA), AM/FM demod metrics and pulse statistics (IQS/DET), phase-noise table (PN), harmonic table + THD (HARM), mapping results + table (MAP), graph annotations, markers, notices (e.g. 'Carrier Loss!'), overflow. |
| sa_markerC | Markers on the current graph (any mode): enable, place, peak search, next peaks, marker->center, noise marker, delta, peak tracking, signal track. Returns the marker table (all markers with x/y). |
| sa_peak_tableB | Turn on SAStudio4's Peak Table (10 strongest peaks) and read it (n, frequency, level). |
| sa_viewC | List / show / hide the dock views of the current mode. |
| sa_filesB | List or download files SAStudio4 wrote (DataExport CSV/profile, saved images, state .xml, records). |
| sa_stateC | Save / list / recall complete SAStudio4 setups (File > Save State / Recall State). |
| sa_infoB | Instrument info: model, UID, firmware/FPGA/MCU/API/GUI versions, temperature, USB link and rate, battery, clock, current mode and the checked items of the title menus (theme, power-on state...). |
| dd_configureB | Open SAStudio4's Digital Demod mode (if not open) and set modulation, symbol rate, center, filter, averaging and reference level, with read-back. Blank arguments are left unchanged. |
| dd_resultsB | Digital Demod results as numbers. PSK/QAM: EVM rms/peak %, phase error deg, magnitude error %, frequency error Hz, SNR(MER) dB. FSK/GMSK: FSK error %, magnitude error %, carrier offset Hz, deviation Hz. ASK: ASK error %, carrier offset Hz. Use repeat > 1 for a stable figure. |
| dd_constellationB | Read the measured constellation points (plus the ideal reference points and the eye traces) from the Digital Demod screen, save them as CSV and a PNG plot, and return the plot. |
| report_startB | Start a new report session. Later screenshots / traces / measurements are saved into its folder. Pass rated_power_w whenever the DUT's power rating is known. |
| report_openB | Resume an existing report session. |
| report_listB | List report folders. |
| report_statusB | Show the active report and its items. |
| report_add_noteC | Add a free-text section (setup, observation, conclusion) to the report. |
| report_edit_itemC | Edit label/note/result/limit of a report item, or delete it. |
| report_set_infoC | Update report header fields / overall conclusion. |
| report_exportB | Generate the report document(s) from the active session. |
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 42 tools
Several generic-access tools overlap substantially: sa_scpi (raw SCPI), sa_gui (control by name), and the sa_get/sa_set/sa_press trio (generic control access) all offer ways to read/write arbitrary settings, and sa_configure overlaps with sa_set. The power-measurement cluster (sa_measure, sa_channel_power, sa_total_power, sa_channel_table) and the read cluster (sa_trace_data, sa_read, sa_results) also require careful reading to distinguish. The detailed descriptions do help, but the boundaries are genuinely blurry in places.
Overwhelmingly consistent snake_case with clear namespaced prefixes (sa_, dd_, report_) that group tools logically by domain. Verbs are used predictably (sa_get/sa_set/sa_press, report_start/open/list). A few noun-style names (sa_status, sa_controls, sa_files, sa_info) are minor deviations but still readable.
42 tools is heavy and lands in the '25+' range that the rubric flags as potentially too many. However the server covers a genuinely broad instrument surface (multiple SA modes, Digital Demod, GUI control, files, state, and a full reporting subsystem), so many tools earn their place. It is on the excessive side but not arbitrary padding.
The surface is remarkably complete for an instrument-control server: connect/status, configuration, measurement, results parsing, markers, traces, GUI control, dialogs, file/state management, Digital Demod, and a full report lifecycle (start/open/list/status/add/edit/export). Generic sa_get/sa_set/sa_press/sa_scpi cover the long tail, leaving no obvious dead ends beyond a trivial missing explicit disconnect.