loading…
Search for a command to run...
loading…
Give your AI coding assistant live visibility into the user's browser. Claude sees the actual DOM, console errors, and network timing instead of guessing from s
Give your AI coding assistant live visibility into the user's browser. Claude sees the actual DOM, console errors, and network timing instead of guessing from screenshots. Drop-in middleware for FastAPI + Flask.
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.
| 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 |
┌──────────────┐ 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) │
└─────────────┘
create_session (MCP tool) → relay returns a 9-digit session key + URLquery_element, get_page_snapshot, etc.)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.
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.
MIT. See LICENSE.
The dashboard at sncro.net (project management, billing, admin) lives in a separate proprietary repo.
Run in your terminal:
claude mcp add sncro -- npx Yes, Sncro MCP is free — one-click install via Unyly at no cost.
No, Sncro runs without API keys or environment variables.
A hosted option is available: Unyly runs the server in the cloud, no local setup required.
Open Sncro on unyly.org, pick your client tab (Claude Desktop, Claude Code, Cursor) and press Install — the config is generated automatically, no JSON editing.
Browser automation, scraping, screenshots
by MicrosoftBrowser automation and web scraping.
by modelcontextprotocolPlugin-based MCP server + Chrome extension that gives AI agents access to web applications through the user's authenticated browser session. 100+ plugins with a
by opentabs-dev1,500+ developer infrastructure deals, free tiers, and startup programs across 54 categories. Search deals, compare vendors, plan stacks, and track pricing chan
by robhunterNot sure what to pick?
Find your stack in 60 seconds
Author?
Embed badge for your README
Browse similar
All browse MCPs