MCP client integration
Twin Browser + Claude Desktop
Claude Desktop is Anthropic’s desktop app for Claude, and it can launch local MCP servers listed in `claude_desktop_config.json`. Registered tools become available to Claude in the conversation.
How Twin plugs into Claude Desktop
Add one `mcpServers` entry and Claude can drive a real browser from a chat — sign into a site you have authorized, pull a report, take a screenshot, or compile a task into a skill you can replay later from anywhere. Everything runs against your tenant with your key, so a skill compiled here is the same skill your API calls and your CI can replay.
Twin is the browser execution layer your stack calls. The first run cold-compiles a skill via skill compilation; every similar request after that is matched from the cache and replayed deterministically, so your marginal cost per run trends toward zero rather than climbing with usage.
- Receive goal from Claude Desktopdone
- Compile DOM → token-efficient indexed statedone
- Match the semantic dispatch cacherunning
- Replay compiled skill — 0 LLM callsqueued
What you get through Claude Desktop
Every integration is a thin wrapper over the same execution layer, so the cache, the replay, and the corpus apply no matter how you call in.
Semantic dispatch cache
A re-phrased goal fuzzy-matches an already-compiled skill, so most calls never touch the LLM.
Deterministic replay
A compiled skill replays the exact action path with zero LLM calls — fast, repeatable, cheap.
Cross-tenant skill corpus
A skill compiled once can be safely reused across tenants, so the hit rate climbs as the network runs.
One Bearer key
Auth, usage-based billing, and an audit log run on every call — the same key works from every integration.
Wire it up
Drop Twin into Claude Desktop.
Copy, paste, and swap in your Bearer key. The first run compiles a skill; repeats match the semantic dispatch cache and replay deterministically.
{
"mcpServers": {
"twin-browser": {
"command": "npx",
"args": ["-y", "twin-browser-mcp"],
"env": { "TWIN_API_KEY": "ab_live_…" }
}
}
}
// Then, in the conversation:
// "Use twin-browser to sign into app.acme.com and download this month's
// invoice, then compile it as a skill called monthly-invoice."Base URL https://twin-browser.com/api/v1 · auth Authorization: Bearer ab_live_… · over MCP the same engine is run_goal, compile_skill and run_skill — the full tool table.
Get an API key
Create an ab_live_ key in the Twin dashboard under Keys & Secrets.
Open the config
Edit claude_desktop_config.json from Claude Desktop’s developer settings.
Add the server
Add a twin-browser entry under mcpServers with command npx, args -y twin-browser-mcp, and TWIN_API_KEY in env.
Restart and use it
Restart Claude Desktop; the tools appear and you can ask for a web task in plain language.
FAQ
Claude Desktop on Twin — common questions
Is there a URL I can paste instead of the npx command?
Do I need Node installed?
Related
More ways to connect Twin
Claude Code
Claude Code is Anthropic’s agentic coding tool for the terminal, and it supports MCP servers. Registered tools become available to the agent so it can take real actions — including browser automation — as part of a coding task.
MCP (Model Context Protocol)
MCP is an open protocol that lets an LLM application discover and call external tools over a standard interface. An MCP client — Claude Desktop, Claude Code, Cursor, Windsurf, VS Code, Cline — launches or connects to an MCP server, lists its tools, and invokes them on the model’s behalf, with no bespoke glue per app.
Cursor
Cursor is an AI-native code editor with a built-in agent that can call MCP tools. Servers are registered in `.cursor/mcp.json` for a project or `~/.cursor/mcp.json` globally, and their tools become available to the agent while you work.
Wire up Claude Desktop in minutes.
Free to start. Usage-based credits from $29/mo — each call billed the higher of its flat action price or its metered cost.