Swing MCP
io.github.crosstech-solutions-bv由 GitHub 账号 crosstech-solutions-bv 发布v1.4.0更新于 Oct 30, 2026
Let AI drive Swing and JavaFX apps — see the UI, click, fill forms, read tables. No API needed.
概览
让 AI 助手查看并操作正在运行的 Java 桌面应用(Swing 与 JavaFX):截取界面快照、点击、输入、填写表单、读取表格,无需 API。
- 可以做什么
- 启动预加载代理的 Java 应用,或按 PID 附加到正在运行的 JVM
- 截取界面快照以发现组件 UID,并查看窗口、菜单和对话框
- 在 Swing 与 JavaFX 组件中点击、输入、填写表单和选择选项
- 读取表格与树,并操作菜单和对话框
- 在显式启用后,可在目标 JVM 中执行 Java 代码
- 适用场景
- 适用于需要让助手操作或测试没有 API、也没有网页界面的 Java 桌面软件,例如内部工具、ERP 客户端、收银系统、实验室或物流系统,或用于 Swing 与 JavaFX 应用的界面自动化测试。
- 运行要求
- 以 MCPB 包或 jar 形式通过 stdio 在本机运行,需要 PATH 中有 JDK 21+。服务器 jar 用 java 启动,代理 jar 路径通过环境变量 SWING_MCP_AGENT_JAR 传入。代理只绑定回环地址上的某个端口(在配置范围内)。需要桌面环境。
安装
在 SourceWeft 中
- 打开 控制台中的 Swing MCP,将其添加到工作区。
- 为需要使用其工具的对话启用该服务。
Desktop only,通过 STDIO。 STDIO 服务会启动本地进程,因此需要 SourceWeft 桌面宿主。
其他 MCP 客户端
参照 仓库 中的启动说明。
README
swing-mcp
Let AI assistants operate Java desktop applications — Swing and JavaFX — snapshot the UI, click, type, fill forms, read tables and trees, drive menus and dialogs. Inspired by chrome-devtools-mcp, but targeting a running Java UI instead of HTML pages.
One set of tools drives either toolkit, and both at once in applications that mix them — you never tell it which you are using.
A huge amount of business software is Java desktop software — internal tools, ERP clients, point-of-sale, lab and logistics systems — with no API and no web UI, written in Swing and increasingly in JavaFX. Swing MCP gives that software a safe, permissioned door into the AI era: assistants like Claude can see the interface and act in it, without changing the application itself.
[swing-mcp driving the demo app: snapshots, clicks, form filling, tables, trees, menus, and dialogs]
Quick start (Claude Desktop)
- Make sure JDK 21+ is on your
PATH. - Download
swing-mcp.mcpbfrom the latest release. - Open the file — Claude Desktop installs it as an extension.
- Ask Claude to
launch_appyour application (orattach_to_appa running one by PID) and take it from there.
Using another MCP client? One guide and a one-minute video per client — Claude Code, VS Code + Copilot, Cursor, Devin Desktop (Windsurf), IntelliJ IDEA, Codex CLI, Gemini CLI: docs/installation.md · videos. Prefer the long version? 3-minute install-and-first-use video. JavaFX app? See it driven live (96 seconds, every tool call from the real MCP log).
Need this connected to your own application — or an MCP connector for other software your business runs? CrossTech builds them: crosstech.solutions/swing-mcp.
Modules
swing-mcp-server— Spring Boot MCP server (stdio transport) exposing the automation tools.swing-mcp-agent— Java agent loaded into the target JVM (at launch via-javaagent, or dynamically by PID). Runs a localhost-only JSON line-protocol socket server. Contains oneUiToolkitimplementation per supported toolkit and routes each command to the right one; see docs/adr/0001-multi-toolkit-agent.md.swing-mcp-common— Shared command/DTO types and theUiToolkitinterface.swing-mcp-demo— Demo Swing application used for integration testing.swing-mcp-demo-fx— Demo JavaFX application used for integration testing (driven both through the toolkit and through the real server over stdio).
How it works
- The MCP client calls
launch_app(starts a JVM with the agent preloaded) orattach_to_app(loads the agent into a running JVM by PID). - The agent binds a loopback-only port in
swing.mcp.agent-port-min..maxand reports it back through a response file. - Tools such as
take_snapshot,click, andfillare forwarded as JSON line commands and executed on the owning toolkit's UI thread — the Event Dispatch Thread for Swing, the JavaFX Application Thread for JavaFX. - Component uids are prefixed by the toolkit that issued them (
comp-for Swing,fx-for JavaFX), which is how a mixed application stays unambiguous. - Every tool carries MCP annotations (
title,readOnlyHint,destructiveHint,idempotentHint,openWorldHint), so clients that honour them can wave through the 12 read-only tools and flagstop_app,close_windowandevaluate_javabefore running them.
See docs/tools for the full tool documentation (per-category pages), or docs/tool-reference.md for the single-page quick reference.
Skills
The skills directory contains agent skills (SKILL.md files) that teach AI coding agents how to use Swing MCP effectively — core workflows, UI testing patterns, and troubleshooting.
Building
Requires JDK 21+ and Maven.
GUI integration tests are skipped in headless environments; CI runs them under xvfb. The JavaFX
integration tests run in the verify phase via failsafe, so mvn test alone will not exercise them.
Running
Build everything (or unzip the released swing-mcp.mcpb — the two jars are in
its server/ folder), then register the server with your MCP client (see
docs/installation.md for per-client instructions —
Claude Desktop, Claude Code, VS Code, Cursor, Devin Desktop, IntelliJ IDEA, Codex CLI, Gemini CLI):
Try it against the demo app:
launch_appwithjava -jar swing-mcp-demo/target/swing-mcp-demo-1.4.0.jar(or the JavaFX demo:swing-mcp-demo-fx/target/swing-mcp-demo-fx-1.4.0.jar)take_snapshotto discover component UIDsclick,fill,select_option, … to interact
MCP Registry
This server is published to the MCP Registry as
io.github.crosstech-solutions-bv/swing-mcp, distributed as an MCPB bundle attached to GitHub releases.
See docs/registry-publishing.md for how publishing works.
Security notes
- The agent listens on the loopback interface only.
evaluate_java(arbitrary code execution in the target JVM) is disabled by default; enable withswing.mcp.evaluate.enabled=true.
See SECURITY.md for the full security model and how to report vulnerabilities.
Contributing
Contributions are welcome — see CONTRIBUTING.md for the PR workflow. Release history lives in CHANGELOG.md.
About
Swing MCP is built and maintained by CrossTech, an AI-first software studio. We build MCP connectors that plug businesses' existing software — web, cloud, and legacy desktop — into AI assistants: crosstech.solutions/mcp.
License
来源:README.md,提交 abfacfa
工具
0版本历史
2- v1.4.0最新Oct 30, 2026
- v1.3.0Sep 16, 2026
评分
已满足适用检查项的 50%
该评分衡量此收录条目的完整程度,依据注册中心条目、端点与公开来源计算得出。它不是对服务器本身的评价,也不表示服务器安全或当前可用:可连通性是带日期的检查结果,评分也不包含安装量或用户评价。
- 近 30 天内可连通25 分
请保持端点能够响应 MCP 握手;SourceWeft 每 30 天探测一次。
- 已声明认证方式10 分
请在注册中心条目中声明凭据请求头,或保持端点能够响应探测,以便判定其认证方式。
- 已列出工具15 分
请让服务器在无凭据时响应 tools/list,或发布可在沙箱中无凭据启动的软件包。
- 描述必需15 分
- 图标10 分
- 文档15 分
- 许可证10 分
