First public, station-agnostic release of the PR-DIGI MCP server — operate
packet-radio digipeater nodes ((X)Net, PC/Flexnet, BPQ32/LinBPQ) from Claude
and other MCP clients.
Highlights
- Config-driven — node inventory in
nodes.yaml; no station baked in. - Connect with or without an SSH jump host — set
ssh_hostto tunnel telnet
over SSH, or omit it to connect directly (LAN / HAMNET / AMPRNet / Internet). - Node types:
xnet,bpq/linbpq(withPASSWORDsysop elevation),
xnet_chained(AX.25C <call>via a transit node). - Cross-platform credentials via the OS keyring (+ gitignored YAML fallback).
- Safety gate: state-changing commands refuse to run without an explicit
confirmation the model may set only after human approval.
Quality
- CI (ruff + mypy + pytest) green on Python 3.10–3.13.
- 139 tests incl. an in-process mock-transport integration suite (login → SYS/
PASSWORD challenge → command → disconnect) that needs no hardware.
Getting started
See the README (install + quickstart) and docs/mcp-clients.md (Claude Desktop /
Claude Code config). Licensed MIT.
Developed for the IW2OHX station (reference deployment) and generalized for anyone.