Open-source Model Context Protocol servers that connect AI assistants to amateur radio services. Ask Claude, ChatGPT, Copilot, or Gemini about your QSOs, confirmations, and logbook data — no manual API wrangling required.
One install command. Every server, its tools and its current version: qso-graph.io.
View the live demo → · Documentation →
curl -sL https://qso-graph.io/install.sh | bashCreates ~/.qso-graph/ with an isolated Python environment, installs the
base MCP servers, and adds them to your PATH. Works
on Linux and macOS. No root required.
After install, run qso-graph-config to manage servers, credentials,
datasets, and MCP client configuration via an interactive TUI.
Advanced users can run any server directly with uv, nothing to install: uvx solar-mcp, and "command": "uvx", "args": ["solar-mcp"] in your MCP client. Or install the bundles with pip:
pip install qso-graph-config # Base servers
pip install "qso-graph-config[auth]" # + 4 logbook servers
pip install "qso-graph-config[ionis]" # + ionis-mcp propagation
pip install "qso-graph-config[full]" # EverythingYour credentials never leave the OS keyring. Every qso-graph server enforces non-negotiable security guarantees:
- Credentials stored in OS keyring only (macOS Keychain, Windows Credential Manager, Linux Secret Service) — never in config files, environment variables, or logs
- Credentials never appear in MCP tool results, error messages, or debug output — enforced by architecture, not policy
- No command injection surface — no
subprocess, noshell=True, noeval - All external connections HTTPS only
- Rate limiting on every API to prevent account bans
- Independent security audit required before every PyPI release
Full details: Security
| Package | Purpose | Status |
|---|---|---|
| qso-graph-config | Installer and manager — TUI, upgrades, config generation, dataset downloads |
| Package | Purpose | Status |
|---|---|---|
| adif-mcp | ADIF 3.1.7 spec parsing, validation, enumerations (8 tools) | |
| qso-graph-auth | Persona management, OS keyring credentials, qso-auth CLI |
| Package | Service | Tools | Status |
|---|---|---|---|
| eqsl-mcp | eQSL.cc | 6 tools: inbox, verify, AG status, download, last upload, version info | |
| lotw-mcp | LoTW | 6 tools: confirmations, QSOs, DXCC credits, download, user activity, version info | |
| qrz-mcp | QRZ.com | 6 tools: lookup, DXCC, logbook status, download, logbook fetch, version info | |
| hamqth-mcp | HamQTH | 8 tools: lookup, DXCC, bio, activity, DX spots, RBN, verify QSO, version info |
| Package | Service | Tools | Status |
|---|---|---|---|
| pota-mcp | POTA | 8 tools: spots, park info, stats, schedules, location, nearby, activator, version info | |
| sota-mcp | SOTA | 5 tools: spots, alerts, summit info, nearby summits, version info | |
| iota-mcp | IOTA | 7 tools: group lookup, island search, DXCC mapping, nearby, stats, version info | |
| solar-mcp | NOAA SWPC | 7 tools: SFI, Kp, solar wind, X-ray flux, band outlook, alerts, version info | |
| wspr-mcp | WSPR | 9 tools: spots, band activity, top beacons/spotters, propagation, grid, SNR, version info | |
| omiss-mcp | OMISS | 13 tools: net schedule, nets on the air, member lookup, check-in history, past net check-ins, Statehood, officers, awards, award rules, award recipients, net statistics, set callsign, version info |
| Package | Service | Tools | Status |
|---|---|---|---|
| n1mm-mcp | N1MM Logger+ | 9 tools: station state, lookup, contacts, bandmap, performance, multipliers, clock, diagnostics, version info | |
| netlogger-mcp | NetLogger | 6 tools: active nets, live check-ins and who's up, past nets, past check-ins, set callsign, version info |
| Package | Purpose | Status |
|---|---|---|
| qsp-client | QSP — an MCP client that relays tools to any local LLM (llama.cpp, Ollama, vLLM, SGLang). Formerly qsp-mcp |
# One-line install (Linux / macOS)
curl -sL https://qso-graph.io/install.sh | bash
# Launch the config manager
qso-graph-config
# Or run a single server directly with uv
uvx solar-mcpEach server works with any MCP client: Claude Desktop, Claude Code, ChatGPT, Cursor, VS Code / GitHub Copilot, Windsurf, Gemini CLI, Goose, and Codex CLI — or use qsp-client to relay tools to any local LLM.
install.sh (bootstrap) qso-graph-config (manager)
└── ~/.qso-graph/ ├── Install / upgrade servers
├── venv/ ├── Credential setup (qso-auth)
├── bin/ (PATH) ├── Dataset downloads (ionis-mcp)
└── etc/state.json └── MCP client config generation
qso-graph-auth (identity) MCP Servers (qso-graph)
├── PersonaManager ──> eqsl-mcp, qrz-mcp, lotw-mcp, hamqth-mcp
├── OS keyring credentials Each server = 1 uvx
└── qso-auth CLI Each server = 4-8 MCP tools
adif-mcp (ADIF spec) Public Servers
└── 8 spec tools ──> solar, pota, sota, iota, wspr (no auth)
qsp-client (tool relay) Local LLM Inference
└── Stateless pipe ──> llama.cpp, Ollama, vLLM, SGLang
MCP tools → OpenAI Any model with function calling
tools format Zero cloud dependency
| Demo | Description | Status |
|---|---|---|
| qso-graph-demo | QSO logbook analysis showcase (Next.js / Vercel) | Live Demo |
| dxpedition-demo | DXpedition propagation analysis — 3Y0K Bouvet Island (Next.js / Vercel) | Live Demo |
| Project | Description |
|---|---|
| ionis-mcp | HF propagation analytics from 175M+ signatures (14B observations) — |
| ionis-jupyter | Jupyter notebooks for propagation research |
Do NOT open public GitHub issues for security vulnerabilities. Email: ki7mt@yahoo.com with subject [SECURITY] qso-graph vulnerability report.
GPL-3.0-or-later