mcp-swing-17

io.github.kirnfs由 GitHub 帳號 kirnfs 發布v1.5.0-java17更新於 Nov 4, 2026

Java 17 MCP server and agent for automating Swing and JavaFX desktop applications.

已驗證STDIO僅桌面瀏覽器自動化開發者工具

概覽

AI 產生的概覽

Java 17 的 MCP 伺服器與代理,讓助理檢視並操作正在執行的 Swing 與 JavaFX 桌面應用程式。

可以做什麼
  • 依行程 ID 附加到已在執行的 Java 桌面應用程式
  • 檢視並操作 Swing 與 JavaFX 的視窗、選單和對話框
  • 關閉視窗,預設只關閉目前取得焦點的對話框
  • 在啟用對應能力時,可在目標應用程式中執行 Java 程式碼
適用情境
適合 Java Swing 或 JavaFX 桌面應用程式的開發與測試情境,讓助理操作介面或查看視窗與對話框狀態。它是開發測試工具,不適合用於正式環境或終端使用者機器。
執行需求
以 stdio 在本機執行,通常由 MCP 用戶端啟動。需要 JDK 17 以及建置完成的伺服器與代理 JAR,並透過環境變數 SWING_MCP_AGENT_JAR 指定代理 JAR 路徑。從原始碼建置需使用提供的建置腳本,首次使用時會下載 Maven。目標 Java 應用程式必須已在執行,代理才能依 PID 附加。
安裝前請注意
代理可控制正在執行的應用程式,應僅作為開發與測試工具使用。請讓 evaluate_java 保持停用,因為它會在目標應用程式中執行程式碼。代理只監聽回環位址,不要暴露其連接埠或回應檔權杖。真實滑鼠 robot 輸入預設關閉。close_window 在未明確傳入視窗索引時只關閉目前取得焦點的對話框。

安裝

在 SourceWeft 中

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

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

其他 MCP 客戶端

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

README

mcp-swing-17

MCP server and Java agent for automating Swing and JavaFX desktop applications, built for Java 17. Fork of Swing MCP.

  • Version: 1.5.0-java17
  • Upstream commit: abfacfa
  • License: MIT (see LICENSE)
  • Usage guide: USAGE.md

Contents

dist/mcp-swing-17-server.jar    MCP server (stdio)dist/mcp-swing-17-agent.jar     Java agent loaded into the target JVMdist/*.mcpb                      MCPB bundle for one-click clientsbuild.ps1                       Windows build (JDK 17)build.sh                        Linux/macOS buildmcp-swing-17-server/            server sourcesmcp-swing-17-agent/             agent sourcesmcp-swing-17-common/            shared classes

Build

powershell
powershell -NoProfile -ExecutionPolicy Bypass -File build.ps1

Requires JDK 17. Maven 3.9.9 is downloaded into .build/ on first use.

On Linux/macOS:

bash
./build.sh

or:

bash
mvn -s maven-settings.xml -DskipTests package

Run

text
SWING_MCP_AGENT_JAR=<path>/dist/mcp-swing-17-agent.jarjava -jar <path>/dist/mcp-swing-17-server.jar

The server uses stdio and is normally started by an MCP client. The agent attaches to an already running Java application by PID through attach_to_app.

json
{  "mcpServers": {    "mcp-swing-17": {      "command": "java",      "args": ["-jar", "<path>/dist/mcp-swing-17-server.jar"],      "env": {        "SWING_MCP_AGENT_JAR": "<path>/dist/mcp-swing-17-agent.jar"      }    }  }}

Differences from upstream

  1. Java 17 instead of Java 21: virtual threads replaced with a regular executor.
  2. Removed the Java 17-incompatible JMenu instanceof JMenuItem pattern.
  3. Replaced List.getFirst() with get(0).
  4. Relocated the agent's Jackson package so the target application's Jackson cannot shadow it.
  5. java.version=17, JavaFX 17.
  6. Real-mouse robot input is disabled by default.
  7. close_window closes only the focused dialog unless a windowIndex is passed explicitly.

Security

  • the agent listens on loopback only;
  • keep evaluate_java disabled;
  • use as a development/testing tool;
  • do not expose the agent port or the response-file token.

來源:README.md,提交 6f767b8

工具

0
SourceWeft 曾在隔離沙箱中以無憑證方式啟動該軟體包一次,以列出其工具,但未能完成:該軟體包類型無法在沙箱中執行。

版本歷史

1
  1. v1.5.0-java17最新Nov 4, 2026

評分

已滿足適用檢查項的 50%

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

  • 近 30 天內可連通25 分

    請保持端點能夠回應 MCP 握手;SourceWeft 每 30 天探測一次。

  • 已宣告認證方式10 分

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

  • 已列出工具15 分

    請讓伺服器在無憑證時回應 tools/list,或發布可在沙箱中無憑證啟動的軟體包。

  • 描述必需15 分
  • 圖示10 分
  • 文件15 分
  • 授權條款10 分