关于 jt-mcp
jt-mcp 是面向 WSJT-X 用户和 AI 应用的只读 MCP 服务。它监听 WSJT-X 的 UDP 消息,并提供状态、解码、CQ 活动、已听到的电台和 WSPR 观测信息,不控制电台。
主要功能
- 01WSJT-X 状态与调谐信息
- 02CQ 活动及类别筛选
- 03近期解码搜索与筛选
- 04已听电台的信号记录
- 05WSPR 观测详情
- 06UDP 监听诊断
适用场景
- 01查询正在呼叫 CQ POTA 的电台
- 02按信号强度查看近期 DX 解码
- 03确认是否听到某电台及其 SNR
- 04排查未收到 UDP 消息的原因
MCP 相关
通过 MCP 工具向兼容客户端提供 WSJT-X 信息。它始终为只读服务,不能向 WSJT-X 发送命令。
配置
本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。
工具
7收录的工具列表 · 更新于 2 周前
此工具无需参数。
详细介绍
jt-mcp
询问 AI 应用 WSJT-X 正在听到什么。 WSJT-X 会将运行状态和每条解码结果发送到 UDP 服务地址;jt-mcp 在该地址监听并回答:谁在呼叫 CQ,以及呼叫的类型(DX、POTA、比赛或地区);听到了哪些电台,信号有多强;WSJT-X 调谐到了什么频率;以及近期解码结果和 WSPR 信标。
始终只读。 jt-mcp 从不向 WSJT-X 发送消息,因此无法应答呼叫、控制发射机或更改设置。没有写入、没有 PTT、没有发射控制——这是永久限制,并非首个版本的限制。测试会依据源代码验证这一点。
优先支持 WSJT-X,协议以 WSJT-X 的定义为准。 UDP 消息定义来自 WSJT-X 项目——Network/NetworkMessage.hpp,采用 WSJT-X 声明的架构——因为拥有定义的项目才是权威。代码来自
qso-graph-lib,与
qso-graph-sim 用于模拟 WSJT-X 消息的代码相同。在兼容这些定义的情况下支持 JTDX、WSJT-Z 和 MSHV;如果某个程序不兼容,其差异不会在此实现。JS8Call 使用自己的 API,但仍遵循 WSJT-X。
此服务在 2026-10-29 之前名为 js8call-mcp。它是 qso-graph 项目的一部分。
安装
uvx jt-mcp # run it; nothing to install
设置 WSJT-X
在 WSJT-X 中选择:文件、设置、报告、UDP 服务器:127.0.0.1,端口 2237(WSJT-X 默认值)。如果 WSJT-X 和 jt-mcp 在同一台电脑上运行,这就是 jt-mcp 所需的全部设置。
一个 UDP 端口只能由一个程序监听。如果 GridTracker、JTAlert 或其他日志记录程序已在监听 2237,请为 jt-mcp 指定其他端口(--udp-port),并让 WSJT-X 将消息发送到该端口。
工具
| 工具 | 可回答的问题 |
|---|---|
jt_cq | 谁在呼叫 CQ,以及呼叫类型:普通、DX、活动(POTA、SOTA、WWFF、IOTA)、比赛(TEST、FD、RU、WW)、地区(NA、EU、……)或频率(CQ 290)。每个电台的最新呼叫 |
jt_status | 每个 WSJT-X 的运行状态:拨盘频率和波段、模式、DX 呼号和网格、Tx 是否已启用或正在发射、你的呼号和网格 |
jt_decodes | 近期解码结果,每条都会拆解为各个部分(谁在呼叫谁、网格、报告、结束语);可按呼号、仅 CQ、SNR、波段筛选 |
jt_heard | 已听到的电台:出现次数、最近一次 SNR、最近一次网格、模式和波段 |
jt_wspr | WSJT-X 解码的 WSPR 信标:呼号、网格、功率、SNR、频漂 |
jt_diagnostics | 监听器状态:监听位置、允许发送的对象、收到的内容、丢弃的内容及其来源、每个 WSJT-X 的版本 |
get_version_info | 服务版本和状态 |
时间均为 UTC。多个 WSJT-X 实例(两台电台、两个波段)会根据各自发送的 Id 分开记录,例如 WSJT-X - FT-991A。
可以回答的问题
“现在有谁在 20 m 波段呼叫 CQ POTA?”
“过去十分钟内有人在呼叫 CQ DX 吗?按信号强度从强到弱排序。”
“听到过 W9XYZ 吗?信号有多强?”
“WSJT-X 调谐到了什么频率?Tx 已启用吗?”
“为什么什么都没有显示?”——
jt_diagnostics
配置 MCP 客户端
jt-mcp 兼容任何支持 MCP 的客户端。添加服务并重启客户端。
Claude Desktop
将以下内容添加到 claude_desktop_config.json(macOS 上为 ~/Library/Application Support/Claude/,Windows 上为 %APPDATA%\Claude\):
{
"mcpServers": {
"jt": {
"command": "uvx",
"args": ["jt-mcp"]
}
}
}
Claude Code
claude mcp add jt -- uvx jt-mcp
ChatGPT Desktop
通过“设置”>“应用和连接器”进行配置,或在 Agent 定义中使用与上文相同的 command 和 args。
另一台 PC 上的 WSJT-X
默认情况下,jt-mcp 仅在 127.0.0.1 上监听,也就是仅限本机。若要在另一台 PC 上运行 WSJT-X,请使用 --bind 指定本机的一个地址,并使用 --allow 指定每台可能发送数据的 PC:
"args": ["jt-mcp", "--bind", "192.168.1.50", "--allow", "192.168.1.40"]
然后将 WSJT-X 的 UDP Server 设置为 192.168.1.50。不允许同时在所有网络接口上监听(0.0.0.0);使用网络地址时必须指定 --allow,且只接受 IP 地址,不接受名称。来自其他设备的数据报会被直接丢弃,不予读取,并计入统计;jt_diagnostics 会显示计数和相关地址。
允许列表无法做到的事。 它可以阻止其他机器接入,但不能证明发送者是谁:同一网络上的任何设备都可以伪造 UDP 发送方地址。jt-mcp 仅负责读取,因此伪造的数据报可能会误导你对 WSJT-X 正在执行什么操作的判断,但无法触发任何操作。
选项
jt-mcp [--bind ADDR] [--allow ADDR ...] [--udp-port N]
[--transport stdio|streamable-http] [--port N] [--version] [--help]
| 选项 | 默认值 | |
|---|---|---|
--bind ADDR | 127.0.0.1 | 监听 WSJT-X 的地址 |
--allow ADDR | 本机 | 允许发送数据的 PC;可重复指定;使用网络 --bind 时必需 |
--udp-port N | 2237 | WSJT-X 的 UDP Server 端口 |
--transport | stdio | streamable-http 仅绑定到 127.0.0.1 |
--port N | 8031 | streamable-http 端口 |
许可证
GPL-3.0-or-later。请参阅 LICENSE。
评论
一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。