sncro.net
officielDébogage en direct du navigateur pour assistants IA — DOM, console, réseau via MCP.
Que pouvez-vous faire avec Sncro Net MCP ?
- Créer une session de débogage — demandez à votre assistant IA d'appeler
create_sessionpour connecter un onglet de navigateur en direct au relais. - Inspecter la page actuelle — demandez un instantané DOM complet de l'onglet de navigateur connecté à l'aide de
get_page_snapshot. - Interroger un élément spécifique — demandez à l'assistant de récupérer les détails d'un élément DOM via
query_element. - Capturer la sortie de la console — demandez à l'assistant de remonter les journaux de console et les erreurs que
agent.jsa poussés depuis le navigateur. - Intégrer sncro dans une application FastAPI ou Flask — insérez le middleware fourni pour que votre serveur de développement local injecte automatiquement
agent.js.
Documentation
sncro-relay
Composants open-source de sncro — le relais MCP, l'agent côté navigateur et les plugins de framework qui permettent aux assistants de codage IA d'inspecter un navigateur en direct.
Ce que contient ce dépôt
| Chemin | Description |
|---|---|
relay/ | Application FastAPI qui expose un serveur MCP ainsi que des points de terminaison en long-polling pour agent.js |
relay/static/agent.js | Script côté navigateur injecté par le middleware ; envoie les données de la console et du DOM au relais |
middleware/sncro_middleware.py | Plugin FastAPI / Starlette — middleware prêt à l'emploi pour les applications FastAPI |
middleware/sncro_flask.py | Plugin Flask — middleware prêt à l'emploi pour les applications Flask |
trysncro/ | try.sncro.net — une application de démonstration volontairement cassée pour tester sncro de bout en bout |
Comment ça fonctionne
┌──────────────┐ MCP ┌──────────┐ long-poll ┌─────────────┐
│ Claude Code │──tools────▶│ relay │◀──────────────│ agent.js │
│ (or other │ │ (relay/) │ snapshots │ (injected │
│ MCP client) │◀──results──│ │──────────────▶│ by plugin) │
└──────────────┘ └──────────┘ └─────────────┘
▲
│ same-origin
│ cookies
┌─────────────┐
│ your app │
│ (plugin is │
│ installed) │
└─────────────┘
- Claude appelle
create_session(outil MCP) → le relais renvoie une clé de session à 9 chiffres et une URL - L'utilisateur visite l'URL dans le navigateur où son application s'exécute → confirme via « Autoriser le débogage sncro ? »
- Le plugin dépose un cookie, agent.js est injecté dans les réponses HTML suivantes sur cette origine
- agent.js envoie les données de base (console, erreurs) et utilise le long-polling pour les requêtes à la demande (
query_element,get_page_snapshot, etc.)
Utiliser sncro
La plupart des utilisateurs n'ont pas besoin d'exécuter le relais eux-mêmes — la version hébergée sur relay.sncro.net est adaptée à l'offre gratuite. Enregistrez votre projet sur sncro.net et récupérez votre clé de projet.
FastAPI : déposez middleware/sncro_middleware.py dans votre projet, puis :
from middleware.sncro_middleware import SncroMiddleware, sncro_routes
app = FastAPI(debug=True) # sncro only loads when debug=True
if app.debug:
app.include_router(sncro_routes)
app.add_middleware(SncroMiddleware, relay_url="https://relay.sncro.net")
Flask : déposez middleware/sncro_flask.py dans votre projet, puis :
from sncro_flask import init_sncro
app = Flask(__name__)
if app.debug:
init_sncro(app, relay_url="https://relay.sncro.net")
Les deux middlewares ne s'activent qu'en mode débogage — aucun surcoût en production.
Contribuer
Nous adorons les nouveaux plugins de framework. CONTRIBUTING.md contient les spécifications complètes de ce qu'un plugin doit faire — cookies, routes, en-têtes de sécurité — ainsi que le modèle de test. Django, Rails, Express, Next.js, ASP.NET, Go — tous sont les bienvenus.
Rapports de bugs et problèmes de sécurité : voir SECURITY.md.
Licence
MIT. Voir LICENSE.
Le tableau de bord sur sncro.net (gestion de projet, facturation, administration) réside dans un dépôt propriétaire séparé.