Zen MCP server
io.github.sh6drack/zen-mcp·v1.2.1·20 starsMCP server for Zen Browser automation via WebDriver BiDi
20 stars75 downloads/wk
Reviews
Write oneNobody has reviewed Zen yet.
If you have run it, two minutes of your experience saves the next person an afternoon.
Zen tools (20, 2 write)
write = sends, deletes, buys or postsRead from the package source without running it. The installed server may list more.
zen_checkCheck/uncheck a checkbox or select a radio button
zen_clickClick an element by CSS selector
zen_close_tabClose a tab by index. Cannot close the last remaining tab.
zen_evaluatewrite actionExecute JavaScript in the page and return the result
zen_fillFill a text input or textarea with a value. Clears existing content first. Dispatches input/change events for framework compatibility.
zen_fill_formFill multiple form fields at once. Each field specifies selector, value, and action (fill/select/check/uncheck/click).
zen_get_form_fieldsList all form fields on the page with names, types, labels, current values, and CSS selectors
zen_get_page_textGet the page title, URL, and visible text content. Useful for quickly understanding what is on the page.
zen_list_pagesList all open pages/tabs in Zen browser with URLs and titles
zen_navigateNavigate the active page to a URL
zen_new_tabOpen a new tab, optionally navigating to a URL
zen_press_keywrite actionSend keyboard input to the active page using BiDi input.performActions. Supports special keys like Enter, Tab, Escape, Backspace, and key combinations with modifiers.
zen_reconnectForce disconnect and reconnect to Zen Browser. Use when the connection is in a bad state or after restarting Zen.
zen_screenshotTake a screenshot of the current page
zen_scrollScroll the page or scroll an element into view
zen_select_optionSelect an option in a <select> dropdown by value or text
zen_select_pageSelect a page/tab by index (from zen_list_pages) as the active target
zen_snapshotGet a structured snapshot of visible page elements with CSS selectors. Filter: "all", "interactive", or "form".
zen_waitWait for a specified number of milliseconds
zen_wait_forWait for text to appear on the page, or for a CSS selector to match an element. Returns when found or after timeout.
Public scan report
scanner v0.1.10 · 2026-09-28 · same rubric, same numbers if you re-run it
- Code scan3 source files scanned25/25
- –Live reliabilityno gateway calls yet and no remote to proben/a
- –Tool poisoningtools not inspected (local package is not executed); not countedn/a
- Auth qualitylocal package, no credentials required12/15
- Maintenancelast push 135 days ago8/15
- Maintainer identityregistry namespace matches repository owner; GitHub account older than a year8/10
How Zen compares
Against every graded Scraping and browsing MCP server, from our own scans and uptime checks. Updated after each scan run.
- Safety score
- 82/100
- higher than 58% of 866 Scraping and browsing servers
- Tools
- 20
- the typical Scraping and browsing server has 6
- Tools that change things
- 10%
- typical: 0%. Fewer write tools means less an agent can break
- GitHub stars
- 20
- more than 85% of 583 Scraping and browsing servers
- Downloads a week
- 75
- more than 49% of 309 Scraping and browsing servers with a package
What its tools let an agent do: 18 read · 2 change
Install Zen in Claude Code, Cursor or VS Code
Runs npx -y zen-mcp on your machine. Read the scan report first; the gateway never runs local packages.
claude mcp add zen-mcp -- npx -y zen-mcp
What the publisher says
From the Zen repository's README, as published. We do not edit it. Read it on GitHub
zen-mcp
The first MCP server for Zen Browser. Automate Zen from Claude Code, Cursor, or any MCP client.
No Selenium. No Playwright. No browser drivers. Just WebSocket.
Setup (2 minutes)
1. Start Zen with remote debugging
/Applications/Zen.app/Contents/MacOS/zen --remote-debugging-port 9222Pro tip: Add alias zen='open /Applications/Zen.app --args --remote-debugging-port 9222' to your shell config. Then just run zen.
2. Add to Claude Code
# Option A: npm (recommended)
npm install -g zen-mcp
# Option B: Clone
git clone https://github.com/sh6drack/zen-mcp.git && cd zen-mcp && npm installAdd to ~/.claude/mcp_servers.json:
{
"mcpServers": {
"zen-browser": {
"command": "zen-mcp"
}
}
}If you cloned instead of npm install, use "command": "node", "args": ["/absolute/path/to/zen-mcp/server.mjs"]
Add to ~/.claude/settings.json:
{
"permissions": {
"allow": ["mcp__zen-browser__*"]
}
}That's it. Start a new Claude Code session and the zen_* tools are available.
20 Tools
Browse
See
Interact
Utility
How It Works
Claude Code ──stdio/MCP──> zen-mcp ──WebSocket/BiDi──> Zen Browserzen-mcp speaks WebDriver BiDi (W3C standard) directly over WebSocket. Form filling uses native value setters with input/change event dispatch so React, Vue, and Angular apps work correctly.
What Works Well
- Navigation, clicking, form filling — rock solid, handles React/Vue/Angular
- Screenshots and page reads — reliable content extraction
- Tab management — open, close, switch between tabs
- JavaScript evaluation — run any code in the page context
- Keyboard input — shortcuts, Enter, Tab, modifier combos
Known Limitations
- Zen inherits Firefox's WebDriver BiDi implementation, which is still maturing. Some advanced BiDi commands that work in Chrome may not be available yet.
- Zombie sessions can only be cleared by restarting Zen (BiDi session.end is connection-scoped). zen-mcp detects this and tells you what to do.
- No file upload or drag-and-drop support (BiDi spec limitation).
Built-in Reliability
- Auto-reconnect with exponential backoff if WebSocket drops
- Zombie session recovery when a previous client crashed
- Connection retry (3 attempts with backoff)
- Clean shutdown on SIGINT/SIGTERM to prevent orphaned sessions
Troubleshooting
Config
Shortened. The full README is on GitHub.
Nothing above is checked by us. What we check is on the safety report.
Zen: common questions
- Is Zen MCP server safe?
- Mostly: it is graded B (82/100). Read the Zen safety report
- How do I install Zen?
- It runs on your machine. Copy the Claude Code, Cursor, VS Code or Claude Desktop config from the install section.
- Does Zen need an API key?
- No secret keys are declared. It reads 1 setting from the environment.
- Is Zen maintained?
- The last commit was 172 days ago (2026-05-16). The latest release is v1.2.1.
- What can I use instead of Zen?
- Servers from other publishers that do the same job: GrowBlocks Dev Kit MCP server, SeleniumBase MCP server and Next AI Draw.io MCP server.
- How does Zen compare with other Scraping and browsing MCP servers?
- safety score 82/100 (higher than 58% of 866 Scraping and browsing servers); tools 20 (the typical Scraping and browsing server has 6); tools that change things 10% (typical: 0%. Fewer write tools means less an agent can break). Full comparison.
Alternatives to Zen
Same job from other publishers: the closest match first, then the best rated.
- GrowBlocks Dev KitBuild, play-test with screenshots, and ship three.js browser games on GrowBlocks.5.0(1)NewA
- SeleniumBase MCPStealthy browser automation, testing, and web-scraping via CDP Mode.not reviewedWidely usedA
- Next AI Draw.iodraw.io diagrams your AI agent draws on a live browser canvas that you can also edit by handnot reviewedWidely usedA
- AIHawkAI browser agent: browses, clicks, types, and reads real web pages from plain-English instructions.not reviewedWidely usedA
- BrowserMCP server for browser use accessnot reviewedWidely usedB