SoftGlaze AI

Use SoftGlaze with Playwright MCP and Chrome DevTools MCP

Start a SoftGlaze profile through the local API, read its DevTools address, and attach Playwright MCP or Chrome DevTools MCP in Claude Desktop, Claude Code, Cursor or VS Code. With the detection warning, and why SoftGlaze's own page tools are usually the better choice.

Last updated 9 November 2026

Playwright MCP and Chrome DevTools MCP are MCP servers that let an AI app drive a Chrome browser. You can point either of them at a running SoftGlaze profile, so the AI app works inside that profile, with its own proxy, fingerprint, cookies and storage.

Most people don’t need this. SoftGlaze AI already gives your AI app page tools that work inside a profile: open a URL, read the page, click, type, scroll, take a screenshot and read text. Read why SoftGlaze’s own tools are usually better before you start.

Websites can detect an outside debugger. Playwright MCP and Chrome DevTools MCP connect to the profile as a second DevTools client and send their own commands, which anti-bot scripts can notice. A profile you hand to them may be flagged, challenged or blocked. Use a test profile, not one with an account you care about.

What you need

  • SoftGlaze Browser 1.0.22 or newer, and a Chromium profile. Firefox profiles have no DevTools address.
  • One of these keys:
    • A Developer API key (it starts with sg_): Settings, Developer API Access. Switch the Developer API on and create a key. Developer API keys never ask for approval, because they are for your own scripts.
    • Or a SoftGlaze AI token with the Full scope, which only the Owner can create. Starting a profile with it asks you in SoftGlaze first.
    • An Operate token can start a profile too, but its answer leaves out the DevTools address.
  • Node.js for the MCP server: 18 or newer for Playwright MCP; for Chrome DevTools MCP, 20.19 or a later 20 release, 22.12 or a later 22 release, or 23 and newer.

Step 1: start the profile and read its address

Find the profile’s id in SoftGlaze, or with GET /api/v1/profiles. Then start it through the local API on this computer. Replace <ID> and <KEY>, and the port if you changed it.

PowerShell:

$r = Invoke-RestMethod -Method Post -Uri "http://127.0.0.1:8080/api/v1/profiles/<ID>/start" -Headers @{ Authorization = "Bearer <KEY>" } -ContentType "application/json" -Body "{}"
$r.wsEndpoint

Command Prompt (in PowerShell, type curl.exe instead of curl):

curl -X POST http://127.0.0.1:8080/api/v1/profiles/<ID>/start -H "Authorization: Bearer <KEY>" -H "Content-Type: application/json" -d "{}"

The answer looks like this:

{ "ok": true, "profileId": 12, "sessionId": "12", "wsEndpoint": "ws://127.0.0.1:53123/devtools/browser/0b6c...", "alreadyRunning": false }

wsEndpoint is the profile’s DevTools address. It is new every time the profile starts, and it works only on this computer while the profile runs. Anyone on this computer who has it can control the profile, so don’t paste it into chats, tickets or shared files.

wsEndpoint is empty (null) in three cases: the key is not a Developer API key or a Full token, the profile is a Firefox profile, or the profile was already running ("alreadyRunning": true). In the last case, stop the profile and start it again through the API.

From an AI app instead: with Expert mode on (SoftGlaze AI page, Settings tab, Owner only) and a Full token that acts as the Owner, the tool get_cdp_endpoint returns the address of a profile that is already running. It asks you every time.

Step 2: point the MCP server at the profile

In the examples, replace <WS_ENDPOINT> with the wsEndpoint value from Step 1.

Playwright MCP

Playwright MCP attaches to a running browser with --cdp-endpoint. Give it the ws:// address.

Claude Code:

claude mcp add playwright-softglaze -- npx @playwright/mcp@latest --cdp-endpoint <WS_ENDPOINT>

Claude Desktop (claude_desktop_config.json, then quit and reopen Claude Desktop) and Cursor (~/.cursor/mcp.json):

{
  "mcpServers": {
    "playwright-softglaze": {
      "command": "npx",
      "args": ["@playwright/mcp@latest", "--cdp-endpoint", "<WS_ENDPOINT>"]
    }
  }
}

VS Code (.vscode/mcp.json):

{
  "servers": {
    "playwright-softglaze": {
      "type": "stdio",
      "command": "npx",
      "args": ["@playwright/mcp@latest", "--cdp-endpoint", "<WS_ENDPOINT>"]
    }
  }
}

Chrome DevTools MCP

Chrome DevTools MCP attaches with --wsEndpoint (the ws:// address) or --browser-url (the same host and port as http://127.0.0.1:<port>, for example http://127.0.0.1:53123 for the address above).

Claude Code:

claude mcp add chrome-devtools-softglaze -- npx -y chrome-devtools-mcp@latest --wsEndpoint=<WS_ENDPOINT> --no-usage-statistics

Claude Desktop and Cursor:

{
  "mcpServers": {
    "chrome-devtools-softglaze": {
      "command": "npx",
      "args": ["-y", "chrome-devtools-mcp@latest", "--wsEndpoint=<WS_ENDPOINT>", "--no-usage-statistics"]
    }
  }
}

VS Code:

{
  "servers": {
    "chrome-devtools-softglaze": {
      "type": "stdio",
      "command": "npx",
      "args": ["-y", "chrome-devtools-mcp@latest", "--wsEndpoint=<WS_ENDPOINT>", "--no-usage-statistics"]
    }
  }
}

Two things Chrome DevTools MCP does by default, according to its own documentation: it sends usage statistics to Google (--no-usage-statistics, in the examples above, turns that off), and its performance tools can send the addresses of the pages you trace to Google’s Chrome UX Report (--no-performance-crux turns that off). It also warns that it exposes everything in the browser to the AI app, which here means everything in that profile.

Because the address changes each time the profile starts, update it in your MCP settings (or run claude mcp add again) after every start. To pin a version, use an exact one such as @playwright/mcp@0.0.84 or chrome-devtools-mcp@1.12.0 instead of @latest.

Step 3: stop when you are done

Close or disconnect the MCP server first, then stop the profile:

curl -X POST http://127.0.0.1:8080/api/v1/profiles/<ID>/stop -H "Authorization: Bearer <KEY>"

Or stop it in SoftGlaze.

Why SoftGlaze’s own tools are usually better

Why SoftGlaze’s own tools are usually better: table
SoftGlaze AI page toolsPlaywright MCP or Chrome DevTools MCP
A second debuggerNone: they use SoftGlaze’s existing connection to the browserA second DevTools client with its own commands
ApprovalsSoftGlaze asks you before they work on a profile; Allow for 1 hour covers that profileNo SoftGlaze approvals once attached
Activity logEvery call, with the app and the tokenOnly the start and stop calls, not what the server does
PasswordsPassword field values are hidden in page snapshotsThe AI app can read everything in the page
LimitsYour list of sites the AI may work on, plan limits and Stop all AIOnly stopping the profile ends it
SetupOne token, any number of profilesA new address after every start

Use Playwright MCP or Chrome DevTools MCP when you need something the page tools don’t do, such as performance traces, network inspection or console logs on your own site, and use a test profile.