streamable-httpMITupdated 3mo ago
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.
Was kannst du mit sncro machen?
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 |
|---|---|
relay/ |
FastAPI app that exposes an MCP server plus long-poll endpoints for agent.js |
relay/static/agent.js |
Browser-side script injected by the middleware; pushes console + DOM data to the relay |
middleware/sncro_middleware.py |
FastAPI / Starlette plugin β drop-in middleware for FastAPI apps |
middleware/sncro_flask.py |
Flask plugin β drop-in middleware for Flask apps |
trysncro/ |
try.sncro.net β a deliberately-broken demo app for exercising sncro end-to-end |
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 + URL - User 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.
Installation
sncro zu deinem Client hinzufΓΌgen. WΓ€hl den, den du nutzt.
claude mcp add --transport http sncro https://relay.sncro.net/tools/mcpcodex mcp add sncro --url https://relay.sncro.net/tools/mcp{
"mcpServers": {
"sncro": {
"url": "https://relay.sncro.net/tools/mcp"
}
}
}Add to `~/.cursor/mcp.json`, or `.cursor/mcp.json` for a single project.
{
"servers": {
"sncro": {
"type": "http",
"url": "https://relay.sncro.net/tools/mcp"
}
}
}Add to `.vscode/mcp.json` in your workspace.
{
"mcpServers": {
"sncro": {
"url": "https://relay.sncro.net/tools/mcp"
}
}
}Add to `claude_desktop_config.json`, then restart Claude Desktop.
{
"mcpServers": {
"sncro": {
"serverUrl": "https://relay.sncro.net/tools/mcp"
}
}
}Add to `~/.codeium/windsurf/mcp_config.json`.
Score
39 / 100
UnvollstΓ€ndig
- Dokumentation17/25
- Pflege13/25
- Vertrauen13/20
- Funktionsumfang0/15
- Installation12/15
- Documents what it does and how to connect
- Has a resolvable package or endpoint
- Exposes at least one tool, prompt or resource
- README has substantive content
- Includes a code example
- Documents its configuration
- Mentions credentials or security posture
- Last commit 95 days ago
- Has a release history
- Repository is not archived
- Licensed MIT
- Namespace verified in the official MCP registry
- Claimed by its owner
- Published under an organisation
- 0 tool(s) documented
- Provides prompt templates
- Provides resources
- 6 documented install method(s)
- Published to a package registry
- Offers a hosted endpoint β no local install
Versionsverlauf
| Versionen | VerΓΆffentlicht |
|---|---|
| 0.9.4Aktuell | 18. Apr. 2026 |