Wspr Mcp

io.github.qso-graph由 GitHub 账号 qso-graph 发布v0.6.1更新于 Nov 3, 2026

WSPR beacon analytics MCP server. Band openings, path analysis, solar correlation.

已验证STDIO仅桌面位置与生活数据与分析

概览

AI 生成的概览

只读的 WSPR 信标数据 MCP 服务器,基于 wspr.live,让助手查询实时 spots、波段开通情况、传播路径与 SNR 趋势。

可以做什么
  • 按呼号、波段、网格、SNR 和距离筛选查询近期 WSPR spots
  • 汇总各波段的活跃度,包括 spot 数、台站数、距离与 SNR
  • 按 spot 数或最远距离排列顶级信标台与顶级接收台
  • 分析两个呼号或网格之间的传播,并列出时间窗内最长的路径
  • 查看某个 Maidenhead 网格方格的进出活动,以及某条路径的逐小时 SNR 趋势
  • 报告服务版本与上游 schema 版本
适用场景
适合业余无线电爱好者和传播研究者,让助手解读 HF 波段状况、比较台站或网格之间的路径,并观察某波段随时间的开通与关闭。
运行要求
以 Python 包形式在本地运行,通过 uvx 启动(需 Python 工具链)。无需账号、API 密钥或环境变量。需要访问 wspr.live 公共 ClickHouse 服务的网络;另有离线测试用的 mock 模式。
安装前请注意
数据全部公开,服务器为只读,不涉及凭据。查询会发往志愿者运营的第三方服务,因此你询问的呼号、网格和时间窗会被发送过去;服务器自行限制为每分钟 20 次请求,查询时间范围上限 72 小时。

安装

在 SourceWeft 中

  1. 打开 控制台中的 Wspr Mcp,将其添加到工作区。
  2. 为需要使用其工具的对话启用该服务。

Desktop only,通过 STDIO。 STDIO 服务会启动本地进程,因此需要 SourceWeft 桌面宿主。

其他 MCP 客户端

参照 仓库 中的启动说明。

README

wspr-mcp

[PyPI] [MCP Registry]

MCP server for WSPR (Weak Signal Propagation Reporter) beacon data — live spots, band activity, top beacons, propagation paths, SNR trends, and more through any MCP-compatible AI assistant.

Data from wspr.live (~2.7 billion spots, 2008-present). Part of the qso-graph project. No authentication required — all public data.

Install

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

Tools

ToolDescriptionKey Parameters
wspr_spotsRecent WSPR spots with flexible filteringcallsign, band, hours, grid, min/max SNR, min distance
wspr_band_activityPer-band spot counts, station counts, distances, and SNRhours
wspr_top_beaconsTop transmitters ranked by spot count or max distanceband, hours, sort_by (spots/distance), limit
wspr_top_spottersTop receivers ranked by spot count or max distanceband, hours, sort_by (spots/distance), limit
wspr_propagationPropagation between two locations — auto-widens to field-level proxy for sparse endpointstx, rx, band, hours
wspr_grid_activityAll WSPR activity in/out of a Maidenhead grid squaregrid (2 or 4 char), band, hours
wspr_longest_pathsLongest distance WSPR paths in a time windowband, hours, min_distance, limit
wspr_snr_trendHourly SNR trend for a specific path over timetx, rx, band, hours
get_version_infoService version + upstream spec version (fleet identity attestation)—

What is WSPR?

WSPR beacons transmit a 2-minute encoded signal at very low power (typically 200 mW to 5 W). Each decoded spot proves a propagation path exists between two locations on a specific band. With thousands of beacons worldwide transmitting 24/7, WSPR provides continuous, automated propagation monitoring across all HF bands.

Good Neighbour Policy

wspr.live is a volunteer-run service that mirrors all wsprnet.org data into a public ClickHouse database. We take our responsibility as a good neighbour seriously:

MeasureDetail
Rate limiting3 seconds between requests (20 req/min max)
Circuit breakerOpens after 3 consecutive failures; exponential backoff up to 5 minutes. Prevents hammering a struggling service.
Time-bounded queriesEvery query filters by time (max 72 hours). No unbounded full-table scans.
Band filteringQueries filter by band whenever the user provides one — this hits wspr.live's indexes efficiently.
Column selectionWe SELECT only the columns each tool needs (8-10 per query), never SELECT *.
Result limitsAll queries cap results (200 spots, 50 leaderboard entries).
Response caching2-10 minute TTL per tool. Identical queries within the window hit local cache with zero network traffic.
Request timeout20-second timeout — we don't hold connections open on a shared service.
User-Agent headerEvery request identifies itself as wspr-mcp/{version} so the operators can reach us if needed.

If wspr.live is down or overloaded, the circuit breaker backs off automatically. We don't retry in a tight loop.

Quick Start

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

Configure your MCP client

Claude Desktop

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

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

Add to .claude/settings.json:

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

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

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

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

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

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

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

Ask questions

"Show me recent WSPR spots on 20m"

"What bands are open right now?"

"Who are the top WSPR beacons on 20m today?"

"What are the longest WSPR paths in the last 24 hours?"

"Is there propagation between Idaho (DN13) and central Europe (JN48)?"

"Any WSPR paths between DN13 and Bouvet (JD15)?" (auto-widens to DN↔JD if no exact match)

"What's happening in grid square JN48?"

"How's the SNR trending between K9AN and G8JNJ on 20m?"

"Who are the best WSPR receivers sorted by distance?"

Testing Without Network

bash
WSPR_MCP_MOCK=1 wspr-mcp

MCP Inspector

bash
wspr-mcp --transport streamable-http --port 8009

Development

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

License

GPL-3.0-or-later

来源:README.md,提交 7a34887

工具

9

get_version_info

Get Version Info

Get wspr-mcp service version and upstream spec version. Returns the running PyPI version of wspr-mcp and the wspr.live ClickHouse schema revision 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.

无需输入参数。

wspr_spots

Wspr Spots

Get recent WSPR spots. WSPR beacons transmit every 2 minutes on precise frequencies. Each spot is a 2-minute integration proving a propagation path exists.

输入参数bandgridhourslimitmax_snrmin_snrcallsignmin_distance

wspr_band_activity

Wspr Band Activity

Get per-band WSPR activity summary. Shows spot counts, TX/RX station counts, average and max distance, and average SNR for each band. The best indicator of which bands are open right now.

输入参数hours

wspr_top_beacons

Wspr Top Beacons

Get top WSPR transmitters ranked by spot count or max distance. Shows the most active or most far-reaching WSPR beacon operators. Useful for finding who's putting out a big signal on a band.

输入参数bandhourslimitsort_by

wspr_top_spotters

Wspr Top Spotters

Get top WSPR receivers ranked by spot count or max distance. Shows the most prolific or most sensitive WSPR receiving stations. Useful for finding good receivers to monitor for propagation.

输入参数bandhourslimitsort_by

wspr_propagation

Wspr Propagation

Get WSPR-derived propagation between two locations. Shows which bands have been open between two endpoints, with spot counts, SNR statistics, and hours of opening. Accepts callsigns or grid squares (or a mix). Searches both directions automatically.

输入参数rx必填tx必填bandhours

wspr_grid_activity

Wspr Grid Activity

Get all WSPR activity in or out of a Maidenhead grid square. Shows summary stats and recent spots for a geographic area. Use 2-character grid (e.g., DN) for a wide area or 4-character (e.g., DN13) for a specific region.

输入参数bandgrid必填hourslimit

wspr_longest_paths

Wspr Longest Paths

Get the longest WSPR paths in the given time window. WSPR's precise timing and low power make it the gold standard for detecting marginal propagation. Long paths here prove the band is open.

输入参数bandhourslimitmin_distance

wspr_snr_trend

Wspr Snr Trend

Get SNR trend over time for a specific WSPR path. Shows hourly SNR buckets for a path between two endpoints. Useful for seeing when a band opens and closes on a specific path, and how signal strength varies over time.

输入参数rx必填tx必填bandhours

版本历史

9
  1. v0.6.1最新Oct 29, 2026
  2. v0.4.3Oct 26, 2026
  3. v0.4.1Oct 26, 2026
  4. v0.4.0Oct 12, 2026
  5. v0.3.6Oct 11, 2026
  6. v0.3.5Oct 7, 2026
  7. v0.3.4Oct 6, 2026
  8. v0.3.3Sep 29, 2026
  9. v0.1.1Sep 16, 2026

评分

已满足适用检查项的 90%

该评分衡量此收录条目的完整程度,依据注册中心条目、端点与公开来源计算得出。它不是对服务器本身的评价,也不表示服务器安全或当前可用:可连通性是带日期的检查结果,评分也不包含安装量或用户评价。

  • 近 30 天内可连通25 分
  • 已声明认证方式10 分

    请在注册中心条目中声明凭据请求头,或保持端点能够响应探测,以便判定其认证方式。

  • 已列出工具必需15 分
  • 描述必需15 分
  • 图标10 分
  • 文档15 分
  • 许可证10 分