How feder-cr/invisible_playwright_mcp works
This package offers two entry points to a local stealth-browser agent: an MCP server for an assistant, and a standalone web chat with a live browser pane. In the web flow, a user submits an instruction, a conversation’s agent uses its persistent MCP link, and browser tools operate on a page; sessions and transcripts persist locally. MCP tools route through work and browser actions. The README documents OpenRouter, proxy, profile, seed, and engine options. Source excerpts and the index support the internal links shown; UI internals and some runtime wiring are not fully sampled.
Main entry points: server.py MCP server · work.py Browser work · routes.py HTTP routes · plan.py Launch planning
Components 26
Entry points
- CLI
src/invisible_playwright_mcp/cli.py
Conversation UI
- HTTP routes
src/invisible_playwright_mcp/routes.py - Web UI
src/invisible_playwright_mcp/ui - UI interactions
src/invisible_playwright_mcp/ui/js - Conversation registry
src/invisible_playwright_mcp/sessions.py - Conversation
src/invisible_playwright_mcp/chat.py - Agent loop
src/invisible_playwright_mcp/agent.py - MCP client link
src/invisible_playwright_mcp/link.py
MCP server
- MCP server
src/invisible_playwright_mcp/mcp/server.py - Browser work
src/invisible_playwright_mcp/mcp/work.py - Browser actions
src/invisible_playwright_mcp/mcp/actions.py - Launch planning
src/invisible_playwright_mcp/mcp/plan.py - Browser identity
src/invisible_playwright_mcp/mcp/identity.py - Proxy settings
src/invisible_playwright_mcp/mcp/proxy.py
Browser runtime
- Browser session
src/invisible_playwright_mcp/mcp/session.py - Engine manager
src/invisible_playwright_mcp/engine.py - Stealth browser
Shared services
- Session storage
src/invisible_playwright_mcp/storage.py - Browser state store
src/invisible_playwright_mcp/mcp/store.py - Chat persistence
src/invisible_playwright_mcp/chats.py - OpenRouter client
src/invisible_playwright_mcp/llm.py - Environment config
src/invisible_playwright_mcp/env.py
Other components
- User
- MCP assistant
- Model provider
- Visited websites
Connections 40
- User → CLI: starts UI or MCP
- MCP assistant → MCP server: uses MCP tools
- User → Web UI: submits instructions
- CLI → HTTP routes: starts web app
src/invisible_playwright_mcp/cli.py - HTTP routes → Web UI: serves page
src/invisible_playwright_mcp/routes.py - UI interactions → HTTP routes: calls HTTP routes
- HTTP routes → Conversation registry: selects conversation
src/invisible_playwright_mcp/routes.py - HTTP routes → Conversation: starts or stops turns
src/invisible_playwright_mcp/routes.py - Conversation registry → Conversation: creates conversations
src/invisible_playwright_mcp/sessions.py - Conversation registry → MCP client link: spawns server link
src/invisible_playwright_mcp/sessions.py - Conversation registry → Chat persistence: loads conversations
src/invisible_playwright_mcp/sessions.py - Conversation → Agent loop: runs agent
src/invisible_playwright_mcp/chat.py - Conversation → MCP client link: drives browser tools
src/invisible_playwright_mcp/chat.py - Agent loop → MCP client link: requests tools
src/invisible_playwright_mcp/agent.py - MCP client link → MCP server: connects to server
src/invisible_playwright_mcp/link.py - CLI → MCP server: starts server
src/invisible_playwright_mcp/cli.py - MCP server → Browser work: dispatches browser work
src/invisible_playwright_mcp/mcp/server.py - MCP server → Browser actions: exposes operations
src/invisible_playwright_mcp/mcp/server.py - MCP server → Launch planning: uses launch plan
src/invisible_playwright_mcp/mcp/server.py - MCP server → Browser state store: uses state store
src/invisible_playwright_mcp/mcp/server.py - MCP server → Engine manager: starts engine fetch
src/invisible_playwright_mcp/mcp/server.py - Browser work → Browser identity: resolves identity
src/invisible_playwright_mcp/mcp/work.py - Browser work → Launch planning: resolves launch settings
src/invisible_playwright_mcp/mcp/work.py - Browser work → Browser state store: persists browser state
src/invisible_playwright_mcp/mcp/work.py - Browser work → Browser actions: runs operations
src/invisible_playwright_mcp/mcp/work.py - Browser work → Browser session: opens browser session
src/invisible_playwright_mcp/mcp/work.py - Browser work → Engine manager: checks readiness
src/invisible_playwright_mcp/mcp/work.py - Launch planning → Browser identity: uses identity
src/invisible_playwright_mcp/mcp/plan.py - Launch planning → Proxy settings: resolves proxy
src/invisible_playwright_mcp/mcp/plan.py - Browser actions → Browser session: operates on page
src/invisible_playwright_mcp/mcp/actions.py - Browser session → Stealth browser: launches stealth browser
src/invisible_playwright_mcp/mcp/session.py - Engine manager → Stealth browser: provides engine binary
src/invisible_playwright_mcp/engine.py - Stealth browser → Visited websites: browses pages
- Chat persistence → Session storage: reads and writes chats
src/invisible_playwright_mcp/chats.py - Browser state store → Session storage: reads and writes state
src/invisible_playwright_mcp/mcp/store.py - CLI → OpenRouter client: configures model client
src/invisible_playwright_mcp/cli.py - OpenRouter client → Environment config: resolves model setting
src/invisible_playwright_mcp/llm.py - Agent loop → Model provider: requests model responses
- OpenRouter client → Model provider: sends model requests
- Launch planning → Proxy settings: supports optional proxy
src/invisible_playwright_mcp/mcp/plan.py