MCP Directory

MCP Browser Agent

Autonomous browser automation for Claude Desktop via Playwright, plus an HTTP API client.

Unverified
stdio (local)
No auth
TypeScript

Add to your client

Copy the config for your MCP client and paste it into its config file.

Install / run
git clone https://github.com/imprvhub/mcp-browser-agent && cd mcp-browser-agent && npm install && npm run build

Paste into ~/Library/Application Support/Claude/claude_desktop_config.json

{
  "mcpServers": {
    "mcp-browser-agent": {
      "command": "node",
      "args": [
        "ABSOLUTE_PATH_TO_DIRECTORY/mcp-browser-agent/dist/index.js",
        "--browser",
        "chrome"
      ]
    }
  }
}

Step-by-step guides: Add to Claude Desktop · Add to Cursor · Add to Windsurf

Before you start

  • Node.js 16 or higher
  • Claude Desktop
  • Playwright dependencies (installed with npm install; browser drivers downloaded automatically on first use)

About MCP Browser Agent

A Model Context Protocol server that turns Claude Desktop into a browser-automation agent. Using Playwright, it drives a headful browser to navigate pages, capture screenshots, interact with DOM elements, and run JavaScript, while also offering a built-in HTTP API client. It keeps a stateful browser session between commands and surfaces console logs and screenshots as MCP resources so Claude can chain operations into complex, multi-step tasks.

Tools & capabilities (12)

browser_navigate

Navigate to a URL. Params: url (required), timeout, waitUntil.

browser_screenshot

Capture a screenshot. Params: name (required), selector, fullPage, mask, savePath.

browser_click

Click an element. Params: selector (required).

browser_fill

Fill a form input. Params: selector (required), value (required).

browser_select

Select a dropdown option. Params: selector (required), value (required).

browser_hover

Hover over an element. Params: selector (required).

browser_evaluate

Execute JavaScript in the browser context. Params: script (required).

api_get

Perform an HTTP GET request. Params: url (required), headers.

api_post

Perform an HTTP POST request. Params: url (required), data (required), headers.

api_put

Perform an HTTP PUT request. Params: url (required), data (required), headers.

api_patch

Perform an HTTP PATCH request. Params: url (required), data (required), headers.

api_delete

Perform an HTTP DELETE request. Params: url (required), headers.

What this server can do

MCP Browser Agent provides tools for these capabilities — tap one to see every MCP server that does the same:

When to use it

  • Automating web searches and capturing/processing the results
  • Filling and submitting login or other forms across multi-step flows
  • Interacting with form elements like dropdowns and inputs on test or production sites
  • Running JavaScript against a live page to extract data (e.g. page title, link counts)
  • Making direct REST API calls (GET/POST/etc.) and processing JSON responses
  • Taking named, full-page or element-scoped screenshots for review

Security notes

Provides Claude with autonomous browser control; review the repo's SECURITY.md for prohibited uses and best practices. Built on Playwright, which has known issues; Chrome/Chromium processes may not terminate cleanly and sometimes need manual cleanup.

MCP Browser Agent FAQ

Which browsers are supported?

Chrome (default), Firefox (Nightly), Microsoft Edge, and WebKit (the engine behind Safari). Select one via the .mcp_browser_agent_config.json file, the --browser CLI argument, the MCP_BROWSER_TYPE environment variable, or the args in claude_desktop_config.json.

Is it published to npm?

No. You install it by cloning the repository, running npm install, and npm run build, then point Claude Desktop at dist/index.js.

Why do I see a 'Server disconnected' error in Claude Desktop?

Usually the absolute path in claude_desktop_config.json is wrong or the server isn't running. Verify the path (use double backslashes on Windows) and try running node dist/index.js manually from the project directory.

The browser process doesn't close after use. What do I do?

This is a known Playwright issue mainly with Chrome/Chromium. Manually end the lingering browser process via Task Manager (Windows), Activity Monitor (macOS), or ps/kill (Linux). Firefox and WebKit typically don't have this problem.

Alternatives to MCP Browser Agent

Compare all alternatives →

Automate your existing browser with AI using your real profile, logged-in sessions, and stealth fingerprint.

Unverified
stdio (local)
No auth
Stale
TypeScript
13 tools
Updated 1 year agoRepo

All-in-one web access MCP — Web Unlocker, SERP, Scraper API, and a cloud Scraping Browser.

Verified
stdio (local)
API key
JavaScript
12 tools
Updated 26 days agoRepo

macOS screen capture, AI visual analysis, and full GUI automation for AI agents.

Unverified
stdio (local)
API key
Swift
28 tools
Updated 3 days agoRepo