**The desktop app ships an MCP server** alongside the REST API. You don't write any config files — the app does it. Open **Settings → Integrations → MCP (AI Assistants)**, toggle the server on, then hit *Add* next to your client. Donut detects each client's config directory and writes the right entry for you.

### How it works

1. Open the app and go to **Settings → Integrations**. The left tab is **Local API** (your REST bearer token); the right tab is **MCP (AI Assistants)**.
2. Turn on **Enable MCP Server (Model Context Protocol)**. The server starts listening on `127.0.0.1:10108/mcp` over streamable HTTP.
3. Find your client in the **Clients** list and click **Add**. Donut writes the config file for that client at its standard location and the entry shows **Connected**.
4. Restart your editor/CLI. Donut's tools are now available — call them by name ("create a Chromium profile", "open hackernews in profile X").

<div class="grid grid-cols-1 gap-4 md:grid-cols-2">

![MCP (AI Assistants) tab in Settings → Integrations, with Enable MCP Server toggled on and Claude Desktop showing Connected.](/img/mcp-integrations-1.png)

![Full list of supported MCP clients in Settings → Integrations: Cursor, VS Code, Zed, Cline CLI, Cline VSCode, Codex, Gemini CLI, GitHub Copilot CLI, Goose, Antigravity, OpenCode, MCPorter.](/img/mcp-integrations-2.png)

</div>

### Supported clients

The app auto-configures all 14 of these (Settings → Integrations → MCP). Click **Add**, Donut handles the rest.

- **Claude Desktop** (Desktop App)
- **Claude Code** (CLI)
- **Cursor** (Editor)
- **VS Code** (Editor)
- **Zed** (Editor)
- **Cline CLI** (CLI)
- **Cline VSCode** (Editor Extension)
- **Codex** (CLI)
- **Gemini CLI** (CLI)
- **GitHub Copilot CLI** (CLI)
- **Goose** (CLI)
- **Antigravity** (Desktop App)
- **OpenCode** (CLI)
- **MCPorter** (CLI)

### Using an unsupported client

If your MCP host isn't in the list above, copy the server URL from the Integrations panel and paste it into your client's config:

```
http://127.0.0.1:10108/mcp
```

The endpoint is streamable HTTP — point any MCP host that supports HTTP transport at it. The Local API bearer token in the sibling tab is the same one used for the REST API; you'll only need it if your client requires explicit auth headers.

### Free vs. Pro tools

Read-and-manage tools — list/create/update/delete profiles, groups, proxies, VPNs, tags; download browser binaries; check fingerprints — are available on the Free tier. The browser-manipulation tools (navigate, click, type, scroll, screenshot, evaluate, get page content/info, click-by-index, type-by-index) and the Synchronizer are Pro. Calling a Pro tool without an active subscription returns a clear "requires an active paid subscription" error; nothing in your client breaks.

See [Pricing](/pricing) for the full free/Pro split.