YetiBrowser MCP
officielYetiBrowser MCP est une solution entièrement open-source permettant aux assistants IA d'interagir facilement avec votre navigateur existant.
Que pouvez-vous faire avec Yeti Browser MCP ?
- Naviguer et capturer des instantanés de page — demandez à l'assistant de charger une URL avec
browser_navigateet de renvoyer un instantané d'accessibilité de la page résultante. - Remplir et soumettre des formulaires web — utilisez
browser_fill_formoubrowser_typepour remplir plusieurs champs et éventuellement soumettre le formulaire. - Inspecter la sortie de la console et l'état de la page — récupérez les erreurs, les journaux, les données de formulaire, les cookies et les clés de stockage via
browser_get_console_logsetbrowser_page_state. - Exécuter du JavaScript personnalisé dans la page — exécutez des scripts arbitraires avec
browser_evaluateet obtenez des résultats sérialisables en JSON pour le débogage ou l'extraction de données. - Capturer des captures d'écran — prenez des captures d'écran de la fenêtre ou de la page entière à l'aide de
browser_screenshotpour une vérification visuelle ou des workflows d'assurance qualité.
Documentation
[!IMPORTANT] Ce projet a été archivé. Il a été conçu pour pallier l'absence de contrôle du navigateur dans les agents IA tels que Claude et Codex, mais ces agents disposent désormais de ces fonctions en natif, sans nécessiter de solution dédiée basée sur MCP.
YetiBrowser MCP
YetiBrowser MCP est une implémentation entièrement open source du flux de travail Browser MCP. Il relie un serveur MCP basé sur Node à des extensions Chrome/Firefox afin que les clients Model Context Protocol — Codex/Claude Code, Cursor, Windsurf, MCP Inspector ou vos propres outils — puissent automatiser un véritable onglet de navigateur tout en conservant chaque octet sur votre machine et en restant auditables.
Pourquoi choisir YetiBrowser MCP ?
- Transparent et modifiable – aucun téléchargement de binaire. Inspectez, forkez et étendez chaque composant.
- Local d'abord – l'extension communique uniquement avec un serveur MCP localhost ; les données de navigation ne quittent jamais votre appareil.
- Multi-navigateur – une logique partagée alimente les paquets Chrome et Firefox (la version Firefox est en attente d'un meilleur support de Manifest V3, l'expérience de connexion peut donc être limitée jusqu'à ce que Mozilla fournisse les API MV3 complètes).
- Outillage orienté développeur – capture de console enrichie, comparaison DOM, sauvegardes d'état de page et captures d'écran pleine page conçues pour le débogage et l'assurance qualité.
- Prêt pour la production – scripts et documentation pour l'empaquetage, la publication et l'intégration avec les flux de travail IDE.
Structure du dépôt
packages/shared– définitions TypeScript partagées pour les messages et les schémas d'outils.packages/server– le serveur MCP qui fait le pont entre les clients MCP et un onglet de navigateur actif.extensions/shared– source partagée de l'extension (arrière-plan/popup) et ressources.extensions/chrome/extensions/firefox– couches d'empaquetage par navigateur.docs/– commandes d'espace de travail, listes de contrôle de publication et notes de fonctionnalités.scripts/– utilitaires d'aide tels quepackage-extensions.shpour les archives de version.
Outils MCP disponibles
browser_snapshot– capturer un instantané orienté accessibilité de la page actuellebrowser_snapshot_diff– comparer les deux instantanés les plus récents pour mettre en évidence les changements DOM/ARIAbrowser_navigate– charger une nouvelle URL dans l'onglet connecté et renvoyer un instantané mis à jourbrowser_go_back/browser_go_forward– naviguer dans l'historique tout en maintenant MCP synchronisébrowser_wait– interrompre l'automatisation pendant un nombre défini de secondesbrowser_wait_for– bloquer jusqu'à ce qu'un sélecteur apparaisse (éventuellement visible) avant de continuerbrowser_press_key– simuler l'appui sur une touche du clavier sur l'élément focalisébrowser_click– cliquer sur l'élément identifié par un sélecteur CSSbrowser_hover– survoler le pointeur au-dessus de l'élément ciblébrowser_drag– faire glisser un élément vers une cible de dépôt pour les interfaces de tri/glisser-déposerbrowser_type– saisir du texte (en soumettant éventuellement avec Entrée) dans un élément éditablebrowser_fill_form– remplir plusieurs champs/sélections/cases à cocher/boutons radio en un seul appelbrowser_select_option– choisir une ou plusieurs options dans un élément<select>browser_screenshot– capturer une capture d'écran de la fenêtre d'affichage ou de la page entière via le protocole DevToolsbrowser_get_console_logs– renvoyer la sortie récente de la console, y compris les erreurs avec les traces de pilebrowser_page_state– vider les formulaires, les clés de stockage et les cookies pour la page connectéebrowser_connection_info– signaler le port WebSocket du pont, l'état de la connexion et la version de l'extensionbrowser_evaluate– exécuter du JavaScript personnalisé dans la page et renvoyer des résultats sérialisables en JSONbrowser_handle_dialog– accepter ou rejeter les dialoguesalert/confirm/promptavec un texte d'invite facultatif
Installation de l'extension de navigateur MCP
Navigateur Chrome
- Installez la dernière extension de navigateur Chrome ici : https://chromewebstore.google.com/detail/hpedknkjljpopinabjjmljgckhlancni?utm_source=item-share-cb
- Laissez-la en mode de connexion Automatique sauf si vous exécutez plusieurs instances du serveur YetiBrowser MCP
Navigateur Firefox (actuellement indisponible)
- En raison des capacités limitées de Manifest v3 dans la version stable de Firefox, l'extension Firefox est en suspens jusqu'à ce que la prise en charge complète soit généralement disponible (en dehors des versions Nightly).
Installation du serveur MCP
Codex CLI
- Modifiez votre ~/.codex/config.toml et ajoutez l'entrée MCP :
[mcp_servers.yetibrowser-mcp] command = "npx" args = ["-y", "@yetidevworks/server"] - Redémarrez la commande CLI
codex; vous devriez voiryetibrowser-mcpdans la liste des outils/mcp. - Si vous souhaitez fournir un port spécifique, utilisez ce format pour l'entrée args :
args = ["-y", "@yetidevworks/server", "--ws-port", "9010"]
Claude Code
- Assurez-vous que l'extension est installée et connectée à un onglet, puis démarrez le serveur MCP avec
npx -y @yetidevworks/server(ou exécutez la CLI construite localement). - Ajoutez l'entrée du serveur à
~/Library/Application Support/Claude/claude_desktop_config.json(voir l'exemple dansdocs/publishing.md). - Redémarrez
claudepour qu'il prenne en compte le nouveau serveur MCP ; vous devriez voiryetibrowser-mcpdans le menu des outils/mcpune fois l'extension connectée.
Autres clients compatibles MCP
- Tout client MCP peut se connecter en lançant la CLI (
npx -y @yetidevworks/server) ou en fournissant éventuellement un port spécifique, par exemplenpx -y @yetidevworks/server --ws-port 9010. - Le serveur expose le transport MCP standard via stdio, utilisez donc le mécanisme de configuration pris en charge par votre client pour exécuter la commande ci-dessus lorsqu'un onglet est connecté.
MCP Inspector
- Pour tester et déboguer en dehors d'un agent de codage.
npx @modelcontextprotocol/inspector npx -y @yetidevworks/server -- --ws-port 9010pour exécuter et inspecter le serveur MCP conjointement avec l'extension de navigateur YetiBrowser MCP.
Dépannage
- La CLI parcourt les ports
9010-9020jusqu'à en trouver un libre, en journalisantswitched tolorsqu'elle avance. Passez--ws-port <port>si vous souhaitez plutôt fixer un port spécifique. - La fenêtre contextuelle de l'extension de navigateur reflète ce comportement : laissez-la sur « Automatique » pour suivre le port de la CLI, ou choisissez « Manuel » et entrez le port signalé par
browser_connection_info/ le journal de la CLI pour le remplacer. - Demandez simplement à votre outil IA le port de connexion. Par exemple :
what is the yetibrowser mcp connction info?, puis définissez le port manuel sur le port signalé.
Documentation et scripts de construction
- Les commandes de l'espace de travail se trouvent dans
docs/workspace-commands.md. - Les étapes de publication (npm + boutiques d'extensions) sont dans
docs/publishing.md. - Le comportement des captures d'écran est documenté dans
docs/screenshot.md. - Générez des archives distribuables Chrome/Firefox avec
./scripts/package-extensions.sh(sortie versartifacts/). - Une politique de confidentialité au niveau du dépôt est disponible dans
PRIVACY.md.