home / mcp / browser mcp server

Browser MCP Server

Provides a browser automation MCP server that uses Puppeteer to navigate pages, take screenshots, interact with elements, and extract content.

Installation
Add the following to your MCP client configuration file.

Configuration

View docs
{
  "mcpServers": {
    "blink-new-browser-mcp": {
      "command": "npx",
      "args": [
        "-y",
        "github:blink-new/browser-mcp"
      ],
      "env": {
        "BROWSER_MCP_ARGS": "<BROWSER_MCP_ARGS>",
        "BROWSER_MCP_HEADLESS": "true",
        "BROWSER_MCP_NO_SANDBOX": "true",
        "BROWSER_MCP_EXECUTABLE_PATH": "<BROWSER_MCP_EXECUTABLE_PATH>"
      }
    }
  }
}

This browser MCP server enables automated browser control via Model Context Protocol, allowing you to navigate web pages, capture screenshots, interact with elements, and extract content using Puppeteer. It is valuable for AI assistants and automation tools that need reliable web-page interaction capabilities.

How to use

You will run this MCP server locally or in a headless environment and connect your MCP client to it. Use the provided command to start the server, then configure your MCP client to point to this local or remote endpoint. Once connected, you can navigate to web pages, take screenshots, click elements, fill forms, and extract page content or links. Use the available tools to perform common browsing tasks and run custom JavaScript in the browser context as needed.

How to install

Prerequisites you need before starting are Node.js 18 or newer and a package manager such as npm, pnpm, or bun.

Option 1: Install via npx (recommended) — run the server directly without a local install.

npx github:blink-new/browser-mcp

Option 2: Install globally so you can run the MCP server from anywhere.

npm install -g github:blink-new/browser-mcp

Option 3: Install from source for development or customization.

git clone https://github.com/blink-new/browser-mcp.git
cd browser-mcp
npm install
npm run build

Configuration and runtime guidance

Configure your MCP client to connect to the browser MCP server using a local command. The following configuration is shown as an example for environments that run the server locally via npx.

{
  "mcpServers": {
    "browser": {
      "command": "npx",
      "args": ["-y", "github:blink-new/browser-mcp"]
    }
  }
}

Environment variables and headless operation

You can run the browser MCP server headless or with sandboxing options as needed. The following environment variables control headless mode and sandbox behavior.

{
  "mcp": {
    "browser": {
      "type": "local",
      "command": ["npx", "-y", "github:blink-new/browser-mcp"],
      "environment": {
        "BROWSER_MCP_NO_SANDBOX": "true",
        "BROWSER_MCP_HEADLESS": "true"
      },
      "enabled": true
    }
  }
}

Troubleshooting and notes

If you encounter issues with launching the browser, ensure Chromium dependencies are installed on your system and your Node.js version matches the prerequisites. For headless deployments, verify that headless mode is enabled and sandbox constraints are addressed via the environment variables shown above.

Development

If you want to contribute or customize the server, you can clone the repository, install dependencies, and build or run in development mode.

# 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 the production bundle
npm run build

# Run the production server
npm start

Available tools

browser_navigate

Navigate to a URL using the browser context.

browser_back

Go back to the previous page in the browsing history.

browser_forward

Go forward to the next page in the browsing history.

browser_reload

Reload the current page.

browser_screenshot

Capture a screenshot of the current page, with an option for full-page capture.

browser_title

Retrieve the page title.

browser_content

Get the HTML content of the page, with an optional selector to limit the content.

browser_links

Extract all links present on the page.

browser_click

Click an element identified by a CSS selector.

browser_type

Type text into an input field.

browser_hover

Hover the cursor over an element.

browser_select

Select an option from a dropdown element.

browser_scroll

Scroll the page up or down.

browser_wait

Wait for a specified time or for an element to appear.

browser_evaluate

Execute custom JavaScript in the browser context.

browser_close

Close the browser instance.