Config is the same across clients — only the file and path differ.
{
"mcpServers": {
"eqsl": {
"command": "eqsl-mcp"
}
}
}Are you the author?
Add this badge to your README to show your security score and help users find safe servers.
MCP server for eQSL.cc — download incoming eQSLs, verify QSOs, check AG status, and query upload history through any MCP-compatible AI assistant.
Run this in your terminal to verify the server starts. Then let us know if it worked — your result helps other developers.
uvx 'eqsl-mcp' 2>&1 | head -1 && echo "✓ Server started successfully"
After testing, let us know if it worked:
Five weighted categories — click any category to see the underlying evidence.
No known CVEs.
Checked eqsl-mcp against OSV.dev.
Be the first to review
Have you used this server?
Share your experience — it helps other developers decide.
Sign in to write a review.
Others in communication
Asynchronous coordination layer for AI coding agents: identities, inboxes, searchable threads, and advisory file leases over FastMCP + Git + SQLite
A Model Context Protocol (MCP) server for interacting with Microsoft 365 and Office services through the Graph API
PubNub Model Context Protocol MCP Server for Cursor and Claude
IMAP/SMTP email MCP server — 47 tools, IMAP IDLE push, multi-account, AI triage.
MCP Security Weekly
Get CVE alerts and security updates for io.github.qso-graph/eqsl-mcp and similar servers.
Start a conversation
Ask a question, share a tip, or report an issue.
Sign in to join the discussion.
MCP server for eQSL.cc — download incoming eQSLs, verify QSOs, check AG status, and query upload history through any MCP-compatible AI assistant.
Part of the qso-graph project. Uses qso-graph-auth for credential management.
pip install eqsl-mcp
| Tool | Auth | Description |
|---|---|---|
eqsl_inbox | Yes | Download incoming eQSLs with date/confirmation filters |
eqsl_verify | No | Check if a specific QSO exists in eQSL |
eqsl_ag_check | No | Check if a callsign has AG (Authenticity Guaranteed) status |
eqsl_download | Yes | Download eQSL card images |
eqsl_last_upload | No | When did a persona last upload to eQSL |
get_version_info | No | Service version + upstream eQSL.cc endpoint version (fleet identity attestation) |
eqsl-mcp uses qso-graph-auth personas for credential management:
# Install qso-graph-auth if you haven't
pip install qso-graph-auth
# Create a persona and add eQSL credentials
qso-auth persona create ki7mt --callsign KI7MT
qso-auth persona provider ki7mt eqsl --username KI7MT
qso-auth persona secret ki7mt eqsl
eqsl-mcp works with any MCP-compatible client. Add the server config and restart — tools appear automatically.
Add to claude_desktop_config.json (~/Library/Application Support/Claude/ on macOS, %APPDATA%\Claude\ on Windows):
{
"mcpServers": {
"eqsl": {
"command": "eqsl-mcp"
}
}
}
Add to .claude/settings.json:
{
"mcpServers": {
"eqsl": {
"command": "eqsl-mcp"
}
}
}
ChatGPT supports MCP via the OpenAI Agents SDK. Add under Settings > Apps & Connectors, or configure in your agent definition:
{
"mcpServers": {
"eqsl": {
"command": "eqsl-mcp"
}
}
}
Add to .cursor/mcp.json (project-level) or ~/.cursor/mcp.json (global):
{
"mcpServers": {
"eqsl": {
"command": "eqsl-mcp"
}
}
}
Add to .vscode/mcp.json in your workspace:
{
"servers": {
"eqsl": {
"command": "eqsl-mcp"
}
}
}
Add to ~/.gemini/settings.json (global) or .gemini/settings.json (project):
{
"mcpServers": {
"eqsl": {
"command": "eqsl-mcp"
}
}
}
"Show me all eQSLs received this week"
"How many unconfirmed eQSLs do I have on 20m FT8?"
"Does W1AW have AG status on eQSL?"
"Verify my QSO with KI7MT on 20m on March 1, 2026"
The two public tools (eqsl_verify and eqsl_ag_check) work without any credentials.
For eqsl_inbox testing, set the mock environment variable:
EQSL_MCP_MOCK=1 eqsl-mcp
Or point to a local ADIF file:
EQSL_MCP_MOCK=1 EQSL_MCP_ADIF=/path/to/test.adi eqsl-mcp
eqsl-mcp --transport streamable-http --port 8001
Then open the MCP Inspector at http://localhost:8001.
git clone https://github.com/qso-graph/eqsl-mcp.git
cd eqsl-mcp
pip install -e .
eQSL uses different date formats across endpoints. eqsl-mcp normalizes everything — you always use YYYY-MM-DD:
| You provide | eqsl-mcp sends | Endpoint |
|---|---|---|
2026-03-01 | 202603010000 | DownloadInBox (RcvdSince) |
2026-03-01 | 03/01/2026 | VerifyQSO (QSODate) |
eQSL requires exact mode matching. SSB won't match USB/LSB. PSK won't match PSK31. Use the exact mode logged by the other station.
GPL-3.0-or-later