loading…
Search for a command to run...
loading…
An MCP server for browser automation using Puppeteer that enables AI assistants to navigate web pages, interact with UI elements, and capture screenshots. It su
An MCP server for browser automation using Puppeteer that enables AI assistants to navigate web pages, interact with UI elements, and capture screenshots. It supports comprehensive web tasks including form filling, content extraction, and executing custom JavaScript within the browser context.
A Model Context Protocol (MCP) server for browser automation using Puppeteer. This enables AI assistants like Claude, GPT, and other LLM-powered tools to navigate web pages, take screenshots, click elements, fill forms, and interact with web content.
You can run the server directly without installation:
npx github:blink-new/browser-mcp
npm install -g github:blink-new/browser-mcp
git clone https://github.com/blink-new/browser-mcp.git
cd browser-mcp
npm install
npm run build
Install Node.js 18+:
curl -fsSL https://deb.nodesource.com/setup_20.x | sudo -E bash -
sudo apt-get install -y nodejs
Install Chromium dependencies:
sudo apt-get install -y \
libnss3 \
libatk1.0-0 \
libatk-bridge2.0-0 \
libcups2 \
libdrm2 \
libxkbcommon0 \
libxcomposite1 \
libxdamage1 \
libxfixes3 \
libxrandr2 \
libgbm1 \
libasound2 \
libpango-1.0-0 \
libcairo2 \
libatspi2.0-0
Configure your MCP client (see Configuration section below)
Install Node.js 18+ (using Homebrew):
brew install node
Or using nvm:
curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.0/install.sh | bash
nvm install 20
nvm use 20
Configure your MCP client (see Configuration section below)
Install Node.js 18+:
winget install OpenJS.NodeJS.LTSConfigure your MCP client (see Configuration section below)
Add to your ~/.config/opencode/opencode.json:
{
"mcp": {
"browser": {
"type": "local",
"command": ["npx", "-y", "github:blink-new/browser-mcp"],
"enabled": true
}
}
}
Add to your Claude Desktop config (~/Library/Application Support/Claude/claude_desktop_config.json on macOS):
{
"mcpServers": {
"browser": {
"command": "npx",
"args": ["-y", "github:blink-new/browser-mcp"]
}
}
}
Add to your MCP configuration:
{
"mcpServers": {
"browser": {
"command": "npx",
"args": ["-y", "github:blink-new/browser-mcp"]
}
}
}
For headless servers or containers:
{
"mcp": {
"browser": {
"type": "local",
"command": ["npx", "-y", "github:blink-new/browser-mcp"],
"environment": {
"BROWSER_MCP_NO_SANDBOX": "true",
"BROWSER_MCP_HEADLESS": "true"
},
"enabled": true
}
}
}
| Variable | Description | Default |
|---|---|---|
BROWSER_MCP_HEADLESS |
Run browser in headless mode | true |
BROWSER_MCP_NO_SANDBOX |
Disable Chrome sandbox (required for Docker/root) | false |
BROWSER_MCP_EXECUTABLE_PATH |
Path to Chrome/Chromium executable | Auto-detected |
BROWSER_MCP_ARGS |
Additional Chrome arguments (comma-separated) | None |
| Tool | Description |
|---|---|
browser_navigate |
Navigate to a URL |
browser_back |
Go back to previous page |
browser_forward |
Go forward to next page |
browser_reload |
Reload current page |
| Tool | Description |
|---|---|
browser_screenshot |
Take a screenshot (supports fullPage option) |
browser_title |
Get the page title |
browser_content |
Get HTML content (optional selector) |
browser_links |
Get all links on the page |
| Tool | Description |
|---|---|
browser_click |
Click on an element by CSS selector |
browser_type |
Type text into an input field |
browser_hover |
Hover over an element |
browser_select |
Select an option from a dropdown |
browser_scroll |
Scroll up or down |
| Tool | Description |
|---|---|
browser_wait |
Wait for time or element |
browser_evaluate |
Execute JavaScript |
browser_close |
Close the browser |
User: Go to example.com and take a screenshot
AI: [Uses browser_navigate with url="https://example.com"]
AI: [Uses browser_screenshot]
User: Fill out the contact form on the page
AI: [Uses browser_type with selector="#name" text="John Doe"]
AI: [Uses browser_type with selector="#email" text="[email protected]"]
AI: [Uses browser_click with selector="#submit"]
User: Get all the links from this page
AI: [Uses browser_links]
If you see errors about missing libraries, install the Chromium dependencies:
sudo apt-get install -y libnss3 libatk1.0-0 libatk-bridge2.0-0 libcups2 libdrm2 libxkbcommon0 libxcomposite1 libxdamage1 libxfixes3 libxrandr2 libgbm1 libasound2
Use the --no-sandbox flag:
BROWSER_MCP_NO_SANDBOX=true npx github:blink-new/browser-mcp
Or in your config:
{
"environment": {
"BROWSER_MCP_NO_SANDBOX": "true"
}
}
The bundled Chromium should work automatically. If not, specify the path:
BROWSER_MCP_EXECUTABLE_PATH="/Applications/Google Chrome.app/Contents/MacOS/Google Chrome" npx github:blink-new/browser-mcp
Run PowerShell as Administrator and enable long paths:
New-ItemProperty -Path "HKLM:\SYSTEM\CurrentControlSet\Control\FileSystem" -Name "LongPathsEnabled" -Value 1 -PropertyType DWORD -Force
Example Dockerfile:
FROM node:20-slim
# Install Chromium dependencies
RUN apt-get update && apt-get install -y \
libnss3 \
libatk1.0-0 \
libatk-bridge2.0-0 \
libcups2 \
libdrm2 \
libxkbcommon0 \
libxcomposite1 \
libxdamage1 \
libxfixes3 \
libxrandr2 \
libgbm1 \
libasound2 \
libpango-1.0-0 \
libcairo2 \
&& rm -rf /var/lib/apt/lists/*
ENV BROWSER_MCP_NO_SANDBOX=true
ENV BROWSER_MCP_HEADLESS=true
CMD ["npx", "-y", "github:blink-new/browser-mcp"]
# Clone the repository
git clone https://github.com/blink-new/browser-mcp.git
cd browser-mcp
# Install dependencies
npm install
# Run in development mode
npm run dev
# Build
npm run build
# Run production build
npm start
Contributions are welcome! Please feel free to submit a Pull Request.
MIT License - see LICENSE for details.
Добавь это в claude_desktop_config.json и перезапусти Claude Desktop.
{
"mcpServers": {
"browser-mcp": {
"command": "npx",
"args": []
}
}
}