MCP server for WSPR beacon data analytics — band openings, path analysis, solar correlation
- ✓Actively maintained (<30d)
- ✓Clear description
- ✓Topics declared
- ✓Documented (README)
- !Licence file present but not machine-readable
claude mcp add wspr-mcp -- uvx wspr-mcp{
"mcpServers": {
"wspr-mcp": {
"command": "uvx",
"args": ["wspr-mcp"]
}
}
}MCP Servers overview
<!-- mcp-name: io.github.qso-graph/wspr-mcp -->
# wspr-mcp
[](https://pypi.org/project/wspr-mcp/)
[](https://registry.modelcontextprotocol.io/v0/servers?search=io.github.qso-graph/wspr-mcp&version=latest)
MCP server for [WSPR](https://www.wsprnet.org/) (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](https://wspr.live/) (~2.7 billion spots, 2008-present). Part of the [qso-graph](https://qso-graph.io/) project. **No authentication required** — all public data.
## Install
```bash
uvx wspr-mcp # run it; nothing to install
pip install wspr-mcp # or install it into your own environment
```
## Tools
| Tool | Description | Key Parameters |
|------|-------------|----------------|
| `wspr_spots` | Recent WSPR spots with flexible filtering | callsign, band, hours, grid, min/max SNR, min distance |
| `wspr_band_activity` | Per-band spot counts, station counts, distances, and SNR | hours |
| `wspr_top_beacons` | Top transmitters ranked by spot count or max distance | band, hours, sort_by (spots/distance), limit |
| `wspr_top_spotters` | Top receivers ranked by spot count or max distance | band, hours, sort_by (spots/distance), limit |
| `wspr_propagation` | Propagation between two locations — auto-widens to field-level proxy for sparse endpoints | tx, rx, band, hours |
| `wspr_grid_activity` | All WSPR activity in/out of a Maidenhead grid square | grid (2 or 4 char), band, hours |
| `wspr_longest_paths` | Longest distance WSPR paths in a time window | band, hours, min_distance, limit |
| `wspr_snr_trend` | Hourly SNR trend for a specific path over time | tx, rx, band, hours |
| `get_version_info` | Service 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:
| Measure | Detail |
|---------|--------|
| **Rate limiting** | 3 seconds between requests (20 req/min max) |
| **Circuit breaker** | Opens after 3 consecutive failures; exponential backoff up to 5 minutes. Prevents hammering a struggling service. |
| **Time-bounded queries** | Every query filters by time (max 72 hours). No unbounded full-table scans. |
| **Band filtering** | Queries filter by band whenever the user provides one — this hits wspr.live's indexes efficiently. |
| **Column selection** | We SELECT only the columns each tool needs (8-10 per query), never `SELECT *`. |
| **Result limits** | All queries cap results (200 spots, 50 leaderboard entries). |
| **Response caching** | 2-10 minute TTL per tool. Identical queries within the window hit local cache with zero network traffic. |
| **Request timeout** | 20-second timeout — we don't hold connections open on a shared service. |
| **User-Agent header** | Every 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"]
}
}
}
```
Installed with pip instead? Use `"command": "wspr-mcp"` in any config above.
### 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.git
cd wspr-mcp
uv sync --group dev
uv run pytest
```
## License
GPL-3.0-or-later
What people ask about wspr-mcp
What is qso-graph/wspr-mcp?
+
qso-graph/wspr-mcp is mcp servers for the Claude AI ecosystem. MCP server for WSPR beacon data analytics — band openings, path analysis, solar correlation It has 0 GitHub stars and its last recorded update is dated 2026-09-28.
How do I install wspr-mcp?
+
You can install wspr-mcp by cloning the repository (https://github.com/qso-graph/wspr-mcp) or following the README instructions on GitHub. ClaudeWave also provides quick install blocks on this page.
Is qso-graph/wspr-mcp safe to use?
+
Our security agent has analyzed qso-graph/wspr-mcp and assigned a Trust Score of 80/100 (tier: Trusted). See the full breakdown of passed checks and flags on this page.
Who maintains qso-graph/wspr-mcp?
+
qso-graph/wspr-mcp is maintained by qso-graph. The last recorded GitHub activity is dated 2026-09-28, with 0 open issues.
Are there alternatives to wspr-mcp?
+
Yes. On ClaudeWave you can browse similar mcp servers at /categories/mcp, sorted by popularity or recent activity.
Deploy wspr-mcp to your cloud
Ship this repo to production in minutes. Each platform spins up its own environment with editable env vars.
Maintain this repo? Add a badge to your README
Drop the badge into your GitHub README to show it's tracked on ClaudeWave. Each badge links back to this page and reflects the live Trust Score.
[](https://claudewave.com/repo/qso-graph-wspr-mcp)<a href="https://claudewave.com/repo/qso-graph-wspr-mcp"><img src="https://claudewave.com/api/badge/qso-graph-wspr-mcp" alt="Featured on ClaudeWave: qso-graph/wspr-mcp" width="320" height="64" /></a>More MCP Servers
Fair-code workflow automation platform with native AI capabilities. Combine visual building with custom code, self-host or cloud, 400+ integrations.
User-friendly AI Interface (Supports Ollama, OpenAI API, ...)
An open-source AI agent that brings the power of Gemini directly into your terminal.
Real-time global intelligence dashboard. AI-powered news aggregation, geopolitical monitoring, and infrastructure tracking in a unified situational awareness interface
🕷️ An adaptive Web Scraping framework that handles everything from a single request to a full-scale crawl! Don't be shy, join here: https://discord.gg/EMgGbDceNQ and follow here for daily tips and tricks: https://x.com/Scrapling_dev
The fastest path to AI-powered full stack observability, even for lean teams.