Zen MCP logo

Zen MCP

by sh6drack

Automates Zen Browser through WebDriver BiDi with 20 tools for tabs, navigation, forms, screenshots, and JavaScript.

Install Zen MCP

Run the project’s own setup commands, in order.

Setup steps from the project

sh6drack/zen-mcp installs with its own commands rather than a config we can generate, so these are copied as-is. Run them in order in a terminal. Source: github.com

  1. 1. Install
    npm install -g zen-mcp
    
  2. 2. Install
    git clone https://github.com/sh6drack/zen-mcp.git && cd zen-mcp && npm install
    

Overview

The sh6drack/zen-mcp MCP server connects MCP clients to Zen Browser through a WebSocket using WebDriver BiDi. It provides 20 tools for navigation, tab management, page inspection, form interaction, screenshots, keyboard input, waits, and JavaScript evaluation. Use it for browser automation with Zen when Selenium, Playwright, and browser drivers are not desired. Zen must be started with remote debugging enabled, and the server requires Node.js 20+.

Use cases

  • Navigate websites and manage multiple Zen tabs
  • Fill React, Vue, and Angular web forms
  • Inspect page content and capture screenshots
  • Run JavaScript in the current page
  • Test browser workflows from an MCP client

Key features

  • 20 Zen Browser automation tools
  • WebDriver BiDi over WebSocket
  • Navigation and tab management
  • Form filling and element interaction
  • Screenshots, snapshots, and page text extraction
  • Automatic reconnect and session recovery

Security & health

What it can reach and how reliably it runs — from our own checks, not the maintainer’s claims.

ActiveLast checked 1d ago

Recent health check succeeded.

9/10 checks healthy over the last 91d

Adoption & maintenance

Factual signals from GitHub, npm, and our automated checks — not a rating.

GitHub stars28Stargazers on the source repository.
Last commit5mo agoMost recent push to the default branch.
Directory activity2 viewsConfig copies, upvotes, and views on AllMCPs.

How Zen MCP works

What sh6drack/zen-mcp MCP server does

The sh6drack/zen-mcp MCP server exposes Zen Browser automation through MCP. It is designed for clients such as Claude Code and Cursor, while also working with other MCP clients that can launch a stdio server. The server gives an agent control over browser tabs, pages, forms, and page-level JavaScript.

Its 20 tools cover four areas:

  • Browsing: navigate to URLs, list open tabs, select a tab, create tabs, and close tabs.
  • Page inspection: capture screenshots, read page titles, URLs, and text, inspect page structure, and list form fields.
  • Interaction: click elements, fill inputs, choose dropdown values, toggle checkboxes or radio buttons, send keyboard input, fill several fields, and scroll.
  • Utilities: evaluate JavaScript, wait for a duration, wait for text or an element, and reconnect to Zen.

This fits the Browser Automation category for agents that need to operate an existing Zen Browser instance, extract visible page content, or interact with web forms.

How it works

The MCP client communicates with zen-mcp over stdio. The server then connects to Zen Browser over WebSocket and uses the WebDriver BiDi protocol. Zen must be launched with its remote debugging port enabled, using port 9222 by default.

Form filling uses browser-native value updates and dispatches input and change events. This is intended to support applications built with React, Vue, and Angular. Page snapshots can be filtered to all content, interactive elements, or form elements, which helps an agent identify usable selectors before acting.

The server includes connection retries, exponential-backoff reconnects, recovery checks for abandoned sessions, and shutdown handling for SIGINT and SIGTERM. The zen_reconnect tool can request a fresh connection when the browser connection becomes unreliable.

Setup and configuration

Install the package globally with npm, or clone the repository and install its dependencies. A global installation exposes the zen-mcp command. A cloned installation can launch the server with Node.js and the path to server.mjs.

Start Zen with --remote-debugging-port 9222, then register the command in the MCP client's configuration. Start a new client session after adding the server so the zen_* tools become available.

ZEN_DEBUG_PORT controls the remote debugging port and defaults to 9222. Requirements are Zen Browser and Node.js 20 or newer.

Limitations and notes

The sh6drack/zen-mcp MCP server depends on Firefox's WebDriver BiDi implementation in Zen. Advanced BiDi commands available in Chrome may not yet be available in Zen. File uploads and drag-and-drop are not supported because of limitations in the BiDi specification.

If Zen cannot be reached, start it with the remote debugging flag. A maximum-active-sessions error may require restarting Zen because abandoned BiDi sessions cannot be cleared independently of their connection. Repeated connection failures can be addressed with zen_reconnect.

The project is released under the MIT license.

Reviews

No reviews yet — be the first to share how it worked for you.

Frequently Asked Questions about Zen MCP

sh6drack/zen-mcp is an MCP server that connects MCP clients to Zen Browser through WebSocket-based WebDriver BiDi. Its main tools support navigation, tab management, page snapshots, screenshots, text extraction, form filling, clicks, keyboard input, scrolling, waits, reconnection, and JavaScript evaluation.

Install it globally with npm using `npm install -g zen-mcp`, or clone the repository and run `npm install`. Then configure the MCP client to launch the `zen-mcp` command, or use Node.js with the path to `server.mjs` for a cloned installation.

Start Zen Browser with `--remote-debugging-port 9222` before launching the MCP server. The server connects to that debugging endpoint over WebSocket, and `ZEN_DEBUG_PORT` can change the port from its default of `9222`.

Yes, the README names Cursor as a supported MCP client. Configure Cursor to launch the installed `zen-mcp` command, ensure Zen is running with remote debugging enabled, and then use the exposed `zen_*` tools.

No, file uploads and drag-and-drop are not supported. The README identifies this as a limitation of the WebDriver BiDi specification used by the server.

Related MCP servers

Add a badge to your READMEShow it’s listed — live SVG, Markdown or HTML.

AllMCPs Directory Badge

Full Badge Customizer

Showcase your server listing on GitHub or your project documentation. Embed this dynamic SVG badge to highlight official listing status and live engagement.

Badge Style:
Live Dynamic SVG PreviewZen MCP AllMCPs Directory Badge
Markdown (GitHub README)
[![AllMCPs](https://allmcps.com/api/badge/sh6drack-zen-mcp?style=directory)](https://allmcps.com/mcp/sh6drack-zen-mcp)
HTML Embed
<a href="https://allmcps.com/mcp/sh6drack-zen-mcp"><img src="https://allmcps.com/api/badge/sh6drack-zen-mcp?style=directory" alt="Zen MCP on AllMCPs" /></a>