sdrpp-mcp
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 |
|---|---|
| sdr_statusA | Report SDR++ state: running, centre/VFO frequency, mode, source, gain, sample rate, whether rigctl and the IQ Exporter are reachable, and which decoders are installed. |
| sdr_launchA | Start SDR++ if it isn't running (autostart=True also starts the SDR source). |
| sdr_tuneB | Tune SDR++'s Radio VFO so the user hears the frequency. mode: FM (=NFM), WFM, AM, DSB, USB, LSB, CW, RAW. bandwidth_hz optional (e.g. 12500 NFM, 200000 WFM, 10000 AM, 2700 SSB). |
| sdr_powerA | Start (on=True) or stop the SDR source in SDR++ (the play/stop button). |
| spectrum_snapshotC | Capture the full SDR++ passband, detect signals (max-hold, so short bursts count) and
return a table plus a spectrum/waterfall image. Optionally retune to |
| band_sweepA | Sweep a frequency range wider than the SDR's bandwidth by retuning SDR++ in steps. Returns detected signals across the range plus a combined spectrum image. Note: this moves the user's SDR++ view; the original VFO frequency is restored afterwards. |
| identify_frequencyA | Band-plan lookup (US/FCC, ITU Region 2): which allocation a frequency falls in and which well-known channels/services are nearby. No radio access needed. |
| analyze_signalA | Measure a signal's characteristics to help identify it: occupied bandwidth, carrier, envelope constancy, FM deviation, FSK levels, symbol rate, burst timing, TDMA periodicity, CTCSS / audio tones (for FM/AM), stereo pilot/RDS (WFM). Returns heuristic modulation guesses, band-plan context and a zoomed waterfall image. If bandwidth_hz is omitted it is estimated. If SDR++ has to retune to reach the signal, the original VFO is restored afterwards, unless tune_vfo=True, which leaves the Radio VFO on the signal so the user can listen. |
| record_audioB | Demodulate a frequency from the live IQ stream and save a WAV (independent of SDR++'s own audio, so the user can keep listening elsewhere). mode: FM/NFM, WFM, AM, USB, LSB, CW. |
| record_iqB | Save channelised IQ around a frequency. fmt_: 'cu8' (rtl_433 / most tools, 8-bit unsigned) or 'cf32' (float32 complex). The output sample rate is chosen as exactly bandwidth_hz (250 kS/s default suits rtl_433). The filename carries freq and rate. |
| decodeA | Capture and decode digital transmissions. decoder:
|
| log_signalC | Save an identified (or mystery) signal to the logbook. confidence: confirmed/likely/guess. |
| search_logC | Search the logbook by text and/or frequency range. |
| delete_log_entryC | Delete a logbook entry by id. |
| export_bookmarksA | Write the logbook into SDR++'s Frequency Manager as a bookmark list (shown on the waterfall). SDR++ must be closed; a backup of the old bookmarks file is kept. |
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 15 tools
Each tool targets a clearly distinct aspect of SDR++ control or signal workflow: status, launch, tune, power, snapshot, sweep, identify, analyze, record audio/IQ, decode, and logbook CRUD. The descriptions explicitly delineate boundaries (e.g., passband snapshot vs. wideband sweep vs. single-signal analysis), so an agent can reliably select the right tool.
All names use snake_case, and the sdr_ prefix logically groups control tools. However, the verb/noun ordering is not uniform across the rest (e.g., identify_frequency, spectrum_snapshot, band_sweep, decode), which is a minor deviation from a predictable verb_noun pattern.
15 tools sit at the top of the ideal range and each covers a distinct, necessary capability for SDR++ remote control, signal analysis, recording, and logging. The set feels comprehensive without redundancy.
Core workflows—control, capture, analyze, record, decode, log—are well covered. Minor gaps include setting gain, sample rate, or input source, and no explicit log-entry update or list operation, though those can be worked around via search or manual SDR++ UI use.