io.github.qso-graph/iota-mcp
Islands on the Air MCP server. Group lookup, island search, DXCC mapping, nearby groups.
Ask AI about io.github.qso-graph/iota-mcp
Powered by Claude Β· Grounded in docs
I know everything about io.github.qso-graph/iota-mcp. Ask me about installation, configuration, usage, or troubleshooting.
0/500
Reviews
Documentation
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
pip install iota-mcp
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 |
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):
{
"mcpServers": {
"iota": {
"command": "iota-mcp"
}
}
}
Claude Code
Add to .claude/settings.json:
{
"mcpServers": {
"iota": {
"command": "iota-mcp"
}
}
}
ChatGPT Desktop
{
"mcpServers": {
"iota": {
"command": "iota-mcp"
}
}
}
Cursor
Add to .cursor/mcp.json (project-level) or ~/.cursor/mcp.json (global):
{
"mcpServers": {
"iota": {
"command": "iota-mcp"
}
}
}
VS Code / GitHub Copilot
Add to .vscode/mcp.json in your workspace:
{
"servers": {
"iota": {
"command": "iota-mcp"
}
}
}
Gemini CLI
Add to ~/.gemini/settings.json (global) or .gemini/settings.json (project):
{
"mcpServers": {
"iota": {
"command": "iota-mcp"
}
}
}
Example Prompts
- "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).
Development
git clone https://github.com/qso-graph/iota-mcp.git
cd iota-mcp
pip install -e .
# Run with mock data (no network)
IOTA_MCP_MOCK=1 python -m iota_mcp.server
# Run with MCP Inspector
iota-mcp --transport streamable-http --port 8010
# Security tests
pip install pytest
pytest tests/test_security.py -v
License
GPL-3.0-or-later
