mcpField
T
Total PC Control

Total PC Control

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

Total PC Control について

Total PC Controlは、nut.jsを介して画面、マウス、キーボードを操作するMCPサーバーです。デスクトップ自動化を行うMCPクライアント向けで、Windows専用のUI Automationツールも備えます。

主な機能

  1. 01画面全体または指定範囲をキャプチャ
  2. 02マウスの移動・クリック・スクロール・ドラッグ
  3. 03テキスト入力とキーの組み合わせ操作
  4. 04アプリケーションウィンドウの確認と操作
  5. 05クリップボードの読み取りと書き込み

活用シーン

  1. 01画面全体または指定範囲をキャプチャ
  2. 02マウスとキーボード入力を自動化
  3. 03クリップボードでテキストをコピー・貼り付け
  4. 04WindowsのUI要素を確認して操作

MCP 対応

画面キャプチャ、マウス、キーボード、クリップボード、ウィンドウ、Windows UI AutomationのツールをMCPクライアントに提供します。READMEでは、コンピューターの直接操作が意図しない結果を招く可能性を警告しています。

設定

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

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

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

リポジトリ

ツール

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

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

詳細

Total PC Control

nut.jsを使用して、画面、マウス、キーボードを制御するMCP(Model Context Protocol)サーバーです。

⚠️ 警告:ご注意のうえご使用ください

このソフトウェアを使用すると、マウス、キーボード、その他のシステム操作をプログラムから制御できます。このソフトウェアを使用することで、以下の事項を理解し、同意したものとみなされます。

  • このツールを通じてAIモデルにコンピューターの直接制御を許可すると、意図しない結果につながる可能性があります
  • このソフトウェアは、マウス、キーボード、その他のシステム機能を制御できます
  • このソフトウェアは、すべてご自身の責任において使用してください
  • 本プロジェクトの作成者および貢献者は、このソフトウェアの使用によって発生する可能性のある損害、データの損失、その他の結果について、一切の責任を負いません

機能

  • 📷 画面キャプチャ:画面全体または指定した領域のスクリーンショットを撮影します
  • 🖱️ マウス制御:マウスカーソルの移動、クリック、ダブルクリック、スクロールを行います
  • ⌨️ キーボード入力:テキストの入力やキーボードショートカットの実行を行います
  • 🪟 ウィンドウ管理:アプリケーションのウィンドウを検索、フォーカス、操作します
  • 📋 クリップボードアクセス:テキストをコピーして貼り付けます

前提条件

  • Node.js 16 以降
  • npm または yarn
  • cmake-js(ネイティブ依存関係のビルドに必要)

インストール

  1. リポジトリをクローンします。
git clone https://github.com/jasondsmith72/total-pc-control.git
cd total-pc-control
  1. cmake-jsをグローバルにインストールします(ネイティブ依存関係のビルドに必要)。
npm install -g cmake-js
  1. libnutコアライブラリをインストールします(nut.jsに必要)。
git clone https://github.com/nut-tree/libnut.git libnut-core
cd libnut-core
npm install
cmake-js rebuild
cd ..
  1. 依存関係をインストールして、プロジェクトをビルドします。
npm install
npm run build

Claude for Desktop での使用

  1. Claude for Desktop の設定ファイルを編集します。
  • macOS:~/Library/Application Support/Claude/claude_desktop_config.json
  • Windows:%APPDATA%\Claude\claude_desktop_config.json
  1. 以下を設定に追加します。
{
  "mcpServers": {
    "total-pc-control": {
      "command": "node",
      "args": [
        "/ABSOLUTE/PATH/TO/total-pc-control/build/index.js"
      ]
    }
  }
}

/ABSOLUTE/PATH/TO/ を、リポジトリをクローンした実際のパスに置き換えてください。

  1. Claude for Desktop を再起動します。

  2. Claude のインターフェースにハンマーアイコンが表示され、利用可能なツールを確認できます。

利用可能なツール

画面キャプチャ
  • capture_screen:画面全体を画像としてキャプチャします。format(png/jpeg)とquality(jpegのみ)パラメーターに対応しています。
  • capture_region:画面の指定した領域をキャプチャします。left、top、width、heightが必要です。formatとqualityに対応しています。
  • get_screen_size:画面の寸法(幅と高さ)を取得します。
マウス制御
  • move_mouse:マウスカーソルを指定したx、yの位置に移動します。
  • get_mouse_position:マウスカーソルの現在のx、yの位置を取得します。
  • click_mouse:現在の位置でマウスをクリックします。button(left、middle、right)は省略可能です。
  • click_at:指定したx、yの位置でマウスをクリックします。buttonは省略可能です。
  • double_click:現在の位置でマウスをダブルクリックします。
  • double_click_at:指定したx、yの位置でマウスをダブルクリックします。
  • scroll_mouse:マウスホイールをスクロールします。direction(up/down)が必要です。amountは省略可能です。
  • drag_mouse:現在の位置から指定したx、yの位置までマウスをドラッグします。
  • drag_mouse_from_to:startX、startYの位置からendX、endYの位置までマウスをドラッグします。
キーボード入力
  • type_text:現在のカーソル位置にテキストを入力します。textが必要です。
  • type_text_with_delay:キー入力の間に遅延を設けてテキストを入力します。textが必要です。delayMsは省略可能です。
  • press_key:指定したキーボードキーを押します。keyが必要です。
  • press_key_shortcut:キーボードショートカット(複数キーの組み合わせ)を押します。keys配列が必要です。
  • hold_key:キーボードキーを押したままにします。keyが必要です。
  • release_key:押したままのキーボードキーを離します。keyが必要です。
クリップボード操作
  • get_clipboard_text:クリップボードからテキストを取得します。
  • set_clipboard_text:テキストをクリップボードに設定します。text が必要です。
  • copy_selected_text:選択したテキストをクリップボードにコピーし、返します(Ctrl+C/Cmd+C を使用します)。
  • paste_text:現在のカーソル位置にテキストを貼り付けます(Ctrl+V/Cmd+V を使用します)。text が必要です。
  • get_clipboard_image:クリップボードから画像を base64 データとして取得します(利用可能な場合)。
UI 自動化ツール(Windows のみ)

これらのツールは、PowerShell を介した Windows UI Automation を使用して UI 要素を操作します。

  • get_ui_element_info:指定したウィンドウ内の UI 要素を検索し、そのプロパティ(Name、AutomationId、ClassName、ControlType、BoundingRectangle、IsEnabled、IsOffscreen、Value、Children)を返します。
    • windowTitle が必要です(一部一致でも指定できます)。
    • 特定の要素を検索するには、elementName、automationId、className のいずれかが必要です。
    • 要素識別子を指定しない場合は、ウィンドウの直接の子要素を一覧表示します。
  • invoke_ui_element_action:指定した UI 要素に対してアクションを実行します。
    • windowTitle が必要です。
    • action(Click、SetValue、または Focus)が必要です。
    • elementName、automationId、className のいずれかが必要です。
    • action が SetValue の場合、valueToSet(文字列)が必要です。

開発

開発モードでサーバーを実行するには:

npm run dev

テストを実行するには:

npm test

ライセンス

このプロジェクトは MIT License のもとでライセンスされています。詳細については LICENSE ファイルを参照してください。

コメント

MCP は初めてですか?

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

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