Chrome Extension Bridges Google Messages to Claude Code via MCP

✍️ OpenClawRadar📅 Published: April 14, 2026🔗 Source
Chrome Extension Bridges Google Messages to Claude Code via MCP
Ad

Direct Integration Without Docker or Cloud Servers

A developer has created a Chrome extension that injects into Google Messages Web sessions and bridges them to Claude Code via Model Context Protocol (MCP). The architecture uses stdio transport between Claude Code and a Node.js MCP server, which communicates with the Chrome extension via WebSocket on localhost:7008.

What Works vs. Existing Solutions

The developer tried two existing approaches first:

  • OpenMessage: Docker container using libgm protocol with SSE sessions that expire after a few minutes of inactivity, causing "Invalid session ID" errors. It requires restarting the Docker container for new messages to sync and uses 7 MCP tools (~1,500 tokens per conversation).
  • TextBee: Android SMS gateway app that routes all private SMS messages through cloud servers (SMS only, no RCS). Requires webhook server plus Tailscale/ngrok tunnel, totaling five moving parts for basic texting.

The new Chrome extension approach has three working MCP tools with ~300 tokens overhead:

  • list_chats – Returns all conversations with names, snippets, and timestamps
  • read_messages – Provides full message history with sent/received direction
  • send_message – Fills in text but doesn't actually send (currently works as a draft tool)
Ad

The Angular Isolation Problem

Google Messages Web is an Angular app where Chrome extension content scripts run in an "isolated world" – a separate JavaScript context from the page. Angular's zone.js only patches event listeners in the main world, so when the extension sets the textarea value and clicks Send:

  • The text appears in the input ✓
  • The send button gets clicked ✓
  • Angular's form control doesn't detect the value change, so the click handler thinks the field is empty ✗

Attempted Solutions

The developer has tried multiple approaches:

  • Native value setter + input events
  • document.execCommand('insertText')
  • Full mouse event sequence (pointerdown/mousedown/mouseup/click)
  • Enter key simulation
  • Manifest V3 world: "MAIN" content script (gets closest but still doesn't send)

Debug output from the main world script shows: {"valueSet": true, "btnLabel": "Send end-to-end encrypted RCS message", "clicked": true, "inputAfter": "text still here...", "sentVia": "none"}

Potential Solutions to Explore

The developer is considering:

  • chrome.debugger API for trusted input events
  • Accessing Angular's NgZone via __ngContext__ on DOM elements
  • CDP (Chrome DevTools Protocol) for Input.dispatchKeyEvent

The project is open source with repository at https://github.com/GURSEWAKSINGHSANDHU/google-messages-mcp and issue tracking at https://github.com/GURSEWAKSINGHSANDHU/google-messages-mcp/issues/1.

📖 Read the full source: r/ClaudeAI

Ad

👀 See Also

CipherClaw: Using a Security Persona to Audit Code with Claude
Tools

CipherClaw: Using a Security Persona to Audit Code with Claude

A developer used CipherClaw, a CLAUDE.md persona called TALON, to make Claude Code think like a security architect. Running it on a Next.js app revealed 17 security findings including critical vulnerabilities like unauthenticated endpoints returning admin data and hardcoded auth tokens.

OpenClawRadar
vllm-mlx fork adds tool calling and prompt cache for local AI coding agents
Tools

vllm-mlx fork adds tool calling and prompt cache for local AI coding agents

A developer has modified vllm-mlx to fix tool calling issues and add prompt caching, reducing TTFT from 28s to 0.3s for OpenClaw on Apple Silicon. The fork supports Qwen3-Coder-Next at 65 tok/s on M3 Ultra with working function calling.

OpenClawRadar
RalphTerm: ralph-style loop for Claude Code with cross-review sessions from different agents
Tools

RalphTerm: ralph-style loop for Claude Code with cross-review sessions from different agents

RalphTerm is an open-source Rust CLI that runs a ralph-style outer loop around Claude Code: it takes a markdown plan, executes tasks in fresh interactive sessions, and runs cross-review with a different model (e.g., Codex) in separate fresh sessions, feeding issues back into new implementer sessions.

OpenClawRadar
Open-source MCP memory server with knowledge graph and learning features
Tools

Open-source MCP memory server with knowledge graph and learning features

An open-source MCP server written in Rust provides persistent memory for AI agents with knowledge graph architecture, Hebbian learning, and hybrid search. It's 7.6MB with sub-millisecond latency and works with any MCP-compatible client.

OpenClawRadar