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
Chrome Browser Automation Server
Project Details
- dlwjdtn535/mcp-chrome-integration
- Last Updated: 4/24/2025
Recomended MCP Servers
A Model Control Protocol (MCP) connector for integrating your local Zotero with Claude
↔️
Extended Jupyter Model Context Protocol (MCP) Server.
A fork of core mcp python-sdk with changes to enable typed-prompts
This read-only MCP Server allows you to connect to Microsoft Teams data from Claude Desktop through CData JDBC...
MCP server tailored to connecting web crawler data and archives
Port's MCP Server
my live resume
MCP Server Implementation on Kakao Developers API to connect an AI Agent