mcpField
U
UIAutomationMcp

UIAutomationMcp

ローカル
github.com/trsdn開発ツール48 週間前に更新

UIAutomationMcp について

Windows デスクトップの検査と自動化を行うツールキットで、UI 要素の検索、状態の読み取り、操作が必要な開発者向けです。MCP サーバー、CLI、VS Code 拡張を備え、UIA と MSAA の情報を読み取ります。

主な機能

  1. 01デスクトップとフォーカス要素の情報確認
  2. 02属性による UI 要素の検索
  3. 03UIA ツリーとビューの走査
  4. 04テキスト・選択・コントロール状態の読み取り
  5. 05オートメーションイベントの待機
  6. 06フォーカス・選択・ウィンドウ操作

活用シーン

  1. 01デスクトップアプリのコントロール構造の確認
  2. 02名前や automation ID による要素検索
  3. 03テーブルセルやテキスト情報の読み取り
  4. 04一般的な UI 操作の自動化

MCP 対応

MCP サーバーは、Windows UI Automation の検査、検索、ナビゲーション、イベント待機、操作機能を MCP クライアントに公開します。CLI と VS Code 拡張でも同じ拡張機能を利用できます。

設定

ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。

インストール方法は未掲載です

このサーバーのパッケージやリモートエンドポイントはまだ取得できていません。プロジェクトの README の手順に従ってください。

リポジトリ
パッケージ
nugetUIAutomationMcp.McpServer1.0.2
npmuia-mcp1.0.2

ツール

ツール一覧はまだ取得されていません

ローカルサーバーのツールはマシン上で起動して初めて取得できます。メンテナーはまだツール一覧を提供していません。

詳細

UIAutomationMcp

VS Code Marketplace License: MIT .NET Platform

Windows UI Automation ツールキットです。3 つの連携したエントリーポイントを提供します。

  • CLI(uiamcp)
  • MCP サーバー(UIAutomationMcp.McpServer)
  • VS Code 拡張機能(uia-mcp)

インストール

VS Code 拡張機能(推奨)— Marketplace から trsdn.uia-mcpを (code --install-extension trsdn.uia-mcpで)インストールするか、 最新リリースから UIAutomationMcp-<version>.vsixをインストールしてください。 単体で動作し、MCP サーバー、CLI、両方のエージェントスキルが含まれています。

Claude Desktop — 最新リリースからuia-mcp-<version>.mcpbをダウンロードし、 ダブルクリックしてください。

npm — uia-mcpには.NET ランタイムが同梱された MCP サーバーが含まれているため、 事前のインストールは不要です。

{
  "mcpServers": {
    "uia-mcp": { "command": "npx", "args": ["-y", "uia-mcp"] }
  }
}

NuGet .NET ツール

dotnet tool install --global UIAutomationMcp.McpServer   # MCP server -> uiamcp-server
dotnet tool install --global UIAutomationMcp.CLI         # CLI        -> uiamcp

スタンドアロン ZIP — UIAutomationMcp-MCP-Server-<version>-windows.zipには、 セルフコンテインドの MCP サーバーと CLI が含まれています。.NET ランタイムは不要です。

Windows と対話型デスクトップセッションが必要です。UI Automation はヘッドレスでは実行できません。

系譜

このリポジトリは、より広範な MCP オートメーションの系譜の一部であり、Stefan Brönner による初期の取り組みへの帰属を意図的に保持しています。

また、このリポジトリ自体は Windows UI Automation に特化していますが、関連する兄弟プロジェクトとして Excel MCP への歴史的な言及も保持しています。

機能

  • Interop.UIAutomationClientを介して、型付きの UI Automation クライアントを起動します
  • デスクトップルートおよびフォーカス中の要素について、境界、ランタイム ID、サポートされているパターンを含む詳細なメタデータを読み取ります
  • ネイティブウィンドウハンドルと画面座標から要素を解決します
  • 名前、クラス名、オートメーション ID、フレームワーク ID、コントロールタイプ、プロセス ID に基づいて UIA ツリーを検索します
  • raw、control、content の各ツリービューから直下の子要素を列挙します
  • raw、control、content の各ツリービューから子孫要素を列挙します
  • raw、control、content の各ウォーカーを使用して UIA ツリーをたどります
  • 検査、検索、ナビゲーション用のビルドキャッシュリクエストをサポートします
  • キャレット位置、スペルミスなどの注釈範囲、インライン要素を含むドキュメントを含め、テキスト、選択範囲、キーのパターン状態を読み取ります
  • フォーカス、オートメーション、プロパティ変更、構造変更の各イベントを待機します
  • フォーカス、実行、値の設定、切り替え、展開/折りたたみ、選択、ウィンドウ状態の変更、移動/サイズ変更、スクロール、範囲値の更新、ビューの切り替え、ドッキング、仮想化された項目の実体化、MSAA の既定のアクションなど、一般的な操作を実行します
  • 仮想化リストのコンテナーに直接問い合わせて、まだ実体化されていない項目を検索します。そのため、スクロールせずに 300 行のリストから 250 行目を検索できます
  • ドラッグ&ドロップの状態(isGrabbed、ドロップ効果、取得された項目)を報告し、進行中のドラッグを観察できるようにします。また、オートメーションイベントをDrag_DragStartのような読みやすい名前に解決します
  • LegacyIAccessible ブリッジを介して MSAA データを読み取ります。そのため、ネイティブ UI Automation プロバイダーを公開していない Win32、MFC、インストーラーのウィンドウでも、使用可能な名前、役割、状態、実行可能な既定のアクションを取得できます
  • 表形式のコントロールを、行ヘッダーと列ヘッダーを含むセルの行列として読み取ります
  • 同じ拡張された機能を CLI と MCP の両方から利用できます
  • CLI と MCP サーバーを VS Code 拡張機能内にパッケージします

リポジトリの構成

  • src\UIAutomationMcp.ComInterop
  • src\UIAutomationMcp.Service
  • src\UIAutomationMcp.CLI
  • src\UIAutomationMcp.McpServer
  • src\UIAutomationMcp.Smoke
  • vscode-extension
  • mcpb — Claude Desktop バンドルのソースとビルドスクリプト
  • skills — uia-cli と uia-mcp 用のエージェントスキル

ビルドと検証

dotnet build .\UIAutomationMcp.sln -c Release
.\src\UIAutomationMcp.Smoke\bin\Release\net9.0-windows\UIAutomationMcp.Smoke.exe
.\src\UIAutomationMcp.CLI\bin\Release\net9.0-windows\uiamcp.exe inspect --root --cache
.\src\UIAutomationMcp.CLI\bin\Release\net9.0-windows\uiamcp.exe find --focused --scope children --max-results 10 --cache
.\src\UIAutomationMcp.CLI\bin\Release\net9.0-windows\uiamcp.exe children --focused --view raw --max-results 10
.\src\UIAutomationMcp.CLI\bin\Release\net9.0-windows\uiamcp.exe descendants --focused --view raw --max-results 25
.\src\UIAutomationMcp.CLI\bin\Release\net9.0-windows\uiamcp.exe wait-event --event-kind focus --timeout-ms 500
.\src\UIAutomationMcp.CLI\bin\Release\net9.0-windows\uiamcp.exe action focus --focused

関連ドキュメント

コメント

MCP は初めてですか?

プロトコルの概要から最初のサーバーの導入まで、よくある疑問にまとめて答えます。

AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。