Claude Code Policy: Write Managed Settings Fast
Read More
Enterprise Connectors
Sncro logo. Sncro MCP server connector.

Sncro MCP Server

Live browser debugging for AI assistants — DOM, console, network via MCP.

ToolsTools
12
Last updatedLast Updated
Jun 14, 2026
CategoryCategory
All
Enterprise-grade security
SSO & authentication ready
Full governance & audit logs

What is the Sncro MCP Server?

The Sncro MCP server gives AI agents structured, permission-aware access to Sncro through the Model Context Protocol. With 12 pre-built actions, agents can read, create, and update Sncro data on behalf of authorized users.

Willow ships the Sncro MCP server as part of an enterprise control plane. Every call runs behind SSO (Okta, Azure AD), enforces RBAC and least-privilege at runtime, writes to a full audit trail, and integrates with Splunk and Loki for SIEM visibility. Connect from Claude Desktop, Claude Code, Cursor, ChatGPT, VS Code, n8n, or any custom agent. Install once, distribute org-wide, and see exactly how Sncro is being used by every AI agent in your stack.

Tools

Tool

create_session

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 when the project owner has "Allow guest access" enabled. brief: If True, skip the first-run briefing (tool list, tips, mobile notes) and return a compact response. Pass this on the second and subsequent create_session calls in the same conversation, once you already know how to use the tools. After calling this, tell the user to paste the enable_url in their browser. Then use the returned session_key and session_secret with all other sncro tools. If no project key is available: tell the user to go to https://www.sncro.net/projects to register their project and get a key. It takes 30 seconds — sign in with GitHub, click "+ Add project", enter the domain, and copy the project key into CLAUDE.md.
Tool

get_console_logs

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 is in the background. If you get a "no data" error, the browser hasn't connected yet — call check_session to diagnose, then retry.
Tool

query_element

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 and wait for "connected" status. If you get BROWSER_TIMEOUT, the page may be navigating — wait a moment and retry. Args: key: The sncro session key secret: The session secret from create_session selector: CSS selector (e.g. "#photo-wrap", ".toolbar > button:first-child") styles: Optional list of CSS properties to read (e.g. ["transform", "width", "display"])
Tool

query_all

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_CONNECTED, call check_session first and wait for "connected" status. Args: key: The sncro session key secret: The session secret from create_session selector: CSS selector limit: Max elements to return (default 20)
Tool

get_network_log

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 browser session. If you get BROWSER_NOT_CONNECTED, call check_session first and wait for "connected" status. Args: key: The sncro session key secret: The session secret from create_session limit: Max resources to return (default 50) type: Filter by initiator type (e.g. "fetch", "xmlhttprequest", "img", "script", "css")
Tool

get_js_value

Read a JavaScript value from the browser by property path. Walks a strict property path — NO expression evaluation, NO function calls, NO arbitrary code. Accepts identifiers, integer indices in brackets, and double-quoted string keys in brackets. Use this to read runtime state that isn't visible in the DOM: - Framework hydration: window.__NEXT_DATA__.props.pageProps - Redux/Zustand/etc stores (if exposed on window): window.__STORE__._currentState - Feature flags stashed on globals: window.APP.flags - Nested config: window["site-config"].features[0] EXPLORATION MODE: pass mode="keys" to get Object.keys() at the path instead of the value. Start with path="window" to discover globals, then drill in. This is how to find exposed state without guessing: get_js_value(path="window", mode="keys") -> ["document", "__NEXT_DATA__", "store", ...] get_js_value(path="window.store", mode="keys") -> ["_currentState", "subscribe", "dispatch", ...] get_js_value(path="window.store._currentState") -> the actual state object LIMITATIONS (intentional — security): - Cannot call functions. "store.getState()" fails. Expose the value as a readable property instead, e.g. window.__STORE__.state. - No arithmetic, comparisons, or expressions. - Path must start with an identifier and walk down via dots/brackets. Responses are cycle-safe, depth-capped, and size-capped. DOM nodes and React fiber trees are summarized rather than traversed. Args: key: Session key secret: Session secret from create_session path: Property path, e.g. "window.__NEXT_DATA__.props.pageProps" or 'window["site-config"].features[0]' or 'window.arr[0].name' mode: "value" (default) returns the serialized value; "keys" returns Object.keys() at the path max_depth: Max traversal depth when serializing (default 6, capped at 10) max_bytes: Max serialized size in bytes (default 20000, capped at 100000) Returns: {path, type, value, truncated, size_bytes} in value mode {path, mode, type, keys} in keys mode {error: "..."} on bad path / function / failure Requires a connected browser session and middleware v0.9.6+ (older middleware works — the relay doesn't care; the browser needs agent.js from relay.sncro.net which auto-updates).
Tool

get_page_snapshot

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 for "connected" status.
Tool

get_screenshot

Capture a real pixel screenshot of the user's tab. Unlike the DOM/style tools, this returns what the browser actually painted — true fonts, cross-origin images, shadows, gradients, blend modes. Use it for design review and visual-fidelity checks the DOM can't answer. Requires the user to have ticked "Allow screenshots" on the consent screen AND to have clicked "Share" on the sncro badge to start the screen-share (a one-time per-session browser prompt). If you get SCREENSHOTS_NOT_CONSENTED, ask the user to create a new session with that box checked. If you get SCREENSHOTS_NOT_STARTED, ask them to click "Share" on the sncro badge in the page corner. Args: key: The sncro session key secret: The session secret from create_session max_width: Max image width in px; the frame is scaled down to fit (default 1280)
Tool

check_session

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 check_session again. Returns: status: "not_found" | "waiting" | "connected" session_age_seconds: how long since the session was created next_step: what to do based on current status
Tool

end_session

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 to stop trying to use them and not apologise about it. Use it when: - The original problem is solved and the conversation has moved on - The user explicitly says "we're done with sncro for now" - You're entering a long stretch of work that won't need browser visibility The session can't be reopened. If you need browser visibility later, ask the user whether to start a new one with create_session.
1–10 of 12 tools
Customize tools

Customize Tools

Edit descriptions, modify arguments, select tools, or add new ones

ReviewEdit descriptions
ConfigureChange arguments
ApproveSelect tools
Create NewAdd tool

Set Up Your Sncro MCP Server in Minutes

Add the following configuration to your MCP client. Authentication is handled via OAuth. Compatible with Claude Desktop, Claude Code, Cursor, ChatGPT, VS Code, n8n, and any MCP-compatible agent.

Claude Desktop

claude_desktop_config.json
{
  "mcpServers": {
    "willow-sncro": {
      "type": "http",
      "url": "https://<org>.mcp-s.com/mcp/mcp/sncro"
    }
  }
}

Cursor

.cursor/mcp.json
{
  "mcpServers": {
    "willow-sncro": {
      "type": "http",
      "url": "https://<org>.mcp-s.com/mcp/mcp/sncro"
    }
  }
}

Claude Code

CLI
claude mcp add willow-sncro --transport http https://<org>.mcp-s.com/mcp/mcp/sncro

n8n

HTTP Request Node
{
  "url": "https://<org>.mcp-s.com/mcp/mcp/sncro",
  "method": "POST"
}

Or click "Install with Willow" above to set up automatically with SSO and RBAC preconfigured.

Enterprise Governance for Sncro

Willow adds the layer Sncro and every other SaaS doesn't ship out of the box: every call runs behind SSO (Okta, Azure AD), enforces RBAC and least-privilege at runtime, writes to full audit logs, and detects shadow AI usage across your stack. One MCP gateway. Any agent. Every tool.

Sncro MCP Server FAQ

What is the Sncro MCP server?

The Sncro MCP server is a Model Context Protocol implementation that lets AI agents like Claude, Cursor, and ChatGPT read and write Sncro data through a standardized interface. Willow hosts and governs this server so enterprises can roll it out without a security review backlog.

How is Willow's Sncro MCP server different from the official one?

The official Sncro MCP server is scoped to a single user's account and does not include enterprise governance. Willow's version adds SSO, RBAC, audit logging, shadow AI detection, and centralized control over which actions agents can take across the entire org.

Which AI clients work with the Sncro MCP server?

Claude Desktop, Claude Code, Cursor, ChatGPT, VS Code with MCP support, n8n, and any custom agent built with OpenAI Agents SDK, LangChain, Vercel AI SDK, or Anthropic SDK.

Is the Sncro MCP server secure? How does Willow handle authentication?

Every call runs behind your existing SSO (Okta, Azure AD). Per-user OAuth scopes the agent to exactly what that user can do in Sncro, nothing more. No credentials reach the LLM. Every action writes to an audit trail.

Can I limit which Sncro actions agents can take?

Yes. Willow lets you scope agents to specific actions, specific projects, or specific environments. Toggle actions on or off in the dashboard, or enforce policy via infrastructure-as-code through GitHub.

How do I detect shadow Sncro MCP servers in my org?

Willow's browser extension and discovery service surface unmanaged MCP servers, skills, and AI agents across the org. If a developer installed an unapproved Sncro MCP locally, you'll see it.

What does the Sncro MCP server cost?

Pricing depends on org size and deployment model (SaaS, dedicated cloud, self-host). See withwillow.ai/pricing or contact sales for a quote.

How do I install the Sncro MCP server with Willow?

Install via the Willow Connect Panel in one click, or paste the JSON snippet above into your Claude Desktop, Cursor, or Claude Code config. SSO and RBAC inherit from your existing Willow setup.

Compare Willow MCP Gateway

See how Willow stacks up against other MCP platforms on governance, security, and enterprise readiness.

Your agents are already in the wild.

Give them a Basecamp. Go from AI chaos to AI work, in minutes.

Sncro MCP Server | Willow