tool_navigate_toLABSCO 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_statefor page state and content,tool_get_element_infofor dimensions, styles and visibility,tool_extract_tablefor 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. MIT licensed.
Setup effort
Build from source — git clone https://github.com/dlwjdtn535/mcp-chrome-integration.git
USE CASES
Getting a table off a page as data
Point the extractor at the table's selector and get rows back instead of copying the HTML.
Working on a site you are already signed into
List the tabs, pick the one with your session, and act on it by its id.
Filling out a repetitive form
Navigate to the page, type into each field by selector, and click submit.
Reading something the page only computes at runtime
Execute a small script in the tab — checking the site's CSP first, since some pages block it.
8 tools
Listed in project docs. Your client may show a different list.
tool_click_elementtool_type_texttool_statetool_execute_scripttool_extract_tabletool_get_element_infotool_tab_listBEFORE YOU INSTALL
What to know first
Tools you get
8 tools named in the project's documentation.
Requires
- uv on PATH
- Python 3.12
Where it runs
The documented client runs the server on your machine.
INSTALLATION
Connect your client
This one is built from source rather than installed with a single command.
Server setup
git clone https://github.com/dlwjdtn535/mcp-chrome-integration.gitLoad the extension: open chrome://extensions/ in Chrome, turn on Developer mode, click Load unpacked and select the mcp-client folder inside the clone.
MCP Clients
Claude Desktop
{
"mcpServers": {
"mcp-chrome-integration": {
"command": "uv",
"args": [
"run",
"--directory",
"%LOCALAPPDATA%\\Programs\\mcp-chrome-integration\\src",
"mcp-server"
],
"env": {
"WEBSOCKET_PORT": "8012"
}
}
}
}The --directory value is the src folder of your clone. The README's examples use %LOCALAPPDATA%\Programs\mcp-chrome-integration\src on Windows and /usr/local/bin/mcp-chrome-integration/src on macOS and Linux; use the path where you cloned it. Once your client has started the server, click the extension's icon in Chrome, enter ws://localhost:8012 and click Connect.