chrome-extension-mcp-go
A Go implementation of the Model Context Protocol (MCP) server for Chrome Extension API, enabling Claude to interact with Chrome browser extensions.
Chrome 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.
Related MCP Servers
View all browser_automation servers →Fetch
by modelcontextprotocol
A Model Context Protocol server that provides web content fetching capabilities, enabling LLMs to retrieve and process content from web pages.
markdownify-mcp
by zcaceres
Markdownify is a Model Context Protocol (MCP) server that converts various file types and web content to Markdown format.
mcp-playwright
by executeautomation
A Model Context Protocol server that provides browser automation capabilities using Playwright.
playwright-mcp
by microsoft
Playwright MCP is a Model Context Protocol server that provides browser automation capabilities using Playwright, enabling LLMs to interact with web pages through structured accessibility snapshots.
cursor-talk-to-figma-mcp
by sonnylazuardi
This project implements a Model Context Protocol (MCP) integration between Cursor AI and Figma, allowing Cursor to communicate with Figma for reading designs and modifying them programmatically.
firecrawl-mcp-server
by mendableai
Firecrawl MCP Server is a Model Context Protocol server implementation that integrates with Firecrawl for web scraping capabilities.
ai-agent-marketplace-index-mcp
by AI-Agent-Hub
MCP Server for AI Agent Marketplace Index from DeepNLP, allowing AI assistants to search available AI agents by keywords or categories.