io.github.qso-graph/hamqth-mcp icon

hamqth-mcp

by qso-graph

io.github.qso-graph/hamqth-mcp

HamQTH.com MCP server. Free callsign lookup, DX spots, RBN data, SAVP verification.

hamqth-mcp

MCP server for HamQTH.com — free callsign lookup, DXCC resolution, biography, and recent activity through any MCP-compatible AI assistant.

Part of the qso-graph project. Depends on adif-mcp for persona and credential management.

Install

pip install hamqth-mcp

Tools

Tool Auth Description
hamqth_lookup Yes Callsign lookup (name, grid, DXCC, coordinates, QSL preferences)
hamqth_dxcc No Resolve DXCC entity from callsign or ADIF code
hamqth_bio Yes Fetch operator biography
hamqth_activity Yes Recent DX cluster, RBN, and logbook activity

Quick Start

1. Create a free HamQTH account

Sign up at hamqth.com — it's free, no subscription required.

2. Set up credentials

hamqth-mcp uses adif-mcp personas for credential management:

# Install adif-mcp if you haven't
pip install adif-mcp

# Create a persona and add HamQTH credentials
adif-mcp persona create ki7mt --callsign KI7MT
adif-mcp persona provider ki7mt hamqth --username KI7MT
adif-mcp persona secret ki7mt hamqth

3. Configure your MCP client

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

Claude Code

Add to .claude/settings.json:

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

ChatGPT Desktop

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

Cursor

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

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

VS Code / GitHub Copilot

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

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

Gemini CLI

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

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

4. Ask questions

"Look up the callsign OK2CQR"

"What DXCC entity is VP8PJ?"

"Show me the biography for OK2CQR"

"What's the recent activity for KI7MT?"

Testing Without Credentials

The DXCC tool (hamqth_dxcc) works without any credentials — it uses a public endpoint.

For testing all tools without a HamQTH account:

HAMQTH_MCP_MOCK=1 hamqth-mcp

MCP Inspector

hamqth-mcp --transport streamable-http --port 8005

Then open the MCP Inspector at http://localhost:8005.

Development

git clone https://github.com/qso-graph/hamqth-mcp.git
cd hamqth-mcp
pip install -e .

License

GPL-3.0-or-later