Skip to content
@qso-graph

QSO-Graph

Open-source MCP servers for amateur radio — eQSL, QRZ, Club Log, LoTW, and more

QSO-Graph — MCP Servers for Amateur Radio

Live Demo Docs

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.

12 packages · 71 tools · one install command.

View the live demo → · Documentation →

Install

curl -sL https://qso-graph.io/install.sh | bash

Creates ~/.qso-graph/ with an isolated Python environment, installs the base MCP servers (6 servers, 38 tools), 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 install directly via pip:

pip install qso-graph-config                    # Base — 6 servers, 38 tools
pip install "qso-graph-config[auth]"            # + 4 logbook servers (22 tools)
pip install "qso-graph-config[ionis]"           # + ionis-mcp propagation (11 tools)
pip install "qso-graph-config[full]"            # Everything — 12 packages, 71 tools

Security — Our #1 Priority

Your 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, no shell=True, no eval
  • 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

Packages

Installer

Package Purpose Status
qso-graph-config Installer and manager — TUI, upgrades, config generation, dataset downloads PyPI v0.1.0

Foundation

Package Purpose Status
adif-mcp ADIF 3.1.6 spec parsing, validation, enumerations (8 tools) PyPI v1.0.0
qso-graph-auth Persona management, OS keyring credentials, qso-auth CLI PyPI v0.1.0

Logbook Services (Authenticated)

Package Service Tools Status
eqsl-mcp eQSL.cc 5 tools: inbox, verify, AG status, download, last upload PyPI v0.3.0
lotw-mcp LoTW 5 tools: confirmations, QSOs, DXCC credits, download, user activity PyPI v0.3.0
qrz-mcp QRZ.com 5 tools: lookup, DXCC, logbook status, download, logbook fetch PyPI v0.3.0
hamqth-mcp HamQTH 7 tools: lookup, DXCC, bio, activity, DX spots, RBN, verify QSO PyPI v0.3.0

Public Services (No Auth Required)

Package Service Tools Status
pota-mcp POTA 6 tools: spots, park info, stats, schedules, location, activator PyPI v0.1.1
sota-mcp SOTA 4 tools: spots, alerts, summit info, nearby summits PyPI v0.1.4
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.2.0
wspr-mcp WSPR 8 tools: spots, band activity, top beacons/spotters, propagation, grid, SNR PyPI v0.2.0

Desktop

Package Purpose Status
qso-graph-manager Desktop GUI for managing personas and credentials (Wails/Go/Svelte) Pre-release

Quick Start

# One-line install (Linux / macOS)
curl -sL https://qso-graph.io/install.sh | bash

# Launch the config manager
qso-graph-config

# Or install a single server directly
pip install solar-mcp

Each server works with any MCP client: Claude Desktop, Claude Code, ChatGPT, Cursor, VS Code / GitHub Copilot, Windsurf, Gemini CLI, Goose, and Codex CLI.

Architecture

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 pip install
 └── 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)

Related Projects

Project Description
ionis-mcp HF propagation analytics from 175M+ signatures (14B observations)
ionis-jupyter Jupyter notebooks for propagation research

Reporting Security Issues

Do NOT open public GitHub issues for security vulnerabilities. Email: ki7mt@yahoo.com with subject [SECURITY] qso-graph vulnerability report.

License

GPL-3.0-or-later

Popular repositories Loading

  1. adif-mcp adif-mcp Public

    ADIF MCP server — AI-agent access to Amateur Radio logging per ADIF 3.1.6

    Python 2

  2. eqsl-mcp eqsl-mcp Public

    MCP server for eQSL.cc — inbox, verification, AG status

    Python

  3. .github .github Public

    Organization profile

  4. qrz-mcp qrz-mcp Public

    MCP server for QRZ.com — callsign lookup, DXCC resolution, logbook queries

    Python

  5. sota-mcp sota-mcp Public

    MCP server for Summits on the Air — summit lookup, spots, alerts, nearby summits

    Python

  6. solar-mcp solar-mcp Public

    MCP server for solar indices and space weather — SFI, SSN, Kp, DSCOVR, alerts

    Python

Repositories

Showing 10 of 17 repositories
  • qso-graph-config Public

    Installer and manager for QSO-Graph ham radio MCP servers — 12 packages, 71 tools, one command

    qso-graph/qso-graph-config’s past year of commit activity
    Shell 0 GPL-3.0 0 0 0 Updated Mar 8, 2026
  • iota-mcp Public

    MCP server for Islands on the Air — lookup, search, nearby, DXCC. Stats

    qso-graph/iota-mcp’s past year of commit activity
    Python 0 0 0 0 Updated Mar 8, 2026
  • wspr-mcp Public

    MCP server for WSPR beacon data analytics — band openings, path analysis, solar correlation

    qso-graph/wspr-mcp’s past year of commit activity
    Python 0 0 0 0 Updated Mar 8, 2026
  • solar-mcp Public

    MCP server for solar indices and space weather — SFI, SSN, Kp, DSCOVR, alerts

    qso-graph/solar-mcp’s past year of commit activity
    Python 0 0 0 0 Updated Mar 8, 2026
  • pota-mcp Public

    MCP server for Parks on the Air — park lookup, activator/hunter stats, spots

    qso-graph/pota-mcp’s past year of commit activity
    Python 0 0 0 0 Updated Mar 8, 2026
  • sota-mcp Public

    MCP server for Summits on the Air — summit lookup, spots, alerts, nearby summits

    qso-graph/sota-mcp’s past year of commit activity
    Python 0 0 0 0 Updated Mar 8, 2026
  • qso-graph-auth Public

    Persona and credential management for qso-graph MCP servers

    qso-graph/qso-graph-auth’s past year of commit activity
    Python 0 GPL-3.0 0 0 0 Updated Mar 8, 2026
  • hamqth-mcp Public

    MCP server for HamQTH.com — callsign lookup (free QRZ alternative)

    qso-graph/hamqth-mcp’s past year of commit activity
    Python 0 0 0 0 Updated Mar 8, 2026
  • lotw-mcp Public

    MCP server for ARRL Logbook of The World — QSO query, QSL status, DXCC credit

    qso-graph/lotw-mcp’s past year of commit activity
    Python 0 0 0 0 Updated Mar 8, 2026
  • qrz-mcp Public

    MCP server for QRZ.com — callsign lookup, DXCC resolution, logbook queries

    qso-graph/qrz-mcp’s past year of commit activity
    Python 0 0 0 0 Updated Mar 8, 2026

Top languages

Loading…

Most used topics

Loading…