Skip to main content

ADIF MCP core engine with plugin support (LoTW, eQSL, QRZ, Clublog)

Project description

adif-mcp

Core Model Context Protocol (MCP) server for Amateur Radio Logging, built on the ADIF 3.1.6 specification.

Overview

adif-mcp gives AI agents safe, typed access to Amateur Radio logging data. It validates and parses ADIF records, searches the full ADIF 3.1.6 specification (fields, enumerations, data types), and provides geospatial utilities for Maidenhead locators. A plugin system supports service integrations for LoTW, eQSL, QRZ, and Club Log.

Made with Python License: GPL-3.0 ADIF 3.1.6 PyPI CI Docs

Quick Start

pip install adif-mcp

Configure Your MCP Client

adif-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": {
    "adif": {
      "command": "adif-mcp"
    }
  }
}

Claude Code

Add to .claude/settings.json:

{
  "mcpServers": {
    "adif": {
      "command": "adif-mcp"
    }
  }
}

ChatGPT Desktop

Configure via Settings > Apps & Connectors, or in your agent definition:

{
  "mcpServers": {
    "adif": {
      "command": "adif-mcp"
    }
  }
}

Cursor

Add to .cursor/mcp.json (project-level) or ~/.cursor/mcp.json (global):

{
  "mcpServers": {
    "adif": {
      "command": "adif-mcp"
    }
  }
}

VS Code / GitHub Copilot

Add to .vscode/mcp.json in your workspace:

{
  "servers": {
    "adif": {
      "command": "adif-mcp"
    }
  }
}

Gemini CLI

Add to ~/.gemini/settings.json (global) or .gemini/settings.json (project):

{
  "mcpServers": {
    "adif": {
      "command": "adif-mcp"
    }
  }
}

Tools

adif-mcp exposes 11 verified tools via the Model Context Protocol:

Category Tool Description
Validation validate_adif_record Validate a raw ADIF string against the 3.1.6 spec
Validation parse_adif Parse ADIF text into normalized JSON records
Spec search_enumerations Search within ADIF enumeration records
Spec read_specification_resource Retrieve raw JSON for any spec module (band, mode, fields)
Spec search_adif_spec Global search across fields, datatypes, and enumerations
Spec list_enumeration_groups List all enumeration categories (DXCC, Submode, etc.)
Spec get_enumeration_values Return valid values for a specific enumeration group
Geospatial calculate_distance Great Circle distance (km) between two Maidenhead locators
Geospatial calculate_heading Initial beam heading (azimuth) between two locators
System get_version_info Active service version and ADIF spec version
System get_service_metadata Build timestamps and maintainer details

ADIF-MCP Engines

This package defines the ADIF MCP core engine, with plugins for:

  • LoTW (adif-mcp-lotw) -- ARRL Logbook of The World: confirmations, awards tracking, uploads
  • eQSL (adif-mcp-eqsl) -- eQSL.cc: electronic QSL confirmations and awards
  • QRZ (adif-mcp-qrz) -- QRZ.com: callsign lookup and logbook integration
  • Club Log (adif-mcp-clublog) -- Club Log: DXCC matching, OQRS, expedition logs

MCP doesn't replace LoTW, eQSL, Club Log, QRZ, or any award/logging program. Instead, it gives operators visibility and accessibility into their award progress, across sponsors, without needing to export, filter, or code.

Compliance & Provenance

adif-mcp follows the ADIF Specification (currently 3.1.6) and uses registered Program IDs to identify all exports:

  • ADIF-MCP -- Core engine
  • ADIF-MCP-LOTW -- LoTW plugin
  • ADIF-MCP-EQSL -- eQSL plugin
  • ADIF-MCP-QRZ -- QRZ plugin
  • ADIF-MCP-CLUBLOG -- Club Log plugin

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 plugin operation
  • APP_ADIF-MCP-EQSL_TIME -- timestamp of eQSL merge

See the Program ID & APP_ Field Policy for full details.

License

GPL-3.0-or-later. See LICENSE for details.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

adif_mcp-0.5.2.tar.gz (246.0 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

adif_mcp-0.5.2-py3-none-any.whl (277.0 kB view details)

Uploaded Python 3

File details

Details for the file adif_mcp-0.5.2.tar.gz.

File metadata

  • Download URL: adif_mcp-0.5.2.tar.gz
  • Upload date:
  • Size: 246.0 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for adif_mcp-0.5.2.tar.gz
Algorithm Hash digest
SHA256 d4576ac4bb709c6624d2958344d62ca38c87ca8d920c32f1a4eab06f3f83bf0b
MD5 af171ebb0043fc9eb26f98aff77c81f9
BLAKE2b-256 4977486d5075c7e3acadbbba6a36282ecebb2889b54c4aeb90fe4947fefc6aea

See more details on using hashes here.

Provenance

The following attestation bundles were made for adif_mcp-0.5.2.tar.gz:

Publisher: release.yml on KI7MT/adif-mcp

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file adif_mcp-0.5.2-py3-none-any.whl.

File metadata

  • Download URL: adif_mcp-0.5.2-py3-none-any.whl
  • Upload date:
  • Size: 277.0 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for adif_mcp-0.5.2-py3-none-any.whl
Algorithm Hash digest
SHA256 42a9c9e971e8925c59cba69d2bb03cad1fe16274f7b5e8b70556ee8bbcbf632d
MD5 5c9b705fbb96c5f77836b91ed6ed72ec
BLAKE2b-256 b877e740e0ee3a4614d7c9407113f007337d105913e8ecd36c7025d075b374e0

See more details on using hashes here.

Provenance

The following attestation bundles were made for adif_mcp-0.5.2-py3-none-any.whl:

Publisher: release.yml on KI7MT/adif-mcp

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page