---
title: Tool Reference
description: All 78 mcnanovna MCP tools
---

import { Tabs, TabItem } from '@astrojs/starlight/components';

## Measurement Tools

| Tool | Description |
|------|-------------|
| `info` | Get device info (firmware, serial, frequency range) |
| `sweep` | Set sweep range (start, stop, points) |
| `scan` | Run measurement scan, return S-parameter data |
| `data` | Get current trace data without new measurement |
| `frequencies` | Get frequency list for current sweep |
| `marker` | Set/read marker position and values |
| `cal` | Run calibration step (open, short, load, thru, isoln, done) |
| `save` | Save calibration to flash slot |
| `recall` | Recall calibration from flash slot |
| `pause` | Pause continuous sweep |
| `resume` | Resume continuous sweep |

## Configuration Tools

| Tool | Description |
|------|-------------|
| `power` | Set/get output power level |
| `bandwidth` | Set/get IF bandwidth |
| `edelay` | Set/get electrical delay compensation |
| `s21offset` | Set/get S21 offset correction |
| `vbat` | Read battery voltage |
| `capture` | Capture LCD screenshot (PNG) |
| `measure` | Set measurement mode |
| `config` | Get full device configuration |
| `saveconfig` | Save configuration to flash |
| `clearconfig` | Reset configuration to defaults |
| `color` | Set/get display colors |
| `freq` | Set single frequency (CW mode) |
| `tcxo` | Set/get TCXO calibration |
| `vbat_offset` | Set/get battery voltage offset |
| `threshold` | Set/get measurement thresholds |

## Display Tools

| Tool | Description |
|------|-------------|
| `trace` | Configure trace display settings |
| `transform` | Enable/configure time domain transform |
| `smooth` | Set trace smoothing |
| `touchcal` | Run touchscreen calibration |
| `touchtest` | Test touchscreen |
| `refresh` | Force display refresh |
| `touch` | Simulate touch press |
| `release` | Simulate touch release |

## Device Tools

| Tool | Description |
|------|-------------|
| `reset` | Reset device |
| `version` | Get firmware version |
| `detect` | Detect and connect to VNA |
| `disconnect` | Close serial connection |
| `raw_command` | Send raw command to device |
| `cw` | Set continuous wave output |
| `sd_list` | List SD card files |
| `sd_read` | Read file from SD card |
| `sd_delete` | Delete file from SD card |
| `time` | Get/set device time |

## Diagnostics Tools

| Tool | Description |
|------|-------------|
| `i2c` | I2C bus diagnostics |
| `si` | Si5351 clock chip status |
| `lcd` | LCD controller info |
| `threads` | FreeRTOS thread status |
| `stat` | System statistics |
| `sample` | Raw ADC samples |
| `test` | Run self-test |
| `gain` | Set/get receiver gain |
| `dump` | Memory dump |
| `port` | Port configuration |
| `offset` | Calibration offsets |
| `dac` | DAC control |
| `usart_cfg` | USART configuration |
| `usart` | USART I/O |
| `band` | Band settings |

## Analysis Tools

| Tool | Description |
|------|-------------|
| `analyze` | Full scan analysis (SWR, Z, return loss) |
| `export_touchstone` | Export to .s1p/.s2p format |
| `export_csv` | Export to CSV format |
| `analyze_filter` | Characterize filter response |
| `analyze_xtal` | Extract crystal parameters |
| `analyze_tdr` | Time domain reflectometry |
| `analyze_component` | Identify unknown L/C/R |
| `analyze_lc_series` | Measure series LC resonator |
| `analyze_lc_shunt` | Measure shunt LC resonator |
| `analyze_lc_match` | Design L-network matching |
| `analyze_s11_resonance` | Find S11 resonance points |

## Radiation Pattern Tools

| Tool | Description |
|------|-------------|
| `radiation_pattern` | Generate 3D pattern from S11 scan |
| `radiation_pattern_from_data` | Generate pattern from known impedance |
| `radiation_pattern_multi` | Multi-frequency pattern comparison |

## Pattern Import Tools

| Tool | Description |
|------|-------------|
| `import_pattern_csv` | Import from CSV file |
| `import_pattern_emcar` | Import from EMCAR vna.dat |
| `import_pattern_nec2` | Import from NEC2 output |
| `import_pattern_s1p` | Import from Touchstone S1P |
| `list_pattern_formats` | List supported import formats |

## Example Usage

<Tabs>
  <TabItem label="Basic Scan">
    ```
    User: Scan my antenna from 144 to 148 MHz with 201 points

    Claude uses: sweep(144000000, 148000000, 201)
    Claude uses: scan(s11=true)
    Claude uses: analyze()
    ```
  </TabItem>
  <TabItem label="Filter Analysis">
    ```
    User: Analyze this bandpass filter from 1 to 500 MHz

    Claude uses: sweep(1000000, 500000000, 201)
    Claude uses: analyze_filter()
    ```
  </TabItem>
  <TabItem label="Calibration">
    ```
    User: Calibrate for the 2m band

    Claude uses: sweep(144000000, 148000000, 101)
    Claude uses: cal("load")   # user connects load
    Claude uses: cal("open")   # user connects open
    Claude uses: cal("short")  # user connects short
    Claude uses: cal("thru")   # user connects through
    Claude uses: cal("done")
    Claude uses: save(0)
    ```
  </TabItem>
</Tabs>
