desk-presence MCP
This server does not currently have a deployable release on Glama. Follow the repository's setup instructions to install and configure it for your MCP client, including any required credentials and local dependencies.
desk-presence MCP
AIエージェントのための究極の物理CAPTCHA
DVDドライブのトレイを開き、人間が手で閉じたことをもって「デスクに人間がいる」と判定するMCPサーバー
💡 コンセプト (What is this?)
AIエージェントとペアプロや自動化を行っているとき、「重大な決定やファイル削除の前に、ユーザーが本当にPCの前にいるか確認したい」 という場面があります。
画面上のクリックや通知音、キー入力はマクロや別スクリプトでも自動応答できてしまいますが、「物理的に飛び出したDVDトレイを手で押し戻す」という動作だけは、PCの前に実体として肉体が存在していなければ絶対に不可能です。
desk-presence は、あなたのPCの光学ドライブを**AIと現実世界をつなぐ物理呼び鈴(アナログ在席センサー)**に変えるMCP(Model Context Protocol)サーバーです。
[ AI Agent ]
│ "重要な確認があります。席にいますか?"
│ (presence_check ツールを実行)
▼
[ DVD Drive ] ──▶ ウィーン…(トレイが勝手に全開になる)
▲
│ ペチッ(人間が手でトレイを押し戻す)
│
[ desk-presence ] ──▶ SCSI TEST UNIT READY で閉鎖を即時検知!
│
▼
[ AI Agent ] ──▶ "肉体存在を確認。本題に入ります。"Related MCP server: Glasswarp
🛠 技術的特徴 (Deep Win32 Architecture)
お遊びツールに見えて、内部実装はWin32低レイヤーの職人芸で組まれています:
SCSI Pass-Through によるダイレクト制御
単にOSの開閉APIを叩くだけでなく、
IOCTL_SCSI_PASS_THROUGHを通じてドライブへ直接TEST UNIT READY(CDB00h) を発行。返ってきたSenseデータの ASC/ASCQ をリアルタイム解析:
ASC 3Ah / ASCQ 02h: MEDIUM NOT PRESENT - TRAY OPEN(トレイ全開)ASC 3Ah / ASCQ 01h: MEDIUM NOT PRESENT - TRAY CLOSED(トレイ閉鎖)ASC 04h: LOGICAL UNIT NOT READY(開閉動作中)
「早閉じ(反射的な押し戻し)」の検知
トレイが開き切る前に人間が反射的にパタンと閉じてしまった場合(
closed_before_open_confirmed)も考慮されたステートマシン。
MCP 1.x (FastMCP) & 2.x (MCPServer) 両対応
ライブラリ環境に合わせて自動フォールバック。
Stdio & Streamable HTTP 両対応
デスクトップクライアント(Claude Desktop, Antigravity, Cursor等)には高速な
stdio、リモート接続にはStreamable HTTPを選択可能。
📦 必要要件 (Requirements)
OS: Windows 10 / 11
ハードウェア: トレイ開閉式の光学ドライブ(CD/DVD/BD内蔵ドライブ または USB外付けドライブ)
Python: 3.10 以上
ライブラリ:
pip install -r requirements.txt
🚀 インストール & 設定 (Setup)
1. リポジトリのクローン & 依存インストール
git clone https://github.com/your-username/desk-presence-mcp.git
cd desk-presence-mcp
pip install -r requirements.txt2. 各AIエージェントへの登録
Antigravity / Gemini CLI (mcp_config.json)
~/.gemini/config/mcp_config.json に追加:
{
"mcpServers": {
"desk-presence": {
"command": "python",
"args": ["C:\\path\\to\\desk_presence_server.py"],
"env": {
"MCP_TRANSPORT": "stdio",
"PYTHONIOENCODING": "utf-8"
}
}
}
}Claude Desktop (claude_desktop_config.json)
%APPDATA%\Claude\claude_desktop_config.json に追加:
{
"mcpServers": {
"desk-presence": {
"command": "python",
"args": ["C:\\path\\to\\desk_presence_server.py"],
"env": {
"MCP_TRANSPORT": "stdio",
"PYTHONIOENCODING": "utf-8"
}
}
}
}Cursor / Windsurf
MCP設定画面から Command に python、Args にスクリプトのフルパスを指定し、環境変数に MCP_TRANSPORT=stdio を追加してください。
📖 提供ツール (Available Tools)
presence_check
DVDトレイを開き、人間が閉じるのを待機します。手で閉じられた時点で在席確定(present: true)を返します。
引数:
timeout_sec(int, 5〜300秒, デフォルト: 60): トレイが閉じられるのを待つ制限時間。タイムアウト時は不在として自動でトレイを閉じます。debug(bool, デフォルト: false): ポーリング毎の詳細な時間・ステートログを含めます。
返り値:
{ "present": true, "response_sec": 10.5, "response_since_command_sec": 13.8, "eject_sec": 3.0, "evidence": "closed_state" }
drive_status
光学ドライブの現在のトレイ開閉状態を取得します(デバッグ・事前確認用)。
🤖 エージェント向けプロンプト・ルール設定例
AIエージェント(.cursorrules, GEMINI.md, Claude Custom Instructions等)に以下のように指示しておくと効果的です:
ユーザーとの重要な認識のすり合わせや破壊的コマンドの実行前、あるいはユーザーが席にいるか確認したいときは、desk-presence MCP の `presence_check` ツールを使用してください。
DVDドライブのトレイが開き、ユーザーが手で閉じることで在席(present=true)が確認されます。在席を確認してから本題の質問を提示してください。⚙️ 環境変数オプション (Environment Variables)
変数名 | デフォルト値 | 説明 |
|
|
|
|
| HTTPモード時のリッスンホスト。 |
|
| HTTPモード時のリッスンポート。 |
| 自動検出 | ドライブ文字を固定したい場合に指定(例: |
|
| ドライブのBUSY応答による即時検知を有効化(試験的)。 |
📄 ライセンス (License)
MIT License
This server cannot be deployed
Maintenance
Related MCP Connectors
Troubleshoot enrolled client PCs from your AI client, with human approval and an audit trail.
Lets AI agents use a real human as a tool: visual checks, taste, phone calls, unblocking, approvals
Turns a phone into a camera+Bluetooth remote so AI assistants can see and control any PC.
- DNS-DATA RemoteDeprecatedcom.dns-data
Connect AI assistants to authorized Windows and macOS devices for files, commands, and management.
Related MCP Servers
- AlicenseNot gradedqualityDmaintenanceEnables AI agents to monitor system resources and control media, brightness, volume, and other Windows PC functions through natural language commands.1MIT
- AlicenseAqualityCmaintenanceAllow AI agents to see and control a real Windows PC you own: observe (UIA + screenshots), click/type/drag/scroll, launch apps, owner Live View. BYOH — your machine, your key.16Apache 2.0
- AlicenseNot gradedqualityAmaintenanceRealtime PC eyes and hands for any AI agent — provides desktop, browser, file, registry, and OS control via batched execution and lease-based safety gates.MIT
- AlicenseNot gradedqualityCmaintenanceEnables AI agents to control a Linux optical drive tray as an emotive actuator, with tools for status, motion primitives, emotion choreographies, and diagnostics.MIT