Auto Browser : un système de contrôle de navigateur natif MCP avec intervention humaine
Offrez à votre agent IA un véritable navigateur, avec un humain au courant. Agent de navigateur natif MCP open source.
En bref
- De quoi s’agit-il ?
- Un serveur MCP en Python qui offre aux agents LLM et aux opérateurs un navigateur Playwright partagé avec approbations, pistes d'audit et déploiement local-first.
- À qui s’adresse-t-il ?
- Auto Browser est un projet sous licence MIT qui empaquète une session navigateur Playwright en tant que serveur MCP, avec intervention humaine, profils d'authentification et préréglages de conformité. Le README ne fournit pas de garanties de sécurité indépendantes ni de références de production ; celles-ci restent des questions de vérification.
- Puis-je l’utiliser commercialement ?
- Oui. MIT est une licence permissive : vous pouvez utiliser, modifier et vendre un logiciel qui en dépend, à condition de conserver les mentions de droit d’auteur et de licence.
- Est-il encore maintenu ?
- Oui. Les derniers commits datent d’il y a 18 jours.
- En quel langage est-il écrit ?
- Principalement Python, d’après les statistiques de langage de GitHub.
Ces réponses reposent sur les données GitHub du projet (dernière synchronisation le 14 septembre 2026) et sur notre analyse. Elles ne constituent pas un avis juridique.
ANALYSE OPEN SOURCE APPROFONDIE
Un navigateur Playwright partagé pour les clients MCP et les opérateurs
Auto Browser est un système de contrôle de navigateur qui empaquette une session Playwright en tant que serveur MCP. Il offre aux clients MCP, aux agents LLM et aux opérateurs humains un navigateur en direct partagé avec captures d'écran, résumés DOM, extraits OCR, contrôles d'onglets, téléchargements et inspection réseau. Le README le présente comme un véritable navigateur pour les agents IA, pas simplement des récupérations HTML, et liste les tableaux de bord internes, l'assurance qualité assistée par opérateur, les flux de connexion unique réutilisables et les sites fragiles comme bons cas d'usage. Il précise explicitement que la résolution de CAPTCHA, le scraping non autorisé et la formation d'identités trompeuses ne font pas partie des objectifs.
Intervention humaine et garde-fous de sécurité
Le système maintient un accès humain via noVNC, afin qu'une personne puisse entrer dans la même session en direct lorsque le web devient fragile. Les fonctionnalités de sécurité incluent des portes d'approbation, des en-têtes d'identité d'opérateur, des événements d'audit, le nettoyage des PII et des reçus Witness avec signatures Ed25519. Le README documente un audit contradictoire dans docs/audits/2026-08-execution-audit.md qui a trouvé des contrôles de sécurité rapportant un succès sans rien faire, avec reproductions et correctifs. Il note également qu'un bundle Witness exporté se vérifie avec un script qui n'importe rien de ce projet, donc un destinataire n'a pas besoin d'exécuter ou de faire confiance au contrôleur.
Points forts de la version v1.5.0
La version 1.5.0 ajoute un préréglage d'observation texte qui renvoie le plan d'accessibilité, le texte extrait et les éléments interactifs sans captures d'écran ni OCR, défini avec PERCEPTION_PRESET_DEFAULT=text. L'outil browser.find_elements accepte désormais une chaîne de requête (texte brut ou regex) et renvoie les correspondances avec le contexte environnant. Les arguments d'outil invalides rapportent des détails au niveau du champ, et l'erreur de démarrage à froid du pont MCP explique comment démarrer le contrôleur. Un adaptateur générique compatible OpenAI prend en charge tout modèle accessible via un point de terminaison OpenAI /chat/completions, avec les fournisseurs openrouter, xai, deepseek, minimax et openai_compatible. Il y a aussi une ressource MCP browser://audit/events et une parité de version Playwright imposée dans le CI.
Démarrage rapide et première démo utile
Le démarrage rapide clone le dépôt et exécute docker compose up --build, ce qui, selon le README, suffit pour le développement local avec les paramètres par défaut. Les étapes facultatives copient .env.example et exécutent make doctor dans un terminal avec accès Docker local. Tous les ports publiés se lient à 127.0.0.1 par défaut ; la documentation API apparaît à /docs, le tableau de bord opérateur à /dashboard et noVNC au port 6080. Codespaces provisionne la pile automatiquement. Le flux le plus utile consiste à créer une session, se connecter manuellement si nécessaire, la sauvegarder en tant que profil d'authentification nommé, ouvrir une nouvelle session à partir de ce profil et continuer sans réauthentification. Les exemples et commandes curl sont dans le README.
Intégration MCP et configuration client
Auto Browser expose un point de terminaison MCP HTTP à /mcp, des points de terminaison pratiques à /mcp/tools et /mcp/tools/call, et un pont stdio via uvx auto-browser-mcp depuis PyPI. Le profil d'outils MCP par défaut est curaté pour garder la surface du navigateur compacte ; définir MCP_TOOL_PROFILE=full expose la surface interne complète. Des guides de configuration client existent pour Claude Desktop et Cursor, et le README inclut des exemples d'appels d'outils bruts. Le dépôt documente également la liste des ressources, les lectures et les mises à jour de type abonnement dans docs/mcp-clients.md.
Sécurité, conformité et posture de déploiement
Pour un déploiement privé, le README recommande de définir APP_ENV=production, API_BEARER_TOKEN, REQUIRE_OPERATOR_ID, AUTH_STATE_ENCRYPTION_KEY, REQUIRE_AUTH_STATE_ENCRYPTION, REQUEST_RATE_LIMIT_ENABLED, METRICS_ENABLED et STEALTH_ENABLED=false. COMPLIANCE_TEMPLATE applique une posture préconfigurée : strict exige le chiffrement de l'authentification, l'ID opérateur, le nettoyage des PII à toutes les couches, l'isolation docker_ephemeral et une durée de session maximale de 4 heures ; balanced exige l'ID opérateur, le nettoyage des PII sur le réseau et le texte, l'isolation partagée et une durée de session maximale de 24 heures. Les deux préréglages exigent des approbations de téléchargement et activent les reçus Witness. Les anciens noms comme HIPAA, SOC2, GDPR, PCI-DSS fonctionnent toujours comme alias dépréciés avec un avertissement.
Architecture : contrôleur, nœud navigateur et adaptateurs de modèles
Le dépôt est divisé en browser-node, qui exécute Chromium, Xvfb, x11vnc et noVNC ; controller, qui expose le contrôleur FastAPI, le transport MCP, les rails de politique et l'orchestration ; data pour les artefacts d'exécution ; et scripts pour les aides locales. Les fournisseurs de modèles ont des adaptateurs de première classe pour OpenAI, Claude et Gemini, ainsi qu'un adaptateur générique compatible OpenAI pour tout point de terminaison. Le diagramme d'architecture montre un opérateur humain observant ou prenant le contrôle via noVNC, un LLM utilisant des outils partagés via le contrôleur, et le contrôleur pilotant le nœud navigateur via Playwright. Les artefacts comme les captures d'écran, les traces et l'état d'authentification sont stockés, et les rails de politique contrôlent les actions.
Harness de convergence pour l'induction de compétences
Auto Browser inclut un harness de convergence de stade 0 qui exécute un contrat de tâche structuré, enregistre des traces vérifiées contre la falsification, vérifie l'achèvement et écrit un candidat de compétence stagé avec provenance signée. Les compétences générées ne sont que stagées ; la promotion reste explicite et examinée. Les outils d'inspection en lecture seule comme harness.list_runs, harness.get_status et harness.get_trace sont dans le profil curaté par défaut, tandis que les exécutions de convergence, les vérifications de dérive, la gestion des candidats et l'obtention du diplôme nécessitent MCP_TOOL_PROFILE=full ou REST direct. Une commande de fumée locale déterministe est fournie avec un contrat d'exemple.
Conclusion éditoriale
Auto Browser est un projet sous licence MIT qui empaquète une session navigateur Playwright en tant que serveur MCP, avec intervention humaine, profils d'authentification et préréglages de conformité. Le README ne fournit pas de garanties de sécurité indépendantes ni de références de production ; celles-ci restent des questions de vérification.
Notes de la communauté