Labsco
MCP SERVER

MCP Chrome Integration

by dlwjdtn535

Automate Chrome through a browser extension and a WebSocket bridge — navigate, click, type, extract tables, run JavaScript, read bookmarks, history and clipboard.

Browser Automation, Control & Screenshots
Summary
Read the limits before you plan around it.

It does not work on `chrome://` URLs at all, only on regular http and https pages, and a site's Content Security Policy can block script execution — so a plan that assumes JavaScript will run everywhere will break on some sites. Every operation needs a `tab_id`, so list the tabs and check the tab state before acting. Running inside your own browser is the upside: your logins are already there.

What it is

An MCP server that drives Chrome through an extension you load yourself. The extension connects over a WebSocket to the local server, and tools act on a specific tab identified by `tab_id`, which means it works inside your real browser session rather than a separate automated profile.

What you get
  • Navigation and interaction — `tool_navigate_to`, `tool_click_element`, `tool_type_text`, plus form filling and page scrolling
  • Page reading — `tool_state` for page state and content, `tool_get_element_info` for dimensions, styles and visibility, `tool_extract_table` for structured table data, and HTML, link counts, meta tags and image information
  • JavaScript executed in the page — `tool_execute_script`
  • Tabs listed so you know what to act on — `tool_tab_list`
  • Browser features beyond the page — bookmarks, history, downloads, notifications, clipboard and cookies
  • System integration — system information, geolocation, power and battery status, and screenshots
  • An extension popup showing connection status and a log viewer, with automatic reconnection
Requirements

Python 3.12, Google Chrome with the extension loaded, and `uv` or Docker. Load the extension by enabling Developer mode in `chrome://extensions/` and choosing Load unpacked on the `mcp-client` directory, then set the server URL in the extension popup — default `ws://localhost:8012` — and click Connect. Configure the client to run `uv run --directory <install path>/src mcp-server` with `WEBSOCKET_PORT` set to `8012`; the README gives Windows, macOS and Linux paths. Smithery install is `npx -y @smithery/cli install @dlwjdtn535/mcp-chrome-integration --client claude`. MIT licensed.

Setup effort

One command — npx -y @smithery/cli install @dlwjdtn535/mcp-chrome-integration --client claude