adif-mcp

adif-mcp

Provides safe, typed access to Amateur Radio logging data with ADIF validation, parsing, spec search, and geospatial utilities for Maidenhead locators.

Category
Visit Server

README

<!-- mcp-name: io.github.qso-graph/adif-mcp -->

adif-mcp

Core Model Context Protocol (MCP) server for Amateur Radio Logging, built on the ADIF 3.1.7 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.7 specification (fields, enumerations, data types), and provides geospatial utilities for Maidenhead locators.

Made with Python License: GPL-3.0 ADIF 3.1.7 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 8 tools via the Model Context Protocol:

Category Tool Description
Validation validate_adif_record Validate a raw ADIF string against the 3.1.7 spec
Validation parse_adif Streaming parser for large ADIF files with pagination
Spec read_specification_resource Retrieve raw JSON for any spec module (band, mode, fields)
Spec list_enumerations List all ADIF enumerations with entry counts
Spec search_enumerations Search enumeration records by keyword
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

Architecture

adif-mcp is the ADIF specification package -- validation, parsing, and geospatial tools. Credential management is handled by qso-graph-auth. Service integrations are separate MCP servers:

Package PyPI What It Does
qso-graph-auth v0.1.1 OS keyring credential management, persona CRUD
adif-mcp v1.1.0 ADIF 3.1.7 spec tools, validation, parsing, geospatial
eqsl-mcp v0.3.1 eQSL inbox, verification, AG status, last upload
qrz-mcp v0.3.1 Callsign lookup, DXCC, logbook status/fetch
lotw-mcp v0.3.1 LoTW confirmations, QSOs, DXCC credits, user activity
hamqth-mcp v0.4.0 Callsign lookup, DXCC, bio, activity, DX spots, RBN, QSO verify
pota-mcp v0.2.1 Parks on the Air spots, park info, stats, schedules
sota-mcp v0.1.5 Summits on the Air spots, alerts, summit info, stats
solar-mcp v0.2.0 Space weather conditions, forecasts, band outlook
wspr-mcp v0.3.1 WSPR beacon spots, propagation, band activity
iota-mcp v0.1.1 Islands on the Air lookup, search, nearby groups
n1mm-mcp v0.1.3 N1MM Logger+ contest state via UDP
ionis-mcp v1.2.8 HF propagation analytics (175M+ signatures)
qsp-mcp v0.2.1 Local LLM ↔ MCP tool relay

Authenticated servers use qso-graph-auth for persona lookup and keyring-backed credentials. Operators install only the servers they need. Each server is independently versioned with no unnecessary dependencies.

Compliance & Provenance

adif-mcp follows the ADIF Specification (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

License

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

Recommended Servers

playwright-mcp

playwright-mcp

A Model Context Protocol server that enables LLMs to interact with web pages through structured accessibility snapshots without requiring vision models or screenshots.

Official
Featured
TypeScript
Magic Component Platform (MCP)

Magic Component Platform (MCP)

An AI-powered tool that generates modern UI components from natural language descriptions, integrating with popular IDEs to streamline UI development workflow.

Official
Featured
Local
TypeScript
Audiense Insights MCP Server

Audiense Insights MCP Server

Enables interaction with Audiense Insights accounts via the Model Context Protocol, facilitating the extraction and analysis of marketing insights and audience data including demographics, behavior, and influencer engagement.

Official
Featured
Local
TypeScript
VeyraX MCP

VeyraX MCP

Single MCP tool to connect all your favorite tools: Gmail, Calendar and 40 more.

Official
Featured
Local
graphlit-mcp-server

graphlit-mcp-server

The Model Context Protocol (MCP) Server enables integration between MCP clients and the Graphlit service. Ingest anything from Slack to Gmail to podcast feeds, in addition to web crawling, into a Graphlit project - and then retrieve relevant contents from the MCP client.

Official
Featured
TypeScript
Kagi MCP Server

Kagi MCP Server

An MCP server that integrates Kagi search capabilities with Claude AI, enabling Claude to perform real-time web searches when answering questions that require up-to-date information.

Official
Featured
Python
E2B

E2B

Using MCP to run code via e2b.

Official
Featured
Neon Database

Neon Database

MCP server for interacting with Neon Management API and databases

Official
Featured
Exa Search

Exa Search

A Model Context Protocol (MCP) server lets AI assistants like Claude use the Exa AI Search API for web searches. This setup allows AI models to get real-time web information in a safe and controlled way.

Official
Featured
Qdrant Server

Qdrant Server

This repository is an example of how to create a MCP server for Qdrant, a vector search engine.

Official
Featured