Local の claude code を MCP サーバーとして起動して Desktop 版から接続する
背景と課題
AI を活用した開発ワークフローにおいて、次のような非効率が生じていた。
- Web 版 Claude でビジネス要件・ユーザーストーリーをもとに対話的な設計を行う
- 設計結果を コピー して Claude Code(ターミナル) に貼り付けて実行する
- 実行結果を コピー して再び Web 版 Claude に貼り付けて確認・次の設計へ
この「コピペの往復」を解消するため、Jira のコメント欄を中継地点として使う運用も試みたが、「コメントを読み込んでください」という指示を毎回記述する必要があり、根本的な解決にはならなかった。
本質的な問題は、設計(Web/Desktop Claude)と実行(Claude Code)の間に手動の橋渡しが存在すること。
解決アプローチ
アーキテクチャの考え方
設計フェーズと実行フェーズの役割を明確に分離し、両者を直接接続する。
Claude Desktop(設計・対話・判断)
↓ MCP プロトコル(自動・コピペなし)
claude mcp serve(ローカル Mac 上で実行)
↓
ファイル操作 / コマンド実行 / BigQuery など
- Claude Desktop がオーケストレーター(大局的な設計・ビジネス判断)
- claude mcp serve がサブエージェント(実行のみ)
Claude Desktop 上での会話の中で「このファイルを修正して」「このコマンドを実行して」と指示すれば、Claude Code がローカル Mac 上で直接操作を行い、結果がそのまま会話に返ってくる。
なぜ Web 版ではなく Desktop 版か
Web 版 Claude から接続するには、ローカルサーバーを公開エンドポイントに変換するためのプロキシ(supergateway 等)と、ngrok などのトンネリングツールが必要になる。対して Claude Desktop は stdio トランスポートで claude mcp serve に直接接続できるため、追加ツール不要でシンプルに構成できる。
セットアップ手順
Step 3:Claude Desktop のインストール
claude.ai/download から macOS 版をダウンロードしてインストール。
Step 4:MCP 設定ファイルの作成
~/Library/Application Support/Claude/claude_desktop_config.json
{ "mcpServers": { "claude-code": { "command": "/Users/yourname/.local/bin/claude", "args": ["mcp", "serve"] } } }
command には Step 1 で確認した which claude の結果を入力する。
Step 5:接続確認
Claude Desktop を再起動後、新しい会話を開き、入力欄左下の「+」→「Connectors」で claude-code のトグルが ON になっていることを確認する。
使い方
Claude Desktop 上で普通に会話するだけ。コピペは一切不要。
「
~/projects/xxx/main.pyを読んで内容を説明して」「このバグを直してファイルを保存して」
「このSQL を
bq queryで実行して結果を見せて」
注意事項
- 設定ファイルを変更したら Claude Desktop の再起動が必要
commandのパスはメンバーごとに異なる場合があるため、各自which claudeで確認すること- 操作はローカル Mac 上で直接実行される。影響の大きい操作には確認ダイアログが表示される