Chrome Extension MCP Server (Go Version)
LocalAbout Chrome Extension MCP Server (Go Version)
A Go MCP server that bridges Claude and Chrome extensions over WebSocket. Its tools expose browser and extension operations such as tab management, DOM changes, cookie access, and screenshots.
Key features
- 01Connect to extensions over WebSocket
- 02Manage browser tabs
- 03Run DOM operations
- 04Inject CSS
- 05Inspect extension information
- 06Access cookies and capture screenshots
Use cases
- 01Read information about open tabs
- 02Modify a page's DOM or styling
- 03Send messages to an extension background script
- 04Capture a screenshot of the active tab
MCP support
Exposes Chrome browser and extension operations as tools for MCP clients, communicating with the Chrome extension over WebSocket.
Configuration
Local server config is the same for every client. Copy it into your client’s MCP config file.
Tools
Local servers expose tools only once running on your machine, and the maintainer has not provided a tool list.
Details
From the project READMEChrome Extension MCP Server (Go Version)
A Go implementation of the Model Context Protocol (MCP) server for Chrome Extension API, enabling Claude to interact with Chrome browser extensions.
Overview
This project is a Go implementation of the original TypeScript version of the Chrome Extension MCP Server. It provides a WebSocket server that bridges the Claude AI with Chrome extensions, allowing Claude to perform various browser operations through the Chrome API.
Features
- WebSocket server for Chrome extension communication
- Support for Model Context Protocol (MCP)
- Various Chrome browser operations through tools:
- Tab management
- DOM manipulation
- CSS injection
- Extension management
- Cookie access
- Screenshot capture
- And more
Installation
1. Install Chrome Extension
Using Docker
- Build and run the Docker container:
docker build -t mcp/chromeextension-go .
docker run -i --rm mcp/chromeextension-go
- Extract the extension package (if not already available):
docker cp $(docker ps -q -f ancestor=mcp/chromeextension-go):/app/extension extension
- Install in Chrome:
- Open Chrome and go to
chrome://extensions/ - Enable "Developer mode" in the top right
- Click "Load unpacked" and select the extracted extension directory
- Open Chrome and go to
Manual Installation
- Navigate to the extension directory:
cd extension
- Load in Chrome:
- Open Chrome and go to
chrome://extensions/ - Enable "Developer mode" in the top right
- Click "Load unpacked" and select the extension directory
- Open Chrome and go to
2. Running the Server
From Source
go run main.go
Using Binary
go build
./chrome-extension-mcp-go
3. Configure MCP Server for Claude
Add the following to your claude_desktop_config.json:
{
"mcpServers": {
"chromeextension": {
"command": "path/to/chrome-extension-mcp-go",
"args": [],
"env": {
"CHROME_EXTENSION_ID": "your-extension-id"
}
}
}
}
Tools
This MCP server provides the following tools to Claude:
chrome_get_active_tab: Get information about the currently active tabchrome_get_all_tabs: Get information about all open tabschrome_execute_script: Execute DOM operations in the context of a web pagechrome_inject_css: Inject CSS into a web pagechrome_get_extension_info: Get information about installed extensionschrome_send_message: Send a message to an extension's background scriptchrome_get_cookies: Get cookies for a specific domainchrome_capture_screenshot: Take a screenshot of the current tabchrome_create_tab: Create a new tab with specified URL and options
License
This project is licensed under the MIT License.
Comments
New to MCP?
From what the protocol is to installing your first server, these answers cover most first questions.
An open protocol that defines how AI applications connect to external tools and data in a uniform way. Clients talk to the model; MCP servers provide tools, resources and prompt templates. They exchange standard messages, so one server can be reused by many clients.