Provides browser automation capabilities that allow for navigating to URLs, interacting with page elements (clicking, typing, hovering), capturing screenshots, and extracting content from web pages using a controlled Chrome or Chromium instance.
Click on "Install Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@Browser MCPGo to news.ycombinator.com and take a screenshot of the homepage"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
Browser MCP
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.
Features
Navigation: Navigate to URLs, go back/forward, reload pages
Screenshots: Capture full-page or viewport screenshots
Interaction: Click, type, hover, scroll, select dropdown options
Content Extraction: Get page content, titles, and links
JavaScript Execution: Run custom scripts in the browser context
Wait Conditions: Wait for elements or timeouts
Installation
Prerequisites
Node.js 18+ (LTS recommended)
npm, pnpm, or bun
Install via npx (Recommended)
You can run the server directly without installation:
npx github:blink-new/browser-mcpInstall Globally
npm install -g github:blink-new/browser-mcpInstall from Source
git clone https://github.com/blink-new/browser-mcp.git
cd browser-mcp
npm install
npm run buildSetup Instructions
Ubuntu / Debian Linux
Install Node.js 18+:
curl -fsSL https://deb.nodesource.com/setup_20.x | sudo -E bash - sudo apt-get install -y nodejsInstall 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-0Configure your MCP client (see Configuration section below)
macOS
Install Node.js 18+ (using Homebrew):
brew install nodeOr using nvm:
curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.0/install.sh | bash nvm install 20 nvm use 20Configure your MCP client (see Configuration section below)
Windows
Install Node.js 18+:
Download and install from nodejs.org
Or use winget:
winget install OpenJS.NodeJS.LTS
Configure your MCP client (see Configuration section below)
Configuration
OpenCode
Add to your ~/.config/opencode/opencode.json:
{
"mcp": {
"browser": {
"type": "local",
"command": ["npx", "-y", "github:blink-new/browser-mcp"],
"enabled": true
}
}
}Claude Desktop
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"]
}
}
}Cursor / VS Code with MCP Extension
Add to your MCP configuration:
{
"mcpServers": {
"browser": {
"command": "npx",
"args": ["-y", "github:blink-new/browser-mcp"]
}
}
}With Environment Variables
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
}
}
}Environment Variables
Variable | Description | Default |
| Run browser in headless mode |
|
| Disable Chrome sandbox (required for Docker/root) |
|
| Path to Chrome/Chromium executable | Auto-detected |
| Additional Chrome arguments (comma-separated) | None |
Available Tools
Navigation
Tool | Description |
| Navigate to a URL |
| Go back to previous page |
| Go forward to next page |
| Reload current page |
Screenshots & Content
Tool | Description |
| Take a screenshot (supports fullPage option) |
| Get the page title |
| Get HTML content (optional selector) |
| Get all links on the page |
Interaction
Tool | Description |
| Click on an element by CSS selector |
| Type text into an input field |
| Hover over an element |
| Select an option from a dropdown |
| Scroll up or down |
Utilities
Tool | Description |
| Wait for time or element |
| Execute JavaScript |
| Close the browser |
Examples
Navigate and Screenshot
User: Go to example.com and take a screenshot
AI: [Uses browser_navigate with url="https://example.com"]
AI: [Uses browser_screenshot]Fill a Form
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="john@example.com"]
AI: [Uses browser_click with selector="#submit"]Extract Data
User: Get all the links from this page
AI: [Uses browser_links]Troubleshooting
Linux: Browser fails to launch
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 libasound2Docker/Root: Sandbox errors
Use the --no-sandbox flag:
BROWSER_MCP_NO_SANDBOX=true npx github:blink-new/browser-mcpOr in your config:
{
"environment": {
"BROWSER_MCP_NO_SANDBOX": "true"
}
}macOS: Puppeteer can't find Chrome
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-mcpWindows: Long path errors
Run PowerShell as Administrator and enable long paths:
New-ItemProperty -Path "HKLM:\SYSTEM\CurrentControlSet\Control\FileSystem" -Name "LongPathsEnabled" -Value 1 -PropertyType DWORD -ForceDocker Support
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"]Development
# 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 startContributing
Contributions are welcome! Please feel free to submit a Pull Request.
License
MIT License - see LICENSE for details.
Credits
Built with Puppeteer
This server cannot be installed
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.