MCP Chrome Server
A server for browser automation using Google Chrome, based on the MCP framework.
MCP Chrome Server
A Chrome server based on MCP (Model-Controller-Prompt) for browser automation.
Installation
Prerequisites
- Python 3.12
- Google Chrome browser installed
- uv (Python package installer) or Docker
Installing via Smithery
npx -y @smithery/cli install @dlwjdtn535/mcp-chrome-server --client claude
Configuration Setup
Choose one of the following setup methods based on your environment:
1. Using uv (Recommended)
Windows Setup:
{
"mcpServers": {
"mcp-chrome-server": {
"command": "uv",
"args": [
"run",
"--directory",
"%LOCALAPPDATA%\\Programs\\mcp-chrome-server\\src",
"mcp-chrome-server"
],
"env": {
"CHROME_PROFILE_PATH": "%LOCALAPPDATA%\\Google\\Chrome\\User Data"
}
}
}
}
macOS Setup:
{
"mcpServers": {
"mcp-chrome-server": {
"command": "uv",
"args": [
"run",
"--directory",
"/usr/local/bin/mcp-chrome-server/src",
"mcp-chrome-server"
],
"env": {
"CHROME_PROFILE_PATH": "$HOME/Library/Application Support/Google/Chrome"
}
}
}
}
Linux Setup:
{
"mcpServers": {
"mcp-chrome-server": {
"command": "uv",
"args": [
"run",
"--directory",
"/usr/local/bin/mcp-chrome-server/src",
"mcp-chrome-server"
],
"env": {
"CHROME_PROFILE_PATH": "$HOME/.config/google-chrome"
}
}
}
}
Configuration
Chrome Profile Paths
Default Chrome profile paths for each operating system:
| OS | Path |
|---|---|
| Windows | %LOCALAPPDATA%\Google\Chrome\User Data |
| macOS | ~/Library/Application Support/Google/Chrome |
| Linux | ~/.config/google-chrome |
Important Notes
- Close all running Chrome instances before starting the automation server
- Ensure proper permissions for the Chrome profile directory
- For Docker setup, make sure the volume mount path matches your system's Chrome profile path
Credential Management
Securely store and manage login information using the system keychain:
# Save credentials
result = tool_save_credentials(
site="example.com",
username="your_username",
password="your_password"
)
# Retrieve saved credentials
result = tool_get_credentials(
site="example.com",
username="your_username"
)
Key Features
Browser Control
# Open browser
result = tool_open_browser()
# Navigate to URL
result = tool_navigate(url="https://example.com")
# Close browser
result = tool_close_browser()
Web Login
result = tool_web_login(
url="https://example.com/login",
credentials={
"username": "your_username",
"password": "your_password"
},
selectors={
"username": "#id",
"password": "#pw",
"submit": ".login-button"
}
)
Special handling:
- Waits for user to solve CAPTCHA when detected
- Automatic detection of 2-factor authentication
- Detailed analysis of login failure scenarios
Element Manipulation
# Click element
result = tool_click(selector=".button")
# Type text
result = tool_type(
selector="#input-field",
text="Hello, World!"
)
# Get text
result = tool_get_text(selector=".content")
# Get multiple elements
result = tool_get_elements(selector=".items")
Important Considerations
-
Chrome Profile Usage
- Verify correct profile path configuration
- Close all other Chrome windows using the profile
-
Automation Detection Prevention
- Simulation of natural user behavior
- Maintain appropriate delays between login attempts
-
Security
- Always use system keychain for important credentials
- Never expose credentials directly in environment variables or configuration files
相关服务器
Bright Data
赞助Discover, extract, and interact with the web - one interface powering automated access across the public internet.
MCP-Puppeteer-Linux
Automate web browsers on Linux using Puppeteer. Enables LLMs to interact with web pages, take screenshots, and execute JavaScript.
Playwright
Provides browser automation capabilities using Playwright. Interact with web pages, take screenshots, and execute JavaScript in a real browser environment.
MCP Web Research Server
A server for web research that brings real-time information into AI models like Claude.
LinkedIn MCP
Scrape LinkedIn profiles and companies, get recommended jobs, and perform job searches.
MCP NPX Fetch
Fetch and transform web content into various formats like HTML, JSON, Markdown, or Plain Text.
Cloudflare Browser Rendering
Provides web context to LLMs using Cloudflare's Browser Rendering API.
Fetch as Markdown MCP Server
Fetches web pages and converts them to clean markdown, focusing on main content extraction.
HTML to Markdown MCP
Fetch web pages and convert HTML to clean, formatted Markdown. Handles large pages with automatic file saving to bypass token limits.
Primp MCP Server
An MCP server for the Primp HTTP client, enabling browser impersonation for requests and file uploads.
JCrawl4AI
A Java-based MCP server for interacting with the Crawl4ai web scraping API.