sncro.net

officiel

Dé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_session pour 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.js a 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

CheminDescription
relay/Application FastAPI qui expose un serveur MCP ainsi que des points de terminaison en long-polling pour agent.js
relay/static/agent.jsScript côté navigateur injecté par le middleware ; envoie les données de la console et du DOM au relais
middleware/sncro_middleware.pyPlugin FastAPI / Starlette — middleware prêt à l'emploi pour les applications FastAPI
middleware/sncro_flask.pyPlugin 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) │
                                                       └─────────────┘
  1. Claude appelle create_session (outil MCP) → le relais renvoie une clé de session à 9 chiffres et une URL
  2. L'utilisateur visite l'URL dans le navigateur où son application s'exécute → confirme via « Autoriser le débogage sncro ? »
  3. Le plugin dépose un cookie, agent.js est injecté dans les réponses HTML suivantes sur cette origine
  4. 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é.