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 分