Agent Chrome
dev.agentchromePublished by agentchrome.devOfficial publisherv0.1.0Updated Nov 4, 2026
Let AI agents use your real, signed-in Chrome: tabs, clicks, forms, screenshots and video.
Overview
Chrome extension plus remote MCP server that lets AI agents drive your real, signed-in Chrome: tabs, clicks, forms, screenshots and video.
- What you can do
- Open, close, switch and group tabs, navigate, and list or select among paired Chrome profiles
- Click, type, drag, scroll, hover and fill forms by coordinates or element refs, and read the page's accessibility tree or text
- Capture viewport or full-page screenshots, record MP4/WebM clips or GIFs, and save artifacts
- Run JavaScript in the page and read console messages and network requests
- Upload local files into inputs and drop zones, handle alert/confirm/prompt dialogs, and wait for text, selectors or URLs
- Search browsing history when explicitly enabled
- When to use it
- Useful when an agent should work inside the browser you are already logged into — testing a web app, filling in real forms, capturing screenshots or demo recordings — instead of a fresh headless browser. It also suits chat apps such as Claude or ChatGPT that connect to remote MCP servers over OAuth.
- Requirements
- A remote endpoint at agentchrome.dev/mcp with OAuth (or a bearer account key). The full setup needs Node.js 18 or newer, Google Chrome, and the Agent Chrome extension loaded unpacked in each Chrome profile, paired with a single-use code. A local mode runs the server on 127.0.0.1 and needs no cloud.
Installation
In SourceWeft
- Open Agent Chrome in the dashboard and add it to a workspace.
- Connect the required credentials. They are stored privately and never shown on public pages.
- Enable the server for the chats that should use its tools.
Web executable via Streamable HTTP. Remote servers run from the web runtime once configured in a workspace.
Use with an agent
Paste this prompt into Claude Code, Codex, Cursor or another agent — or into SourceWeft chat. The agent reads this server's install guide, shows you its publisher, endpoint and sign-in, and adds it to your client once you agree. Keys never go into a command.
Read https://sourceweft.com/mcp/dev.agentchrome%2Fagentchrome/install.md and connect the MCP server it describes to my client. Before changing any config, show me its publisher, endpoint and sign-in method and wait for my OK. Never put an API key in a command or in a file I would commit; ask me where it should come from.Other MCP clients
Add this to your client's mcpServers config. The client completes OAuth sign-in on first connect.
{
"mcpServers": {
"agent-chrome": {
"type": "http",
"url": "https://agentchrome.dev/mcp"
}
}
}README
agentchrome
Let your coding agents use the Chrome you already use.
[GitHub stars] [MIT license] [Hosted on Cloudflare]
Install · Let your agent install it · What it does · Tools · Security
Agent Chrome is a Chrome extension and an MCP server that let coding agents use your real, signed-in Chrome profiles. It works with Claude Code, Codex, Gemini CLI, Antigravity, Grok, Muse, Cursor, opencode and any other MCP client. Each agent works in its own tab group, and a blue border and an animated cursor show what it is doing. It can take screenshots and record video clips, and you can connect several Chrome profiles at once. The server runs on Cloudflare, or locally on your machine.
[Claude Code searching Wikipedia in Chrome: a blue border around the page, an animated cursor with the Claude Code logo, and a status pill with a Stop button]
What you see while an agent works. This clip was recorded by the extension itself (MP4).
If it's useful to you, please star the repo. It helps other people find it.
Install
You need Node.js 18 or newer and Google Chrome.
1. Run the installer
In one pass, the installer:
- Creates your account and saves the key to
~/.config/agentchrome/config.jsonwithchmod 600. - Adds an MCP server named
agentchrometo every agent it finds, in that agent's user-level config (table below). - Writes the
agentchromeskill once, to~/.agents/skills/agentchrome, and symlinks it into each agent's skills folder. - Unpacks the extension to
~/.agentchrome/extension. - Prints a pairing code and copies it to your clipboard.
To keep everything on your machine with no cloud at all, add --local. See Local mode.
2. Load the extension, once per Chrome profile
The installer opens chrome://extensions and shows the folder in Finder for you.
- In
chrome://extensions, turn on Developer mode. - Click Load unpacked and choose
~/.agentchrome/extension. Runagentchrome extension --pathto print the full path. - Pin Agent Chrome, click it, paste the pairing code and press Connect.
To add another profile (Work, Personal, a client's), switch to that profile, load the same folder, and run agentchrome pair for a new code. Each profile appears as its own browser in list_browsers.
3. Use it
Ask any agent:
Use agentchrome to open news.ycombinator.com, screenshot it, and record a short clip scrolling the front page.
Or let your agent install it
Paste this into Claude Code, Codex or any other coding agent:
Install agentchrome for me by following https://github.com/ShadowWalker2014/agentchrome/blob/main/AGENT_INSTALL.md
The agent runs the installer, then tells you the one step only you can do: loading the extension in Chrome and pasting the code.
Use it from Claude.ai or ChatGPT
The server is a standard remote MCP server with OAuth, so chat apps can use it as a connector. You don't need the command line tool for this.
Claude (claude.ai, Claude Desktop, Cowork): open Customize > Connectors > Add custom connector, enter https://agentchrome.dev/mcp and press Connect.
ChatGPT: turn on Developer mode under Settings > Apps & Connectors > Advanced, then create a connector with the same URL and choose OAuth.
A sign-in page opens. Paste your account key, or press Create an account if you don't have one. Then ask in chat: "Connect my Chrome." The assistant calls pairing_code and walks you through loading the extension and pasting the code.
Where each agent is configured
The installer backs up every JSON or TOML file it edits as <file>.bak-agentchrome. The skill is linked into ~/.claude/skills, ~/.codex/skills, ~/.gemini/skills, ~/.gemini/antigravity/global_skills, ~/.cursor/skills and ~/.config/opencode/skills.
Gemini CLI note: Gemini turns off every MCP server in folders you haven't trusted, so
gemini mcp listshows "Disabled" there. Trust the folder with/permissionsinside Gemini, and the server turns on.
Pick agents, or use OAuth instead of a key
With OAuth, agents that support MCP sign-in (Claude Code, Codex, Gemini CLI and others) open a sign-in page on first use. Paste your account key once (agentchrome key prints it) and the agent receives short-lived tokens, refreshed for 90 days.
Add it by hand
Any MCP client that speaks Streamable HTTP works. Use https://<server>/mcp with a bearer key, or point it at the URL and let OAuth discovery do the rest.
What it does
It also handles the parts of real websites that usually break browser agents:
- Drag and drop works for native HTML5 drag events (Trello-style boards, file drop areas) and for pointer-based sliders and sortable lists.
- File uploads never open the native file picker. The agent can pass real file paths from your computer, or file contents. If a click tries to open the picker, it is held back and the agent is told to fill it.
alert,confirm,promptand "Leave site?" dialogs are reported to the agent instead of freezing it. A navigation the agent asks for leaves an unsaved page and says so.- New tabs opened by a link join the agent's group, and downloads are reported in the result of the click that caused them.
- Pages that fail are explained: HTTP errors such as 404, DNS failures, crashed tabs,
chrome://pages that extensions can't touch, andfile://pages that need permission. - If you press Cancel on Chrome's "started debugging this browser" bar, every agent stops and is told why.
CLI
Tools
The tool names match Claude in Chrome, so prompts and skills written for it work unchanged.
Feature parity
Local mode
The server listens only on 127.0.0.1:47823 and rejects requests from web pages. In the extension popup, open Server and set it to http://127.0.0.1:47823 before connecting. Screenshots and recordings are saved to ~/.agentchrome/artifacts.
Self-host on Cloudflare
The script creates a D1 database, a KV namespace and an R2 bucket, runs the migrations, deploys the Worker with its Durable Object, sets a session secret, and prints your own install line (curl -fsSL https://my-agentchrome.<you>.workers.dev/install | sh). After you create your own account, set SIGNUP_MODE to "closed" so nobody else can sign up.
It runs comfortably on the Workers free tier for personal use. Durable Objects hibernate between calls, so an idle extension connection costs nothing.
Security
- Keys: account keys (
acm_sk_…) and device tokens (acm_dt_…) are 256-bit random values. The server stores only their SHA-256 hashes. The local config file ischmod 600. - Pairing: a browser joins your account only with a single-use 10-character code that expires after 15 minutes, created by someone who already holds the account key. Each Chrome profile gets its own device token, which you can revoke on its own.
- OAuth 2.1: PKCE (S256), dynamic client registration, refresh-token rotation and RFC 9728 discovery, using
@cloudflare/workers-oauth-provider. - Isolation: each account has its own Durable Object. MCP session ids are signed with HMAC and bound to the account, so one account cannot use another's session.
- Recordings: screenshots and videos you choose to save go to R2 behind unguessable 144-bit links and are deleted after 7 days.
- Control in the browser: the Stop button on the page or in the popup pauses every agent at once. You can also ask before each new site, block sites, and keep history access off, which is the default.
- Rate limits: sign-up, pairing and the sign-in page are rate-limited per IP address.
- Untrusted pages: the skill and the server instructions tell agents never to follow instructions found inside web pages.
Please report vulnerabilities through a private GitHub security advisory.
How it works
The extension keeps one WebSocket open to the server. The server runs on Cloudflare Workers with one Durable Object per account. Each MCP session gets its own tab group in every paired profile. Tools that act on a page use the Chrome debugger protocol for input, screenshots, console and network logs. A small content script provides element refs, the accessibility tree, the overlay and the agent cursor.
Development
See AGENTS.md for the architecture and the rules for contributors.
Star history
[Star history chart for agentchrome]If agentchrome saves you time, please star it. Stars help other developers find the project.
License
MIT
Source: README.md at commit aa04500
Tools
0Version history
1- v0.1.0LatestNov 4, 2026
Score
85% of the applicable checks met
How complete this listing is, computed from the registry entry, the endpoint and public sources. Not a rating of the server and not a statement that it is safe or working today: reachability is a dated check, and no installs or reviews go into the score.
- Reached in the last 30 daysRequired25 pts
- Auth declaredRequired10 pts
- Tools listed15 pts
Answer tools/list without a credential, or ship a package that starts in a sandbox without one.
- DescriptionRequired15 pts
- Logo10 pts
- Documentation15 pts
- License10 pts