# Anti-detect browser MCP server

> Mosaic's anti-detect browser MCP server lets Claude or any MCP client create, launch and drive your profiles. 150+ tools, off by default, key-gated.

Source: https://mosaicbrowser.com/features/mcp-server

## An anti-detect browser MCP server for your AI assistant

Mosaic's anti-detect browser MCP server lets Claude or any MCP client create, launch and drive your profiles. 150+ tools, off by default, key-gated.

Mosaic is a desktop app

Email yourself the link and open it on your computer.

![The Mosaic MCP server: let an AI assistant manage profiles, proxies and launches](https://mosaicbrowser.com/shots/settings-mcp.png)
*Settings › MCP: the server’s port, and the config that connects a stdio client such as Claude.*

Mosaic has an anti-detect browser MCP server built into the app. Turn it on in Settings › MCP, give your assistant an API key, and Claude (or any client that speaks the Model Context Protocol) can create profiles, start them, read the page in front of them and click through it. As of 2 November 2026 the server registers 156 tools, and the settings panel lists every one of them by name, read off the running server.

The server is not a separate project bolted on beside the app. It runs in the same process as the window, and its tools call the code the interface calls, so an assistant can do whatever you can do from the profile list, and nothing more.

## What an assistant can do with it

The tools cover the whole product, in the same groups the window has.

- Profiles and projects: `create_profile`, `update_profile`, `start_profile`, `stop_profile`, `move_profiles`, and their bulk versions.
- Proxies and providers: `add_proxies`, `check_proxy`, `mint_proxy`, `rotate_proxy`, `parse_proxy_list`.
- Fingerprints: `preview_fingerprint`, `audit_fingerprint`, `repair_hardware`, `match_profile_to_exit`.
- Sessions: cookies, bookmarks, saved logins and `get_totp_code` for a profile's two-factor secret.
- The live page: `page_snapshot`, `page_click`, `page_type`, `page_fill`, `page_scroll`, `page_network`.
- Checks: `run_leak_test`, `open_detection_test`, `library_health`.

A request like "make three profiles on my German provider, start them and open the shop's login page in each" is four or five tool calls. Each profile mints its own session from the provider, so the three come out on three exits, the same as when you do it by hand ([provider accounts](https://mosaicbrowser.com/features/proxy-providers) covers the minting).

![The Mosaic API screen: a local REST API key and the MCP server address](https://mosaicbrowser.com/shots/api-keys.png)
*API keys are made on the API screen. The MCP server takes the same keys as the REST API.*

Mosaic is a desktop app

Email yourself the link and open it on your computer.

[How it works: MCP server](https://mosaicbrowser.com/features/mcp-server)

## How it reads and drives a page

`page_snapshot` returns the page as a tree of roles, names and states, with a `ref` on everything that can be pressed or typed into. That is a few hundred lines where the HTML is tens of thousands, which is what a model can actually read. Every other page tool takes those refs. A ref belongs to the snapshot that made it, so after a navigation an old ref is refused by name instead of landing on whatever element now sits in that spot.

The page tools never enable the DevTools `Runtime` domain, because we measured that one call flipping a bot detector to its bot verdict. The snapshot and the queries run in an isolated world the page cannot see. Clicks and keystrokes go through the same human-input code the window uses: a cursor that travels to the element, keys typed with human timing, and scrolling with a real wheel. Nothing calls `element.click()` or sets `.value`.

One tool is visible to the page, and its description says so. Capturing a page's own `console.log` calls and uncaught errors means wrapping `console` in the page's world, so `page_console_mode` is off by default and should be turned off again when the assistant is done.

## Connecting a client

The server speaks JSON-RPC over HTTP on `127.0.0.1`, port 39218 by default. Most MCP clients still launch a local command over stdio, so Mosaic writes a small bridge script next to its data and an example config beside it. Settings › MCP prints the block to paste:

```
{
  "mcpServers": {
    "mosaic": {
      "command": "node",
      "args": ["<path shown in Settings › MCP>/mosaic-mcp.mjs"],
      "env": { "MOSAIC_API_KEY": "<key from the API tab>" }
    }
  }
}

```

The bridge forwards each line to the local server with your key. If the key is wrong, or the plan does not include MCP, the client gets that sentence back as an error instead of a reply it cannot parse.

## Why the anti-detect browser MCP server is off by default

These tools start browsers that hold live, logged-in sessions. So the server does not run until you switch it on, it answers only on `127.0.0.1`, and every request needs an API key, sent as `Authorization: Bearer <key>`. Calls show up on the API activity screen under the key that made them, so you can see afterwards what an assistant did.

The tools do not ask you to confirm each action. An assistant that is told to empty the trash can call the tool that does it. What we did instead is refuse a destructive call that has no scope: emptying the trash or a profile's downloads without naming what to empty is an error, never "all of it".

## Who it is for

People who already work with an assistant and want it to do the repetitive half of running their own accounts: setting up a batch of profiles, checking their proxies, opening the same page in each. Every tool argument is validated, and an unknown field or a value the tool cannot use is refused with the field named, because a model cannot ask what was meant.

## Limits

The MCP server is part of Pro, along with the [REST API](https://mosaicbrowser.com/features/rest-api) it mirrors. Pro is $49 a month, with a 14-day free trial; the Free plan has neither automation surface. Everything runs on your own computer: there is no hosted endpoint and no headless server mode, and the browsers an assistant opens are the same headed Tesseract Chrome windows you would open yourself. The profiles stay on your machine, as [local first](https://mosaicbrowser.com/features/local-first) describes, and what a platform allows is still up to the platform.

## Questions

### Which AI assistants can use the Mosaic MCP server?

Any client that speaks the Model Context Protocol. Claude Desktop and other clients that launch a local command connect through the stdio bridge script Mosaic writes; clients that speak HTTP can call 127.0.0.1 directly with an API key.

### Does the MCP server work on the Free plan?

No. The MCP server and the REST API are the two parts of Mosaic that need Pro. Every browser feature the tools drive is on both plans.

### Can the assistant reach Mosaic from another computer?

No. The server listens on 127.0.0.1 only, so the client has to run on the same computer as Mosaic. There is no hosted endpoint.

## The smaller things it does

### Without Runtime.enable

Turning on CDP’s Runtime domain was measured flipping a detector to “bot”. Mosaic reads and drives pages from an isolated world instead.

## Works with

### Everything the window does, from a script on your own computer

Everything the window does, from your own scripts.

### Give a new profile a history before it meets the site that matters

A browsing history before the site that matters.

### Make 500 profiles in one go, then work on all of them at once

500 profiles per batch; start, edit and type into many.

[All 29 features](https://mosaicbrowser.com/features)

## MCP server is part of Pro

Try Pro free for 14 days, then $49 a month for any number of profiles. Cancel before day 14 and you pay nothing.

Mosaic is a desktop app

Email yourself the link and open it on your computer.
