原型 · 预览版:收录官方注册中心里的全部服务器,每 30 分钟同步一次。评价和账户功能将在后续阶段推出。
PopNx MCP为使用 AI 的人准备的 MCP 服务器 · 用大白话讲清楚

Wsjtx MCP

作者:sbrunner-atx版本 0.1.3i★ –i在你的电脑上运行
注册名称io.github.sbrunner-atx/wsjtx-mcp

安装

概览

作者提供的说明(英文原文)

Operate WSJT-X (FT8/FT4/WSPR) from MCP clients over its UDP message protocol.

PopNx MCP 的三大支柱

这三项永远不会合并成一个分数:意见、测量和人气是不同的东西。

它能帮你做什么

我们还没有为它写通俗的介绍。下面是我们从注册中心读取到的事实。

  • 连接方式: 在你的电脑上运行
  • 传输方式: stdio
  • 分类: 其他

安装

选择你使用的 AI 应用,然后复制设置。

安装之前

  • 基础检查:1 项中通过 1 项
  • 在你的电脑上运行,拥有你的用户账户的权限(文件、网络、应用)。
  • 需要你自己填写: WSJTX_CALLSIGN, WSJTX_HOST, WSJTX_PORT, WSJTX_MULTICAST, WSJTX_INSTANCE

你需要

  • PyPI已安装 Python 的 uv(用于 uvx 命令)

你用的是哪个应用?

在上方选择你的应用。我们会记住它,下次按钮会显示“安装到 …”。

打开 Claude Desktop → Settings → Developer → Edit Config,把下面的内容粘贴到 claude_desktop_config.json

{
  "mcpServers": {
    "wsjtx": {
      "command": "uvx",
      "args": [
        "wsjtx-mcp"
      ],
      "env": {
        "WSJTX_CALLSIGN": "your-value",
        "WSJTX_HOST": "your-value",
        "WSJTX_PORT": "your-value",
        "WSJTX_MULTICAST": "your-value",
        "WSJTX_INSTANCE": "your-value"
      }
    }
  }
}

在终端中运行这条命令

claude mcp add wsjtx --env WSJTX_CALLSIGN=your-value --env WSJTX_HOST=your-value --env WSJTX_PORT=your-value --env WSJTX_MULTICAST=your-value --env WSJTX_INSTANCE=your-value -- uvx wsjtx-mcp

运行前请先填写空着的值。

在 Cursor 中打开

或者自己复制设置

粘贴到项目中的 .cursor/mcp.json,或 ~/.cursor/mcp.json

{
  "mcpServers": {
    "wsjtx": {
      "command": "uvx",
      "args": [
        "wsjtx-mcp"
      ],
      "env": {
        "WSJTX_CALLSIGN": "your-value",
        "WSJTX_HOST": "your-value",
        "WSJTX_PORT": "your-value",
        "WSJTX_MULTICAST": "your-value",
        "WSJTX_INSTANCE": "your-value"
      }
    }
  }
}

浏览器会先询问是否打开应用,然后应用会显示设置并请你确认。密钥的值会留空,由你自己填写。

在 VS Code 中打开

或者自己复制设置

粘贴到项目中的 .vscode/mcp.json

{
  "servers": {
    "wsjtx": {
      "type": "stdio",
      "command": "uvx",
      "args": [
        "wsjtx-mcp"
      ],
      "env": {
        "WSJTX_CALLSIGN": "your-value",
        "WSJTX_HOST": "your-value",
        "WSJTX_PORT": "your-value",
        "WSJTX_MULTICAST": "your-value",
        "WSJTX_INSTANCE": "your-value"
      }
    }
  }
}

浏览器会先询问是否打开应用,然后应用会显示设置并请你确认。密钥的值会留空,由你自己填写。

这个服务器在你的电脑上运行,而 ChatGPT 只能连接互联网上的服务器。请选择其他应用。

你的选择通过 Cookie 保存在这台设备上,无需账户。

需要你填写的值

  • WSJTX_CALLSIGN env
    Operator callsign — the single transmit gate. Blank = receive-only (refuses all transmit-initiating messages).
  • WSJTX_HOST env
    Address to bind/receive WSJT-X UDP broadcasts on. For a remote WSJT-X use 127.0.0.1 with the mcp-host-bridge 'wsjtx' service and set the port to 2238.
  • WSJTX_PORT env
    WSJT-X Settings → Reporting → UDP Server port. Default 2237. Enable 'Accept UDP requests' for control.
  • WSJTX_MULTICAST env
    Optional multicast group to join so multiple UDP consumers can coexist. Blank = unicast.
  • WSJTX_INSTANCE env
    Optional WSJT-X instance Id to target when several broadcast here.

这些设置是根据作者在注册中心的条目生成的。如果 README 的写法不同,请以 README 为准。

它能做什么

它在你的电脑上运行;安装后,工具列表会显示在你的 AI 应用中。

基础检查i

我们检查的是任何人都能看到的信息;我们没有阅读代码。不适用的检查项不计入总数。 · 检查于 2026年11月9日

  • ✓ 通过

    作者与仓库一致

    注册名称已通过 GitHub 账户 sbrunner-atx 验证,该账户拥有此仓库

  • … 尚未检查

    仍在维护

    我们还没有从 GitHub 读取这个仓库

  • … 尚未检查

    有许可证

    我们还没有从 GitHub 读取这个仓库

  • – 不适用

    端点有响应

    它在你的电脑上运行,没有互联网端点

  • – 不适用

    使用 OAuth 登录

    在你的电脑上运行,改用本地设置

  • … 尚未检查

    工具描述中没有隐藏指令

    它在你的电脑上运行;我们只能读取互联网端点的工具列表

与“其他”中的其他服务器比较i

  • 星标数多于此分类中其他 18881 个服务器的 0%
  • 发布到注册中心的时间比此分类中其他 18881 个服务器的 35% 更新
  • 基础检查结果等于或优于此分类中其他 18881 个服务器的 100%

与注册中心里这个分类中所有活跃的服务器比较。只有当发布者拥有该仓库时,星标数才计入。

常见问题

Wsjtx MCP 安全吗?

它在 1 项适用的基础检查中通过了 1 项。我们没有阅读代码。在添加密钥或令牌之前,请先看看这个服务器要求哪些权限,并使用只具备所需权限的密钥。

它需要哪些密钥或代码?

注册中心没有列出必需的密钥,不过有些服务器会在首次使用时要求你登录。

它在我的电脑上运行还是在云端?

它在你的电脑上运行。你的 AI 应用会在需要时启动它,数据不会经过作者的服务器(除非它自己调用在线服务)。

它还在维护吗?

GitHub 仓库最后更新于–,最新版本(0.1.3)于2个月前进入注册中心。

哪些应用可以使用它?

支持 MCP 的应用,例如 Claude Desktop、Claude Code、Cursor 和 VS Code。你的电脑上还需要有 Python (uv)。

有什么可以替代它?

同一分类中有:Spec Driven Development, Remote Desktop Commander, MCP Tennis Match Data

替代选择

同一分类中其他作者的服务器,按星标数排序。

如何看卡片:↓ 每周下载量i★ GitHub 星标i三大支柱:评价 · 检查 · 使用情况i更新 = 最新版本发布到注册中心的时间i

Spec Driven Development

MCP Server that facilitates spec-driven development workflows, not just Vibe Coding.

作者:formulahendry起步阶段↓ 66/周★ 44014个月前更新

在你的电脑上运行

Remote Desktop Commander

Remote Desktop Commander: use files, terminal and processes on your own computers from any AI app.

作者:desktop-commander正在增长★ 2114天前更新

在云端运行✓ desktopcommander.app

MCP Tennis Match Data

ATP and WTA match results, schedules, and rankings by date

作者:mambalabsdev今天更新

在你的电脑上运行✓ mambabuilt.com

作者的 README

打开 README

按原文从作者的仓库复制。PopNx MCP 没有审查或背书其内容。HTML、图片和脚本已被移除。链接会离开本站。

wsjtx-mcp

An MCP server that controls WSJT-X (FT8/FT4/JT65/MSK144/Q65/WSPR…) from MCP clients such as Claude Desktop and the MCP Inspector.

It is the weak-signal leg of an "operate → log" trio for amateur radio:

  • [fldigi-mcp](https://github.com/sbrunner-atx/fldigi-mcp) — operate broad digital modes via fldigi (XML-RPC).
  • [n3fjp-mcp](https://github.com/sbrunner-atx/n3fjp-mcp) — log QSOs to N3FJP (TCP API).
  • wsjtx-mcp *(this one)* — operate the FT8/FT4 weak-signal world via WSJT-X (UDP message protocol).

⚠️ Experimental (v0.1). Transmit is gated behind your callsign and you keep

the operator in command. Read the Transmit safety section.

How it is different

WSJT-X does not offer a request/response API. It *broadcasts* state over UDP (Status, Decode, QSOLogged, Heartbeat, …) and honours a small set of inbound *control* messages. So this server runs a background UDP listener that continuously parses datagrams and keeps the latest status, a buffer of decodes, and completed QSOs — you read those, and nudge WSJT-X with control messages.

Consequences worth knowing up front:

  • No dial-frequency control over UDP. You can read the dial frequency from Status, and set mode/sub-mode/Rx DF/T-R period via configure, but QSY is a rig-control concern (Hamlib/CAT or the UI), not this server.
  • You can start and halt Tx, but cannot toggle "Enable Tx". Transmission is *started* by answering a CQ (reply) or by free_text with send=true, and *stopped* by transmit halt. There is no UDP command for the "Enable Tx", "Auto Seq", "Call 1st", or "Hold Tx Freq" checkboxes — those stay UI settings.
  • `reply` gives hands-free QSOs only when WSJT-X's "Auto Seq" is on. A reply is equivalent to double-clicking a CQ; with Auto Seq enabled (the usual FT8/FT4 default) WSJT-X then sequences the whole exchange to QSOLogged with no further calls. With Auto Seq *off*, reply starts only the first transmission.
  • Best for search-and-pounce, weak for RUN. The API is built to *answer* CQs (and only CQ/QRZ decodes), so S&P is fully automatable. It has no clean way to drive a repeating *call-CQ* (RUN) cycle — that needs WSJT-X's own "Enable Tx", or a free_text CQ re-sent each period.

Requirements

  • WSJT-X 2.1 through 3.x — the UDP message protocol is schema 3 / Qt_5_4 and has been stable across those releases (verified live against WSJT-X 3.0.2).
  • In WSJT-X: Settings → Reporting → UDP Server
  • UDP Server = the host running this server (default 127.0.0.1), port `2237`.
  • Accept UDP requests = ON to allow *control* (it is OFF by default). Observing decodes/status works without it; commanding does not.

Install (Claude Desktop)

Download the wsjtx-mcp.mcpb from the latest release and double-click it, or drag it onto Claude Desktop → Settings → Extensions. Fill in the settings form (callsign, host, port). See docs/INSTALL.md.

Configuration

VariableDefaultPurpose
WSJTX_HOST127.0.0.1UDP address to bind/listen on.
WSJTX_PORT2237WSJT-X UDP Server port.
WSJTX_CALLSIGN_(empty)_Operator callsign — the single transmit gate. Blank = receive-only.
WSJTX_MULTICAST_(off)_Optional multicast group to join (coexist with other UDP consumers).
WSJTX_INSTANCE_(auto)_Target a specific WSJT-X Id when several instances broadcast.

Host/port are where this server listens; control replies are sent back to the address each datagram arrived from.

Tools

ToolKindWhat it does
statusobserveLatest Status snapshot + listener/instance health.
diagnosticsobserveHost/network + bind status + datagram counts + gate state.
decodesobserve/nudgeread / drain (poll new) / clear_local / replay. The RX plane.
logobserveBuffered completed QSOs (QSOLogged + LoggedADIF) → feed N3FJP.
replytransmitAnswer a buffered CQ/QRZ decode (auto-sequences the QSO when WSJT-X "Auto Seq" is on).
free_texttransmit if sendSet the Tx5 free-text message; send=true keys the radio.
transmitcontrolhalt / halt_auto — stop transmitting (UDP can't *enable* Tx).
configurecontrolMode/sub-mode/Rx DF/T-R period/freq-tol/DX call+grid. No dial freq.
clearcontrolClear the Band Activity / Rx Frequency windows.
highlightcontrolColour or clear a callsign in Band Activity.
locationcontrolOverride the session Maidenhead grid.
switch_configcontrolSwitch to a named WSJT-X configuration.
annotatecontrolSet a Fox/Hound sort-order annotation for a DX call (niche, DXpedition).
wsjtx_callescape hatchBuild & send any message type by name (gate still applies).

Transmit safety

The callsign is the single transmit gate, exactly as in fldigi-mcp. With WSJTX_CALLSIGN blank the server is receive-only: it refuses every transmit-initiating message — reply, free_text with send=true, and any keying message via wsjtx_call. transmit halt, clear, configure, highlight, location, replay, and all reads are always available (they don't put you on the air; halt takes you *off*).

Beyond that gate:

  • Per-transmit approval comes from the Claude Desktop tool-permission prompt — lean on it for human-in-the-loop control.
  • WSJT-X's own Tx Watchdog and the Tx Enabled / Transmitting flags (surfaced in status) are extra safety signals.
  • Operating under Part 97 automatic/remote control is the operator's responsibility: ensure station identification and a control operator who can intervene.

Running alongside other UDP tools

Only one process can normally own UDP 2237 on a host. If JTAlert, GridTracker, or N1MM already consume it, either point WSJT-X's *secondary* UDP server here, use a multicast group (WSJTX_MULTICAST) so several listeners coexist, or run this server on a different host. To reach a WSJT-X on another machine, install the mcp-host-bridge tool (mcp-host-bridge install wsjtx --to ) and set WSJTX_PORT=2238 — sandboxed MCP clients reach only loopback, and the bridge does the LAN hop. See docs/REMOTE-HOST.md.

Development

uv sync

uv run ruff check . uv run pytest

The protocol codec is pure standard library and unit-tested against byte fixtures, so the tests need no running WSJT-X. A smoke_test.py proves a live WSJT-X is reachable receive-only. The field-tested message reference lives in docs/WSJTX-API.md.

License

MIT © 2026 Stefan Brunner (AE5VG)

问 PopNx