claude-bridgeはGoogle Driveをメッセージキューとして使い、モバイルのClaude appとClaude Code(CLI)を非同期につなぐファイルベースの通信プロトコルです。コードの記述は不要で、Claude appに「m2cで保存して」と言うだけで動作します。
私はClaude Codeをデスクトップの実行エンジンとして使いながら、外出先ではモバイルのClaude appと会話することが多い。Claude Codeは記事執筆やコード設計を動かし、Chatは移動中のアイデア整理や壁打ちに使う——という分担です。
問題は「橋渡し」でした。Chatで固まったアイデアや評価をClaude Code側に持ち帰るとき、毎回コピペして貼り付けるしかない。「それ、メモアプリに書いておけばいいのでは?」——実際、最初はそう思っていました。でもそれだと結局デスクトップに戻ってから「メモを開いてコピー→CLIに貼り付け」という手順が残ります。Claude Codeが自動で拾えるわけではなく、モバイルで「これだ」と思った瞬間のアイデアが、Codeに届くころには鮮度を失っているのが問題でした。
「思ったその瞬間に、CLIに直接渡せないか」——そんな欲求からプロトコルを設計しました。
名前は claude-bridge。Google Driveをメッセージキューにして、モバイルのClaude appとClaude Codeを非同期につなぐ仕組みです。コードは1行も書いていません。
解決したかった問題
モバイルで会話しながら生まれるアイデアや気づきを、Claude Code側に渡す手段がなかった。具体的にはこういうシチュエーションです。
- 電車でモバイルのClaude appと話しながら、記事のアイデアが固まった
- 外出先でブログに書きたいネタを思いついた
- 読んだ記事の感想をClaude Codeのresearcherに投げたい
コピペしてSlackに貼る、メモアプリに書いておく——どちらも一手間あるし、Claude Codeが自動で拾えない。モバイル版Claude appには最近CodeやDispatch(エージェント実行)の機能が実装されましたが、チャット中の会話内容をCLI側にそのまま引き渡すシンプルな仕組みはありません。
制約がプロトコルを生んだ
claude-bridgeが今の設計になったのは、偶然の制約がきっかけでした。
Claude Codeのコンテキストウィンドウが一杯になると「Compaction」が走り、会話の圧縮・要約が行われます。MCPツールが多いとコンテキストを消費する速度が上がるため、常時ロードするMCPを絞り込む必要がありました。Compaction対策でMCPを整理した結果、以下のツールを削減しました。
| 変更したMCP | 削減ツール数 |
|---|---|
| Google Drive重複解消(Integration側を削除) | 7ツール |
| analytics-mcp(使うときだけ有効化) | 7ツール |
| blacktwist(使うときだけ有効化) | 20ツール |
| Slack(使うときだけ有効化) | 13ツール |
| 合計 | 47ツール |
この整理で、常時ロードされるツールが47本減りました。Compactionの頻度は体感では明らかに減りました(実測値なし)。
ここで問題が生じました。Google DriveのローカルMCP(多数のツールを提供するフル版)を無効にした結果、代わりに使い始めたclaude.aiのIntegration版(7ツール版)にはファイル更新機能がないのです。
「ファイルを更新できないのに、通信はどうするか」——普通は諦める制約です。でも逆に考えました。更新しなくてもいい、新規作成だけで通信できるプロトコルにすればいい。
claude-bridgeの設計
基本コンセプト
Google Drive / claude-bridge/ フォルダ ├── m2c_YYYYMMDD-HHMM_<タイトル>.md ← モバイルからClaude Codeへ └── c2m_YYYYMMDD-HHMM_<タイトル>.md ← Claude Codeからモバイルへ
- m2c(mobile-to-claude): モバイル→Claude Code方向のファイル
- c2m(claude-to-mobile): Claude Code→モバイル方向のファイル
- ファイルを「作成する」だけ。更新しない。既読管理は「対応するc2mが存在するか」で判定する
使い方
モバイルのClaude appで言うだけです。
「このメッセージをclaude-bridgeにm2cファイルとして保存して」
Google Driveのclaude-bridgeフォルダにファイルが作られます。次にClaude Codeを起動すると、CLAUDE.mdの起動時チェックに記述した設定で自動検知されます。実際の記述例は以下のとおりです。
## 起動時チェック セッション開始時に以下を確認する: - Google Drive の `claude-bridge/` フォルダに未処理の m2c ファイルがあれば、内容を読んで報告する (対応するc2mが存在しないファイルを「未処理」とみなす)
これをプロジェクトルートの CLAUDE.md(またはエージェント固有の rules ファイル)に追記するだけです。
動作テストでやり取りした実際の流れ
今日、このプロトコルを設計・実装したあと、実際に以下の順で動作確認しました。
- Claude Code側がc2mファイルで設計説明を送信
- モバイル側で確認→動作テストのm2cを送信
- Claude Codeがm2cを検知→c2mで返信
- モバイルからm2cでネタ帳の作成を依頼(このネタ帳もその成果物です)
AIがファイルをやり取りして、人間はGo/No-Goだけ判断する。こういう非同期の連携が、コードなしで動いています。
使えるシーン
| シーン | モバイルでやること | Claude Codeが受け取るもの |
|---|---|---|
| 電車でネタを思いついた | 「このアイデアをm2cで保存して」 | ネタ帳への追記依頼 |
| 外出先で記事を依頼したい | 「〇〇を書くようにClaude Codeに指示を出して」 | 記事執筆タスク |
| 打ち合わせのメモを渡したい | 会話内容をまとめてm2cで保存 | 議事録・整理の依頼 |
| 読んだ記事の感想を渡したい | 「この感想をm2cで保存して」 | リサーチ・深掘りの依頼 |
Remote Control・モバイル版Code・dispatchとの比較——なぜGoogle Drive方式を選んだか
モバイル版Claude appにはRemote Control(実行中のCLIをモバイルから操作)とdispatch(DesktopアプリのCoworkタブ経由でローカルマシンにタスク送信)の2機能があります。claude-bridgeとは役割が異なります。
| 観点 | コード(Remote Control) | dispatch(Cowork経由) | claude-bridge |
|---|---|---|---|
| 実行環境 | ローカルマシン(CLIセッション) | ローカルマシン(Desktopアプリ) | ローカルマシン(CLIセッション) |
| CLAUDE.md・rules・memory | ✅ CLIと同一環境なので引き継がれる | ❌ Desktop独自のCowork設定、CLIのmemory等は別 | ✅ 全て使える |
| 既存Playbook・MCP設定 | ✅ CLIのMCPサーバー・設定そのまま利用可 | △ DesktopアプリとCLIのMCP設定は別管理(未確認) | ✅ そのまま適用される |
| 積み上げたエージェント組織 | ✅ CLIのCLAUDE.md・rules経由で委任可 | ❌ Coworkは独自のエージェント、CLIのrules等は別 | ✅ writer/researcher等に委任できる |
| Git worktree | △ --spawn=worktree 指定時のみ自動作成 |
✅ 各セッションに独立ブランチを自動作成(.claude/worktrees/、公式ドキュメント記載) |
なし |
| 非同期処理 | ❌ CLIプロセスが起動中である必要がある | ✅ Desktop稼働中はworktreeで並行処理・プッシュ通知 | ✅ 完全非同期(CLIが停止中でも送信可) |
| 操作の手軽さ | ✅ ネイティブUI(セッション一覧から選択) | ✅ ネイティブUI(Coworkタブ) | △ 「m2cで保存して」と言う一手間 |
| 利用条件 | Pro/Max/Team/Enterprise(v2.1.51+)。Team/EnterpriseはAdmin設定で有効化が必要 | Pro/Maxのみ(Team/Enterprise不可) | Google DriveのMCP接続が必要 |
claude-bridgeの固有の強みは「CLIが完全停止中でも投げられる完全非同期」と「チャット中の会話内容をそのままCLIに渡せる自然さ」にある。
コード(Remote Control)はローカル環境を全て引き継ぐ強力な仕組みですが、CLIプロセスを事前に起動しておく必要があります。dispatch(Cowork経由)はworktreeで並行・非同期処理ができますが、CLIで育てたCLAUDE.md・memory・エージェント組織はそのままでは使えません。claude-bridgeは「CLIが完全に止まっていても指示だけ先に送り、起動時に処理させる」役割で、他の2つとは補完関係にあります。
技術的な制約と限界——できること・できないことの正直な整理
base64制約について
Google Drive MCPでファイルを作成するとき、コンテンツをbase64エンコードして渡す仕様になっています。この制約はモバイルのClaude appでもCLI(Claude Code)でも同じで、長いコンテンツや特定の文字列でエンコードが失敗することがあります。
実装時に実際に遭遇した障壁として書いておきます(客観的な文字数上限や再現手順は未確認、個人の体感)。短いメッセージや簡単な指示であれば問題なく動きますが、長文を一度に渡す場合は注意が必要です。
コードを書いていない
プロトコル設計・フォルダ作成・動作確認まで、シェルスクリプトもAPIコードも書いていません。SE歴26年のシステムエンジニアですが、Claude Codeではコードを書かず日本語指示だけで動かすスタイルで運用しています。それでもこういう仕組みが作れるのが、Claude Codeの面白いところです。
まだできていないこと
- m2cファイルの蓄積が増えたときの管理(現状は手動で整理)
- 起動時の自動検知がceo-rules.mdに依存しているため、ルール変更に脆い
- 処理済みm2cのアーカイブは未実装
まとめ:Google Driveで作るClaude Code非同期通信の可能性
「更新できないなら、新規作成だけで通信する」——この逆転発想が今回のポイントです。
外出先でモバイルから「この記事を書いて」と指示を出す。帰宅したらClaude Codeが起動時に自動検知してタスクを処理している。そういう非同期ワークフローが、Google Driveというありふれたツールと、ファイルを置くだけというシンプルな設計で作れました。
MCP整理の副産物として生まれたプロトコルですが、使ってみると「思いついたその瞬間に渡せる」という体験は想像以上に快適です。
試してみたい方へ:最小の始め方
- Google Drive MCPをclaude.aiのIntegrationで接続する
- Google Driveに
claude-bridge/フォルダを作成する - モバイルのClaude appで「このメモをclaude-bridgeにm2cファイルとして保存して」と言う
これだけです。CLAUDE.mdに起動時チェックを1行追加すれば、次のセッション起動時に自動で拾われます。
Claude Codeをもっと深く学びたい方は、実践的な入門書が参考になります。
実践Claude Code入門――現場で活用するためのAIコーディングの思考法
Claude Codeエージェント組織の設計書(Zenn Book)
このプロトコルを動かすClaude Code全体の設計(エージェント組織・ルール・自律運用の仕組み)については、Zenn Bookにまとめています。
日本語指示だけでAIエージェントを動かす、非エンジニア向けのClaude Code活用ガイドです。
Claude Codeをもっと深く知りたい方には、実践的な入門書がある。
実践Claude Code入門――現場で活用するためのAIコーディングの思考法