chrome-extension-mcp-go

chrome-extension-mcp-go

3.3

A Go implementation of the Model Context Protocol (MCP) server for Chrome Extension API, enabling Claude to interact with Chrome browser extensions.

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

MCP Tools

  • {'chrome_get_active_tab': 'Get information about the currently active tab'}
  • {'chrome_get_all_tabs': 'Get information about all open tabs'}
  • {'chrome_execute_script': 'Execute DOM operations in the context of a web page'}
  • {'chrome_inject_css': 'Inject CSS into a web page'}
  • {'chrome_get_extension_info': 'Get information about installed extensions'}
  • {'chrome_send_message': "Send a message to an extension's background script"}
  • {'chrome_get_cookies': 'Get cookies for a specific domain'}
  • {'chrome_capture_screenshot': 'Take a screenshot of the current tab'}
  • {'chrome_create_tab': 'Create a new tab with specified URL and options'}

Usage with Different Platforms

docker

bash
docker build -t mcp/chromeextension-go .
docker run -i --rm mcp/chromeextension-go

manual_installation

bash
cd extension

from_source

bash
go run main.go

using_binary

bash
go build
./chrome-extension-mcp-go

claude_configuration


{
  "mcpServers": {
    "chromeextension": {
      "command": "path/to/chrome-extension-mcp-go",
      "args": [],
      "env": {
        "CHROME_EXTENSION_ID": "your-extension-id"
      }
    }
  }
}