Controls a user's Chromium browser through MCP, including navigation, page inspection, interaction, JavaScript, and GIF recording.
Copy the AI prompt to install this server into Claude Code, Cursor, or another agent โ or use 1-click editor setup below.
This server is confirmed live โ we successfully called its tools/list endpoint directly (see the verified badge above). We haven't yet sandbox-tested the stdio install command below specifically, which is a separate, ongoing check.
๐ก Paste the JSON block into your client's configuration file under mcpServers, then restart the application.
Inspect callable tools, capabilities, and parameters exposed to AI agents by Chromium Bridge.
browser_statusCheck whether the browser extension is connected to the bridge. Returns {connected: boolean}. Read-only, no side effects. Call it first in a session, or when other browser_* tools fail, to distinguish "extension not connected" from page-level errors.
browser_tabs_listList all open browser tabs with their id, title, and URL. Read-only. Use it to pick a tabId for the other browser_* tools; prefer reusing an existing tab over creating a new one when the target page is already open.
browser_tab_createOpen a new browser tab and return its id and windowId. Mutating: adds a tab to the user's real browser and focuses it. Use when a fresh page is needed; to work with a page that is already open, find its id via browser_tabs_list instead.
browser_tab_closeClose a browser tab by id. Destructive: the tab and its unsaved page state are gone, with no undo. Close only tabs this session created, unless the user explicitly asked to close theirs.
browser_navigateNavigate an existing tab to a URL, or move through its history with url="back" / url="forward". Mutating: replaces the page currently shown in that tab. Returns when navigation is committed; dynamic pages may still be rendering โ verify with browser_page_text or a screenshot before interacting.
browser_page_textGet a tab's title, URL, and visible text (up to 80 kB) from the live DOM. Read-only and cheap โ prefer it over a screenshot whenever layout does not matter. Content rendered to canvas or images is invisible to it; use a browser_computer screenshot for those.
The dashi96/chromium-bridge MCP server gives an MCP client control of a Chromium-based browser profile through a browser extension. It can inspect open tabs, create or close tabs, navigate pages, read visible content, inspect accessibility information, interact with controls, execute JavaScript, upload local files, inspect console and network activity, resize the browser window, and record animated GIFs.
The bridge is intended for real browser sessions. Actions such as navigation, clicking, typing, form changes, JavaScript execution, file uploads, tab closure, and window resizing can change the user's browser or the state of a web page. Read-only operations include connection checks, tab listing, page text, accessibility inspection, element lookup, screenshots, hover, waiting, and inspection of captured console or network data.
The project has two parts: an MV3 extension and a local MCP server. An MCP client starts the server over stdio. The server then communicates with the extension over a WebSocket bound to 127.0.0.1 on port 8929 by default. The extension uses Chrome APIs for tabs, scripting, and debugging, and sends results back to the MCP tools.
Start a session with browser_status to determine whether the extension is connected. Use browser_tabs_list to find a tab ID before calling page or interaction tools. Accessibility references from browser_read_page and browser_find can be passed to computer and form tools; these references can become invalid after navigation or major DOM changes.
The browser's debugging protocol is used for most advanced operations. The first CDP action displays a browser notification that debugging has started. Console and network collection begins only when the tab is first touched, so earlier events are not recovered retroactively.
Install the extension by cloning the repository, opening chrome://extensions in the browser profile to automate, enabling Developer mode, and loading the extension/ directory as an unpacked extension.
The MCP server can be started from npm with npx chromium-bridge, or directly from a clone with Node after running npm install in server/. A Claude Code registration uses the server name chromium-bridge; other MCP clients can use a stdio entry with npx and the package name. Restart the client session after adding the server and extension.
The server port can be changed with CHROMIUM_BRIDGE_PORT, but the extension's WebSocket URL must also be edited to use the same port. The optional CHROMIUM_BRIDGE_CHAT_MODEL variable selects the startup model for the extension chat panel. The chat panel otherwise uses the model configured through the Claude Code environment or its own model picker, and authenticates through the Claude Code login.
The dashi96/chromium-bridge MCP server exposes tools for:
.click(), and uploading absolute local file paths.The extension is installed in one browser profile, so the selected profile determines which tabs the agent can access. The local server accepts extension-style origins but does not distinguish between different extensions; a local process running as the same user could imitate that origin. Do not run it on a shared machine.
Only one session can own port 8929 at a time. The extension service worker may need up to about 30 seconds to wake, while the server waits up to 12 seconds for reconnection in some startup cases. Closing the browser's debugging notification detaches the debugger and causes the next applicable action to attach again.
The chat popup closes when it loses focus, although its session context can be resumed. An in-progress turn is interrupted when the popup closes. GIF output is written to an absolute local path, and stopping a recording can overwrite the specified file.
Factual signals from GitHub, npm, and our automated checks โ not a rating.
No reviews yet โ be the first to share how this listing worked for you.
Showcase your server listing on GitHub or your project documentation. Embed this dynamic SVG badge to highlight official listing status and live engagement.
[](https://allmcps.com/mcp/dashi96-chromium-bridge)<a href="https://allmcps.com/mcp/dashi96-chromium-bridge"><img src="https://allmcps.com/api/badge/dashi96-chromium-bridge?style=directory" alt="Chromium Bridge on AllMCPs" /></a>