iota-mcp¶
MCP server for Islands on the Air (IOTA) — group lookup, island search, DXCC mapping, nearby groups, and programme statistics through any MCP-compatible AI assistant.
Part of the qso-graph project. No authentication required — all IOTA data is public.
Install¶
Tools¶
| Tool | Description |
|---|---|
iota_lookup |
Look up an IOTA group by reference number (e.g., NA-005) |
iota_search |
Search groups and islands by name (e.g., Hawaii, Shetland) |
iota_islands |
List all islands and subgroups in an IOTA group |
iota_dxcc |
Bidirectional DXCC-to-IOTA mapping |
iota_stats |
Programme summary — totals by continent, most/least credited |
iota_nearby |
Find IOTA groups nearest to a lat/lon location |
get_version_info |
Service version + upstream programme data version (fleet identity attestation) |
Quick Start¶
No credentials needed — just install and configure your MCP client.
Configure your MCP client¶
iota-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):
Claude Code¶
Add to .claude/settings.json:
ChatGPT Desktop¶
Cursor¶
Add to .cursor/mcp.json (project-level) or ~/.cursor/mcp.json (global):
VS Code / GitHub Copilot¶
Add to .vscode/mcp.json in your workspace:
Gemini CLI¶
Add to ~/.gemini/settings.json (global) or .gemini/settings.json (project):
Ask questions¶
"Look up IOTA group NA-005"
"Search for islands named Shetland"
"What IOTA groups are near Boise, Idaho?"
"Show me all islands in EU-005"
"What IOTA references map to DXCC 291?"
"Give me IOTA programme statistics"
Data Source¶
Data comes from the official IOTA website JSON downloads:
- fulllist.json — complete group/subgroup/island hierarchy (~1.3 MB)
- dxcc_matches_one_iota.json — 1:1 DXCC-to-IOTA mapping (~3.5 KB)
Data is downloaded once and cached for 24 hours (IOTA refreshes daily at 00:00 UTC).
Testing Without Network¶
MCP Inspector¶
Then open the MCP Inspector at http://localhost:8010.
Development¶
License¶
GPL-3.0-or-later
Tool Reference¶
Generated from the released server's own tool definitions.
get_version_info¶
Get iota-mcp service version and upstream programme data version.
Returns the running PyPI version of iota-mcp and the IOTA programme data 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.
No parameters.
iota_dxcc¶
Bidirectional DXCC-to-IOTA mapping.
Provide either dxcc_num to find all IOTA groups for a DXCC entity, or refno to find which DXCC entities an IOTA group belongs to.
| Parameter | Type | Required | Default | Description |
|---|---|---|---|---|
dxcc_num |
string | No | "" |
DXCC entity number (e.g., 291 for USA, 223 for England). |
refno |
string | No | "" |
IOTA reference number (e.g., EU-005). |
iota_islands¶
List all islands and subgroups in an IOTA group.
Returns the full hierarchy: subgroups containing individual islands.
| Parameter | Type | Required | Default | Description |
|---|---|---|---|---|
refno |
string | Yes | IOTA reference number (e.g., NA-005, EU-005). |
iota_lookup¶
Look up an IOTA group by reference number.
Returns group details including name, DXCC entity, bounding box, center coordinates, credit percentage, and island count.
| Parameter | Type | Required | Default | Description |
|---|---|---|---|---|
refno |
string | Yes | IOTA reference number (e.g., NA-005, EU-005, AF-001). |
iota_nearby¶
Find IOTA groups nearest to a location.
Computes great-circle distance from the given coordinates to the center of each IOTA group's bounding box.
| Parameter | Type | Required | Default | Description |
|---|---|---|---|---|
latitude |
number | Yes | Latitude in decimal degrees (e.g., 43.6 for Boise). | |
longitude |
number | Yes | Longitude in decimal degrees (e.g., -116.2 for Boise). | |
limit |
integer | No | 20 |
Maximum results to return (default 20). |
iota_search¶
Search IOTA groups and islands by name.
Searches both group names and individual island names. Results are deduplicated by IOTA reference number.
| Parameter | Type | Required | Default | Description |
|---|---|---|---|---|
query |
string | Yes | Search text (e.g., Hawaii, Shetland, Comoro). | |
limit |
integer | No | 25 |
Maximum results to return (default 25). |
iota_stats¶
Get IOTA programme summary statistics.
Returns total groups and islands, breakdown by continent, DXCC entity count, and most/least credited groups.
No parameters.