Pota Mcp

io.github.qso-graphPublished by GitHub account qso-graphv0.7.1Updated Nov 3, 2026

Parks on the Air MCP server. Park lookup, activator and hunter stats, live spots.

Overview

AI-generated overview

Parks on the Air (POTA) server that lets an assistant look up parks, live activator spots, scheduled activations, and activator/hunter statistics.

What you can do
  • Look up live activator spots and upcoming scheduled activations, with optional filters
  • Read park details by reference code, plus activation and QSO counts and recent activations
  • Show park leaderboards and activator/hunter statistics for a callsign
  • List parks by state, province or country, find parks near a point, and surface rarely activated parks nearby
  • Report the service version and upstream POTA API spec version
When to use it
Useful for amateur radio operators and POTA hunters or activators who want an assistant to answer questions about parks, current spots, schedules, and callsign statistics, or to plan nearby activations and 2-fer candidates.
Requirements
Runs locally as a Python package (pota-mcp) launched with uvx; no credentials or environment variables are required. Network access to the public POTA API is needed for real data. A mock mode is available for offline testing.
Before you install
Read-only lookups against public POTA endpoints; no authentication, secrets or write actions are involved. Queries and callsigns are sent to the third-party POTA API.

Installation

In SourceWeft

  1. Open Pota Mcp in the dashboard and add it to a workspace.
  2. Enable the server for the chats that should use its tools.

Desktop only via STDIO. STDIO servers start a local process, so they need the SourceWeft desktop host.

Other MCP clients

Follow the launch instructions in the repository.

README

pota-mcp

[PyPI] [MCP Registry]

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.

Install

bash
uvx pota-mcp            # run it; nothing to install

Tools

ToolDescription
pota_spotsCurrent activator spots with park/grid enrichment and optional filters
pota_park_infoPark details by reference code (name, grid, type, agencies, website)
pota_park_statsActivation and QSO counts for a park
pota_park_activationsA park's recent activations — who, when, and QSOs by mode
pota_park_leaderboardA park's top activators, activator QSOs and hunter QSOs
pota_user_statsActivator/hunter stats by callsign (callsign, name, activator, attempts, hunter, awards, endorsements; no address or email-derived fields)
pota_scheduledUpcoming scheduled activations, with optional location, park, activator and time-window filters
pota_location_parksAll parks in a state/province/country
pota_nearby_parksFind parks near a point — great for 2-fer planning
pota_rare_parks_nearParks near a point that are rarely or never activated
get_version_infoService version + upstream spec version (fleet identity attestation)

Quick Start

No credentials needed — just install and configure your MCP client.

Configure your MCP client

pota-mcp works with any MCP-compatible client. Add the server config and restart — tools appear automatically.

Claude Desktop

Add to claude_desktop_config.json (~/Library/Application Support/Claude/ on macOS, %APPDATA%\Claude\ on Windows):

json
{  "mcpServers": {    "pota": {      "command": "uvx",      "args": ["pota-mcp"]    }  }}
Claude Code

Add to .claude/settings.json:

json
{  "mcpServers": {    "pota": {      "command": "uvx",      "args": ["pota-mcp"]    }  }}
ChatGPT Desktop
json
{  "mcpServers": {    "pota": {      "command": "uvx",      "args": ["pota-mcp"]    }  }}
Cursor

Add to .cursor/mcp.json (project-level) or ~/.cursor/mcp.json (global):

json
{  "mcpServers": {    "pota": {      "command": "uvx",      "args": ["pota-mcp"]    }  }}
VS Code / GitHub Copilot

Add to .vscode/mcp.json in your workspace:

json
{  "servers": {    "pota": {      "command": "uvx",      "args": ["pota-mcp"]    }  }}
Gemini CLI

Add to ~/.gemini/settings.json (global) or .gemini/settings.json (project):

json
{  "mcpServers": {    "pota": {      "command": "uvx",      "args": ["pota-mcp"]    }  }}

Ask questions

"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?"

Testing Without Network

For testing all tools without hitting the POTA API:

bash
POTA_MCP_MOCK=1 pota-mcp

MCP Inspector

bash
pota-mcp --transport streamable-http --port 8006

Then open the MCP Inspector at http://localhost:8006.

Development

bash
git clone https://github.com/qso-graph/pota-mcp.gitcd pota-mcpuv sync --group devuv run pytest

License

GPL-3.0-or-later

Source: README.md at commit a322bba

Tools

11

get_version_info

Get Version Info

Get pota-mcp service version and upstream spec version. Returns the running PyPI version of pota-mcp and the POTA API revision currently in use. Use this to confirm fleet alignment across MCP deployments — agents can compare service_version and spec_version across servers to detect drift without going outside the MCP protocol.

Takes no parameters.

pota_spots

Pota Spots

Get current POTA activator spots. Returns live spot feed with park details, grid squares, and coordinates. All filters are optional — omit to get all active spots.

Parametersbandmodeprogramlocation

pota_park_info

Pota Park Info

Get detailed park information by POTA reference code.

Parametersreferencerequired

pota_park_stats

Pota Park Stats

Get activation and QSO counts for a POTA park.

Parametersreferencerequired

pota_park_activations

Pota Park Activations

List recent activations of a POTA park, most recent first. Answers "when was this park last activated?" and "is it often on the air?".

Parameterscountreferencerequired

pota_park_leaderboard

Pota Park Leaderboard

Top activators and hunters of a POTA park. Three boards: most activations, most QSOs as an activator, most QSOs as a hunter. Each row is a callsign and a count and nothing else.

Parameterslimitreferencerequired

pota_user_stats

Pota User Stats

Get POTA activator and hunter statistics for a callsign.

Parameterscallsignrequired

pota_scheduled

Pota Scheduled

Get upcoming scheduled POTA activations. All filters are optional and combine with AND — omit them all and the whole schedule comes back, as before.

Parameterslocationactivatorreferencewithin_hours

pota_location_parks

Pota Location Parks

List all POTA parks in a state, province, or country.

Parameterslocationrequired

pota_nearby_parks

Pota Nearby Parks

Find POTA parks near a geographic point. Fetches all parks in the given location and filters by distance. Useful for finding 2-fer candidates near an activation site.

Parameterslimitlatituderequiredlocationrequiredlongituderequiredradius_km

pota_rare_parks_near

Pota Rare Parks Near

Find the least-activated POTA parks near a point. Answers "which parks near me have never, or rarely, been activated?" — for an activator looking for something unworked, or a hunter looking for a rare one. Least activated first, nearest first among equals.

Parameterslimitlatituderequiredlocationrequiredlongituderequiredradius_km

Version history

11
  1. v0.7.1LatestOct 29, 2026
  2. v0.6.0Oct 26, 2026
  3. v0.4.3Oct 26, 2026
  4. v0.4.1Oct 26, 2026
  5. v0.4.0Oct 12, 2026
  6. v0.3.0Oct 11, 2026
  7. v0.2.6Oct 9, 2026
  8. v0.2.5Oct 7, 2026
  9. v0.2.4Oct 6, 2026
  10. v0.2.3Sep 29, 2026
  11. v0.1.1Sep 16, 2026

Score

90% of the applicable checks met

How complete this listing is, computed from the registry entry, the endpoint and public sources. Not a rating of the server and not a statement that it is safe or working today: reachability is a dated check, and no installs or reviews go into the score.

  • Reached in the last 30 days25 pts
  • Auth declared10 pts

    Declare the credential headers in the registry entry, or keep the endpoint answering the probe so its auth can be classified.

  • Tools listedRequired15 pts
  • DescriptionRequired15 pts
  • Logo10 pts
  • Documentation15 pts
  • License10 pts