How to use Chrome MCP: a simple guide
1 Introduction
mcp-chrome (also called Chrome MCP Server) is a Chrome extension–based MCP (Model Context Protocol) server. It lets MCP clients (e.g. AI agents, chatbots) connect to your regular Chrome/Chromium browser, use your existing login state, and control or inspect web pages.
2 Main Features
- Works with your real browser (no separate headless instance)
- Fully local (no remote server)
- Uses streamable HTTP as connection method (or stdio alternative)
- Semantic search across tabs (vector index) & content analysis
- Over 20 “tools” (APIs) to interact with browser: navigation, network, screenshots, DOM, bookmarks, history, etc.
3 Installation & Usage Guide
3.1 Requirements
- Node.js = 18.19.0 and
npm
orpnpm
- Chrome or Chromium browser
3.2 Installation Steps
-
Install the bridge globally:
1
npm install -g mcp-chrome-bridge
Or with pnpm (enabling pre/post scripts):
1
pnpm config set enable-pre-post-scripts true && pnpm install -g mcp-chrome-Bridge
-
Register the bridge:
1
mcp-chrome-bridge register
-
Download & install the Chrome extension: Go to the GitHub Releases of mcp-chrome and download the extension.
-
In Chrome, open
chrome://extensions/
, enable Developer mode, “Load unpacked” and select the extension folder, then open the extension’s popup.
3.3 Using It
-
In the extension popup, click Connect to establish the bridge connection.
-
The extension will show a port (default 12306) for the MCP server.
-
In your MCP client config, add:
1 2 3 4 5 6 7 8
{ "mcpServers": { "chrome-mcp-server": { "type": "streamableHttp", "url": "http://127.0.0.1:12306/mcp" } } }
(Port 12306 is the default shown in extension popup)
-
Alternatively, if your client only supports stdio mode, use the
mcp-server-stdio.js
shipped in the bridge and configure as a command/args in MCP client config.
4 Tools (APIs) in mcp-chrome
The following is a more complete list of tools exposed by mcp-chrome (v0.0.6)
4.1 Browser Management
get_windows_and_tabs
— list all browser windows & tabschrome_navigate
— navigate to URL, control viewportchrome_close_tabs
— close specific tabs or windowschrome_go_back_or_forward
— browser back / forward navigationchrome_inject_script
— inject content scripts into pageschrome_send_command_to_inject_script
— send commands to scripts you injected
4.2 Screenshots & Visual
chrome_screenshot
— capture screenshot, full page or element-level
4.3 Network Monitoring
chrome_network_capture_start
/chrome_network_capture_stop
— use webRequest API to capture network activitychrome_network_debugger_start
/chrome_network_debugger_stop
— use Debugger API to capture deeper request/response datachrome_network_request
— send custom HTTP requests from browser context
4.4 Content & Analysis
search_tabs_content
— semantic search across all open tab contentschrome_get_web_content
— extract HTML / text content from a pagechrome_get_interactive_elements
— get clickable / interactive elements on pagechrome_console
— capture and retrieve console logs from browser tabs
4.5 Interaction (User Actions)
chrome_click_element
— click element via CSS selectorchrome_fill_or_select
— fill forms, select dropdowns, set valueschrome_keyboard
— simulate keyboard events or shortcuts
4.6 Data Management
chrome_history
— search browser history with time filterschrome_bookmark_search
— search bookmarks by keywordchrome_bookmark_add
— add a bookmark (with folder support)chrome_bookmark_delete
— delete a bookmark
This set covers most of the common browser automation needs—navigation, content reading, network capture, user interactions, bookmarks, history, and more.
⚠️ Note: Because mcp-chrome is under active development, new tools might be added, or some may evolve. Always check the latest TOOLS documentation in the repo.