Js8call Mcp

io.github.qso-graph由 GitHub 帳號 qso-graph 發布v0.1.0更新於 Nov 2, 2026

JS8Call MCP server for HF messaging: decode stream, heard stations, message traffic

已驗證STDIO僅桌面溝通與協作資料與分析

概覽

AI 產生的概覽

唯讀的 MCP 伺服器,讓助理透過 WSJT-X(及 JS8Call)的 UDP 解碼流查詢短波電台目前聽到什麼。

可以做什麼
  • 回報誰在呼叫 CQ 以及類型:一般、DX、活動、比賽、地區或頻率
  • 顯示各 WSJT-X 實例的刻度頻率、波段、模式、DX 呼號與網格,以及發射狀態
  • 列出近期解碼並拆解為呼叫方、被呼叫方、網格、報告與結束語,可依呼號、僅 CQ、SNR、波段篩選
  • 彙整已聽到的電台及其最近 SNR、網格、模式與波段,以及 WSPR 觀測
  • 診斷監聽器:監聽位址、允許的傳送方、丟棄的資料包與各 WSJT-X 版本
適用情境
適合使用 WSJT-X、JTDX、WSJT-Z、MSHV 或 JS8Call 的業餘無線電玩家,以自然語言詢問助理誰在呼叫 CQ、聽到了什麼,或為什麼沒有資料出現,而不必離開電台軟體。
執行需求
以 Python 套件透過 uvx(jt-mcp)在本機執行,不需帳號或 API 金鑰。需將 WSJT-X 的 UDP 訊息送到預設的 127.0.0.1 連接埠 2237,或以 --udp-port 指定連接埠。若 WSJT-X 在另一台電腦,需以 --bind 指定本機位址,並以 --allow 列出每個傳送方 IP。
安裝前請注意
設計上唯讀:從不向 WSJT-X 送出訊息,無法應答呼叫、觸發發射或變更設定。同一個 UDP 連接埠只能有一個程式監聽,可能與佔用 2237 的 GridTracker 或 JTAlert 衝突。允許清單可擋下其他機器,但無法證明資料包真正來源,UDP 位址可被偽造;偽造封包可能誤導對電台活動的判斷,但不會造成任何動作。伺服器本身說明仍在開發中,尚無可用工具。

安裝

在 SourceWeft 中

  1. 開啟 儀表板中的 Js8call Mcp,將其新增到工作區。
  2. 為需要使用其工具的對話啟用該服務。

Desktop only,透過 STDIO。 STDIO 服務會啟動本機處理程序,因此需要 SourceWeft 桌面主機。

其他 MCP 客戶端

參照 儲存庫 中的啟動說明。

README

jt-mcp

[PyPI]

Ask an AI app what WSJT-X is hearing. WSJT-X sends what it is doing and every decode to a UDP Server address; jt-mcp listens there and answers: who is calling CQ, and what kind of CQ (DX, POTA, a contest, a region), who has been heard and how well, what WSJT-X is tuned to, recent decodes and WSPR spots.

Read-only, permanently. jt-mcp never sends WSJT-X a message, so it cannot answer a call, key your transmitter or change a setting. No write, no PTT, no transmit control — a permanent constraint, not a first-version limit. The tests assert it against the source.

WSJT-X first, and WSJT-X defines the protocol. The UDP message definitions come from the WSJT-X project — Network/NetworkMessage.hpp, at the schema WSJT-X states — because the project that owns a definition is its authority. The code is qso-graph-lib's, the same that qso-graph-sim plays WSJT-X's messages with. JTDX, WSJT-Z and MSHV are supported where they work with those definitions, and where one does not, its difference is not implemented here. JS8Call, whose API is its own, follows WSJT-X.

This server was js8call-mcp until 2026-10-29. Part of the qso-graph project.

Install

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

Set up WSJT-X

In WSJT-X: File, Settings, Reporting, UDP Server: 127.0.0.1, port 2237 (WSJT-X's defaults). That is all jt-mcp needs when WSJT-X runs on the same PC.

Only one program can listen on a UDP port. If GridTracker, JTAlert or another logger already listens on 2237, give jt-mcp a different port (--udp-port) and point WSJT-X at that one.

Tools

ToolAnswers
jt_cqWho is calling CQ, and what kind: plain, DX, activity (POTA, SOTA, WWFF, IOTA), contest (TEST, FD, RU, WW), region (NA, EU, ...), or a frequency (CQ 290). The latest per station
jt_statusWhat each WSJT-X is doing: dial frequency and band, mode, DX call and grid, Tx enabled or transmitting, your call and grid
jt_decodesRecent decodes, each read into its parts (who is calling whom, grid, report, sign-off); filter by callsign, CQ only, SNR, band
jt_heardStations heard: how often, last SNR, last grid, mode and band
jt_wsprWSPR spots WSJT-X decoded: call, grid, power, SNR, drift
jt_diagnosticsThe listener: where it listens, who may send, what arrived, what was dropped and from where, each WSJT-X's version
get_version_infoService version and status

Times are UTC. Several WSJT-X instances (two radios, two bands) are kept apart by the Id each sends, such as WSJT-X - FT-991A.

Questions it will answer

"Who's calling CQ POTA on 20 m right now?"

"Any DX calling CQ in the last ten minutes, strongest first?"

"Has W9XYZ been heard, and how strong?"

"What is WSJT-X tuned to, and is Tx enabled?"

"Why isn't anything showing up?" — jt_diagnostics

Configure your MCP client

jt-mcp works with any MCP-compatible client. Add the server and restart the client.

Claude Desktop

Add to claude_desktop_config.json (~/Library/Application Support/Claude/ on macOS, %APPDATA%\Claude\ on Windows):

json
{  "mcpServers": {    "jt": {      "command": "uvx",      "args": ["jt-mcp"]    }  }}
Claude Code
bash
claude mcp add jt -- uvx jt-mcp
ChatGPT Desktop

Configure via Settings > Apps & Connectors, or in your agent definition, with the same command and args as above.

WSJT-X on another PC

By default jt-mcp listens on 127.0.0.1, this PC alone. For WSJT-X on another PC, give one address of this PC with --bind, and name each PC that may send with --allow:

json
"args": ["jt-mcp", "--bind", "192.168.1.50", "--allow", "192.168.1.40"]

and set WSJT-X's UDP Server to 192.168.1.50. Listening on every interface at once (0.0.0.0) is refused, --allow is required with a network address, and names are not accepted, only IP addresses. A datagram from anyone else is dropped unread and counted, and jt_diagnostics shows the count and the addresses.

What the allow list does not do. It keeps other machines out. It is not proof of who sent: a UDP sender's address can be forged by anything on the same network. What contains that is that jt-mcp only reads, so a forged datagram can mislead about what WSJT-X is doing and cannot make anything happen.

Options

jt-mcp [--bind ADDR] [--allow ADDR ...] [--udp-port N]       [--transport stdio|streamable-http] [--port N] [--version] [--help]
OptionDefault
--bind ADDR127.0.0.1where to listen for WSJT-X
--allow ADDRthis PCa PC that may send; repeatable; required with a network --bind
--udp-port N2237WSJT-X's UDP Server port
--transportstdiostreamable-http binds 127.0.0.1 only
--port N8031the streamable-http port

Licence

GPL-3.0-or-later. See LICENSE.

來源:README.md,提交 c9d0be6

工具

1

get_version_info

Get Version Info

Get this server's version and development status.

無需輸入參數。

版本歷史

5
  1. v0.1.0最新Oct 26, 2026
  2. v0.0.5Oct 26, 2026
  3. v0.0.3Oct 26, 2026
  4. v0.0.2Oct 25, 2026
  5. v0.0.1Oct 11, 2026

評分

已滿足適用檢查項的 90%

該評分衡量此收錄條目的完整程度,依據註冊中心條目、端點與公開來源計算得出。它不是對伺服器本身的評價,也不表示伺服器安全或目前可用:可連通性是帶日期的檢查結果,評分也不包含安裝量或使用者評價。

  • 近 30 天內可連通25 分
  • 已宣告認證方式10 分

    請在註冊中心條目中宣告憑證請求標頭,或保持端點能夠回應探測,以便判定其認證方式。

  • 已列出工具必需15 分
  • 描述必需15 分
  • 圖示10 分
  • 文件15 分
  • 授權條款10 分