mcpField
M
mcp-swing-17

mcp-swing-17

Local
github.com/kirnfsDeveloper Tools0Updated 1w ago

About mcp-swing-17

An MCP server and Java agent for automating Swing and JavaFX desktop applications on Java 17. It attaches to a running application by PID, allowing development and testing workflows to control desktop interfaces.

Key features

  1. 01Java 17 support
  2. 02Swing and JavaFX automation
  3. 03Attach to a running app by PID
  4. 04stdio MCP server
  5. 05MCPB bundle for clients

Use cases

  1. 01Automate Swing application testing
  2. 02Automate JavaFX application testing
  3. 03Control an already running Java app
  4. 04Use desktop automation from an MCP client

MCP support

The stdio server is started by an MCP client and works with an agent attached to a running Java application. Its MCP tools operate on Swing and JavaFX interfaces.

Configuration

Local server config is the same for every client. Copy it into your client’s MCP config file.

No install method listed yet

We haven’t collected a package or remote endpoint for this server. Follow the instructions in the project README.

Repository
Packages
mcpbmcp-swing-17-1.5.0-java17.mcpb

Tools

No tool list yet

Local servers expose tools only once running on your machine, and the maintainer has not provided a tool list.

Details

From the project 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 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

Build

powershell -NoProfile -ExecutionPolicy Bypass -File build.ps1

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

On Linux/macOS:

./build.sh

or:

mvn -s maven-settings.xml -DskipTests package

Run

SWING_MCP_AGENT_JAR=<path>/dist/mcp-swing-17-agent.jar
java -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.

{
  "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.

Comments

Markdown supported

New to MCP?

From what the protocol is to installing your first server, these answers cover most first questions.

An open protocol that defines how AI applications connect to external tools and data in a uniform way. Clients talk to the model; MCP servers provide tools, resources and prompt templates. They exchange standard messages, so one server can be reused by many clients.