undetectable-local-api-mcp-ts
v1.1.2
Published
MCP server (TypeScript) wrapping the Undetectable Browser Local API. Manage profiles, proxies, cookies, and run concurrent browser operations via Claude or any MCP client.
Maintainers
Readme
undetectable-local-api-mcp-ts
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.
Install
As an MCP server (recommended)
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"
}
}
}
}Env
UNDETECTABLE_BASE_URL— defaulthttp://127.0.0.1:25325UNDETECTABLE_TIMEOUT— seconds, default60
From source (for contributors)
git clone https://github.com/undetectable-io/Undetectable-browser-MCP
cd Undetectable-browser-MCP
npm install
npm run buildRun
# Production (compiled JS)
node dist/server.jsConnect to other AI clients
This 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 Code (CLI)
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.
Claude Desktop
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
Cursor
Edit .cursor/mcp.json (project) or ~/.cursor/mcp.json (global):
{
"mcpServers": {
"undetectable-local-api-ts": {
"command": "npx",
"args": ["-y", "undetectable-local-api-mcp-ts"]
}
}
}Windsurf (Codeium)
Edit ~/.codeium/windsurf/mcp_config.json with the same JSON shape as
Cursor above.
Cline (VS Code extension)
Open the Cline panel → MCP Servers → "Edit MCP Settings" and paste the
same mcpServers block.
Continue.dev (VS Code / JetBrains)
Edit ~/.continue/config.json and add the server under
experimental.modelContextProtocolServers with command: "npx" and
args: ["-y", "undetectable-local-api-mcp-ts"].
Zed
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"] }
}
}Codex CLI (OpenAI)
Edit ~/.codex/config.toml:
[mcp_servers.undetectable-local-api-ts]
command = "npx"
args = ["-y", "undetectable-local-api-mcp-ts"]Goose (Block)
Edit ~/.config/goose/config.yaml and add:
extensions:
undetectable-local-api-ts:
type: stdio
command: npx
args: ["-y", "undetectable-local-api-mcp-ts"]Anything else
Any client that accepts a command + args stdio spawn will work. Use:
command: npx
args: -y undetectable-local-api-mcp-tsFor 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.
Tools
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.
