Your browser, one command away

Use your real Chrome through any MCP client. No Playwright. No headless. Raw CDP over your existing agent.

1

Connect Your Browser

Start the installed agent before continuing.

Install the Unchained agent on your Mac to bridge your local Chrome:

What this installs A local agent that connects your existing Chrome to Unchained over an authenticated tunnel. Your Chrome profile stays on this machine. You can review the script first, stop automation by quitting the agent, and revoke account access from the app.
curl -fsSL https://unchainedsky.com/install.sh | bash
2

Add MCP Server

Use the key stored by your installed agent

This page never loads or displays your key. The agent stores it locally at ~/unchained-agent/.env on macOS/Linux or %USERPROFILE%\unchained-agent\.env on Windows.

Start the agent once to complete browser authorization if UNCHAINED_API_KEY is empty. Shell commands below use the variable loaded into your current session. Configuration files that cannot expand shell variables require explicit local substitution.

macOS/Linux: load the key into your current shell without printing it

export UNCHAINED_API_KEY="$(sed -n 's/^UNCHAINED_API_KEY=//p' "$HOME/unchained-agent/.env")"

Windows PowerShell: load the key into your current session without printing it

$env:UNCHAINED_API_KEY = (Get-Content "$HOME\unchained-agent\.env" | Where-Object { $_ -like 'UNCHAINED_API_KEY=*' } | Select-Object -First 1) -replace '^UNCHAINED_API_KEY=', ''

Shell command copy buttons reference the environment variable above. Configuration copy buttons preserve YOUR_UNCHAINED_API_KEY exactly; they never copy a hidden account secret.

macOS/Linux shell

claude mcp add unchainedsky \
  https://api.unchainedsky.com/mcp \
  -t http \
  -H "Authorization: Bearer $UNCHAINED_API_KEY"

Windows PowerShell

claude mcp add unchainedsky `
  https://api.unchainedsky.com/mcp `
  -t http `
  -H "Authorization: Bearer $env:UNCHAINED_API_KEY"

Restart Claude Code after adding (/mcp to verify tools are loaded).

3

Verify

Ask your MCP client to run a quick DDM extraction (agent_id is auto-detected from your API key):

ddm url=https://example.com

To check your agent connection status:

macOS/Linux shell

curl -s -H "Authorization: Bearer $UNCHAINED_API_KEY" https://api.unchainedsky.com/api/agents | python3 -m json.tool

Windows PowerShell

Invoke-RestMethod -Headers @{ Authorization = "Bearer $env:UNCHAINED_API_KEY" } https://api.unchainedsky.com/api/agents | ConvertTo-Json -Depth 5

Available MCP Tools

Extraction pipeline: ddm orients the page (~500 tokens) → intel_probe classifies the best extraction strategy → intel_extract pulls structured data. For JS-heavy SPAs, probe may rank intel_storesintel_shape / intel_find_pathsjs_eval higher.
ToolDescription
Page Understanding
ddmDOM Density Map — structural page layout + interactive elements (~500 tokens). Use --text for page text, --at x,y for element details, --find "keyword" to search.
intel_probePage intelligence probe — DOM fingerprint + Bayesian strategy ranking (~100 tokens). Run on first visit to any SPA.
intel_extractExtract structured data using auto-selected or forced strategy (host_attrs, react_fiber, data_testid, etc.)
Data Store Extraction
intel_storesList JavaScript data stores on page (globals >10KB). Use on Nuxt/Next/YouTube sites.
intel_shapeMap the shape of a JS global object (e.g. __NUXT__, ytInitialData).
intel_find_pathsFind paths to a key pattern inside a JS global.
Browser Interaction
cdp_navigateNavigate to a URL. Returns page title and DDM layout.
cdp_clickClick at pixel coordinates (from DDM output). Returns updated DDM layout.
cdp_typeType text into the focused element. Click an input first to focus it.
js_evalExecute JavaScript and return the result. Use for SPA widgets, querySelectorAll, data stores.
cdp_screenshotTake a screenshot (~2100 tokens). Prefer DDM. Use for CAPTCHAs/visual verification only.
File & Agent Management
cdp_set_fileSet a file on <input type="file"> without the OS picker.
list_connected_agentsList connected browser agents and Chrome profiles.
Chrome Profile Provisioning
cdp_provision_launchLaunch Chrome with a user profile for OAuth/authenticated browsing.
cdp_provision_cleanupClean up provisioned Chrome instances.
list_provisioned_tabsList tabs in provisioned Chrome (discover OAuth popups).