ADIF MCP server — AI-agent access to Amateur Radio logging per ADIF 3.1.7
- ✓Actively maintained (<30d)
- ✓Clear description
- ✓Topics declared
- ✓Mature repo (>1y old)
- ✓Documented (README)
- !Licence file present but not machine-readable
claude mcp add adif-mcp -- uvx adif-mcp{
"mcpServers": {
"adif-mcp": {
"command": "uvx",
"args": ["adif-mcp"]
}
}
}MCP Servers overview
<!-- mcp-name: io.github.qso-graph/adif-mcp -->
# adif-mcp
[](https://pypi.org/project/adif-mcp/)
[](https://registry.modelcontextprotocol.io/v0/servers?search=io.github.qso-graph/adif-mcp&version=latest)
MCP server for the [ADIF 3.1.7 specification](https://adif.org.uk/317/ADIF_317.htm): validate and parse ADIF records, search the spec's fields, enumerations and data types, and compute distance and heading between Maidenhead locators, through any MCP-compatible AI assistant.
Part of the [qso-graph](https://qso-graph.io/) project. **No authentication required** — the ADIF specification is bundled, so it works offline.
## Install
```bash
uvx adif-mcp # run it; nothing to install
pip install adif-mcp # or install it into your own environment
```
## Tools
| Tool | Description | Key Parameters |
|------|-------------|----------------|
| `validate_adif_record` | Validate a raw ADIF record against the 3.1.7 spec | adif_string |
| `parse_adif` | Streaming parser for large ADIF files, with pagination | file_path, start_at, limit |
| `read_specification_resource` | Raw JSON for any spec module (band, mode, fields, ...) | resource_name |
| `list_enumerations` | All ADIF enumerations with entry counts | — |
| `search_enumerations` | Search enumeration records by keyword | search_term, enumeration |
| `calculate_distance` | Great-circle distance (km) between two Maidenhead locators | start, end |
| `calculate_heading` | Initial beam heading (azimuth) between two locators | start, end |
| `get_version_info` | Service version + upstream spec version (fleet identity attestation) | — |
## What is ADIF?
ADIF (Amateur Data Interchange Format) is the standard file format amateur radio logging programs use to exchange QSO records. adif-mcp is the specification package of qso-graph: it validates, parses and searches ADIF so an assistant can work with logs safely and accurately. Credentials are handled separately by [qso-graph-auth](https://pypi.org/project/qso-graph-auth/), and each logging service has its own MCP server (see [qso-graph.io](https://qso-graph.io/)).
## Quick Start
No credentials needed — just install and configure your MCP client.
### Configure your MCP client
adif-mcp works with any MCP-compatible client. Add the server config and restart. The tools appear automatically.
#### Claude Desktop
Add to `claude_desktop_config.json` (`~/Library/Application Support/Claude/` on macOS, `%APPDATA%\Claude\` on Windows):
```json
{
"mcpServers": {
"adif": {
"command": "uvx",
"args": ["adif-mcp"]
}
}
}
```
#### Claude Code
Add to `.claude/settings.json`:
```json
{
"mcpServers": {
"adif": {
"command": "uvx",
"args": ["adif-mcp"]
}
}
}
```
#### ChatGPT Desktop
Configure via Settings > Apps & Connectors, or in your agent definition:
```json
{
"mcpServers": {
"adif": {
"command": "uvx",
"args": ["adif-mcp"]
}
}
}
```
#### Cursor
Add to `.cursor/mcp.json` (project-level) or `~/.cursor/mcp.json` (global):
```json
{
"mcpServers": {
"adif": {
"command": "uvx",
"args": ["adif-mcp"]
}
}
}
```
#### VS Code / GitHub Copilot
Add to `.vscode/mcp.json` in your workspace:
```json
{
"servers": {
"adif": {
"command": "uvx",
"args": ["adif-mcp"]
}
}
}
```
#### Gemini CLI
Add to `~/.gemini/settings.json` (global) or `.gemini/settings.json` (project):
```json
{
"mcpServers": {
"adif": {
"command": "uvx",
"args": ["adif-mcp"]
}
}
}
```
Installed with pip instead? Use `"command": "adif-mcp"` in any config above.
### Ask questions
> "Is this ADIF record valid? <CALL:5>KI7MT<QSO_DATE:8>20260928<BAND:3>20m<MODE:3>SSB<EOR>"
> "What values does the ADIF MODE enumeration allow for digital modes?"
> "Parse my log file and show me the first 50 QSOs."
> "How far is it from DN13 to JN48, and what heading should I point the beam?"
## Compliance & Provenance
adif-mcp follows the [ADIF Specification](https://adif.org.uk) (currently 3.1.7) and uses **registered Program IDs** to identify all exports:
- `ADIF-MCP` -- Core engine
- `ADIF-MCP-LOTW` -- LoTW server
- `ADIF-MCP-EQSL` -- eQSL server
- `ADIF-MCP-QRZ` -- QRZ server
The project uses **APP_ fields** for provenance when augmenting records:
- `APP_ADIF-MCP_OP` -- operation performed (`normalize`, `validate`, `merge`)
- `APP_ADIF-MCP-LOTW_ACTION` -- LoTW server operation
- `APP_ADIF-MCP-EQSL_TIME` -- timestamp of eQSL merge
## Development
```bash
git clone https://github.com/qso-graph/adif-mcp.git
cd adif-mcp
uv sync --group dev
uv run pytest
```
## License
adif-mcp's own code is GPL-3.0-or-later. See [LICENSE](LICENSE) for details.
**The ADIF specification files are not ours.** The package includes the ADIF 3.1.6 and 3.1.7 specification exports, unmodified, from the [ADIF Developers Group](https://adif.org.uk/). They are ADIF's work, and our licence doesn't cover them. The only files in that folder that are ours are the derived Country enumeration and two small catalog files. See [NOTICE](NOTICE).
What people ask about adif-mcp
What is qso-graph/adif-mcp?
+
qso-graph/adif-mcp is mcp servers for the Claude AI ecosystem. ADIF MCP server — AI-agent access to Amateur Radio logging per ADIF 3.1.7 It has 4 GitHub stars and its last recorded update is dated 2026-09-28.
How do I install adif-mcp?
+
You can install adif-mcp by cloning the repository (https://github.com/qso-graph/adif-mcp) or following the README instructions on GitHub. ClaudeWave also provides quick install blocks on this page.
Is qso-graph/adif-mcp safe to use?
+
Our security agent has analyzed qso-graph/adif-mcp and assigned a Trust Score of 85/100 (tier: Trusted). See the full breakdown of passed checks and flags on this page.
Who maintains qso-graph/adif-mcp?
+
qso-graph/adif-mcp is maintained by qso-graph. The last recorded GitHub activity is dated 2026-09-28, with 0 open issues.
Are there alternatives to adif-mcp?
+
Yes. On ClaudeWave you can browse similar mcp servers at /categories/mcp, sorted by popularity or recent activity.
Deploy adif-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-adif-mcp)<a href="https://claudewave.com/repo/qso-graph-adif-mcp"><img src="https://claudewave.com/api/badge/qso-graph-adif-mcp" alt="Featured on ClaudeWave: qso-graph/adif-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.