AmrDab/clawdcursor

Local MCP server that gives any AI agent safe desktop control on Windows, macOS and Linux. Reads the screen as text and structure (accessibility + OCR) and acts by element name, with screenshots as the last resort. Multi-monitor aware, verifies every action, one safety gate.

Clawd Cursorとは?\n\nClawd Cursorは、AIを搭載した「エージェント」が実際のデスクトップを安全に制御できるようにするローカルMCP(Model-Control-Protocol)サーバーです。オペレーティングシステムのアクセシビリティツリーと安価なOCRを統合し、画面を構造化されたUIマップに変換し、各要素に安定したel_NN識別子を割り当てます。エージェントは、生のピクセル座標ではなく、これらのIDを参照してアクション(クリック、タイピング、アプリの起動など)を実行します。\n\nREADMEの重要なポイント:\n\n| 機能 | 重要な理由 |\n|---|---|\n| クロスプラットフォーム(Windows、macOS、Linux) | ユーザーが実行する任意のデスクトップで動作します。 |\n| ビジョンフリーのプライマリ知覚 | まず無料のアクセシビリティツリーを使用し、OCRは安価なフォールバックであり、全画面スクリーンショットは絶対に必要な場合のみ使用され、トークンコストを低く抑え、データをローカルに保ちます。 |\n| 自己検証 | アクション後、サーバーはUIを再読み取りし、結果が期待値(expectフラグ)と一致しない場合はDEVIATIONを報告します。 |\n| 単一の安全ゲート | すべてのリクエストはsafety.evaluate()を通過し、許可、ユーザー確認の要求、またはアクションのブロックを行うことができます。 |\n| MCP互換 | 標準のstdin/stdout MCPインターフェースを公開するため、MCPをサポートする任意のツール(Claude Code、Cursor、VS Code、Zed、OpenAI Codexなど)を1行の設定でプラグインできます。 |\n| ツールボックス | 約98の粒度のプリミティブに基づく7つの複合ツールグループ(コンピュータ、アクセシビリティ、ウィンドウ、システム、ブラウザ、タスクなど)があり、すべて安全ゲートを通過します。 |\n\nエンジンはUIマップ(compile_ui)をコンパイルし、エージェントが名前で要素を検索し(find_button、find_field)、アクションを実行し、結果を検証します。検証が失敗した場合、ループは再試行するか、逸脱を報告できます。\n\n---\n## 誰が使うのか?\n\n- ネイティブデスクトップアプリ(メールクライアント、オフィススイート、IDEなど)と対話する必要があるAIエージェントを構築する開発者で、カスタムUI自動化コードを書きたくない人。\n- Claude Desktop、Cursor、またはその他のMCP対応エディタを使用するチームで、ドロップインの「デスクトップ制御」拡張機能を希望する人。\n- 安全でローカル実行のAIエージェントを実験する研究者で、モデルがOSを操作するための決定的で検証可能な方法を希望する人。\n\n---\n## クイックスタート(READMEから)\n\n1. インストール – npm i -g clawdcursor(またはワンライナーnpx -y clawdcursorを使用)。\n2. 同意を付与 – clawdcursor consent --accept(macOSではclawdcursor grantでアクセシビリティと画面収録を許可)。\n3. MCPホストに追加 – 例:VS Codeの.vscode/mcp.json:\n json\n {\n "servers": {"clawdcursor": {"command": "clawdcursor", "args": ["mcp", "--compact"]}}\n }\n \n Claude Code、Cursor、Zed、OpenAI Codexなどにも同様のJSONスニペットが用意されています。\n4. エージェントに依頼 – 「Outlookを開いて、Sarahからの最新メールに返信して」。エージェントは:\n - UIマップをコンパイルし、\n - 安定したIDで「返信」ボタンを見つけ、\n - クリックして、返信を入力し、\n - メールが送信されたことを検証します。\n\n---\n## 内部の仕組み\n\n1. 知覚の階層化 – サーバーはまずOSのアクセシビリティツリー(無料)を読み取ります。必要な要素が見つからない場合、OCR(まだ安価)を実行します。タスクが本当にピクセルレベルのデータを必要とする場合のみ、スクリーンショットを撮り、オプションでビジョンモデルに供給します。\n2. 安定した要素ID – すべてのUI要素にはel_NN識別子が割り当てられ、DPI変更、ウィンドウ移動、レイアウトシフトを超えて存続するため、エージェントは複数のステップで同じ要素を参照できます。\n3. 安全チェックポイント – すべての呼び出しはsafety.evaluate()を通過します。ゲートは自動的に許可するか、人間の確認を要求するか、アクションをブロックします。\n4. 検証 – アクション後、サーバーはUIを再観察し(同じ階層化知覚を使用)、状態が期待される結果と一致しない場合にDEVIATIONを返します。\n5. ツールボックス – 7つの高レベルツールグループは約150の動詞(click、type、read_tree、open_appなど)を公開します。デバッグやカスタムホスト用に約98のプリミティブの「粒度」サーフェスも利用できます。\n\n---\n## 制限と考慮事項\n\n- OSの前提条件 – macOSはXcodeコマンドラインツールが必要です。Linuxはtesseract-ocr、python3-gi、gir1.2-atspi-2.0が必要で、Waylandでは合成入力にydotoolが必要です。\n- ビジョンフォールバック – 純粋なキャンバスアプリ(ゲーム、ペイントなど)はスクリーンショットベースのクリックに依存しており、遅く、より多くのトークンを消費します。\n- 安全UI – デスクトップが駆動されていることを示す点滅する赤いドットを備えた小さなオンスクリーンバナーがあり、ダブルクリックでセッションを終了できます。\n- ローカルのみ – クラウドコンポーネントはなく、すべての処理はユーザーのマシン上で行われ、プライバシーに優れていますが、ホストはOCRおよび任意のビジョンモデルに十分な計算能力を持つ必要があります。\n\n---\n## 結論\n\nClawd Cursorは、LLM駆動エージェントと実際のデスクトップの間のプライバシーを保護し、検証可能で、クロスプラットフォームなブリッジを提供します。生のスクリーンショットよりもアクセシビリティデータを優先し、単一の安全ゲートを適用することで、「AIにコンピュータを使わせる」ことを安価かつ安全にすることを目指しています。

関連

  • プロジェクト
  • プロジェクト
  • プロジェクト
  • プロジェクト