MCP Chrome Integration

A protocol that enables AI models to control Chrome browser and perform web automation.
Installation
Prerequisites
- Python 3.12
- Google Chrome browser extension installed (websocket client)
- uv (Python package installer) or Docker
Installing via Smithery
To install Chrome Browser Automation Server for Claude Desktop automatically via Smithery:
npx -y @smithery/cli install @dlwjdtn535/mcp-chrome-integration --client claude
Configuration Setup
Choose one of the following setup methods based on your environment:
1. Using uv (Recommended)
Windows Setup:
{
"mcpServers": {
"mcp-chrome-integration": {
"command": "uv",
"args": [
"run",
"--directory",
"%LOCALAPPDATA%\\Programs\\mcp-chrome-integration\\src",
"mcp-server"
],
"env": {
"WEBSOCKET_PORT": "8012"
}
}
}
}
macOS Setup:
{
"mcpServers": {
"mcp-chrome-integration": {
"command": "uv",
"args": [
"run",
"--directory",
"/usr/local/bin/mcp-chrome-integration/src",
"mcp-server"
],
"env": {
"WEBSOCKET_PORT": "8012"
}
}
}
}
Linux Setup:
{
"mcpServers": {
"mcp-chrome-integration": {
"command": "uv",
"args": [
"run",
"--directory",
"/usr/local/bin/mcp-chrome-integration/src",
"mcp-server"
],
"env": {
"WEBSOCKET_PORT": "8012"
}
}
}
}
Key Features
1. Page Navigation & Interaction
- URL Navigation
- Element Clicking
- Text Input
- Form Filling
- Page Scrolling
- Table Data Extraction
- JavaScript Code Execution
2. Element Manipulation
- Get Element Information (dimensions, styles, visibility)
- Wait for Elements
- Change Background Colors
- Get Page State and Content
3. Page Analysis
- Get HTML Content
- Count Links
- Extract Meta Tags
- Get Image Information
- Form Analysis
- Page Content Streaming
4. Browser Features
- Bookmark Management
- Access Browser History
- Handle Downloads
- Show Notifications
- Clipboard Management
- Cookie Handling
5. System Integration
- Get System Information
- Access Geolocation
- Monitor Power/Battery Status
- Take Screenshots
Usage Examples
# Navigate to URL
tool_navigate_to(url="https://example.com", tab_id="your_tab_id")
# Click Element
tool_click_element(selector="#submit-button", tab_id="your_tab_id")
# Type Text
tool_type_text(selector="#search", text="query", tab_id="your_tab_id")
# Check Page State
tool_state(tab_id="your_tab_id")
# Execute JavaScript
tool_execute_script(script="console.log('Hello')", tab_id="your_tab_id")
# Extract Table Data
tool_extract_table(selector=".data-table", tab_id="your_tab_id")
# Get Element Info
tool_get_element_info(selector=".my-element", tab_id="your_tab_id")
Important Notes
1. Chrome Security Restrictions
- Does not work on chrome:// URLs
- Only works on regular websites (http:// or https://)
- Some websites' Content Security Policy (CSP) may restrict certain operations
- Consider website's CSP when executing JavaScript
2. Tab Management
- tab_id required for all operations
- Use tool_tab_list() to check available tabs
- Check tab state before operations
3. Error Handling
- Check return values for success/failure status
- Handle timeouts for wait operations
- Consider website loading state
Installation & Setup
1. Chrome Extension Installation & Setup
-
Prepare Extension
# Navigate to extension directory
cd mcp-client
-
Install in Chrome Browser
- Open Chrome browser
- Enter
chrome://extensions/
in address bar
- Enable "Developer mode" toggle in top-right
- Click "Load unpacked" button in top-left
- Select the
mcp-client
directory
-
Configure Extension
- Click MCP extension icon in Chrome toolbar
- Enter server URL (default:
ws://localhost:8012
)
- Click "Connect" button to connect to server
- Connection status should change to "Connected"
-
Using the Extension
- Works automatically in connected tabs
- For new tabs, click extension icon and connect
- Monitor operations in log window
- Click "Disconnect" to end connection
2. Server Setup
# Navigate to server directory
cd mcp-server
# Install dependencies
pip install -r requirements.txt
# Start server
python src/server.py
Extension Features
1. Popup Interface
- Server URL Configuration
- Connect/Disconnect Button
- Current Tab Status
- Log Message Viewer
2. Background Features
- Tab Management
- WebSocket Connection Maintenance
- Automatic Reconnection
- Error Recovery
3. Security Features
- HTTPS Support
- CSP Compliance
- Secure Script Execution
- Permission Management
4. Debugging
- Log Viewing in Developer Tools
- Detailed Error Messages
- Network Communication Monitoring
- Execution State Tracking
Troubleshooting
1. Connection Issues
- Verify Server URL
- Check Server Status
- Check Firewall Settings
- Verify WebSocket Port (8012) Availability
2. Execution Errors
- Check CSP Restrictions
- Grant Required Permissions
- Review Console Error Messages
- Validate Tab IDs
3. Performance Issues
- Monitor Memory Usage
- Disconnect Unused Tabs
- Adjust Status Update Frequency
- Optimize Large Data Processing
License
MIT