mcp-swing-17 について
Java 17上のSwingおよびJavaFXデスクトップアプリを自動化するMCPサーバーとJavaエージェントです。PIDを指定して実行中のアプリに接続し、開発やテストでの画面操作に使えます。
主な機能
- 01Java 17対応
- 02SwingとJavaFXの自動化
- 03PIDによる実行中アプリへの接続
- 04stdioのMCPサーバー
- 05クライアント向けMCPBバンドル
活用シーン
- 01Swingアプリのテスト自動化
- 02JavaFXアプリのテスト自動化
- 03起動中のJavaアプリの操作
- 04MCPクライアントからのデスクトップ自動化
MCP 対応
stdioサーバーはMCPクライアントから起動し、実行中のJavaアプリに接続したエージェントと連携します。MCPツールでSwingおよびJavaFXの画面を操作できます。
設定
ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。
このサーバーのパッケージやリモートエンドポイントはまだ取得できていません。プロジェクトの README の手順に従ってください。
ツール
ローカルサーバーのツールはマシン上で起動して初めて取得できます。メンテナーはまだツール一覧を提供していません。
詳細
mcp-swing-17
Swing および JavaFX デスクトップアプリケーションを自動化する MCP サーバーと Java エージェントです。 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 クライアントによって起動されます。エージェントは 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 21 ではなく Java 17 を使用します。仮想スレッドは通常のエグゼキューターに置き換えられています。
- Java 17 と互換性のない
JMenu instanceof JMenuItemパターンを削除しました。 List.getFirst()をget(0)に置き換えました。- 対象アプリケーションの Jackson によってシャドーされないよう、エージェントの Jackson パッケージを移動しました。
java.version=17、JavaFX 17。- 実マウスによる
robot入力は、デフォルトで無効になっています。 windowIndexが明示的に渡されない限り、close_windowはフォーカスされているダイアログのみを閉じます。
セキュリティ
- エージェントはループバックのみでリッスンします。
evaluate_javaは無効のままにしてください。- 開発・テスト用ツールとして使用してください。
- エージェントのポートやレスポンスファイルのトークンを外部に公開しないでください。
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。