Connects your AI assistant to the Parks on the Air API for live amateur radio activation data. You get eight tools covering current activator spots with optional filters, park lookups by reference code, activator and hunter stats by callsign, scheduled activations, and location-based park searches including a nearby finder for planning multi-park outings. No authentication needed since POTA's endpoints are public. Includes a mock mode for testing without network calls. Part of the qso-graph project. Useful if you're coordinating POTA operations, tracking propagation patterns, or just want to ask "who's activating parks on 20 meters right now" without opening a browser.
MCP server for Parks on the Air (POTA) — live activator spots, park info, activator/hunter stats, and scheduled activations through any MCP-compatible AI assistant.
Part of the qso-graph project. No authentication required — all POTA endpoints are public.
pip install pota-mcp
| Tool | Description |
|---|---|
pota_spots | Current activator spots with park/grid enrichment and optional filters |
pota_park_info | Park details by reference code (name, grid, type, agencies, website) |
pota_park_stats | Activation and QSO counts for a park |
pota_user_stats | Activator/hunter stats by callsign |
pota_scheduled | Upcoming scheduled activations |
pota_location_parks | All parks in a state/province/country |
pota_nearby_parks | Find parks near a point — great for 2-fer planning |
get_version_info | Service version + upstream spec version (fleet identity attestation) |
No credentials needed — just install and configure your MCP client.
pota-mcp works with any MCP-compatible client. Add the server config and restart — tools appear automatically.
Add to claude_desktop_config.json (~/Library/Application Support/Claude/ on macOS, %APPDATA%\Claude\ on Windows):
{
"mcpServers": {
"pota": {
"command": "pota-mcp"
}
}
}
Add to .claude/settings.json:
{
"mcpServers": {
"pota": {
"command": "pota-mcp"
}
}
}
{
"mcpServers": {
"pota": {
"command": "pota-mcp"
}
}
}
Add to .cursor/mcp.json (project-level) or ~/.cursor/mcp.json (global):
{
"mcpServers": {
"pota": {
"command": "pota-mcp"
}
}
}
Add to .vscode/mcp.json in your workspace:
{
"servers": {
"pota": {
"command": "pota-mcp"
}
}
}
Add to ~/.gemini/settings.json (global) or .gemini/settings.json (project):
{
"mcpServers": {
"pota": {
"command": "pota-mcp"
}
}
}
"What POTA activations are happening right now?"
"Tell me about park US-0001 — how many activations has it had?"
"What are K4SWL's POTA stats?"
"Show me all parks in Idaho"
"Are there any CW activators on 20m right now?"
"What activations are scheduled for tomorrow?"
For testing all tools without hitting the POTA API:
POTA_MCP_MOCK=1 pota-mcp
pota-mcp --transport streamable-http --port 8006
Then open the MCP Inspector at http://localhost:8006.
git clone https://github.com/qso-graph/pota-mcp.git
cd pota-mcp
pip install -e .
GPL-3.0-or-later