Content
<p align="center">
<img src="assets/hero.svg" alt="Claude Chrome Automation for Windows" width="100%" />
</p>
<h1 align="center">Claude Chrome Automation for Windows</h1>
<p align="center">One-click browser automation for Claude Code on Windows.</p>
<p align="center">
<a href="https://github.com/davidchen99/claude-chrome-automation-windows/blob/main/README.zh-CN.md">中文说明</a>
·
<code>limited</code> mode
·
<code>full-auto</code> mode
</p>
<p align="center">
<img src="https://img.shields.io/badge/platform-Windows-2563EB?style=flat-square" alt="Windows" />
<img src="https://img.shields.io/badge/Claude%20Code-MCP%20Launcher-0F172A?style=flat-square" alt="Claude Code MCP Launcher" />
<img src="https://img.shields.io/badge/modes-limited%20%7C%20full--auto-1D4ED8?style=flat-square" alt="Modes" />
<img src="https://img.shields.io/badge/license-MIT-16A34A?style=flat-square" alt="MIT License" />
</p>
This project packages a Windows-native workflow for people who want Claude to control Chrome without manually wiring MCP every time.
It gives you:
- a dedicated Chrome instance on `127.0.0.1:9222`
- a reusable login-preserving browser profile
- a `limited` launcher for safer browser-first automation
- a `full-auto` launcher for maximum autonomy
- project-local MCP config instead of fragile per-user setup
## At a glance
- Double-click launchers for native Windows usage
- Dedicated Chrome debug browser on `127.0.0.1:9222`
- Persistent login session through a separate browser profile
- Safer `limited` mode for browser-first tasks
- Aggressive `full-auto` mode for high-trust automation
- Project-local MCP config instead of global Claude edits
## Visual flow
<p align="center">
<img src="assets/flow.svg" alt="Workflow diagram" width="100%" />
</p>
## Contents
- [Why this exists](#why-this-exists)
- [Modes](#modes)
- [Who this is for](#who-this-is-for)
- [Quick start](#quick-start)
- [How it works](#how-it-works)
- [Security notes](#security-notes)
- [Troubleshooting](#troubleshooting)
## Why this exists
Most browser automation examples for Claude stop at "install chrome-devtools-mcp and make it connect once."
That is not enough for normal Windows users.
The real gap is productization:
- Windows users want double-click launchers
- they want Chrome to reopen in the right debugging mode
- they want login state to persist
- they want a safer everyday mode and a more aggressive mode
- they do not want to hand-edit Claude config files just to try browser automation
This repo packages that missing layer into a reusable template.
## Core idea
The workflow is simple:
1. Launch a dedicated Chrome debug session
2. Connect Claude Code to it through a local MCP config
3. Choose the right autonomy level for the task
That sounds small, but in practice it removes most of the friction people hit on Windows.
## Modes
| Mode | Best for | Permission style |
| --- | --- | --- |
| `limited` | everyday browsing, clicking, scraping, screenshots | browser-first, safer |
| `full-auto` | high-trust tasks with minimal interruption | `--dangerously-skip-permissions` |
## Why it is different
### 1. Native Windows first
This is designed specifically for Windows, not adapted from a Unix-first setup.
- Uses `cmd /c npx ...` for MCP startup
- Uses `.bat` launchers for double-click usage
- Works with Windows paths and profile handling
### 2. Two-mode automation
Most examples stop at "make Claude control Chrome".
This project adds a useful operating model:
- `limited` mode
- allows browser automation
- blocks general `Bash`
- blocks `WebFetch`
- keeps Claude focused on browser work
- `full-auto` mode
- launches Claude Code with `--dangerously-skip-permissions`
- best for advanced users who want less interruption
### 3. Dedicated browser profile
The launcher uses a dedicated Chrome profile directory:
- login state is preserved
- cookies are preserved
- browser automation is isolated from the user's normal browser
### 4. Plug-and-play packaging
Users can download the folder and launch it directly after they have:
- Claude Code installed
- Node.js installed
- Google Chrome installed
No manual MCP editing is required because the launcher passes a local MCP config at runtime.
## Who this is for
- Windows users who want Claude to browse, click, read, and extract page content
- people who need persistent login sessions in a dedicated automation browser
- users who want a practical launcher instead of a configuration tutorial
- advanced users who want a full-auto mode for high-trust tasks
## Folder structure
```text
claude-chrome-automation-windows/
README.md
README.zh-CN.md
launch-limited.bat
launch-full-auto.bat
config/
chrome-devtools.mcp.json
limited-settings.json
scripts/
start-chrome-debug-9222.bat
```
## Requirements
- Windows
- Claude Code installed and available as `claude`
- Node.js and `npx`
- Google Chrome
## Install
1. Clone or download this repository.
2. Make sure `claude`, `node`, `npx`, and Chrome are available on your Windows machine.
3. Double-click `launch-limited.bat` or `launch-full-auto.bat`.
## Quick start
### Limited mode
Double-click:
- `launch-limited.bat`
This mode is recommended for most users.
### Full-auto mode
Double-click:
- `launch-full-auto.bat`
This mode is more aggressive and less safe.
## First login
The first time you launch the dedicated Chrome window, log into the sites you need inside that window.
That login state is usually preserved for future launches.
## How it works
### Dedicated Chrome instance
The script starts Chrome with:
- remote debugging enabled on `127.0.0.1:9222`
- a dedicated user-data directory under the current Windows user profile
### Claude + project-local MCP
Instead of relying on global Claude MCP configuration, this project passes:
- `--mcp-config config\\chrome-devtools.mcp.json`
This makes the package easier to share.
### Limited mode permissions
`limited` mode passes:
- `--settings config\\limited-settings.json`
That config:
- allows all tools from the local `chrome_devtools` MCP server
- denies `Bash`
- denies `WebFetch`
- uses `acceptEdits`
## Security notes
### Limited mode
Lower risk than full-auto, but not risk-free.
Claude can still:
- browse pages
- click buttons
- read visible page content
- interact with logged-in sites inside the dedicated browser
### Full-auto mode
This mode is intentionally high-trust.
Claude Code is launched with:
- `--dangerously-skip-permissions`
Use it only when you understand the implications.
## Common use cases
- open a page and summarize its contents
- log into a web tool once, then reuse that session
- click through repetitive browser tasks
- capture screenshots
- pull structured data from browser-visible pages
## Troubleshooting
### Chrome opens but Claude cannot browse
Check:
- Chrome is running
- port `9222` is available
- Claude Code is installed
- `npx` is available
### Claude asks to log in repeatedly
Make sure you logged into the dedicated Chrome window, not your normal Chrome window.
## Notes for publishing
If you want to distribute this as a repo:
- keep the launcher filenames stable
- avoid user-specific absolute paths
- do not commit personal Chrome profile data
MCP Config
Below is the configuration for this MCP Server. You can copy it directly to Cursor or other MCP clients.
mcp.json
Connection Info
You Might Also Like
everything-claude-code
Complete Claude Code configuration collection - agents, skills, hooks,...
markitdown
MarkItDown-MCP is a lightweight server for converting URIs to Markdown.
cc-switch
All-in-One Assistant for Claude Code, Codex & Gemini CLI across platforms.
servers
Model Context Protocol Servers
servers
Model Context Protocol Servers
Time
A Model Context Protocol server for time and timezone conversions.