scottconfusedgorilla avatar

sncro

scottconfusedgorilla/sncro-relay

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 tools

Public 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...

Parameters* required
briefboolean
default: false
git_userstring
default:
project_keystring
get_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...

Parameters* required
keystring
secretstring
query_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...

Parameters* required
keystring
secretstring
selectorstring
stylesvalue
query_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...

Parameters* required
keystring
limitinteger
default: 20
secretstring
selectorstring
get_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...

Parameters* required
keystring
limitinteger
default: 50
secretstring
typevalue
get_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...

Parameters* required
keystring
secretstring
check_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...

Parameters* required
keystring
secretstring
end_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...

Parameters* required
keystring
secretstring
report_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: -...

Parameters* required
categorystring
descriptionstring
git_userstring
default:
project_keystring

Sponsors

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

PathWhat
relay/FastAPI app that exposes an MCP server plus long-poll endpoints for agent.js
relay/static/agent.jsBrowser-side script injected by the middleware; pushes console + DOM data to the relay
middleware/sncro_middleware.pyFastAPI / Starlette plugin — drop-in middleware for FastAPI apps
middleware/sncro_flask.pyFlask 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


View the full README on GitHub

Details

Repository
github.com/scottconfusedgorilla/sncro-relay
Website
sncro.net
Category
Web & Browser Automation
Transport
HTTP
Registry
MCP registry, active

Related Web & Browser Automation MCP servers

View all
1jayquan-mccleary avatarZenLink MCPjayquan-mccleary/zenlink-mcpBrowser automation for MCP clients via Zen Browser. Parallel multi-tab, content extraction.0stars
2laaielichter avatarThreesmithlaaielichter/threesmiththree.js for coding agents: version-pinned API and review, assets, headless runs, perf, 3D models.0stars
3markmircea avatarSelenix Mcp Servermarkmircea/selenix-mcp-serverMCP server that bridges local apps with Selenix for browser automation.0stars
4mechreaper007x avatarClipacanvasmechreaper007x/clipacanvasRender HTML, CSS, SVG, and Canvas animations to MP4 locally via Playwright/Chromium and FFmpeg.0stars
5rocnubie avatarEarScribe MCProcnubie/earscribe-mcpEarScribe is a browser-based transcription tool that converts audio to text on-device using OpenAI0stars
6rocnubie avatarVideo to Audio Converter MCProcnubie/videotoaudioconverter-mcpVideo to Audio Converter is a free, browser-based tool that extracts audio tracks from common video0stars