Skip to content

QSO-Graph

MCP servers connecting AI assistants to ham radio services.

Ask your AI assistant to look up a callsign, check your LoTW confirmations, find POTA spots, or get a band-by-band propagation forecast — all through natural language.


14 Packages

Foundation

Package Tools What It Does
qso-graph-auth OS keyring credential management, persona CRUD, provider management
adif-mcp 8 ADIF 3.1.6 spec engine, validation, parsing, geospatial

Logbook Services (Authenticated)

Package Tools Auth What It Does
eqsl-mcp 5 Persona eQSL inbox, QSO verification, AG status, download
qrz-mcp 5 Persona + API key Callsign lookup, DXCC, logbook access, download
lotw-mcp 5 Persona LoTW confirmations, QSOs, DXCC credits, download
hamqth-mcp 7 Persona Callsign lookup, DXCC, bio, activity, DX spots, RBN, QSO verify

Public Services (No Auth Required)

Package Tools What It Does
pota-mcp 7 Live spots, park info, stats, schedules, nearby parks
sota-mcp 4 Spots, alerts, summit info, nearby search
iota-mcp 6 Group lookup, island search, DXCC mapping, nearby
solar-mcp 6 SFI, Kp, solar wind, X-ray, band outlook
wspr-mcp 8 Beacon spots, band activity, top beacons/spotters, propagation, SNR trends

Infrastructure

Package What It Does
qsp-mcp QSP — relay MCP tools to any local LLM (llama.cpp, Ollama, vLLM, SGLang)
llm-stack Docker Compose — Open WebUI + llama.cpp + MCP tools in a browser

Quick Install

# Foundation (credential management + ADIF validation)
pip install qso-graph-auth adif-mcp

# Logbook services (authenticated)
pip install eqsl-mcp qrz-mcp lotw-mcp hamqth-mcp

# Public services (no credentials needed)
pip install pota-mcp sota-mcp iota-mcp solar-mcp wspr-mcp

# Tool relay — use all MCP tools with a local LLM (no cloud needed)
pip install qsp-mcp

See Getting Started for MCP client configuration.


How It Works

QSO-Graph packages are MCP servers — they run locally on your machine and expose ham radio services as tools that AI assistants can call. Your credentials stay in your OS keyring and never leave your machine.

You: "Do I have any new LoTW confirmations this week?"
AI Assistant (Claude, ChatGPT, Cursor, etc.)
  ▼ calls lotw_confirmations(persona="ki7mt", since="2026-03-01")
lotw-mcp (local process)
  ▼ HTTPS request to lotw.arrl.org (credentials from OS keyring)
LoTW API
  ▼ ADIF response
You: "You have 3 new confirmations: JA1ABC on 20m FT8, ..."

Security First

All QSO-Graph servers follow a security framework with 10 non-negotiable guarantees:

  • Credentials stored in OS keyring only — never in config files
  • Credentials never appear in logs, tool results, or error messages
  • No command injection surface — no subprocess, no shell=True
  • All external connections HTTPS only
  • Rate limiting to prevent account bans
  • Input validation on all user-provided strings
  • Security audit before every PyPI release

Live Demo

See QSO-Graph tools in action — no install required:

:material-open-in-new: Launch Demo

Dashboard, physics lab, DXCC progress, path analyzer, and log viewer — all powered by pre-computed MCP tool output from 49,233 real QSOs.