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

Infrastructure

Package Purpose Status
qsp-mcp QSP — relay MCP tools to any local LLM (llama.cpp, Ollama, vLLM, SGLang) PyPI v0.1.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 — or use qsp-mcp to relay tools to any local LLM.

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)

qsp-mcp (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

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 20 repositories

Top languages

Loading…

Most used topics

Loading…