--- title: Installation description: Detailed installation options for mcnanovna and mcpositioner --- import { Tabs, TabItem, Aside } from '@astrojs/starlight/components'; ## mcnanovna ### From PyPI (Recommended) For Claude Code: ```bash claude mcp add mcnanovna -- uvx mcnanovna ``` For other MCP clients, configure `uvx mcnanovna` as a server. ```bash # Run directly with uvx uvx mcnanovna # Or install globally pipx install mcnanovna mcnanovna ``` ### From Source ```bash git clone https://git.supported.systems/rf/mcnanovna.git cd mcnanovna uv sync uv run mcnanovna ``` ### With Web UI The optional 3D radiation pattern viewer requires additional dependencies: ```bash # From source uv sync --extra webui MCNANOVNA_WEB_PORT=8080 uv run mcnanovna # Open http://localhost:8080 in your browser ``` ## mcpositioner ### From PyPI For Claude Code: ```bash claude mcp add mcpositioner -- uvx mcpositioner ``` For other MCP clients, configure `uvx mcpositioner` as a server. ```bash uvx mcpositioner ``` ### From Source ```bash git clone https://git.supported.systems/rf/mcpositioner.git cd mcpositioner uv sync uv run mcpositioner ``` ## Environment Variables ### mcnanovna | Variable | Default | Description | |----------|---------|-------------| | `MCNANOVNA_WEB_PORT` | (disabled) | Port for 3D pattern web UI | ### mcpositioner | Variable | Default | Description | |----------|---------|-------------| | `MCPOSITIONER_HOST` | `positioner.local` | ESP32 hostname or IP | ## Both Servers Together For automated 3D antenna pattern measurement, add both servers to your MCP client: ```bash # Claude Code example claude mcp add mcnanovna -- uvx mcnanovna claude mcp add mcpositioner -- uvx mcpositioner ``` Then use the `measure_antenna_range` prompt to run automated pattern sweeps.