Model Context Protocol server (TypeScript) wrapping the Undetectable Browser Local API https://api-docs.undetectable.io/. Lets Claude / any MCP client drive the antidetect browser: create profiles, manage proxies, import/export cookies, start/stop browsers in parallel, attach via CDP.
No install step needed — npx will fetch and run the package on demand.
Add to your claude_desktop_config.json:
{
"mcpServers": {
"undetectable-local-api-ts": {
"command": "npx",
"args": ["-y", "undetectable-local-api-mcp-ts"],
"env": {
"UNDETECTABLE_BASE_URL": "http://127.0.0.1:25325",
"UNDETECTABLE_TIMEOUT": "60"
}
}
}
}UNDETECTABLE_BASE_URL— defaulthttp://127.0.0.1:25325UNDETECTABLE_TIMEOUT— seconds, default60
git clone https://github.com/undetectable-io/Undetectable-browser-MCP
cd Undetectable-browser-MCP
npm install
npm run build# Production (compiled JS)
node dist/server.jsThis server speaks the standard MCP stdio transport, so any MCP-aware
client can use it. The package is published on npm, so most clients can
launch it directly via npx with no install step.
claude mcp add undetectable-ts -s user -- npx -y undetectable-local-api-mcp-tsPass -e KEY=VAL flags to override UNDETECTABLE_BASE_URL /
UNDETECTABLE_TIMEOUT if needed.
Already covered in the Install block above. Config file lives at:
- macOS:
~/Library/Application Support/Claude/claude_desktop_config.json - Windows:
%APPDATA%\Claude\claude_desktop_config.json
Edit .cursor/mcp.json (project) or ~/.cursor/mcp.json (global):
{
"mcpServers": {
"undetectable-local-api-ts": {
"command": "npx",
"args": ["-y", "undetectable-local-api-mcp-ts"]
}
}
}Edit ~/.codeium/windsurf/mcp_config.json with the same JSON shape as
Cursor above.
Open the Cline panel → MCP Servers → "Edit MCP Settings" and paste the
same mcpServers block.
Edit ~/.continue/config.json and add the server under
experimental.modelContextProtocolServers with command: "npx" and
args: ["-y", "undetectable-local-api-mcp-ts"].
Edit settings.json (cmd/ctrl + ,) and add the server under
"context_servers":
"context_servers": {
"undetectable-local-api-ts": {
"command": { "path": "npx", "args": ["-y", "undetectable-local-api-mcp-ts"] }
}
}Edit ~/.codex/config.toml:
[mcp_servers.undetectable-local-api-ts]
command = "npx"
args = ["-y", "undetectable-local-api-mcp-ts"]Edit ~/.config/goose/config.yaml and add:
extensions:
undetectable-local-api-ts:
type: stdio
command: npx
args: ["-y", "undetectable-local-api-mcp-ts"]Any client that accepts a command + args stdio spawn will work. Use:
command: npx
args: -y undetectable-local-api-mcp-ts
For self-built binaries, swap to command: node and
args: ["<ABS_PATH>/dist/server.js"].
⚠️ Warning — AI gets full API access. Once this MCP server is connected, the AI assistant can call every endpoint listed below, including destructive ones: deleting profiles, wiping cookies and cache, closing the Undetectable program, sending profiles to / from the cloud, and driving the browser (clicks, navigation, JS execution). The server does not ask for per-action confirmation. Treat the AI as a user with full access to your antidetect setup. Review tool calls before approving them in your MCP client, keep backups of important profiles, and avoid connecting the server to environments you cannot afford to lose.
27 profile/proxy/listing tools + 11 browser-automation tools + 7 batch tools + raw_request.
Profiles / proxies / listings: status, close_software, list_profiles,
get_profile_info, start_profile, stop_profile, create_profile,
update_profile, delete_profile, check_profile_connection,
send_profiles_to_cloud, make_profiles_local, update_browser_version,
clear_profile_cache, clear_profile_data, import_profiles,
export_profiles, get_profile_cookies, clear_profile_cookies,
list_proxies, add_proxy, delete_proxy, update_proxy, list_groups,
list_configs, list_folders, list_timezones.
Browser automation (drives the active tab via the Undetectable HTTP API):
browser_open_tab, browser_open_url, browser_click, browser_fill,
browser_select_option, browser_scroll_to, browser_focus,
browser_press_key, browser_evaluate, browser_get_page_html,
browser_screenshot.
Batch (Promise.all fan-out): stop_profiles, start_profiles,
delete_profiles, clear_profile_cookies_batch, clear_profile_cache_batch,
get_profile_info_batch, update_profiles_batch.
Escape hatch: raw_request.