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.
- A Developer API key (it starts with
- 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
| SoftGlaze AI page tools | Playwright MCP or Chrome DevTools MCP | |
|---|---|---|
| A second debugger | None: they use SoftGlaze’s existing connection to the browser | A second DevTools client with its own commands |
| Approvals | SoftGlaze asks you before they work on a profile; Allow for 1 hour covers that profile | No SoftGlaze approvals once attached |
| Activity log | Every call, with the app and the token | Only the start and stop calls, not what the server does |
| Passwords | Password field values are hidden in page snapshots | The AI app can read everything in the page |
| Limits | Your list of sites the AI may work on, plan limits and Stop all AI | Only stopping the profile ends it |
| Setup | One token, any number of profiles | A 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.

