关于 mcp-swing-17
用于在 Java 17 上自动化 Swing 和 JavaFX 桌面应用的 MCP 服务与 Java Agent。它可按 PID 连接到正在运行的应用,支持开发和测试中的界面操作。
主要功能
- 01支持 Java 17
- 02自动化 Swing 和 JavaFX
- 03按 PID 连接运行中的应用
- 04stdio MCP 服务
- 05提供面向客户端的 MCPB 包
适用场景
- 01自动化测试 Swing 应用
- 02自动化测试 JavaFX 应用
- 03控制已运行的 Java 应用
- 04通过 MCP 客户端执行桌面自动化
MCP 相关
stdio 服务由 MCP 客户端启动,并与连接到运行中 Java 应用的 Agent 配合使用。其 MCP 工具可操作 Swing 和 JavaFX 界面。
配置
本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。
暂未收录安装方式
我们还没有获取到这个服务的安装包或远程地址,请按项目 README 中的说明安装。
工具
还没有获取到工具列表
本地服务需要在你的电脑上运行后才能读取工具,维护者暂未提供工具列表。
详细介绍
mcp-swing-17
用于自动化 Swing 和 JavaFX 桌面应用的 MCP 服务和 Java Agent,基于 Java 17 构建。由 Swing MCP 分叉而来。
- 版本:
1.5.0-java17 - 上游提交:
abfacfa - 许可证:MIT(参见
LICENSE) - 使用指南:USAGE.md
目录
dist/mcp-swing-17-server.jar MCP server (stdio)
dist/mcp-swing-17-agent.jar Java agent loaded into the target JVM
dist/*.mcpb MCPB bundle for one-click clients
build.ps1 Windows build (JDK 17)
build.sh Linux/macOS build
mcp-swing-17-server/ server sources
mcp-swing-17-agent/ agent sources
mcp-swing-17-common/ shared classes
构建
powershell -NoProfile -ExecutionPolicy Bypass -File build.ps1
需要 JDK 17。首次使用时,Maven 3.9.9 会下载到 .build/ 中。
在 Linux/macOS 上:
./build.sh
或:
mvn -s maven-settings.xml -DskipTests package
运行
SWING_MCP_AGENT_JAR=<path>/dist/mcp-swing-17-agent.jar
java -jar <path>/dist/mcp-swing-17-server.jar
服务使用 stdio,通常由 MCP 客户端启动。Agent 通过 attach_to_app,根据 PID 附加到正在运行的 Java 应用。
{
"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"
}
}
}
}
与上游的差异
- 使用 Java 17 而非 Java 21:将虚拟线程替换为常规执行器。
- 移除了与 Java 17 不兼容的
JMenu instanceof JMenuItem模式。 - 将
List.getFirst()替换为get(0)。 - 迁移了 Agent 的 Jackson 包,避免目标应用的 Jackson 覆盖它。
java.version=17,JavaFX 17。- 默认禁用真实鼠标
robot输入。 close_window仅关闭当前聚焦的对话框,除非显式传入windowIndex。
安全
- Agent 仅监听 loopback;
- 保持禁用
evaluate_java; - 将其用作开发/测试工具;
- 不要暴露 Agent 端口或响应文件令牌。
评论
支持 Markdown
一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。