/ Directory / Playground / Chrome MCP
● Community hangwin ⚡ Instant

Chrome MCP

by hangwin · hangwin/mcp-chrome

Let Claude drive your real Chrome — already logged in, with your cookies and sessions — for browser automation and research.

Chrome MCP installs as a Chrome extension and exposes browser functions to Claude: navigate, click, type, screenshot, extract, semantic-search across tabs. Because it uses your actual browser, it works on sites that block headless bots and lets Claude act inside authenticated sessions you already have open.

Why use it

Key features

Live Demo

What it looks like in practice

mcp-chrome.replay ▶ ready
0/0

Install

Pick your client

~/Library/Application Support/Claude/claude_desktop_config.json  · Windows: %APPDATA%\Claude\claude_desktop_config.json
{
  "mcpServers": {
    "mcp-chrome": {
      "command": "npx",
      "args": [
        "-y",
        "mcp-chrome-bridge"
      ]
    }
  }
}

Open Claude Desktop → Settings → Developer → Edit Config. Restart after saving.

~/.cursor/mcp.json · .cursor/mcp.json
{
  "mcpServers": {
    "mcp-chrome": {
      "command": "npx",
      "args": [
        "-y",
        "mcp-chrome-bridge"
      ]
    }
  }
}

Cursor uses the same mcpServers schema as Claude Desktop. Project config wins over global.

VS Code → Cline → MCP Servers → Edit
{
  "mcpServers": {
    "mcp-chrome": {
      "command": "npx",
      "args": [
        "-y",
        "mcp-chrome-bridge"
      ]
    }
  }
}

Click the MCP Servers icon in the Cline sidebar, then "Edit Configuration".

~/.codeium/windsurf/mcp_config.json
{
  "mcpServers": {
    "mcp-chrome": {
      "command": "npx",
      "args": [
        "-y",
        "mcp-chrome-bridge"
      ]
    }
  }
}

Same shape as Claude Desktop. Restart Windsurf to pick up changes.

~/.continue/config.json
{
  "mcpServers": [
    {
      "name": "mcp-chrome",
      "command": "npx",
      "args": [
        "-y",
        "mcp-chrome-bridge"
      ]
    }
  ]
}

Continue uses an array of server objects rather than a map.

~/.config/zed/settings.json
{
  "context_servers": {
    "mcp-chrome": {
      "command": {
        "path": "npx",
        "args": [
          "-y",
          "mcp-chrome-bridge"
        ]
      }
    }
  }
}

Add to context_servers. Zed hot-reloads on save.

claude mcp add mcp-chrome -- npx -y mcp-chrome-bridge

One-liner. Verify with claude mcp list. Remove with claude mcp remove.

Use Cases

Real-world ways to use Chrome MCP

Do research on sites that require login without handing Claude your password

👤 Researchers, analysts using subscription content ⏱ ~20 min beginner

When to use: You're logged into a paywalled site or gated dashboard and want Claude to read it.

Prerequisites
  • Chrome extension installed — Install from Chrome Web Store; the bridge MCP auto-connects
  • Target site already open and authenticated in Chrome — Log in manually in a regular tab first
Flow
  1. Confirm tabs
    List my open Chrome tabs.✓ Copied
    → Tab titles + URLs for every active tab
  2. Extract
    From the Bloomberg tab, extract the article body and the sidebar data table.✓ Copied
    → Structured content pulled; no "cannot access" error
  3. Cross-tab synthesis
    Across the 3 research-provider tabs I have open, what's the consensus view on X?✓ Copied
    → Synthesis with per-tab citations

Outcome: Answers backed by real authenticated content, no scraping of login pages.

Pitfalls
  • Session expires mid-task — Extension surfaces a refresh prompt; reauth in that tab and retry
Combine with: memory

Catch UI regressions by screenshotting flows in your dev build

👤 Frontend engineers ⏱ ~30 min intermediate

When to use: You just shipped a CSS refactor and want a visual diff on 10 core pages.

Flow
  1. Open baseline
    Open my dev site pages listed in /qa/flows.json and screenshot each into /screenshots/before/.✓ Copied
    → Screenshots captured with filenames matching URLs
  2. Compare
    After I deploy, take fresh screenshots and diff against /screenshots/before/. Summarize visual changes per page.✓ Copied
    → Per-page diff report with concrete observations

Outcome: A visual-regression report in 5 minutes, using your real browser environment.

Pitfalls
  • Screenshots differ due to font loading — Add a sleep or wait_for_selector step before capturing
Combine with: filesystem

Combinations

Pair with other MCPs for X10 leverage

mcp-chrome + filesystem

Save extracted pages to disk for later indexing

Extract this tab and write to /research/ai-paper-notes.md.✓ Copied
mcp-chrome + memory

Remember key findings across browsing sessions

Summarize what I read today and store it in memory.✓ Copied

Tools

What this MCP exposes

ToolInputsWhen to callCost
list_tabs none Start of any session to see what's available free
read_tab tab_id: int Pull content from a specific tab free
click tab_id, selector: str Interact with page elements free
screenshot tab_id, full_page?: bool Visual capture for diff or review free
search_tabs query: str Find which tab discusses X free

Cost & Limits

What this costs to run

API quota
Local — unlimited
Tokens per call
DOM extracts can be large; 5k–50k tokens
Monetary
Free
Tip
Use read_tab with selector to scope extraction instead of pulling the full DOM

Security

Permissions, secrets, blast radius

Minimum scopes: chrome.tabs chrome.scripting
Credential storage: None — Chrome holds the sessions
Data egress: Tab contents flow through the MCP client to your LLM provider
Never grant: access to incognito without reason

Troubleshooting

Common errors and fixes

Extension not detected

Pin the extension; the bridge binary needs the extension polling for it

Verify: chrome://extensions shows it enabled
Tab content is blank

Page may use shadow DOM — try read_tab with include_shadow=true

Clicks don't register

Site uses anti-automation (Cloudflare, etc). Try scrolling to trigger lazy-load first.

Alternatives

Chrome MCP vs others

AlternativeWhen to use it insteadTradeoff
chrome-devtools MCPYou want the devtools protocol (console, network, perf) not user automationDevTools MCP doesn't drive the UI — it inspects it
playwright MCPYou want headless automation in CINo auth state; bot-detection prone

More

Resources

📖 Read the official README on GitHub

🐙 Browse open issues

🔍 Browse all 400+ MCP servers and Skills