# Use SoftGlaze with Playwright MCP and Chrome DevTools MCP | SoftGlaze Browser docs

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

- Canonical URL: https://browser.softglaze.com/docs/ai-playwright-devtools
- Last updated 2026-11-09

---

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](https://browser.softglaze.com/docs/ai-tools#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](https://browser.softglaze.com/docs/ai-playwright-devtools#why-softglazes-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](https://browser.softglaze.com/docs/ai-agents#local-api) on this computer. Replace `<ID>` and `<KEY>`, and the port if you changed it.

PowerShell:

```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`):

```bash
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:

```json
{ "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:

```bash
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`):

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

VS Code (`.vscode/mcp.json`):

```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:

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

Claude Desktop and Cursor:

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

VS Code:

```json
{
  "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:

```bash
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 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.

[Download for Windows](https://browser.softglaze.com/download) [Try the demo](https://browser.softglaze.com/demo) [All documentation](https://browser.softglaze.com/docs)
