Purpose
invisible_playwright_mcp is a Playwright MCP server whose goal is to let AI agents browse the web on an anti-detection stealth Firefox browser, reportedly invisible to anti-bot mechanisms and CAPTCHAs. It is aimed at tasks that require real web automation (rather than APIs) and that require a human to judge page content, such as web scraping, browser automation, and computer use.
Main capabilities
- Drives the web with a stealth Firefox engine, operating in a human-like way: pointer movement, key input.
- Offers two ways to use it:
- Connect from an assistant via MCP (after installing with PowerShell on Windows, install it in the assistant).
- Standalone use: comes with a Web UI, the user provides an OpenRouter key, chat on the left, live browser on the right, visit http://127.0.0.1:8765。
- Supports options such as proxies, profiles, and seeds, used to control browser identity and network egress.
- Comes with a wiki, including an AI browser agent guide, checklists for when blocked, articles about OpenAI Operator, etc.; articles/ contains examples, records, and their outputs.
- The same series also includes: invisible_playwright (the engine in the form of a Python library, with Playwright's API), invisible_core (from seed to fingerprint, preferences, proxy, and geolocation).
Usage
- MCP server: invisible_playwright_mcp with no subcommand is the server; invisible-playwright-mcp ui is the interface.
- Command-line options:
- --openrouter-key: your key, or use the OPENROUTER_API_KEY variable.
- --model: OpenRouter model id, or INVISIBLE_MCP_MODEL, default z-ai/glm-5.3-flash.
- --proxy: optional, e.g. http://user:pass@proxy.example.com:8080 Or socks5://proxy.example.com:1080, both host and port are required, and the time zone, region, and exit change accordingly.
- --binary: Use an existing engine binary; it must be a build pinned by seal, otherwise startup is refused; this skips the download but does not skip the version check.
- --seed: An integer; the same seed produces the same browser identity on every run.
- --profile-dir: The directory where the profile is saved, so that logins and cookies persist after a restart.
- --headed: Show the browser window.
- --host, --port: Defaults to 127.0.0.1 and 8765; changing the host exposes the interface without authentication.
- .env: You can place a .env file in the run directory to write secrets and the binary path; it is read at startup, and the precedence is --flag > environment variables > .env > defaults; only the current directory is read, with no upward search; the startup line lists the variable names that are applied but does not print the values.
- Passing the key via --openrouter-key leaves the key in shell history and, on Linux, it also appears in the process list; using environment variables or .env avoids this.
Use Cases
- Web automation tasks that require a real browser rather than an API.
- Scenarios that require checking page content item by item and making judgments, such as checking the lowest ticket price day by day (example given in the material: Milan to Lisbon, economy class, one checked bag, one adult, checking day by day from the 12th to the 16th of next month; the calendar control requires clicking dates rather than typing, unavailable dates must be stated, and numbers must not be guessed).
- Web scraping and computer-operation tasks.
Limitations and Notes
- The tool automates a browser controlled by the user; you should read the target website's terms, comply with rate limits, and not submit content that has not been read by a human.
- The browser agent runs on the user's machine and has no server of its own. Data flows: the websites visited see the browser (just like any Firefox); the model provider (the Web UI sends the conversation and the page content read by the agent to OpenRouter, using your key; with MCP, the connected client uses its model to do the same); GitHub (on first startup of the server or interface, the engine is downloaded from a GitHub release, and when a proxy is set, the GeoIP database is downloaded; on every browser startup it also downloads from GitHub release a one-line counter file used to count startups; this request carries no identifier or your information, and GitHub will see the IP address that is shown for any HTTPS request).
- Apart from this, no other data is collected, and nothing is sent to the author. Sessions, profiles, and screenshots are stored locally (under INVISIBLE_MCP_HOME if it is set, otherwise in the system application data directory), can be deleted by you, and are not retained anywhere else.
- License: MIT. All content distributed before September 2, 2026 is released under AGPL-3.0 and remains under that license.
- More details about charges, pricing, platform support scope, and similar matters are not yet provided in the material.