tool_open_browserLABSCO SUMMARY
Using your own profile is the feature and the constraint.
Working from a real profile is why sites treat the session as yours rather than as a bot, and why an already-signed-in service needs no login at all. The cost is exclusivity: Chrome will not share a profile directory, so you have to close your own windows before starting. On credentials, follow the project's own advice and put them in the keychain rather than the environment — the login tool will read them from there.
What it is
A Python browser automation server built around an existing Chrome profile rather than a fresh headless instance — so the sessions, cookies and extensions you already have are what the agent works with.
What you get
- Browser control:
tool_open_browser,tool_navigateto a URL,tool_close_browser - Element work:
tool_clickandtool_typeby selector,tool_get_textfor one element andtool_get_elementsfor many tool_web_loginperforms a login given a URL, credentials and selectors for the username, password and submit controls- Login handling that stops rather than failing: it waits for you when a CAPTCHA appears, detects two-factor prompts, and reports why a login failed rather than returning a blank page
- Credentials stored in and retrieved from the system keychain with
tool_save_credentialsandtool_get_credentials, so they are not written into a config file
Requirements
Python 3.12 and Google Chrome installed, with uv or Docker to run it. CHROME_PROFILE_PATH points at your Chrome user data directory, which differs per operating system and is documented for Windows, macOS and Linux. Every other Chrome window using that profile must be closed before the server starts. Published on PyPI as mcp-chrome-server, version 0.1.0.
Setup effort
Build from source — git clone https://github.com/dlwjdtn535/mcp-chrome-server.git
USE CASES
Automating a site that needs you signed in
Work from the profile that is already authenticated instead of scripting the login every run.
Logging in somewhere that fights automation
Hand over the selectors and let it pause for the CAPTCHA rather than failing the whole run.
Pulling data off a page
Read one element or a whole list by selector and get the text back.
Keeping passwords out of your config
Save them into the system keychain once and let the login tool retrieve them by site.
10 tools
Listed in project docs. Your client may show a different list.
tool_navigatetool_close_browsertool_clicktool_typetool_get_texttool_get_elementstool_web_logintool_save_credentialstool_get_credentialsBEFORE YOU INSTALL
What to know first
Tools you get
10 tools named in the project's documentation.
Requires
- uv on PATH
- Python 3.12
Where it runs
All 3 documented setups run the server on your machine.
INSTALLATION
Connect your client
This one is built from source rather than installed with a single command.
Server setup
git clone https://github.com/dlwjdtn535/mcp-chrome-server.gitClose every Chrome window that uses the profile before the server starts.
MCP Clients
Claude Desktop — Windows
The --directory value is the src folder of your clone; the path below is the README's example, so change it to where you cloned the project.
{
"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"
}
}
}
}Claude Desktop — macOS
The --directory value is the src folder of your clone; the path below is the README's example, so change it to where you cloned the project.
{
"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"
}
}
}
}Claude Desktop — Linux
The --directory value is the src folder of your clone; the path below is the README's example, so change it to where you cloned the project.
{
"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"
}
}
}
}