Extension Chrome relie Google Messages à Claude Code via MCP

Intégration directe sans Docker ni serveurs cloud
Un développeur a créé une extension Chrome qui s'injecte dans les sessions Google Messages Web et les relie à Claude Code via le Model Context Protocol (MCP). L'architecture utilise un transport stdio entre Claude Code et un serveur MCP Node.js, qui communique avec l'extension Chrome via WebSocket sur localhost:7008.
Ce qui fonctionne vs les solutions existantes
Le développeur a d'abord essayé deux approches existantes :
- OpenMessage : Conteneur Docker utilisant le protocole libgm avec des sessions SSE qui expirent après quelques minutes d'inactivité, provoquant des erreurs "ID de session invalide". Il nécessite de redémarrer le conteneur Docker pour synchroniser les nouveaux messages et utilise 7 outils MCP (~1 500 jetons par conversation).
- TextBee : Application passerelle SMS Android qui route tous les messages SMS privés via des serveurs cloud (SMS uniquement, pas de RCS). Nécessite un serveur webhook plus un tunnel Tailscale/ngrok, totalisant cinq composants mobiles pour un simple envoi de textos.
La nouvelle approche par extension Chrome dispose de trois outils MCP fonctionnels avec une surcharge d'environ 300 jetons :
list_chats– Renvoie toutes les conversations avec noms, extraits et horodatagesread_messages– Fournit l'historique complet des messages avec direction envoyé/reçusend_message– Remplit le texte mais n'envoie pas réellement (fonctionne actuellement comme un outil de brouillon)
Le problème d'isolation d'Angular
Google Messages Web est une application Angular où les scripts de contenu de l'extension Chrome s'exécutent dans un "monde isolé" – un contexte JavaScript séparé de la page. Le zone.js d'Angular ne corrige que les écouteurs d'événements dans le monde principal, donc lorsque l'extension définit la valeur de la zone de texte et clique sur Envoyer :
- Le texte apparaît dans le champ ✓
- Le bouton d'envoi est cliqué ✓
- Le contrôle de formulaire d'Angular ne détecte pas le changement de valeur, donc le gestionnaire de clic pense que le champ est vide ✗
Solutions tentées
Le développeur a essayé plusieurs approches :
- Définition de valeur native + événements d'entrée
document.execCommand('insertText')- Séquence complète d'événements de souris (pointerdown/mousedown/mouseup/click)
- Simulation de touche Entrée
- Script de contenu Manifest V3
world: "MAIN"(s'approche le plus mais n'envoie toujours pas)
La sortie de débogage du script du monde principal montre : {"valueSet": true, "btnLabel": "Send end-to-end encrypted RCS message", "clicked": true, "inputAfter": "text still here...", "sentVia": "none"}
Solutions potentielles à explorer
Le développeur envisage :
- API
chrome.debuggerpour des événements d'entrée fiables - Accès à NgZone d'Angular via
__ngContext__sur les éléments DOM - CDP (Chrome DevTools Protocol) pour
Input.dispatchKeyEvent
Le projet est open source avec le dépôt à https://github.com/GURSEWAKSINGHSANDHU/google-messages-mcp et le suivi des problèmes à https://github.com/GURSEWAKSINGHSANDHU/google-messages-mcp/issues/1.
📖 Lire la source complète : r/ClaudeAI
👀 See Also

Meera : Un assistant IA entièrement hors ligne pour Linux Gnome basé sur Qwen3.5-2B
Meera est un assistant IA hors ligne pour le bureau Gnome qui utilise Qwen3.5-2B-Q4_K_M (1,2 Go) et llama-cpp avec prise en charge Vulkan. Il exploite un deuxième modèle d'embedding minuscule pour la sélection d'outils et le RAG, évitant le gonflement des embeddings de prompt. Fonctionne sur Ubuntu 24.04 avec RTX 5090 et Fedora Silverblue sur Intel i3.

Construire une horloge géologique avec Claude Code : HTML unique + Three.js
Un designer produit a construit eona.earth, une horloge géologique qui cartographie les 4,5 milliards d'années de la Terre sur 12 heures, en utilisant Claude Code, Three.js et des shaders WebGL personnalisés — le tout dans un seul fichier HTML sans étape de build.

Rukuzu : Porter une base de données de graphes en C++ de 200 000 lignes vers Rust avec des tests systématiques
Le projet Rukuzu décrit une méthodologie pour porter la base de données de graphes embarquée kuzu, écrite en C++ avec 200 000 lignes de code, vers Rust. Il utilise une commande personnalisée Claude Code pour maintenir simultanément les deux versions et vérifier la justesse via plus de 2 700 tests.

Driftwatch V3 Sorti : Outil de Surveillance de Base de Code Assisté par l'IA
Driftwatch V3 est désormais disponible en tant que dépôt public après une construction de 5 à 6 jours impliquant environ 9 000 lignes de code et 160 $ de crédits API. L'outil en navigateur suit les problèmes des fichiers markdown, signale les instructions contradictoires et fournit un suivi des coûts avec des recommandations.