Total PC Control について
Total PC Controlは、nut.jsを介して画面、マウス、キーボードを操作するMCPサーバーです。デスクトップ自動化を行うMCPクライアント向けで、Windows専用のUI Automationツールも備えます。
主な機能
- 01画面全体または指定範囲をキャプチャ
- 02マウスの移動・クリック・スクロール・ドラッグ
- 03テキスト入力とキーの組み合わせ操作
- 04アプリケーションウィンドウの確認と操作
- 05クリップボードの読み取りと書き込み
活用シーン
- 01画面全体または指定範囲をキャプチャ
- 02マウスとキーボード入力を自動化
- 03クリップボードでテキストをコピー・貼り付け
- 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(ネイティブ依存関係のビルドに必要)
インストール
- リポジトリをクローンします。
git clone https://github.com/jasondsmith72/total-pc-control.git
cd total-pc-control
- cmake-jsをグローバルにインストールします(ネイティブ依存関係のビルドに必要)。
npm install -g cmake-js
- libnutコアライブラリをインストールします(nut.jsに必要)。
git clone https://github.com/nut-tree/libnut.git libnut-core
cd libnut-core
npm install
cmake-js rebuild
cd ..
- 依存関係をインストールして、プロジェクトをビルドします。
npm install
npm run build
Claude for Desktop での使用
- Claude for Desktop の設定ファイルを編集します。
- macOS:
~/Library/Application Support/Claude/claude_desktop_config.json - Windows:
%APPDATA%\Claude\claude_desktop_config.json
- 以下を設定に追加します。
{
"mcpServers": {
"total-pc-control": {
"command": "node",
"args": [
"/ABSOLUTE/PATH/TO/total-pc-control/build/index.js"
]
}
}
}
/ABSOLUTE/PATH/TO/ を、リポジトリをクローンした実際のパスに置き換えてください。
-
Claude for Desktop を再起動します。
-
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 ファイルを参照してください。
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。