Invisible Playwright MCP logo

Invisible Playwright MCP

Automates real web pages through MCP with browser navigation, interaction, reading, screenshots, profiles, proxies, and two browser identities.

Install Invisible Playwright MCP

Pick your client, then add it in one click or paste the config.

STDIOPython
~/Library/Application Support/Claude/claude_desktop_config.json
claude_desktop_config.json
{
  "mcpServers": {
    "invisible-playwright-mcp": {
      "command": "uvx",
      "args": [
        "invisible-playwright-mcp"
      ]
    }
  }
}

Settings → Developer → Edit Config, merge this into mcpServers, then fully quit and reopen Claude Desktop.

Install not yet sandbox-tested— the server itself is confirmed live (we called its tools/list endpoint). The stdio install command is a separate, ongoing check.

Overview

invisible_playwright_mcp provides MCP tools for driving real web pages through a Firefox-based browser, including navigation, clicking, typing, reading, uploads, screenshots, and JavaScript inspection. It can maintain persistent profiles, deterministic browser identities, and optional proxies, while supporting separate main and support browsers. Use it for tasks that require visual judgment and human-like page interaction rather than a direct API. The package also includes a local web UI backed by OpenRouter.

Use cases

  • Browse real websites instead of calling an API
  • Compare prices or availability across multiple dates
  • Complete forms with clicks, typing, and dropdown selection
  • Inspect dynamic pages, tables, and interactive controls
  • Upload local files to web forms

Key features

  • MCP browser automation with Firefox
  • Persistent profiles and repeatable browser identities
  • Main and support browser sessions
  • Selector-based and coordinate-based interaction
  • Text, HTML, screenshot, and live-window inspection
  • Optional proxy and local file upload support

Tools17

What Invisible Playwright MCP lets your agent do. Expand a tool for its parameters.

Verified live~3.7k tokens of context

Security & health

What it can reach and how reliably it runs — from our own checks, not the maintainer’s claims.

ActiveLast checked 1d ago

Recent health check succeeded.

18/18 checks healthy over the last 31d

What it can do

From the 17 tools this server returned when we ran it; 17 declare their own safety hints.

Can delete or modify data · 9Writes files · 1Handles credentials · 1Makes network requests · 15Read-only tools · 8
Network at startup3 connections
Files written at startup30

Observed 2026-10-15 in an isolated sandbox. A description of reach, not a security audit.

Supply-chain signal

No high-severity advisories surfaced by our automated scan.

Critical 0High 0Medium 0Low 0

Scanned 14d ago via OSV.dev · invisible-playwright-mcp (PyPI)

Adoption & maintenance

Factual signals from GitHub, npm, and our automated checks — not a rating.

GitHub stars878Stargazers on the source repository.
Last commit21d agoMost recent push to the default branch.
Tools exposed17Callable tools this server registers over MCP.
Directory activity5 viewsConfig copies, upvotes, and views on AllMCPs.

How Invisible Playwright MCP works

What invisible_playwright_mcp does

invisible_playwright_mcp exposes a browser agent through the Model Context Protocol. It opens real web pages, follows redirects, inspects visible controls, enters text, selects options, uploads files, presses keys, and reads rendered content. The browser operates through pointer and keyboard interactions rather than directly changing page state, which suits workflows where a page must be used as a person would use it.

Typical tasks include checking information across several dates, completing web forms, navigating sites whose content is loaded dynamically, and reviewing the result of an interaction. The package also offers a standalone local web interface for chatting with the agent and viewing the live browser.

How it works

The server maintains up to two browser identities: main and support. The support browser is useful when a task needs a second identity and can be closed when it is no longer needed. Each browser can use a seed, profile directory, and proxy. A seed provides a repeatable identity, while a profile preserves cookies, logins, and the seed between runs. Proxy settings affect the browser's network exit and related locale and timezone behavior.

Use browser_snapshot to obtain the visible interactive elements and their exact selectors. Use browser_click_at only when a coordinate is needed, since viewport coordinates can become stale after scrolling or other page movement. browser_read_text is suited to visible content, while browser_read_html preserves useful structure such as forms and tables. Navigation reports the resulting HTTP status and final URL, so redirects, login walls, errors, and regional domains can be checked before reading the page.

browser_evaluate is restricted to read-only JavaScript inspection. Page changes should use the interaction tools so the site receives actual keyboard or pointer input.

Setup and configuration

Install Astral uv first. The package runs as an MCP server without a subcommand, while invisible-playwright-mcp ui starts the standalone interface. The documented client installation paths include Claude Code, Codex, and Gemini CLI. The web UI is available at http://127.0.0.1:8765 by default and requires an OpenRouter API key.

Supported options include:

  • --openrouter-key or OPENROUTER_API_KEY for the web UI
  • --model or INVISIBLE_MCP_MODEL for the OpenRouter model
  • --proxy, --seed, and --profile-dir for browser identity and routing
  • --binary for an existing compatible browser engine
  • --headed to show the browser window
  • --host and --port to change the local interface address

A .env file in the working directory can supply configuration. Command-line flags take precedence over environment variables, which take precedence over .env values. Uploads require absolute file paths within directories listed by INVISIBLE_MCP_UPLOAD_DIRS.

Tools and capabilities

  • Open, close, list, and inspect browser identities
  • Navigate to URLs and choose page-load wait conditions
  • Read visible text or cleaned HTML
  • Inspect visible interactive elements and exact selectors
  • Click selectors or viewport coordinates
  • Type text, press keys, and select dropdown options
  • Upload local files through file inputs
  • Take screenshots or watch the live browser window
  • Read page state through restricted JavaScript evaluation

Limitations and notes

The browser runs locally, and sessions, profiles, and screenshots remain on the machine under INVISIBLE_MCP_HOME or the system application-data directory. Visited sites receive normal browser traffic. The web UI sends the conversation and page content read by the agent to OpenRouter; MCP usage sends it through the model provider selected by the connected client. The first startup downloads the engine from a GitHub release, and proxy use can also trigger a GeoIP database download.

Changing the web UI host exposes an interface without authentication. Coordinate clicks should be preceded by a fresh snapshot after page movement. Large HTML responses are not truncated, so reading an entire complex page can produce a long result. Users should follow site terms and rate limits and avoid submitting content that has not been reviewed by a person.

The current license is MIT. Material distributed before 2 September 2026 remains under AGPL-3.0.

Reviews

No reviews yet — be the first to share how it worked for you.

Frequently Asked Questions about Invisible Playwright MCP

invisible_playwright_mcp is an MCP server that connects AI assistants to real web pages through a Firefox-based browser. Its main tools open and navigate pages, inspect text and controls, click, type, select options, upload files, take screenshots, and read page state. It supports persistent profiles, proxies, and two browser identities.

Install Astral uv, then add the package to an MCP client using that client's configuration or plugin mechanism. Claude Code and Codex provide plugin commands, while Gemini CLI installs it from the GitHub repository. The package runs as the MCP server when invoked without the `ui` subcommand.

Yes, invisible_playwright_mcp works with Claude Code through its plugin marketplace commands. Add the `feder-cr/invisible_playwright_mcp` marketplace and install `invisible-playwright-mcp@feder-cr`; the package then exposes its browser tools over MCP.

Pass a profile directory to `browser_open` or configure `--profile-dir` for the standalone application. The profile stores cookies, logins, and the browser seed between openings, allowing the same browser identity to be reused across runs.

Set `INVISIBLE_MCP_UPLOAD_DIRS` to directories permitted for uploads, then call `browser_upload_files` with absolute paths to regular files inside those directories. The tool interacts with the page's file input or its associated button or label; uploads are disabled when no permitted directory is configured.

Related MCP servers

Add a badge to your READMEShow it’s listed — live SVG, Markdown or HTML.

AllMCPs Directory Badge

Full Badge Customizer

Showcase your server listing on GitHub or your project documentation. Embed this dynamic SVG badge to highlight official listing status and live engagement.

Badge Style:
Live Dynamic SVG PreviewInvisible Playwright MCP AllMCPs Directory Badge
Markdown (GitHub README)
[![AllMCPs](https://allmcps.com/api/badge/invisible-playwright-mcp?style=directory)](https://allmcps.com/mcp/invisible-playwright-mcp)
HTML Embed
<a href="https://allmcps.com/mcp/invisible-playwright-mcp"><img src="https://allmcps.com/api/badge/invisible-playwright-mcp?style=directory" alt="Invisible Playwright MCP on AllMCPs" /></a>