invisible-playwright-mcp
A stealth Firefox browser, exposed as an MCP server, so any AI agent can browse and act on real websites without being blocked by anti-bot systems.
It wraps invisible-playwright (a real Firefox patched at the C++ source for stealth) and hands your MCP client the usual browser tools: navigate, click, type, read, screenshot. The browser is always launched by the stealth engine, so the fingerprint is set inside the engine, not bolted on.
Install (Claude Code)
One line:
claude mcp add stealth --env STEALTHFOX_PROXY=http://user:pass@host:port -- uvx invisible-playwright-mcp
Or add it to any MCP client via a config block (Claude Code, Cursor, Claude Desktop):
{
"mcpServers": {
"stealth": {
"command": "uvx",
"args": ["invisible-playwright-mcp"],
"env": { "STEALTHFOX_PROXY": "http://user:pass@host:port" }
}
}
}
uvx downloads and runs it in one step; no manual install. The stealth Firefox engine is fetched automatically on first use.
Configuration (environment variables)
| Variable | Meaning |
|---|---|
STEALTHFOX_PROXY |
Your proxy URL (http://…, https://… or socks5://…). Bring your own. With it set, the session's timezone, locale and egress are derived from the proxy automatically. |
STEALTHFOX_SEED |
Integer seed for a deterministic fingerprint (same seed, same identity). |
STEALTHFOX_PROFILE_DIR |
A directory for a persistent profile, so logins survive across runs. |
STEALTHFOX_BINARY |
Path to a specific engine binary (otherwise fetched automatically). |
STEALTHFOX_HEADLESS |
0 to run headed; headless by default. |
Tools
session_new_page, session_list_pages, session_select_page, session_close_page, browser_navigate, browser_read_text, browser_snapshot, browser_click, browser_type, browser_press_key, browser_evaluate, browser_wait_for, browser_take_screenshot.
Tool names mirror the Microsoft Playwright MCP, so prompts written for it work here too.
Notes
- Bring your own proxy. The engine does the stealth; a residential proxy gives you the matching IP and geography. Without one it still runs, but the exit is your own address.
- This is a browser, not a captcha solver. It does not solve or bypass challenges for you; it makes an ordinary Firefox session look like a real one.
License
See the engine project, invisible-playwright.
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file invisible_playwright_mcp-0.1.0.tar.gz.
File metadata
- Download URL: invisible_playwright_mcp-0.1.0.tar.gz
- Upload date:
- Size: 10.1 kB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via:
twine/7.0.0 CPython/3.13.14
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
936e8bf51f25bfc9cd9749f075dee03782a3c3184aabce48a8d5f634b7b32e93
|
|
| MD5 |
d7c7a02592ed32b004713b8074e5d53e
|
|
| BLAKE2b-256 |
0633124cd4dad7825d3ab416d4bb8982a40387979c4bb8ef496a40b726e7f56a
|
Provenance
The following attestation bundles were made for invisible_playwright_mcp-0.1.0.tar.gz:
Publisher:
publish.yml on feder-cr/invisible-playwright-mcp
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
invisible_playwright_mcp-0.1.0.tar.gz -
Subject digest:
936e8bf51f25bfc9cd9749f075dee03782a3c3184aabce48a8d5f634b7b32e93 - Sigstore transparency entry: 2521681298
- Sigstore integration time:
-
Permalink:
feder-cr/invisible-playwright-mcp@60280fe8ad6b692c8221b40729ef421eca915a46 -
Branch / Tag:
refs/tags/v0.1.0 - Owner: https://github.com/feder-cr
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish.yml@60280fe8ad6b692c8221b40729ef421eca915a46 -
Trigger Event:
push
-
Statement type:
File details
Details for the file invisible_playwright_mcp-0.1.0-py3-none-any.whl.
File metadata
- Download URL: invisible_playwright_mcp-0.1.0-py3-none-any.whl
- Upload date:
- Size: 8.2 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via:
twine/7.0.0 CPython/3.13.14
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
3128e5da791891540854413821656721241e9e16b3189552aafa1646fc7b7a65
|
|
| MD5 |
ed9d99caede13b9e33145d4f751196fb
|
|
| BLAKE2b-256 |
5e3ea2d7793e796017db967c0d0e1ac2f92eb571b6ccc4023909056f0698fea4
|
Provenance
The following attestation bundles were made for invisible_playwright_mcp-0.1.0-py3-none-any.whl:
Publisher:
publish.yml on feder-cr/invisible-playwright-mcp
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
invisible_playwright_mcp-0.1.0-py3-none-any.whl -
Subject digest:
3128e5da791891540854413821656721241e9e16b3189552aafa1646fc7b7a65 - Sigstore transparency entry: 2521681423
- Sigstore integration time:
-
Permalink:
feder-cr/invisible-playwright-mcp@60280fe8ad6b692c8221b40729ef421eca915a46 -
Branch / Tag:
refs/tags/v0.1.0 - Owner: https://github.com/feder-cr
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish.yml@60280fe8ad6b692c8221b40729ef421eca915a46 -
Trigger Event:
push
-
Statement type: