Ryan Malloy 388a6d3ead Visual polish: warm RF aesthetic + real VNA screenshots
Landing page enhancements:
- Screenshot gallery showing Smith chart, SWR, LC match, multi-trace
- Hardware section with NanoVNA-H photo
- Example prompts section

Theme changes:
- Warm RF Lab Bench aesthetic (copper/amber accents, warm grays)
- Unified visual family with nanovna-h-docs
- Steel blue for code links
- Spec cards and menu path styling

Assets:
- 9 NanoVNA display screenshots from nanovna-h-docs
- 2 hardware photos (NanoVNA-H device + PCB)
2026-02-05 11:36:36 -07:00

180 lines
5.1 KiB
Plaintext

---
title: mcnanovna
description: MCP servers for NanoVNA control and antenna positioner automation
template: splash
hero:
tagline: Give your AI direct control of RF test equipment
image:
file: ../../assets/hero.svg
actions:
- text: Get Started
link: /getting-started/quickstart/
icon: right-arrow
- text: View on Gitea
link: https://git.supported.systems/rf/mcnanovna
icon: external
variant: minimal
---
import { Card, CardGrid, Tabs, TabItem } from '@astrojs/starlight/components';
import { Image } from 'astro:assets';
import smithChart from '../../assets/screenshots/smith-chart.png';
import swrTrace from '../../assets/screenshots/swr-trace.png';
import lcMatch from '../../assets/screenshots/measure-lc-match.png';
import multiTrace from '../../assets/screenshots/multi-trace.png';
import nanoVNA from '../../assets/hardware/NanoVNA-H-2.jpg';
## What is this?
Two MCP servers that let AI assistants control RF test equipment:
<CardGrid stagger>
<Card title="mcnanovna" icon="document">
Controls NanoVNA-H vector network analyzers over USB serial.
78 tools for sweeps, calibration, analysis, and 3D radiation patterns.
</Card>
<Card title="mcpositioner" icon="setting">
Controls ESP32 dual-axis antenna positioners over WiFi.
5 tools for stepper motor positioning and automated measurement grids.
</Card>
<Card title="Cross-Server Workflows" icon="rocket">
Both servers work together for automated 3D antenna pattern measurement.
The AI orchestrates positioning and VNA measurements across the grid.
</Card>
<Card title="Web UI" icon="laptop">
Optional Three.js 3D viewer for radiation patterns.
Real-time visualization as measurements are taken.
</Card>
</CardGrid>
## What Can It Do?
Your AI assistant gains direct access to professional RF measurement capabilities:
<div class="screenshot-gallery">
<figure>
<Image src={smithChart} alt="Smith chart display showing impedance plot" width={320} />
<figcaption>Impedance analysis on Smith chart</figcaption>
</figure>
<figure>
<Image src={swrTrace} alt="SWR measurement trace" width={320} />
<figcaption>SWR sweep across frequency</figcaption>
</figure>
<figure>
<Image src={lcMatch} alt="LC matching network calculation" width={320} />
<figcaption>Automatic LC match calculation</figcaption>
</figure>
<figure>
<Image src={multiTrace} alt="Multiple trace display" width={320} />
<figcaption>Multi-trace S-parameter display</figcaption>
</figure>
</div>
## Quick Install
```bash
# Add both servers to Claude Code
claude mcp add mcnanovna -- uvx mcnanovna
claude mcp add mcpositioner -- uvx mcpositioner
```
Then ask Claude to analyze your antenna, measure a filter, or run a 3D pattern sweep.
## Hardware
<div class="hardware-section">
<div class="hardware-text">
<h3>NanoVNA-H</h3>
<p>The NanoVNA-H (or H4) connects via USB serial and is auto-detected. No drivers needed on Linux — just plug in and go.</p>
<h3>ESP32 Positioner</h3>
<p>Optional dual-axis antenna positioner for automated 3D pattern measurement:</p>
<ul>
<li>2x NEMA 17 steppers + TMC2209 drivers</li>
<li>StallGuard sensorless homing</li>
<li>WiFi HTTP API for remote control</li>
<li>Firmware and KiCad schematics included</li>
</ul>
</div>
<figure class="hardware-image">
<Image src={nanoVNA} alt="NanoVNA-H vector network analyzer" width={400} />
<figcaption>NanoVNA-H — 50kHz to 1.5GHz VNA</figcaption>
</figure>
</div>
## Example Prompts
Once installed, try asking your AI:
- *"Connect to my NanoVNA and sweep 7.0-7.3 MHz to check my 40m dipole"*
- *"Measure the insertion loss of this BPF from 144-148 MHz"*
- *"What's the impedance at the resonant frequency? Suggest an LC match."*
- *"Run a 3D radiation pattern sweep at 15° resolution"*
- *"Export the S11 data as a Touchstone file"*
<style>{`
.screenshot-gallery {
display: grid;
grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
gap: 1.5rem;
margin: 2rem 0;
}
.screenshot-gallery figure {
margin: 0;
text-align: center;
}
.screenshot-gallery img {
border-radius: 8px;
border: 1px solid var(--sl-color-gray-5);
box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15);
transition: transform 0.2s ease;
}
.screenshot-gallery img:hover {
transform: scale(1.02);
}
.screenshot-gallery figcaption {
margin-top: 0.5rem;
font-size: 0.9rem;
color: var(--sl-color-gray-2);
}
.hardware-section {
display: grid;
grid-template-columns: 1fr 1fr;
gap: 2rem;
align-items: start;
margin: 1.5rem 0;
}
@media (max-width: 768px) {
.hardware-section {
grid-template-columns: 1fr;
}
}
.hardware-section h3 {
margin-top: 0;
color: var(--sl-color-accent-high);
}
.hardware-image {
margin: 0;
text-align: center;
}
.hardware-image img {
border-radius: 8px;
box-shadow: 0 4px 16px rgba(0, 0, 0, 0.2);
}
.hardware-image figcaption {
margin-top: 0.75rem;
font-size: 0.9rem;
color: var(--sl-color-gray-2);
}
`}</style>