io.github.qso-graph/lotw-mcp

Official registry Other

ARRL Logbook of The World MCP server. QSO query, QSL status, DXCC credit tracking.

Install

Add this to your client's MCP configuration (Claude Desktop: claude_desktop_config.json; Cursor: .cursor/mcp.json; VS Code and others use the same "mcpServers" shape).

PYPI package lotw-mcp
Claude Code
claude mcp add lotw-mcp -- uvx lotw-mcp==0.6.2
JSON configuration (Claude Desktop, Cursor, VS Code)
{
    "mcpServers": {
        "lotw-mcp": {
            "command": "uvx",
            "args": [
                "lotw-mcp==0.6.2"
            ]
        }
    }
}

Documentation

From the project's README on GitHub, refreshed weekly. Links open on GitHub.

Contents
  1. lotw-mcp
  2. Install
  3. Tools
  4. Quick Start
  5. Public Tool
  6. Testing Without Credentials
  7. Performance Notes
  8. MCP Inspector
  9. Development
  10. License

lotw-mcp

MCP server for ARRL Logbook of The World (LoTW) — query confirmations, uploaded QSOs, DXCC credits, and user activity through any MCP-compatible AI assistant.

Part of the qso-graph project. Read-only — uploads require TQSL digital signatures and are out of scope.

Install

uvx lotw-mcp            # run it; nothing to install

Tools

ToolAuthDescription
lotw_confirmationsYesQuery confirmed QSLs with band/mode/call/date filters
lotw_qsosYesQuery all uploaded QSOs (confirmed and unconfirmed)
lotw_dxcc_creditsYesDXCC award credits from LoTW confirmations
lotw_downloadYesDownload QSOs as ADIF file
lotw_user_activityNoCheck if a callsign uses LoTW and when they last uploaded
get_version_infoNoService version + upstream LoTW schema version (fleet identity attestation)

Quick Start

1. Set up credentials

lotw-mcp uses qso-graph-auth personas for credential management:

# Install qso-graph-auth if you haven't
uv tool install qso-graph-auth

# A persona (your callsign and the dates it covers), then LoTW for it
qso-auth persona add --name ki7mt --callsign KI7MT --start 2020-01-01
qso-auth provider enable ki7mt lotw
qso-auth creds set ki7mt lotw      # asks for your username, then your password (hidden)

All three steps are needed: without provider enable, the server reports that the persona has no lotw ref.

Note: The LoTW login is usually your callsign but not always. Pre-Sept 2019 accounts may require lowercase passwords. Avoid special characters in passwords.

2. Configure your MCP client
Claude Desktop

Add to claude_desktop_config.json (~/Library/Application Support/Claude/ on macOS, %APPDATA%\Claude\ on Windows):

{
  "mcpServers": {
    "lotw": {
      "command": "uvx",
      "args": ["lotw-mcp"]
    }
  }
}
Claude Code

Add to .claude/settings.json:

{
  "mcpServers": {
    "lotw": {
      "command": "uvx",
      "args": ["lotw-mcp"]
    }
  }
}
ChatGPT Desktop
{
  "mcpServers": {
    "lotw": {
      "command": "uvx",
      "args": ["lotw-mcp"]
    }
  }
}
Cursor

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

{
  "mcpServers": {
    "lotw": {
      "command": "uvx",
      "args": ["lotw-mcp"]
    }
  }
}
VS Code / GitHub Copilot

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

{
  "servers": {
    "lotw": {
      "command": "uvx",
      "args": ["lotw-mcp"]
    }
  }
}
Gemini CLI

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

{
  "mcpServers": {
    "lotw": {
      "command": "uvx",
      "args": ["lotw-mcp"]
    }
  }
}
3. Ask questions

"How many LoTW confirmations did I get this month?"

"Show me all unconfirmed 20m FT8 QSOs uploaded to LoTW in the last 90 days"

"What DXCC credits do I have on 40m CW?"

"Does JA1ABC use LoTW? When did they last upload?"

Public Tool

lotw_user_activity works without any credentials. It uses the public LoTW user activity CSV, cached locally for 7 days.

Testing Without Credentials

Set the mock environment variable:

LOTW_MCP_MOCK=1 lotw-mcp

Performance Notes

LoTW can be slow (30-60s for large queries). lotw-mcp uses 120s timeouts. Use date filters (since, start_date) to limit result sets.

MCP Inspector

lotw-mcp --transport streamable-http --port 8004

Development

git clone https://github.com/qso-graph/lotw-mcp.git
cd lotw-mcp
uv sync --group dev
uv run pytest

License

GPL-3.0-or-later

Frequently asked questions

What is io.github.qso-graph/lotw-mcp?

ARRL Logbook of The World MCP server. QSO query, QSL status, DXCC credit tracking.

How do I install io.github.qso-graph/lotw-mcp?

It runs on your machine. In Claude Code: claude mcp add lotw-mcp -- uvx lotw-mcp==0.6.2. For other clients, paste the JSON configuration from this page into their MCP settings.

Does io.github.qso-graph/lotw-mcp need an API key?

Its registry entry lists no required key or secret. Some features may still need an account with the service it connects to.

Is io.github.qso-graph/lotw-mcp open source?

Yes. Its code is on GitHub under the GPL-3.0 license.

Who maintains io.github.qso-graph/lotw-mcp?

It is published by qso-graph. AI.tn lists it but does not maintain or endorse it.

From the official MCP Registry. Listing is not an endorsement: review a server's code and permissions before giving it access to your data.