Skip to main content
Glama
RFingAdam
by RFingAdam

Server Configuration

Describes the environment variables required to run the server.

NameRequiredDescriptionDefault
CMW_DEFAULT_HOSTNoCMW500 IP address127.0.0.1
CMW_DEFAULT_PORTNoSCPI TCP port5025
CMW_ALLOW_RAW_SCPINoEnable raw SCPI commandsfalse
CMW_MAX_FREQUENCY_HZNoUpper frequency bound6e9
CMW_MIN_FREQUENCY_HZNoLower bound for frequency
CMW_MAX_EXPECTED_POWER_DBMNoMax analyzer input33
CMW_MAX_GENERATOR_POWER_DBMNoMax generator output0
CMW_MIN_GENERATOR_POWER_DBMNoLower bound for generator power

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
}
experimental
{}

Tools

Functions exposed to the LLM to take actions

NameDescription
cmw_bt_configureC

Configure Bluetooth/BLE non-signaling measurement

cmw_bt_set_technologyC

Set Bluetooth technology (Classic or Low Energy)

cmw_bt_set_ble_modeB

Set BLE PHY mode (1M, 2M, Coded S2/S8)

cmw_bt_set_packet_typeB

Set Bluetooth Classic packet type (DH1/DH3/DH5/etc.)

cmw_bt_set_frequencyC

Set Bluetooth measurement frequency in Hz

cmw_bt_set_expected_powerB

Set Bluetooth expected input power in dBm

cmw_bt_triggerC

Trigger Bluetooth multi-evaluation measurement

cmw_bt_fetch_powerC

Fetch Bluetooth TX power measurement results

cmw_bt_fetch_modulationC

Fetch Bluetooth modulation (DEVM) measurement results

cmw_bt_fetch_frequencyC

Fetch Bluetooth frequency measurement results

cmw_bt_fetch_allB

Fetch all Bluetooth measurement results (power, modulation, frequency)

cmw_discoverA

Scan for CMW500 instruments on the network (port 5025)

cmw_connectA

Connect to CMW500 at specified host:port

cmw_disconnectC

Disconnect from CMW500

cmw_identifyB

Get CMW500 identification (*IDN?): manufacturer, model, serial, firmware

cmw_get_statusC

Get CMW500 connection and configuration status

cmw_query_optionsC

Query installed hardware and software options

cmw_get_errorsA

Drain the instrument's SCPI error queue and report what it rejected. A write command returns no response, so this is the only way to learn that a setting silently failed to apply. Reading the queue clears it.

cmw_get_capabilitiesA

Report which technology families this instrument can actually be asked to use, based on its installed options. Call this before planning a campaign: a CMW500 is a chassis, and WLAN, Bluetooth, LTE measurement and LTE signaling are each separately licensed. Without it, an unlicensed application answers '-113 Undefined header', which reads like a client bug rather than a missing licence.

cmw_gen_set_frequencyB

Set GPRF generator output frequency in Hz

cmw_gen_set_levelB

Set GPRF generator output level in dBm

cmw_gen_output_onB

Enable GPRF generator RF output

cmw_gen_output_offA

Disable GPRF generator RF output (safe state)

cmw_gen_load_arbB

Load ARB waveform file on CMW500 generator

cmw_gen_configure_arbC

Configure ARB waveform playback mode (continuous/single)

cmw_meas_configure_powerC

Configure GPRF power measurement parameters

cmw_meas_configure_spectrumA

Configure GPRF spectrum measurement: centre frequency, span, resolution and video bandwidth

cmw_meas_set_frequencyC

Set GPRF analyzer measurement frequency in Hz

cmw_meas_set_expected_powerB

Set expected input power for GPRF analyzer in dBm

cmw_meas_triggerC

Trigger GPRF power measurement

cmw_meas_fetch_powerC

Fetch GPRF power measurement results (current, average, max, min)

cmw_meas_fetch_spectrumC

Fetch GPRF spectrum measurement results

cmw_set_signal_pathC

Set GPRF measurement signal path scenario (standalone or combined)

cmw_get_signal_pathC

Get current GPRF signal path scenario

cmw_measureA

Run a complete measurement: arm it, wait for the instrument to report the acquisition finished, then fetch the results. Prefer this over separate trigger and fetch calls -- INITiate returns as soon as the measurement is armed, so a separate fetch cannot tell whether it is reading this acquisition or the previous one. Results are marked stale if a setting changed after the trigger.

cmw_rf_route_setA

Route a measurement or generator application to a front-panel connector and internal converter, e.g. 'RF1C,RX1'. Routing is per-application: setting it for GPRF does nothing for WLAN, Bluetooth or LTE. A converter serves one application at a time, which is what produces resource conflicts when two technologies run at once.

cmw_rf_route_getA

Report an application's routing scenario and the path this server last applied to it. The connector and converter are not readable from the instrument, so the path is only known if it was set here.

cmw_meas_set_triggerC

Set GPRF measurement trigger source and threshold

cmw_meas_set_power_filterB

Set GPRF power measurement filter type and bandwidth

cmw_gen_set_baseband_modeB

Set GPRF generator baseband mode (CW, ARB, etc.)

cmw_set_portC

Set GPRF generator/analyzer RF port connector

cmw_meas_set_user_marginC

Set GPRF analyzer user margin in dB

cmw_system_all_offC

Turn off all generators and measurements (safe state)

cmw_set_external_attenuationA

Declare the cable and fixture loss between the CMW connector and the DUT, so levels and measured powers refer to the DUT rather than the instrument. Without this every absolute power reading is wrong by the path loss. Attenuation is PER-APPLICATION -- pass the applications you are measuring with, because declaring it for GPRF does nothing for a WLAN or Bluetooth measurement. Setting it also tightens the safety clamps, which check both the DUT plane and the instrument connector.

cmw_get_external_attenuationA

Report the external attenuation declared for the generator and analyser paths. Check this before trusting any absolute power measurement.

cmw_define_limitC

Define a pass/fail limit for measurement checking

cmw_check_limitsC

Check measurement values against defined limits

cmw_clear_limitsA

Clear all defined limits

cmw_list_limitsA

List all defined limits

cmw_lte_configure_cellB

Configure LTE cell parameters (band, BW, EARFCN, DL level)

cmw_lte_cell_onB

Turn on LTE cell (start base station emulation)

cmw_lte_cell_offC

Turn off LTE cell

cmw_lte_get_connection_stateC

Get LTE UE connection state (ATT, CONN, IDLE, etc.)

cmw_lte_configure_nasC

Configure LTE NAS parameters (MCC, MNC)

cmw_lte_configure_bearerB

Configure default EPS bearer (APN and IP version)

cmw_lte_configure_cdrxB

Configure Connected DRX (C-DRX) enable/disable

cmw_lte_get_ue_infoC

Get UE (User Equipment) information including connection state

cmw_lte_meas_configureC

Configure LTE multi-evaluation measurement (subframe count, repetition)

cmw_lte_meas_triggerC

Trigger LTE multi-evaluation measurement

cmw_lte_meas_fetch_powerC

Fetch LTE TX power measurement results

cmw_lte_meas_fetch_evmC

Fetch LTE EVM (Error Vector Magnitude) measurement results

cmw_lte_meas_fetch_aclrC

Fetch LTE ACLR (Adjacent Channel Leakage Ratio) measurement results

cmw_lte_meas_fetch_semC

Fetch LTE SEM (Spectrum Emission Mask) measurement results

cmw_lte_meas_fetch_frequency_errorC

Fetch LTE frequency error measurement results

cmw_lte_meas_fetch_allB

Fetch all LTE measurement results (power, EVM, ACLR, SEM)

cmw_scpi_sendA

Send raw SCPI command to CMW500 (no response)

cmw_scpi_queryC

Send SCPI query and return response

cmw_resetC

Reset CMW500 to default state (*RST)

cmw_presetD

Full system preset of CMW500

cmw_save_stateB

Save current CMW500 state to file

cmw_load_stateB

Load and restore CMW500 state from file

cmw_get_full_stateC

Get current CMW500 full configuration state

cmw_list_templatesA

List available measurement templates

cmw_load_templateA

Load a measurement template by name, optionally one of its named presets. Call cmw_list_templates to see each template's presets and its valid parameter names.

cmw_apply_templateC

Apply currently loaded template to CMW500

cmw_wlan_configureC

Configure WLAN non-signaling measurement (standard, BW, freq, power)

cmw_wlan_set_standardB

Set WLAN 802.11 standard (A/B/G/N/AC/AX)

cmw_wlan_set_bandwidthB

Set WLAN channel bandwidth (20/40/80/160 MHz)

cmw_wlan_set_frequencyB

Set WLAN measurement frequency in Hz

cmw_wlan_set_expected_powerB

Set WLAN expected input power in dBm

cmw_wlan_triggerC

Trigger WLAN multi-evaluation measurement

cmw_wlan_fetch_powerC

Fetch WLAN TX power measurement results

cmw_wlan_fetch_evmC

Fetch WLAN EVM (Error Vector Magnitude) measurement results

cmw_wlan_fetch_spectrum_flatnessC

Fetch WLAN spectrum flatness measurement results

cmw_wlan_fetch_frequency_errorC

Fetch WLAN frequency error measurement results

cmw_wlan_fetch_allA

Fetch all WLAN results (power, EVM, spectrum flatness, freq error)

cmw_wlan_set_triggerA

Set the WLAN measurement trigger source. The instrument defaults to 'IF Power', which waits for the input to cross a threshold and will time out on infrequent bursts such as a beacon. Use 'Free Run' to sample continuously, or 'IF Power' to catch the burst itself. Call cmw_wlan_trigger_catalog for the sources this instrument supports.

cmw_wlan_trigger_catalogA

List the WLAN trigger sources this instrument supports

cmw_wlan_set_repetitionA

Set WLAN repetition to SINGleshot or CONTinuous. The application defaults to CONTinuous, in which it never reports a finished state, so a synchronised measurement requires SINGleshot.

cmw_wlan_abortA

Stop a running WLAN measurement and release its RF converter. A measurement left in RDY still owns its converter, which causes a resource conflict for the next application that needs it.

Prompts

Interactive templates invoked by user choice

NameDescription

No prompts

Resources

Contextual data attached and managed by the client

NameDescription

No resources

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/RFingAdam/mcp-rs-cmw500'

If you have feedback or need assistance with the MCP directory API, please join our Discord server