copper-mountain-vna-mcp
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| VNA_MAX_POINTS | No | Maximum sweep points | 10001 |
| VNA_DEFAULT_HOST | No | VNA software host IP | 127.0.0.1 |
| VNA_DEFAULT_PORT | No | Socket server port | 5025 |
| VNA_MAX_POWER_DBM | No | Max output power | 10 |
| VNA_MIN_POWER_DBM | No | Min output power | -55 |
| VNA_COMMAND_TIMEOUT | No | SCPI command timeout (s) | 30.0 |
| VNA_MAX_FREQUENCY_HZ | No | Upper sweep bound | 20e9 |
| VNA_CONNECTION_TIMEOUT | No | TCP connection timeout (s) | 5.0 |
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
} |
| experimental | {} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| vna_discoverB | Scan ports 5025-5035 for running VNA instances |
| vna_launchB | Launch VNA software with socket server enabled (Windows only) |
| vna_connectB | Connect to VNA at specified host:port |
| vna_disconnectB | Disconnect from VNA |
| vna_identifyB | Get VNA identification (*IDN?): manufacturer, model, serial, firmware |
| vna_get_statusC | Get VNA connection and configuration status |
| vna_configure_sweepC | Configure sweep parameters: frequency range, points, IF BW, power |
| vna_set_center_spanC | Configure frequency via center and span |
| vna_set_averagingC | Configure sweep averaging |
| vna_set_port_powerC | Set power level per port |
| vna_output_onC | Enable RF output |
| vna_output_offC | Disable RF output (safe state) |
| vna_trigger_sweepB | Trigger single sweep and wait for completion |
| vna_get_s_parameterC | Get S-parameter data (frequencies, magnitude, phase) |
| vna_measure_return_lossA | Measure return loss (S11) at specific frequency |
| vna_measure_vswrC | Measure VSWR at specific frequency |
| vna_measure_insertion_lossC | Measure insertion loss (S21) at specific frequency |
| vna_set_markerC | Position marker at frequency |
| vna_get_markerB | Get marker value (frequency, magnitude, phase) |
| vna_marker_search_minC | Search for minimum value in sweep |
| vna_marker_search_maxC | Search for maximum value in sweep |
| vna_marker_bandwidthB | Find -3dB (or specified) bandwidth around peak |
| vna_calibration_statusC | Get calibration validity status |
| vna_calibration_startA | Start calibration procedure. Automatically disables port extension on all ports before starting (port extension during calibration causes incorrect coefficients). Returns port_extension_was_disabled: true if any ports had extension enabled. |
| vna_calibration_measure_standardB | Measure calibration standard (OPEN/SHORT/LOAD/THRU) |
| vna_calibration_applyC | Apply calibration (calculate and save coefficients) |
| vna_correction_onC | Enable error correction |
| vna_correction_offB | Disable error correction |
| vna_get_port_extensionB | Get port extension settings (delay and loss compensation) |
| vna_set_port_extensionA | Set port extension to compensate for cables/fixtures (delay and/or loss) |
| vna_clear_port_extensionC | Clear/disable port extension for specified port |
| vna_save_touchstoneB | Export S-parameter data to Touchstone file (.s1p/.s2p/.s4p) |
| vna_save_screenshotB | Save VNA display screenshot |
| vna_software_hideC | Hide VNA software UI |
| vna_software_showC | Show VNA software UI |
| vna_scpi_sendA | Send raw SCPI command (no response) |
| vna_scpi_queryC | Send SCPI query and return response |
| vna_resetB | Reset VNA to default state (*RST) |
| vna_presetC | Preset VNA (SYST:PRES) |
| vna_list_templatesA | List available measurement template presets |
| vna_load_templateC | Load measurement template (preset name or file path) |
| vna_apply_templateC | Apply loaded template configuration to VNA |
| vna_save_stateB | Save current VNA configuration to file |
| vna_load_stateC | Load and restore VNA configuration from file |
| vna_get_full_stateC | Get complete VNA configuration state as JSON |
| vna_define_limitC | Define pass/fail limit for measurements |
| vna_check_limitsC | Check measurement against defined limits |
| vna_clear_limitsA | Clear all defined limits |
| vna_list_limitsB | List all defined limits |
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 49 tools
Most tools target distinct operations (e.g., measure_return_loss vs. get_s_parameter, save_touchstone vs. save_state). A few pairs like reset/preset and configure_sweep/set_center_span have overlapping scope, but descriptions clarify their specific purposes.
All tools share the vna_ prefix and use consistent snake_case. Verbs like get_, set_, measure_, save_, and load_ follow a predictable pattern, with minor exceptions (output_on, calibration_start) that are still clear and consistent.
The server exposes 49 tools, which is well beyond the typical well-scoped range. While the VNA domain is complex, many tools could be consolidated (e.g., a single measure tool with parameters), making the surface feel excessive and harder to navigate.
The tool set covers the full VNA workflow: connection, configuration, measurement, calibration, marker analysis, state/template management, limit testing, and raw SCPI access. The inclusion of scpi_send/scpi_query provides a fallback for any missing functionality.