Eqsl Mcp

io.github.qso-graph由 GitHub 账号 qso-graph 发布v0.6.2更新于 Nov 3, 2026

eQSL.cc MCP server. Inbox download, QSO verification, Authenticity Guaranteed status.

已验证STDIO仅桌面沟通与协作数据与分析

概览

AI 生成的概览

面向 eQSL.cc 的本地 MCP 服务器,让助手下载收到的 eQSL、核验 QSO、查询 AG 状态和上传记录。

可以做什么
  • 按日期和确认状态筛选下载收到的 eQSL,或以原始 ADIF 文本导出整个收件箱以便导入日志软件
  • 核验某个 QSO 是否存在于 eQSL,并查询呼号是否具备 Authenticity Guaranteed(AG)状态
  • 查询某个 persona 最近一次向 eQSL 上传 QSO 的时间
  • 返回服务版本以及所使用的 eQSL.cc 上游接口版本
适用场景
适合使用日志软件并希望让助手查看已收到的 eQSL 确认、核实某次通联是否存在,或查询对方呼号 AG 状态的业余无线电操作者,无需打开 eQSL.cc 网站。
运行要求
以 Python 包形式通过 uvx 在本机运行,需要 Python 工具链。需要凭据的工具要求先安装 qso-graph-auth,创建 persona、启用 eqsl provider 并在其中保存 eQSL 用户名和密码。核验与 AG 查询工具无需凭据,另提供模拟模式用于测试。
安装前请注意
收件箱与下载工具需要你的 eQSL.cc 账号凭据,凭据由 qso-graph-auth 保存,而非本服务器自身配置。下载会返回收件箱内容,导出的 ADIF 应视为个人数据。AG 名单在本地缓存四小时,状态可能滞后于 eQSL。

安装

在 SourceWeft 中

  1. 打开 控制台中的 Eqsl Mcp,将其添加到工作区。
  2. 为需要使用其工具的对话启用该服务。

Desktop only,通过 STDIO。 STDIO 服务会启动本地进程,因此需要 SourceWeft 桌面宿主。

其他 MCP 客户端

参照 仓库 中的启动说明。

README

eqsl-mcp

[PyPI] [MCP Registry]

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.

Install

bash
uvx eqsl-mcp            # run it; nothing to install

Tools

ToolAuthDescription
eqsl_inboxYesDownload incoming eQSLs with date/confirmation filters
eqsl_verifyNoCheck if a specific QSO exists in eQSL
eqsl_ag_checkNoCheck if a callsign has AG (Authenticity Guaranteed) status
eqsl_downloadYesDownload your eQSL inbox as raw ADIF, to import into your logger
eqsl_last_uploadNoWhen did a persona last upload to eQSL
get_version_infoNoService version + upstream eQSL.cc endpoint version (fleet identity attestation)

Quick Start

1. Set up credentials

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

bash
# Install qso-graph-auth if you haven'tuv tool install qso-graph-auth
# A persona (your callsign and the dates it covers), then eQSL for itqso-graph-auth persona add --name ki7mt --callsign KI7MT --start 2020-01-01qso-graph-auth provider enable ki7mt eqslqso-graph-auth creds set ki7mt eqsl      # asks for your username, then your password (hidden)

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

2. Configure your MCP client

eqsl-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):

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

Add to .claude/settings.json:

json
{  "mcpServers": {    "eqsl": {      "command": "uvx",      "args": ["eqsl-mcp"]    }  }}
ChatGPT Desktop

ChatGPT supports MCP via the OpenAI Agents SDK. Add under Settings > Apps & Connectors, or configure in your agent definition:

json
{  "mcpServers": {    "eqsl": {      "command": "uvx",      "args": ["eqsl-mcp"]    }  }}
Cursor

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

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

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

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

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

json
{  "mcpServers": {    "eqsl": {      "command": "uvx",      "args": ["eqsl-mcp"]    }  }}

3. Ask questions

"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"

Testing Without Credentials

The two public tools (eqsl_verify and eqsl_ag_check) work without any credentials.

For eqsl_inbox testing, set the mock environment variable:

bash
EQSL_MCP_MOCK=1 eqsl-mcp

Or point to a local ADIF file:

bash
EQSL_MCP_MOCK=1 EQSL_MCP_ADIF=/path/to/test.adi eqsl-mcp

MCP Inspector

bash
eqsl-mcp --transport streamable-http --port 8001

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

Development

bash
git clone https://github.com/qso-graph/eqsl-mcp.gitcd eqsl-mcpuv sync --group devuv run pytest

Date Formats

eQSL uses different date formats across endpoints. eqsl-mcp normalizes everything — you always use YYYY-MM-DD:

You provideeqsl-mcp sendsEndpoint
2026-03-01202603010000DownloadInBox (RcvdSince)
2026-03-0103/01/2026VerifyQSO (QSODate)

Mode Matching

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.

Known Quirks

  • AG list cache: the Authenticity Guaranteed member list is cached for 4 hours (eQSL updates it about six times a day), in ~/.cache/eqsl-mcp/ag_members.txt ($XDG_CACHE_HOME if set; %LOCALAPPDATA%\eqsl-mcp\ on Windows).
  • Inbox download: eQSL returns an HTML page that links to the .adi file, so the inbox is fetched in two steps. If eQSL answers with ADIF directly, that is used as is.

License

GPL-3.0-or-later

来源:README.md,提交 8053c03

工具

6

get_version_info

Get Version Info

Get eqsl-mcp service version and upstream eQSL.cc endpoint version. Returns the running PyPI version of eqsl-mcp and the eQSL.cc endpoint contract in use. Use this to confirm fleet alignment across MCP deployments — agents can compare service_version and spec_version across servers to detect drift without going outside the MCP protocol.

无需输入参数。

eqsl_inbox

Eqsl Inbox

Download incoming eQSLs (confirmations others have sent you).

输入参数sincepersona必填qth_nicknameconfirmed_onlyunconfirmed_only

eqsl_verify

Eqsl Verify

Check if a specific QSO exists in eQSL (public, no auth required).

输入参数band必填modeto_call必填qso_date必填from_call必填

eqsl_ag_check

Eqsl Ag Check

Check if a callsign has Authenticity Guaranteed (AG) status on eQSL. Public, no auth required. Uses a cached copy of the AG member list (refreshed every 4 hours).

输入参数callsign必填

eqsl_download

Eqsl Download

Download your complete eQSL inbox as raw ADIF text. Returns the .adi file content — save to disk for import into your logger. Omit 'since' to download your entire inbox history.

输入参数sincepersona必填qth_nickname

eqsl_last_upload

Eqsl Last Upload

Check when a persona last uploaded QSOs to eQSL.

输入参数persona必填

版本历史

11
  1. v0.6.2最新Oct 29, 2026
  2. v0.5.0Oct 26, 2026
  3. v0.4.3Oct 26, 2026
  4. v0.4.1Oct 26, 2026
  5. v0.4.0Oct 12, 2026
  6. v0.3.8Oct 11, 2026
  7. v0.3.7Oct 7, 2026
  8. v0.3.6Oct 6, 2026
  9. v0.3.5Oct 4, 2026
  10. v0.3.4Sep 29, 2026
  11. v0.2.0Sep 16, 2026

评分

已满足适用检查项的 90%

该评分衡量此收录条目的完整程度,依据注册中心条目、端点与公开来源计算得出。它不是对服务器本身的评价,也不表示服务器安全或当前可用:可连通性是带日期的检查结果,评分也不包含安装量或用户评价。

  • 近 30 天内可连通25 分
  • 已声明认证方式10 分

    请在注册中心条目中声明凭据请求头,或保持端点能够响应探测,以便判定其认证方式。

  • 已列出工具必需15 分
  • 描述必需15 分
  • 图标10 分
  • 文档15 分
  • 许可证10 分