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.
View the live demo → · Documentation →
Your credentials never leave the OS keyring. Every qso-graph server enforces 10 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 | Tools | Status |
|---|---|---|---|
| adif-mcp | ADIF 3.1.6 spec engine, validation, persona management, keyring credentials | 8 tools: parse, validate, search/list enumerations, distance, heading, version | PyPI v0.9.6 |
| Package | Service | Tools | Status |
|---|---|---|---|
| eqsl-mcp | eQSL.cc | 4 tools: inbox download, QSO verification, AG status, last upload | PyPI v0.2.0 |
| lotw-mcp | LoTW | 4 tools: confirmations, QSO query, DXCC credits, user activity | PyPI v0.2.0 |
| qrz-mcp | QRZ.com | 4 tools: callsign lookup, DXCC resolution, logbook status, logbook fetch | PyPI v0.2.1 |
| hamqth-mcp | HamQTH | 7 tools: lookup, DXCC, bio, activity, DX spots, RBN, verify QSO | PyPI v0.2.0 |
| Package | Service | Tools | Status |
|---|---|---|---|
| pota-mcp | POTA | 6 tools: live spots, park info, stats, schedules, location search, activator | PyPI v0.1.1 |
| sota-mcp | SOTA | 5 tools: spots, alerts, summit info, nearby search, activator stats | PyPI v0.1.1 |
| iota-mcp | IOTA | 6 tools: group lookup, island search, DXCC mapping, nearby, stats | PyPI v0.1.0 |
| solar-mcp | NOAA SWPC | 6 tools: SFI, Kp, solar wind, X-ray flux, band outlook, alerts | PyPI v0.1.1 |
| wspr-mcp | WSPR | 5 tools: beacon spots, band activity, propagation paths, TX power | PyPI v0.1.1 |
| Package | Purpose | Status |
|---|---|---|
| qso-graph-manager | Desktop GUI for managing personas and credentials (Wails/Go/Svelte) | Pre-release |
# Install a server
pip install eqsl-mcp
# Set up credentials (via adif-mcp)
pip install adif-mcp
adif-mcp persona create ki7mt --callsign KI7MT
adif-mcp persona provider ki7mt eqsl --username KI7MT
adif-mcp persona secret ki7mt eqsl
# Add to Claude Desktop config and restartEach server works with any MCP client: Claude Desktop, Claude Code, ChatGPT, Cursor, VS Code / GitHub Copilot, and Gemini CLI. See individual package READMEs for configuration.
adif-mcp (foundation) MCP Servers (qso-graph)
├── PersonaManager ──> eqsl-mcp, qrz-mcp, lotw-mcp, hamqth-mcp
├── Keyring credentials Each server = 1 pip install
└── ADIF spec tools Each server = 4-8 MCP tools
- adif-mcp handles identity and credentials once — all servers share it
- Each server is a standalone
pip installwith a single CLI entry point - Two public tools per server where possible (no auth needed to try it)
- Python (FastMCP) now, Go single-binary ports planned for production
| 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