mcp-chrome-server
A Chrome server based on MCP (Model-Controller-Prompt) for browser automation.
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
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.