mcpField
W
winsight

winsight

ローカル
github.com/TheoEwzZerその他231 週間前に更新

winsight について

WinSightは、Claude Codeから画面のキャプチャ、ウィンドウの確認・操作、アプリの起動を行うためのWindows向けMCPサーバーです。全画面、領域、ウィンドウのキャプチャに対応し、Win32 PrintWindowで背後に隠れたウィンドウの内容も取得できます。

主な機能

  1. 01画面、領域、ウィンドウのキャプチャ
  2. 02他のウィンドウに隠れた内容のキャプチャ
  3. 03ウィンドウとモニター情報の一覧表示
  4. 04移動、サイズ変更、フォーカス、状態変更
  5. 05アプリを起動してウィンドウを待機

活用シーン

  1. 01特定アプリのウィンドウを確認用にキャプチャ
  2. 02デスクトップ作業中にウィンドウを配置してフォーカス
  3. 03アプリを起動してウィンドウの表示を待機

MCP 対応

WinSightは、画面キャプチャ、ウィンドウ管理、モニター情報の確認、アプリ起動のツールをClaude CodeなどのMCPクライアントに提供します。

設定

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

mcp.json · 共通設定
{
"mcpServers": {
"theoewzzer-winsight": {
"command": "uvx",
"args": [
"winsight-mcp"
]
}
}
}
起動コマンドuvx winsight-mcp

ローカルサーバーにはマシン上の実行環境(Node.js 18 以上など)が必要です。設定ファイルの場所はクライアントごとに異なります。

パッケージ
pypiwinsight-mcp0.1.1

ツール

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

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

詳細

WinSight MCP

mcp-name: io.github.TheoEwzZer/winsight

Windows 画面キャプチャ MCP サーバー — Claude Code に Windows デスクトップを見る機能を提供します。

WinSight は、Claude Code で Windows 上の画面をキャプチャしたり、ウィンドウを管理したり、アプリケーションを起動したりできる MCP サーバーです。

機能

  • 画面全体、指定した領域、または特定のウィンドウのスクリーンショット
  • Win32 の PrintWindow API を使用したウィンドウのキャプチャ — 他のウィンドウの背後にある場合でも、ウィンドウの実際のコンテンツをキャプチャします
  • 開いているウィンドウとモニターの一覧表示と情報取得(タイトル、位置、サイズ、状態、解像度)
  • ウィンドウの操作 — 移動、サイズ変更、最小化、最大化、元に戻す、フォーカス
  • アプリケーションの起動と、ウィンドウが表示されるまでの待機

要件

  • Windows 10/11
  • Python 3.10+

クイックスタート

オプション 1:uvx(推奨)

インストール不要で、直接実行できます:

{
  "mcpServers": {
    "winsight": {
      "command": "uvx",
      "args": ["winsight-mcp"]
    }
  }
}

プロジェクトの .mcp.json または ~/.claude/claude_desktop_config.json に追加してください。

オプション 2:pip install
pip install winsight-mcp

次に、設定します:

{
  "mcpServers": {
    "winsight": {
      "command": "winsight-mcp"
    }
  }
}
オプション 3:ソースから
git clone https://github.com/TheoEwzZer/WinSight-MCP.git
cd WinSight-MCP
uv sync
{
  "mcpServers": {
    "winsight": {
      "command": "uv",
      "args": ["--directory", "/path/to/WinSight-MCP", "run", "winsight-mcp"]
    }
  }
}

ツール

スクリーンショット
ツール説明
take_screenshot画面全体または特定のモニターをキャプチャします
screenshot_windowタイトルを指定して特定のウィンドウをキャプチャします(他のウィンドウの背後でも動作します)
screenshot_region画面の矩形領域をキャプチャします
ウィンドウ管理
ツール説明
list_windowsタイトルによるフィルターを任意で指定して、表示中のウィンドウを一覧表示します
get_window_infoウィンドウの詳細情報(位置、サイズ、状態)を取得します
focus_windowウィンドウを前面に表示します
resize_windowウィンドウを指定した寸法にサイズ変更します
move_windowウィンドウを指定した位置に移動します
minimize_windowウィンドウをタスクバーに最小化します
maximize_windowウィンドウを画面いっぱいに最大化します
restore_window最小化または最大化されたウィンドウを通常の状態に戻します
wait_for_windowウィンドウが表示されるまで待機します(タイムアウト付きの適応型ポーリング)
システム
ツール説明
list_monitors解像度、位置、プライマリかどうかを含む、すべてのモニターを一覧表示します
open_applicationアプリケーションを起動し、任意でウィンドウが表示されるまで待機します

使用例

MCP サーバーを接続すると、Claude Code に次のようなことを依頼できます:

  • 「画面のスクリーンショットを撮って」
  • 「開いているウィンドウをすべて一覧表示して」
  • 「メモ帳のウィンドウをキャプチャして」
  • 「電卓を開いて、そのスクリーンショットを撮って」
  • 「Chrome のウィンドウにフォーカスして」
  • 「アプリのウィンドウを 800x600 にサイズ変更して、スクリーンショットを撮って」
  • 「ウィンドウを左上隅に移動して」
  • 「モニターはいくつある?」

テスト

このプロジェクトには、すべてのモジュールを対象とした 112 件のテストがあります。テストでは Win32 API のモックを使用するため、どのプラットフォームでも実行できます。

テストの実行
uv run pytest
テストの構成
tests/
  conftest.py              # Shared fixtures and Win32 stubs
  test_types.py            # TypedDict definitions validation
  test_screenshot.py       # Screen/region/window capture (mss, Win32 DC)
  test_window_manager.py   # Window listing, find, focus, resize, move, min/max/restore
  test_process_manager.py  # Application launch and window polling
  test_server.py           # MCP tool registration and integration
テストの追加
  1. 対応する test_<module>.py ファイルにテストを追加します
  2. conftest.py の共有フィクスチャ(sample_window_info、mcp_server、fake_png_bytes)を使用します
  3. @patch("winsight_mcp.<module>.win32gui") で Win32 API をモックします — テストでは実際の Win32 関数を呼び出さないでください
  4. サーバーの統合テストでは、ツールの呼び出しに _call ヘルパーを、文字列の結果の抽出に _text を使用します

ライセンス

MIT

コメント

MCP は初めてですか?

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

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