
sncro
Bridges Claude directly into your live browser during development. Once you install the FastAPI or Flask middleware, Claude can call tools like query_element, get_page_snapshot, and read console logs from the actual DOM while you're debugging. The relay at relay.sncro.net sits between your MCP client and a browser-injected agent script that long-polls for commands. Designed for debug mode only, so there's zero overhead in production. Reach for this when you're pair programming with Claude on frontend bugs or layout issues and want it to see exactly what's rendering, not just your source code. The repo includes the relay server, agent.js, and drop-in plugins for both frameworks.
- tools
- 9
- transport
- HTTP
- last updated
- Apr 18, 2026
Tools
9 toolsPublic tool metadata for what this MCP can expose to an agent.
create_sessionCreate a new sncro session. Returns a session key and secret. Args: project_key: The project key from CLAUDE.md (registered at sncro.net) git_user: The current git username (for guest access control). If omitted or empty, the call is treated as a guest session — allowed only w...3 params
Create a new sncro session. Returns a session key and secret. Args: project_key: The project key from CLAUDE.md (registered at sncro.net) git_user: The current git username (for guest access control). If omitted or empty, the call is treated as a guest session — allowed only w...
briefbooleangit_userstringproject_keystringget_console_logsGet recent console logs and errors from the browser. Returns the latest console output and any JavaScript errors, including unhandled exceptions and promise rejections. This reads from baseline data that the browser pushes every 5 seconds, so it works even if the browser tab i...2 params
Get recent console logs and errors from the browser. Returns the latest console output and any JavaScript errors, including unhandled exceptions and promise rejections. This reads from baseline data that the browser pushes every 5 seconds, so it works even if the browser tab i...
keystringsecretstringquery_elementQuery a DOM element by CSS selector. Returns bounding rect, attributes, computed styles, inner text, and child count. Use this to debug layout, positioning, and visibility issues. Requires a connected browser session. If you get BROWSER_NOT_CONNECTED, call check_session first...4 params
Query a DOM element by CSS selector. Returns bounding rect, attributes, computed styles, inner text, and child count. Use this to debug layout, positioning, and visibility issues. Requires a connected browser session. If you get BROWSER_NOT_CONNECTED, call check_session first...
keystringsecretstringselectorstringstylesvaluequery_allQuery all matching DOM elements by CSS selector. Returns a summary of each matching element (tag, id, class, bounding rect, inner text). Useful for checking lists, grids, or multiple instances of a component. Requires a connected browser session. If you get BROWSER_NOT_CONNECT...4 params
Query all matching DOM elements by CSS selector. Returns a summary of each matching element (tag, id, class, bounding rect, inner text). Useful for checking lists, grids, or multiple instances of a component. Requires a connected browser session. If you get BROWSER_NOT_CONNECT...
keystringlimitintegersecretstringselectorstringget_network_logGet network performance data from the browser. Returns resource timing entries (URLs, durations, sizes) sorted by duration (slowest first), plus page navigation timing. Use this to find slow API calls, large assets, or overall page load performance. Requires a connected browse...4 params
Get network performance data from the browser. Returns resource timing entries (URLs, durations, sizes) sorted by duration (slowest first), plus page navigation timing. Use this to find slow API calls, large assets, or overall page load performance. Requires a connected browse...
keystringlimitintegersecretstringtypevalueget_page_snapshotGet a high-level snapshot of the current page. Returns URL, title, viewport dimensions, scroll position, top-level DOM structure, recent console logs, and recent errors. Requires a connected browser session. If you get BROWSER_NOT_CONNECTED, call check_session first and wait f...2 params
Get a high-level snapshot of the current page. Returns URL, title, viewport dimensions, scroll position, top-level DOM structure, recent console logs, and recent errors. Requires a connected browser session. If you get BROWSER_NOT_CONNECTED, call check_session first and wait f...
keystringsecretstringcheck_sessionCheck the connection status of a sncro session. Call this after create_session to confirm the browser has connected before using other tools. If status is "waiting", the user hasn't enabled sncro yet — remind them to click/paste the enable URL, wait a few seconds, and call che...2 params
Check the connection status of a sncro session. Call this after create_session to confirm the browser has connected before using other tools. If status is "waiting", the user hasn't enabled sncro yet — remind them to click/paste the enable URL, wait a few seconds, and call che...
keystringsecretstringend_sessionExplicitly close a sncro session — "Finished With Engines". Call this when you are done debugging and will not need the sncro tools again in this conversation. After this returns, all sncro tool calls on this key will refuse with a SESSION_CLOSED message — that is your signal...2 params
Explicitly close a sncro session — "Finished With Engines". Call this when you are done debugging and will not need the sncro tools again in this conversation. After this returns, all sncro tool calls on this key will refuse with a SESSION_CLOSED message — that is your signal...
keystringsecretstringreport_issueReport an issue, feature request, or success story for sncro. IMPORTANT: ALWAYS ask the user before submitting ANY feedback. Show them exactly what you plan to send and get explicit approval. Never submit feedback without the user's knowledge and consent. For ALL categories: -...4 params
Report an issue, feature request, or success story for sncro. IMPORTANT: ALWAYS ask the user before submitting ANY feedback. Show them exactly what you plan to send and get explicit approval. Never submit feedback without the user's knowledge and consent. For ALL categories: -...
categorystringdescriptionstringgit_userstringproject_keystringSponsors
Readme
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
Details
- Repository
- github.com/scottconfusedgorilla/sncro-relay
- Website
- sncro.net
- Category
- Web & Browser Automation
- Transport
- HTTP
- Registry
- MCP registry, active