Chrome拡張機能がGoogle MessagesをMCP経由でClaude Codeに接続

✍️ OpenClawRadar📅 公開日: April 14, 2026🔗 Source
Chrome拡張機能がGoogle MessagesをMCP経由でClaude Codeに接続
Ad

Dockerやクラウドサーバーを介さない直接統合

開発者が、Google Messages Webセッションに注入してModel Context Protocol(MCP)を介してClaude CodeにブリッジするChrome拡張機能を作成しました。このアーキテクチャは、Claude CodeとNode.js MCPサーバー間でstdioトランスポートを使用し、MCPサーバーはlocalhost:7008のWebSocketを介してChrome拡張機能と通信します。

既存のソリューションとの比較

開発者は最初に既存の2つのアプローチを試しました:

  • OpenMessage:libgmプロトコルを使用するDockerコンテナで、数分間の非アクティブ後に期限切れになるSSEセッションを採用しており、「無効なセッションID」エラーが発生します。新しいメッセージを同期するにはDockerコンテナを再起動する必要があり、7つのMCPツール(会話ごとに約1,500トークン)を使用します。
  • TextBee:すべてのプライベートSMSメッセージをクラウドサーバー経由でルーティングするAndroid SMSゲートウェイアプリ(SMSのみ、RCS非対応)。基本的なテキスト送信に、ウェブフックサーバーとTailscale/ngrokトンネルを合わせた5つの構成要素が必要です。

新しいChrome拡張機能アプローチでは、約300トークンのオーバーヘッドで3つの機能するMCPツールがあります:

  • list_chats – 名前、スニペット、タイムスタンプを含むすべての会話を返します
  • read_messages – 送信/受信の方向を含む完全なメッセージ履歴を提供します
  • send_message – テキストを入力しますが実際には送信されません(現在は下書きツールとして機能)

Angularの分離問題

Google Messages WebはAngularアプリで、Chrome拡張機能のコンテンツスクリプトはページとは別のJavaScriptコンテキストである「分離された世界」で実行されます。Angularのzone.jsはメイン世界のイベントリスナーのみをパッチするため、拡張機能がテキストエリアの値を設定して送信をクリックすると:

  • テキストが入力欄に表示される ✓
  • 送信ボタンがクリックされる ✓
  • Angularのフォームコントロールが値の変更を検出しないため、クリックハンドラーはフィールドが空であると認識する ✗
Ad

試みられた解決策

開発者は複数のアプローチを試しました:

  • ネイティブの値セッター + 入力イベント
  • document.execCommand('insertText')
  • 完全なマウスイベントシーケンス(pointerdown/mousedown/mouseup/click)
  • Enterキーのシミュレーション
  • Manifest V3 world: "MAIN" コンテンツスクリプト(最も近いが、まだ送信できない)

メイン世界スクリプトからのデバッグ出力は次のように表示されます:{"valueSet": true, "btnLabel": "Send end-to-end encrypted RCS message", "clicked": true, "inputAfter": "text still here...", "sentVia": "none"}

検討中の潜在的な解決策

開発者は以下の検討を考えています:

  • 信頼できる入力イベントのためのchrome.debugger API
  • DOM要素の__ngContext__を介したAngularのNgZoneへのアクセス
  • Input.dispatchKeyEventのためのCDP(Chrome DevTools Protocol)

このプロジェクトはオープンソースで、リポジトリは https://github.com/GURSEWAKSINGHSANDHU/google-messages-mcp に、課題追跡は https://github.com/GURSEWAKSINGHSANDHU/google-messages-mcp/issues/1 にあります。

📖 Read the full source: r/ClaudeAI

Ad

👀 See Also

InsForge:AIコーディングエージェント向けMCP統合セルフホストPostgresバックエンド
Tools

InsForge:AIコーディングエージェント向けMCP統合セルフホストPostgresバックエンド

InsForgeは、Supabaseの代替となるオープンソースのセルフホスト型バックエンドで、MCPを介してClaude Codeに接続し、AIエージェントがスキーマ、ポリシー、サービス状態を確認できるようにします。PostgreSQL 16.4、PostgREST、Denoランタイム、認証、ストレージ、エッジ関数を含みます。

OpenClawRadar
Claude AIのUltraThink機能が復活、実用的な使用ガイド付きで
Tools

Claude AIのUltraThink機能が復活、実用的な使用ガイド付きで

Claude AIはユーザーフィードバックを受けてUltraThink機能を復活させました。Opus 4.6(Max/Team)では中程度の努力がデフォルトとなり、高努力は/modelコマンドで永続的に設定可能です。UltraThinkは高努力への1回限りの上書きとして機能します。

OpenClawRadar
AIMEAT:AIエージェント、ローカルLLM、共有機能のためのセルフホスト型プロトコル
Tools

AIMEAT:AIエージェント、ローカルLLM、共有機能のためのセルフホスト型プロトコル

AIMEATは、人間、AIエージェント、ローカルLLMがHTTP/JSONを介してアプリ、知識、機能を共有できるセルフホスト型のプロトコルとサーバーです。ベンダーロックインも特別なSDKも不要で、プレーンなプロンプトとURLフェッチで動作します。

OpenClawRadar
Claude CodeはToolSearchでツールスキーマを遅延読み込みし、トークンを節約する
Tools

Claude CodeはToolSearchでツールスキーマを遅延読み込みし、トークンを節約する

Claude Codeはツールスキーマの読み込みを遅延させ、最初にツール名のみを送信し、使用前にToolSearch呼び出しでスキーマを取得する。この設計によりトークン消費を大幅に削減する。

OpenClawRadar