sncro
Framework plugin support mentioned as a potential contribution target, allowing integration of sncro debugging capabilities into Django applications.
Framework plugin support mentioned as a potential contribution target, allowing integration of sncro debugging capabilities into Express.js applications.
Provides drop-in middleware for FastAPI applications, enabling sncro debugging capabilities with browser inspection and DOM interaction tools.
Provides drop-in middleware for Flask applications, enabling sncro debugging capabilities with browser inspection and DOM interaction tools.
Framework plugin support mentioned as a potential contribution target, allowing integration of sncro debugging capabilities into ASP.NET applications.
Framework plugin support mentioned as a potential contribution target, allowing integration of sncro debugging capabilities into Next.js applications.
sncro-relay
Open-source components of sncro — the MCP relay, the browser-side agent, and the framework plugins that let AI coding assistants inspect a live browser.
What this repo contains
Path | What |
| FastAPI app that exposes an MCP server plus long-poll endpoints for agent.js |
| Browser-side script injected by the middleware; pushes console + DOM data to the relay |
| FastAPI / Starlette plugin — drop-in middleware for FastAPI apps |
| Flask plugin — drop-in middleware for Flask apps |
|
|
How it works
┌──────────────┐ 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 calls
create_session(MCP tool) → relay returns a 9-digit session key + URLUser visits the URL in the browser where their app is running → confirms via "Allow sncro debugging?"
The plugin drops a cookie, agent.js is injected into subsequent HTML responses on that origin
agent.js pushes baseline data (console, errors) and long-polls for on-demand queries (
query_element,get_page_snapshot, etc.)
Using sncro
Most users don't need to run the relay yourself — the hosted version at relay.sncro.net is free-tier friendly. Register your project at sncro.net and grab your project key.
FastAPI: drop middleware/sncro_middleware.py into your project, then:
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: drop middleware/sncro_flask.py into your project, then:
from sncro_flask import init_sncro
app = Flask(__name__)
if app.debug:
init_sncro(app, relay_url="https://relay.sncro.net")Both middlewares only activate in debug mode — zero overhead in production.
Contributing
We love new framework plugins. CONTRIBUTING.md has the full spec for what a plugin must do — cookies, routes, security headers — plus the test template. Django, Rails, Express, Next.js, ASP.NET, Go — all welcome.
Bug reports and security issues: see SECURITY.md.
License
MIT. See LICENSE.
The dashboard at sncro.net (project management, billing, admin) lives in a separate proprietary repo.
This server cannot be installed
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Latest Blog Posts
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/scottconfusedgorilla/sncro-relay'
If you have feedback or need assistance with the MCP directory API, please join our Discord server