|
1 | 1 | # sota-mcp |
2 | 2 |
|
3 | | -MCP server for Summits on the Air (SOTA) -- summit lookup, activator stats, and live spots via the SOTLAS API. |
| 3 | +MCP server for [Summits on the Air (SOTA)](https://www.sota.org.uk/) — live spots, activation alerts, summit info, nearby summits, and activator stats through any MCP-compatible AI assistant. |
4 | 4 |
|
5 | | -Part of the [qso-graph](https://qso-graph.io/) collection of amateur radio MCP servers. |
| 5 | +Part of the [qso-graph](https://qso-graph.io/) project. **No authentication required** — uses public [SOTLAS](https://sotl.as/) and [SOTALive](https://www.sotalive.tk/) APIs. |
6 | 6 |
|
7 | | -## Planned Tools |
| 7 | +## Install |
| 8 | + |
| 9 | +```bash |
| 10 | +pip install sota-mcp |
| 11 | +``` |
| 12 | + |
| 13 | +## Tools |
8 | 14 |
|
9 | 15 | | Tool | Description | |
10 | 16 | |------|-------------| |
11 | | -| `sota_summit_lookup` | Look up a SOTA summit by reference | |
12 | | -| `sota_activator_stats` | Activator statistics and summit list | |
13 | | -| `sota_spots` | Current SOTA spots (live activations) | |
14 | | -| `sota_summit_search` | Search summits by name or association | |
15 | | -| `sota_leaderboard` | Top activators/chasers rankings | |
| 17 | +| `sota_spots` | Current and recent spots with time window and association/mode filters | |
| 18 | +| `sota_alerts` | Upcoming scheduled activation alerts | |
| 19 | +| `sota_summit_info` | Summit details by SOTA reference code | |
| 20 | +| `sota_summits_near` | Find summits near coordinates (geospatial search) | |
| 21 | +| `sota_activator_stats` | Activator profile, stats, and recent activation history | |
16 | 22 |
|
17 | | -## Install |
| 23 | +## Quick Start |
| 24 | + |
| 25 | +No credentials needed — just install and configure your MCP client. |
| 26 | + |
| 27 | +### Configure your MCP client |
| 28 | + |
| 29 | +sota-mcp works with any MCP-compatible client. Add the server config and restart — tools appear automatically. |
| 30 | + |
| 31 | +#### Claude Desktop |
| 32 | + |
| 33 | +Add to `claude_desktop_config.json` (`~/Library/Application Support/Claude/` on macOS, `%APPDATA%\Claude\` on Windows): |
| 34 | + |
| 35 | +```json |
| 36 | +{ |
| 37 | + "mcpServers": { |
| 38 | + "sota": { |
| 39 | + "command": "sota-mcp" |
| 40 | + } |
| 41 | + } |
| 42 | +} |
| 43 | +``` |
| 44 | + |
| 45 | +#### Claude Code |
| 46 | + |
| 47 | +Add to `.claude/settings.json`: |
| 48 | + |
| 49 | +```json |
| 50 | +{ |
| 51 | + "mcpServers": { |
| 52 | + "sota": { |
| 53 | + "command": "sota-mcp" |
| 54 | + } |
| 55 | + } |
| 56 | +} |
| 57 | +``` |
| 58 | + |
| 59 | +#### ChatGPT Desktop |
| 60 | + |
| 61 | +```json |
| 62 | +{ |
| 63 | + "mcpServers": { |
| 64 | + "sota": { |
| 65 | + "command": "sota-mcp" |
| 66 | + } |
| 67 | + } |
| 68 | +} |
| 69 | +``` |
| 70 | + |
| 71 | +#### Cursor |
| 72 | + |
| 73 | +Add to `.cursor/mcp.json` (project-level) or `~/.cursor/mcp.json` (global): |
| 74 | + |
| 75 | +```json |
| 76 | +{ |
| 77 | + "mcpServers": { |
| 78 | + "sota": { |
| 79 | + "command": "sota-mcp" |
| 80 | + } |
| 81 | + } |
| 82 | +} |
| 83 | +``` |
| 84 | + |
| 85 | +#### VS Code / GitHub Copilot |
| 86 | + |
| 87 | +Add to `.vscode/mcp.json` in your workspace: |
| 88 | + |
| 89 | +```json |
| 90 | +{ |
| 91 | + "servers": { |
| 92 | + "sota": { |
| 93 | + "command": "sota-mcp" |
| 94 | + } |
| 95 | + } |
| 96 | +} |
| 97 | +``` |
| 98 | + |
| 99 | +#### Gemini CLI |
| 100 | + |
| 101 | +Add to `~/.gemini/settings.json` (global) or `.gemini/settings.json` (project): |
| 102 | + |
| 103 | +```json |
| 104 | +{ |
| 105 | + "mcpServers": { |
| 106 | + "sota": { |
| 107 | + "command": "sota-mcp" |
| 108 | + } |
| 109 | + } |
| 110 | +} |
| 111 | +``` |
| 112 | + |
| 113 | +### Ask questions |
| 114 | + |
| 115 | +> "What SOTA spots are active right now?" |
| 116 | +
|
| 117 | +> "Tell me about summit W7I/SI-001" |
18 | 118 |
|
19 | | -Coming soon. This package is not yet published to PyPI. |
| 119 | +> "What summits are near Boise, Idaho?" |
| 120 | +
|
| 121 | +> "Show me KI7MT's SOTA activator stats" |
| 122 | +
|
| 123 | +> "Any SOTA alerts for this weekend?" |
| 124 | +
|
| 125 | +## Testing Without Network |
| 126 | + |
| 127 | +For testing all tools without hitting the SOTA APIs: |
20 | 128 |
|
21 | 129 | ```bash |
22 | | -pip install sota-mcp |
| 130 | +SOTA_MCP_MOCK=1 sota-mcp |
| 131 | +``` |
| 132 | + |
| 133 | +## MCP Inspector |
| 134 | + |
| 135 | +```bash |
| 136 | +sota-mcp --transport streamable-http --port 8007 |
23 | 137 | ``` |
24 | 138 |
|
25 | | -## Data Source |
| 139 | +Then open the MCP Inspector at `http://localhost:8007`. |
26 | 140 |
|
27 | | -All data comes from the public [SOTLAS API](https://sotl.as/) and [SOTA API](https://api2.sota.org.uk/). No API key required. |
| 141 | +## Development |
| 142 | + |
| 143 | +```bash |
| 144 | +git clone https://github.com/qso-graph/sota-mcp.git |
| 145 | +cd sota-mcp |
| 146 | +pip install -e . |
| 147 | +``` |
28 | 148 |
|
29 | 149 | ## License |
30 | 150 |
|
31 | | -GPL-3.0-or-later. See [LICENSE](LICENSE). |
| 151 | +GPL-3.0-or-later |
0 commit comments