claude-wrap-mcp について
claude-wrap-mcp は Claude Code セッションの起動と操作を行う MCP サーバーで、エージェントから複数の Claude Code サブエージェントを実行できます。セッションの確認や権限要求への対応に加え、非対話型の `claude -p` セッションも扱います。
主な機能
- 01Claude Code セッションの起動と操作
- 02プロンプトや生入力の送信
- 03セッション状態と記録の確認
- 04ツール呼び出しと結果のページ表示
- 05権限要求の承認または拒否
- 06非対話型 `claude -p` セッションの操作
活用シーン
- 01Claude Code サブエージェントへのタスク委任
- 02長時間のコーディングセッションの監視
- 03セッションのツール呼び出しと出力の確認
- 04セッションからの権限要求への対応
MCP 対応
Claude Code セッションの起動、操作、確認、停止を行う MCP ツールを提供します。非対話型 `claude -p` セッション用のツールも備えています。
設定
ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。
ツール
ローカルサーバーのツールはマシン上で起動して初めて取得できます。メンテナーはまだツール一覧を提供していません。
詳細
claude-wrap-mcp
エージェントが実際の Claude Code セッションを起動して操作できるようにする MCP サーバーです。これにより、Claude Code が複数の Claude Code サブエージェントを実行できます。claude-wrap を基盤としています。
Node ≥ 18 と、PATH 上にある claude CLI が必要です。ヘッドレスセッションはどこでも動作しますが、表示されているターミナルウィンドウへの接続は Windows を優先しています。
インストール
npm install -g claude-wrap-mcp
claude mcp add claude-wrap -- claude-wrap-mcp
または .mcp.json / claude_desktop_config.json に記述します。
{
"mcpServers": {
"claude-wrap": { "command": "npx", "args": ["-y", "claude-wrap-mcp"] }
}
}
ツール
| ツール | 機能 |
|---|---|
claude_spawn | 絶対パスの cwd でセッションを開始します。sessionId を返します。 |
claude_ask | プロンプトを送信し、アイドル状態になるまで待機して、トランスクリプト末尾と解析済みの状態を返します。 |
claude_send | 長時間のタスク向けに、待機せず生の入力(text / line / key)を送信します。 |
claude_status | ビジー状態、モード、トークン数、保留中の権限プロンプト、ToDo、直近 5 件のツールの名前を返します。 |
claude_tool_calls | セッションのツール呼び出しをページ単位で取得します。デフォルトでは ID と名前を返します。 |
claude_tool_result | ID で指定した 1 件のツール呼び出しについて、引数と結果を返します。 |
claude_snapshot | レンダリングされたトランスクリプトの各行を返します。 |
claude_list | ここで起動したもの、または検出したものを含むすべてのセッションと、それぞれのバックエンド、tmux 接続コマンド、系譜を返します。 |
claude_resolve_permission | 保留中の権限プロンプトを approve / deny します。 |
claude_stop | このサーバーが起動または引き継いだセッションを終了します(tmux セッションを強制終了します)。 |
もうひとつ、非インタラクティブな claude -p セッションを操作し、構造化 JSON、ツール呼び出し、使用量、コストを返す claudep_* 系のツールがあります。
知っておくとよい点が 2 つあります。
- 権限プロンプトは表示されますが、回避されることはありません。
claude_askまたはclaude_statusがpermissionPromptを報告した場合は、claude_resolve_permissionで回答してください。 - ツール呼び出しは一括で表示されず、ページ単位で取得します。 ステータスのポーリングで取得するのは名前のみなので、負荷を抑えられます。残りは
claude_tool_callsで一覧表示し、claude_tool_resultで ID を指定して 1 件の出力を取得できます。
tmux でのセッション(Linux/macOS)
サーバーの環境変数(例:ボックス全体の環境)に CLAUDE_WRAP_BACKEND=tmux を設定します。claude_* セッションは tmux セッション内で実行され、MCP 設定を変更する必要はありません。
- セッションはこのサーバーの終了後も存続します。サーバーのシャットダウン時もセッションはそのまま実行され、誰でも
tmux attachで接続できます(コマンドはclaude_spawn/claude_listに表示されます)。 サーバーと同時にセッションを終了するには、CLAUDE_WRAP_TMUX_ON_EXIT=killを設定します。 - どのサーバーでもセッションを引き継げます。一覧にある tmux セッション名を
sessionIdとして渡すと、セッションがプロセス内に接続され、解析済みの状態をすべて利用できます。 - 系譜:
TASK_ID/AGENT_IDが設定されたエージェント内から起動したセッションは、そのタスクと親を記録します。claude_listに表示され、レジストリエントリー(ディレクトリの場合、セッションごとに 1 ファイルとなるCLAUDE_WRAP_REGISTRY)にも記録され、スーパーバイザーが利用できます。
設定項目とエントリー形式については、claude-wrap の README の「tmux backend」を参照してください。
開発
pnpm install
pnpm --filter claude-wrap-mcp build
pnpm --filter claude-wrap-mcp test
ライセンス
MIT © Alex Kaffetzakis
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。