Anti-detect agentic stealth browser: undetected browsing, browser automation, Python AI web browsing agent, computer use, scraping, lead generation. No captchas.
- ✓Open-source license (MIT)
- ✓Actively maintained (<30d)
- ✓Healthy fork ratio
- ✓Clear description
- ✓Topics declared
- ✓Mature repo (>1y old)
- !Install pipes a remote script into a shell (curl | sh)
claude mcp add invisible-playwright-mcp -- uvx invisible-playwright-mcp{
"mcpServers": {
"invisible-playwright-mcp": {
"command": "uvx",
"args": ["invisible-playwright-mcp"],
"env": {
"OPENROUTER_API_KEY": "<openrouter_api_key>"
}
}
}
}OPENROUTER_API_KEYMCP Servers overview
<div align="center">
<picture>
<source media="(prefers-color-scheme: dark)" srcset="https://raw.githubusercontent.com/feder-cr/invisible_playwright_mcp/main/assets/masks-dark.png">
<img alt="invisible_playwright_mcp" src="https://raw.githubusercontent.com/feder-cr/invisible_playwright_mcp/main/assets/masks-light.png" width="150">
</picture>
**An anti detect browser and web browsing agent, open source, with an MCP server for coding agents: undetected, no captchas, no blocks. Tell it what you want in plain language.**
</div>
---
## Two ways to use this browser agent
### 1. From your assistant, over MCP
Windows, in PowerShell:
```powershell
powershell -ExecutionPolicy ByPass -c "irm https://astral.sh/uv/install.ps1 | iex"
$env:Path = "$env:USERPROFILE\.local\bin;$env:Path"
```
Linux:
```bash
curl -LsSf https://astral.sh/uv/install.sh | sh
source $HOME/.local/bin/env
```
Then install it in your assistant.
**Claude Code:**
```bash
claude plugin marketplace add feder-cr/invisible_playwright_mcp
claude plugin install invisible-playwright-mcp@feder-cr
```
**Codex:**
```bash
codex plugin marketplace add feder-cr/invisible_playwright_mcp
codex plugin add invisible-playwright-mcp@feder-cr
```
**Gemini CLI:**
```bash
gemini extensions install https://github.com/feder-cr/invisible_playwright_mcp
```
### 2. Standalone: the web UI
We bring the interface, you bring an [OpenRouter](https://openrouter.ai) key.
Chat on the left, the live browser on the right.
Windows, in PowerShell:
```powershell
powershell -ExecutionPolicy ByPass -c "irm https://astral.sh/uv/install.ps1 | iex"
$env:Path = "$env:USERPROFILE\.local\bin;$env:Path"
uvx invisible-playwright-mcp ui --openrouter-key sk-or-...
```
Linux:
```bash
curl -LsSf https://astral.sh/uv/install.sh | sh
source $HOME/.local/bin/env
uvx invisible-playwright-mcp ui --openrouter-key sk-or-...
```
Then open **http://127.0.0.1:8765** and type the same thing.
---
## What to ask a web browsing agent
Anything that needs real web automation: a browser rather than an API, and a
person's judgement about what is on the page.
> Go to `<paste the URL>`. One way, Milan to Lisbon, economy, one checked bag,
> one adult. Check every date from the 12th to the 16th of next month, one at a
> time, and read the cheapest fare for each day. The date field is a calendar
> widget, so click the days rather than typing them. If a date has no
> availability, say so. Do not guess a number.
It drives the page the way a person would: the pointer moves, keys are pressed.
## Options: proxy, profile, seed
- **`--openrouter-key`** Your key, or the `OPENROUTER_API_KEY` variable.
- **`--model`** An OpenRouter model id, or `INVISIBLE_MCP_MODEL`. Defaults to `z-ai/glm-5.3-flash`.
- **`--proxy`** Optional. `http://user:pass@proxy.example.com:8080` or
`socks5://proxy.example.com:1080`. Host and port are both required. The
timezone, locale and egress follow it.
- **`--binary`** An engine binary you already have. It must be the build the seal
pins, or startup refuses: this skips the download, not the version check.
- **`--seed`** An integer. Same seed, same browser identity, every run.
- **`--profile-dir`** A directory to keep the profile in, so logins and cookies
survive restarts.
- **`--headed`** Show the browser window. The interface shows you the page anyway.
- **`--host`, `--port`** `127.0.0.1` and `8765`. Changing the host
exposes an interface that has no authentication.
### A `.env` beside the command
Rather than retyping the key and the binary path, put them in a `.env` in the
directory you run from:
```
OPENROUTER_API_KEY=sk-or-...
STEALTHFOX_BINARY=/path/to/firefox
```
It is read at startup, and on the way in it **never overrides** something
already set, so the order is `--flag` > the environment > `.env` > the default.
Only the directory you are in is read - there is no search upwards, so running
from a subfolder cannot silently pick up a different key. The startup line names
the variables it applied and never prints their values.
Passing `--openrouter-key` puts the key in your shell history, and on Linux in
the process list. `OPENROUTER_API_KEY` in the environment or in a `.env` avoids
both.
## The wiki: AI browser-agent guides
The reading room around the agent lives in the
[wiki](https://github.com/feder-cr/invisible_playwright_mcp/wiki): the
[AI browser-agent landscape: browser-use, Operator-style and
computer-use agents compared](https://github.com/feder-cr/invisible_playwright_mcp/wiki/guides-alternatives-and-comparisons),
[what to check when an agent gets blocked](https://github.com/feder-cr/invisible_playwright_mcp/wiki/why-does-my-ai-agent-get-blocked),
and [what happened to OpenAI Operator](https://github.com/feder-cr/invisible_playwright_mcp/wiki/is-openai-operator-still-available),
among others. Worked examples, transcripts and their outputs live in
[articles/](https://github.com/feder-cr/invisible_playwright_mcp/tree/main/articles).
## The rest of the family: engine, core
The MCP server from option 1 ships inside this package: `invisible_playwright_mcp` with no
subcommand is the server, `invisible-playwright-mcp ui` the interface. Its config blocks for
clients that take a file, its settings and its tools are on the wiki page
[The MCP server](https://github.com/feder-cr/invisible_playwright_mcp/wiki/mcp-server).
- **[invisible_playwright](https://github.com/feder-cr/invisible_playwright)**
The engine, as a Python library, for writing code instead of prompts. The API
is Playwright's.
- **[invisible_core](https://github.com/feder-cr/invisible_core)**
Seed to fingerprint to preferences, proxy and geolocation.
## Using it responsibly
This automates a browser under your control. Read the terms of the sites you
point it at, respect their rate limits, and do not submit anything a human has
not read.
## Privacy Policy
This browser agent runs on your machine and has no server of its own. What
leaves your computer, and to whom:
- **The sites you visit** see the browser, as they would any Firefox.
- **Your model provider.** The web UI sends the conversation and what the agent
reads on the page to OpenRouter under your key. Over MCP, the client you
plugged it into does the same with whichever model it uses.
- **GitHub.** The engine is downloaded from a GitHub release the first time
the server or the interface starts, and a GeoIP database is when a proxy is
set. Each browser launch also fetches a one-line counter file from a GitHub
release, which is how launches are counted: the request carries no
identifier and nothing of yours, and GitHub sees what any HTTPS request
shows, your IP address.
Nothing else is collected and nothing is sent to the author. Sessions,
profiles and screenshots are stored locally, under `INVISIBLE_MCP_HOME` if set and
otherwise in the application-data directory of your system, and are yours to
delete; nothing is retained anywhere else. Questions go to the
[issues](https://github.com/feder-cr/invisible_playwright_mcp/issues).
## License
[MIT](https://github.com/feder-cr/invisible_playwright_mcp/blob/main/LICENSE). Everything
distributed before 2 September 2026 was released under AGPL-3.0 and stays under
it.
<!-- The Official MCP Registry verifies ownership of a PyPI package by finding
this token in the published description, which is this file. It must match
the `name` in server.json exactly. -->
<!-- mcp-name: io.github.feder-cr/invisible-playwright-mcp -->
What people ask about invisible_playwright_mcp
What is feder-cr/invisible_playwright_mcp?
+
feder-cr/invisible_playwright_mcp is mcp servers for the Claude AI ecosystem. Anti-detect agentic stealth browser: undetected browsing, browser automation, Python AI web browsing agent, computer use, scraping, lead generation. No captchas. It has 31.6k GitHub stars and its last recorded update is dated 2026-09-23.
How do I install invisible_playwright_mcp?
+
You can install invisible_playwright_mcp by cloning the repository (https://github.com/feder-cr/invisible_playwright_mcp) or following the README instructions on GitHub. ClaudeWave also provides quick install blocks on this page.
Is feder-cr/invisible_playwright_mcp safe to use?
+
Our security agent has analyzed feder-cr/invisible_playwright_mcp and assigned a Trust Score of 100/100 (tier: Verified). See the full breakdown of passed checks and flags on this page.
Who maintains feder-cr/invisible_playwright_mcp?
+
feder-cr/invisible_playwright_mcp is maintained by feder-cr. The last recorded GitHub activity is dated 2026-09-23, with 4 open issues.
Are there alternatives to invisible_playwright_mcp?
+
Yes. On ClaudeWave you can browse similar mcp servers at /categories/mcp, sorted by popularity or recent activity.
Deploy invisible_playwright_mcp to your cloud
Ship this repo to production in minutes. Each platform spins up its own environment with editable env vars.
Maintain this repo? Add a badge to your README
Drop the badge into your GitHub README to show it's tracked on ClaudeWave. Each badge links back to this page and reflects the live Trust Score.
[](https://claudewave.com/repo/feder-cr-invisible-playwright-mcp)<a href="https://claudewave.com/repo/feder-cr-invisible-playwright-mcp"><img src="https://claudewave.com/api/badge/feder-cr-invisible-playwright-mcp" alt="Featured on ClaudeWave: feder-cr/invisible_playwright_mcp" width="320" height="64" /></a>More MCP Servers
Fair-code workflow automation platform with native AI capabilities. Combine visual building with custom code, self-host or cloud, 400+ integrations.
User-friendly AI Interface (Supports Ollama, OpenAI API, ...)
An open-source AI agent that brings the power of Gemini directly into your terminal.
Real-time global intelligence dashboard. AI-powered news aggregation, geopolitical monitoring, and infrastructure tracking in a unified situational awareness interface
🕷️ An adaptive Web Scraping framework that handles everything from a single request to a full-scale crawl! Don't be shy, join here: https://discord.gg/EMgGbDceNQ and follow here for daily tips and tricks: https://x.com/Scrapling_dev
The fastest path to AI-powered full stack observability, even for lean teams.