Wavexis Mcp logoHealth: ActiveRecent health check succeeded.Last checked 8/7/2026, 3:36:15 PM

Wavexis McpBrowser Automation

MathiasPaulenko
View Repository1

Python MCP server offering 220 browser automation tools for Chrome, Edge, and Firefox via CDP and BiDi without Node.js or Chromium download.

Overview

This MCP server exposes the wavexis browser automation library to LLMs, providing 220 tools across 13 capability tiers for controlling Chrome, Edge, and Firefox browsers. It uses your existing browser installations, avoiding the need for Node.js or separate Chromium downloads. Features include stealth mode, structured errors with LLM-actionable suggestions, multi-action YAML batching, and raw CDP/BiDi access. Use it to automate complex browser interactions, audits, and niche features like WebAuthn and Bluetooth from any MCP-compatible LLM client.

Use cases

โ€ขTake screenshots and full-page captures
โ€ขPerform multi-step browser actions in a single call
โ€ขRun Lighthouse audits and WebAuthn flows
โ€ขAccess raw Chrome DevTools Protocol or BiDi commands
โ€ขAutomate browser interactions with stealth and error handling

Key features

โ€ข220 browser automation tools in 13 capability tiers
โ€ขSupports Chrome, Edge (CDP), and Firefox (BiDi)
โ€ขNo Node.js or Chromium download required
โ€ขStealth mode to mask automation detection
โ€ขStructured errors with suggestions for LLM self-correction
โ€ขMulti-action YAML batching and raw protocol access

Quick Install

Automated & IDE Setup

Copy the AI prompt to automatically install this server into your coding agent (Claude Code, Cursor, etc.), or use 1-click editor setup below.

Add to CursorAdd to VS Code
Manual Client & Custom JSON ConfigExpand JSON โ–พ

Install Config Generator

claude_desktop_config.json
{
  "mcpServers": {
    "mathiaspaulenko-wavexis-mcp": {
      "command": "uvx",
      "args": [
        "wavexis-mcp"
      ]
    }
  }
}

๐Ÿ’ก Paste into ~/Library/Application Support/Claude/claude_desktop_config.json (macOS) or %APPDATA%\Claude\claude_desktop_config.json (Windows)

Capabilities & Tool Schemas

Inspect callable tools, capabilities, and parameters exposed to AI agents by Wavexis Mcp.

Extracted Tool Capabilities
220 browser automation tools in 13 capability tiers
Supports Chrome, Edge (CDP), and Firefox (BiDi)
No Node.js or Chromium download required
Stealth mode to mask automation detection
Structured errors with suggestions for LLM self-correction
Multi-action YAML batching and raw protocol access

Documentation Overview

WaveXisMCP

MCP server โ€” 220 browser automation tools for LLMs

Chrome + Firefox ยท CDP + BiDi ยท 100% Python ยท zero Node.js ยท zero Chromium download


CI PyPI PyPI Downloads Python Coverage Docker License Docs smithery badge

MCP server that exposes the wavexis browser automation library to LLMs. 220 tools across 13 capability tiers. No Node.js, no Chromium download โ€” uses your existing Chrome/Edge. 100% Python.

Quick demo

30 seconds to your first screenshot. Add this to your MCP client config (Claude Desktop, Cursor, Windsurf, VS Code):

config.json
{
  "mcpServers": {
    "wavexis": {
      "command": "uvx",
      "args": ["wavexis-mcp", "--caps", "all"]
    }
  }
}

Then ask your LLM:

"Take a full-page screenshot of https://example.com"

The LLM calls wavexis_screenshot(url="https://example.com", full_page=true) and returns the screenshot. No Node.js, no Chromium download, no setup beyond the config above.

Why WaveXisMCP?

WaveXisMCP wraps the wavexis browser automation library and exposes it as an MCP server. You don't need Node.js, Playwright, or a separate Chromium download โ€” WaveXisMCP launches your existing Chrome or Edge installation directly.

Key features

  • 220 tools โ€” 3x more than Playwright MCP (21), 2x more than zendriver-mcp (96)
  • 13 capability tiers โ€” enable only what you need via --caps. Start with core (72 tools), add tiers as needed
  • Chrome + Firefox โ€” CDP for Chrome/Edge, BiDi for Firefox. Both auto-launch their drivers from PATH
  • No Chromium download โ€” uses your existing browser. ~5MB install vs ~400MB for Playwright MCP
  • Stealth mode โ€” stealth=true hides navigator.webdriver, fakes plugins/languages/chrome runtime
  • Structured errors โ€” every error includes a suggestion field so the LLM self-corrects without human help
  • Multi-action YAML โ€” chain navigate โ†’ click โ†’ fill โ†’ screenshot in a single tool call
  • Raw CDP/BiDi access โ€” escape hatch for any browser feature not covered by a dedicated tool
  • Lighthouse audits, WebAuthn, Bluetooth, Cast โ€” niche features no other MCP server covers
  • SSRF protection, path sandboxing, rate limiting โ€” security built in from day one
  • 593 tests, 90% coverage enforced, E2E with real Chrome โ€” production-ready

How it works

text
You (natural language)
  โ†’ LLM decides which tool to call
    โ†’ WaveXisMCP receives the tool call
      โ†’ wavexis library executes it via CDP or BiDi
        โ†’ Chrome/Edge/Firefox performs the action
      โ† Result returned as JSON (text, base64, file path)
    โ† JSON passed back to LLM
  โ† LLM summarizes the result for you

The LLM never sees the browser directly. It only sees tool definitions (name, description, parameters) and JSON responses. This means any MCP-compatible LLM client works out of the box โ€” no custom integrations needed.

Core concepts

  • Tool โ€” A single browser operation (screenshot, eval, click, etc.) exposed as an MCP tool that any LLM client can call.
  • Session โ€” A persistent browser instance. Open a session, chain multiple tool calls, close when done. Avoids the overhead of launching a browser per action.
  • Stateless mode โ€” Call any tool with a url parameter. The browser launches, executes, and closes automatically.
  • Capability tiers โ€” 13 tiers from core (72 tools) to all (220 tools). Enable only what you need via --caps.
  • Dual backend โ€” CDP (Chromium-native, via cdpwave) and BiDi (W3C cross-browser, via bidiwave) with per-session selection.
  • Structured errors โ€” Every error includes a suggestion field that tells the LLM what to do next, enabling self-correction without human intervention.

Install

Terminal
pip install wavexis-mcp

With CDP backend (Chromium):

Terminal
pip install "wavexis-mcp[cdp]"

Or run without installing (recommended):

bash
uvx wavexis-mcp

Requirements

  • Python: 3.11, 3.12, or 3.13
  • Browser: Google Chrome, Microsoft Edge, or any Chromium/Chrome-based browser
  • BiDi backend (optional): ChromeDriver/EdgeDriver for Chrome, or geckodriver for Firefox

Quick start

Add to your MCP client config (Claude Desktop, Cursor, Windsurf, VS Code):

config.json
{
  "mcpServers": {
    "wavexis": {
      "command": "uvx",
      "args": ["wavexis-mcp", "--caps", "all"]
    }
  }
}

Or with pip:

config.json
{
  "mcpServers": {
    "wavexis": {
      "command": "wavexis-mcp",
      "args": ["--caps", "all"]
    }
  }
}

Stateless mode (one-shot)

Call any tool with a url parameter โ€” the browser launches, executes, and closes automatically:

text
wavexis_screenshot(url="https://example.com", full_page=true)

Session mode (multi-step)

Open a session, chain multiple actions, close when done:

text
wavexis_session_open(backend="cdp", headless=false)
โ†’ {"session_id": "abc-123"}

wavexis_navigate(session_id="abc-123", url="https://example.com")
wavexis_click(session_id="abc-123", selector="#login")
wavexis_screenshot(session_id="abc-123")
wavexis_session_close(session_id="abc-123")

Natural language interaction (M1)

Use wavexis_act to interact with pages using natural language:

text
wavexis_session_open(backend="cdp")
wavexis_navigate(session_id="abc-123", url="https://example.com")
wavexis_act(session_id="abc-123", instruction="click the login button")
โ†’ {"action": "click", "element": {"ref": "el-3", "role": "button", "name": "Login"}, "status": "ok"}

The wavexis_act tool takes an a11y snapshot, matches the instruction to an element using keyword scoring, and executes the detected action (click, type, fill, hover). No external LLM calls โ€” pure heuristic matching.

Capability tiers

TierFlagToolsKey features
Corealways on72Session, navigation, screenshot, PDF, scrape, eval, DOM, input, cookies, tabs, NL interaction, iframe, shadow DOM, events
Network--caps=network20Headers, UA, block, throttle, cache, HAR, intercept, mock, modify req/resp, request body, replay HAR, request list
Storage--caps=storage18localStorage, sessionStorage, cache storage, IndexedDB, state save/restore
Emulation--caps=emulation9Device, viewport, geolocation, timezone, dark mode, locale, CPU, touch, sensors
A11y--caps=a11y4Accessibility tree snapshot, node traversal, axe-core audit
Interactions--caps=interactions5Dialogs, downloads, permissions
DevTools--caps=devtools31Performance, CSS, debugging, overlay, console, security, window mgmt, combined trace, annotated screenshot
Vision--caps=vision7Coordinate-based mouse (pixel-precise)
Video--caps=video4Video recording, chapters, action overlay
Testing--caps=testing6Assertions, locator generation
Workflows--caps=workflows6Multi-action YAML, raw CDP/BiDi, browser context CRUD
Data--caps=data7Codegen, Lighthouse audit, extract, websocket intercept, crawl, visual diff, core web vitals
Experimental--caps=experimental31Service workers, animations, WebAuthn, WebAudio, media, cast, bluetooth, extensions, prefs
Total--caps=all220

Default: --caps=core (72 tools). Enable all: --caps=all. Enable specific: --caps=network,storage,emulation.

Tip: Start with --caps core and add tiers as needed. Each tier adds tool definitions to the LLM's context, which consumes tokens. For most tasks, core,network,storage (110 tools) is a good balance.

Backends

WaveXisMCP supports two backends with full feature parity:

  • CDP (cdpwave) โ€” default, Chrome DevTools Protocol. Direct WebSocket to Chrome/Edge. No driver needed. 57 CDP domains. pip install "wavexis-mcp[cdp]"
  • BiDi (bidiwave) โ€” WebDriver BiDi protocol, W3C cross-browser (Firefox, Chrome). Needs chromedriver (Chrome) or geckodriver (Firefox); both are auto-launched from PATH if not already running. pip install "wavexis-mcp[bidi]"

Select per session:

text
# CDP (default, Chrome/Edge only)
wavexis_session_open(backend="cdp")

# BiDi with Chrome (auto-launches chromedriver)
wavexis_session_open(backend="bidi", browser="chrome")

# BiDi with Firefox (auto-launches geckodriver)
wavexis_session_open(backend="bidi", browser="firefox")

Connect to existing Chrome

Use connect_existing=True to launch Chrome with --remote-debugging-port and connect to it. Useful for reusing a browser profile with logged-in sessions:

text
# Launch Chrome with debug port and connect via CDP
wavexis_session_open(connect_existing=true)

# Reuse an existing Chrome profile (keeps logins, cookies, extensions)
wavexis_session_open(connect_existing=true, user_data_dir="C:/Users/me/ChromeProfile")

Chrome is launched headed (headless is ignored). The browser subprocess is terminated when the session is closed.

Multi-action YAML

Chain multiple actions in a single tool call by passing a YAML string:

text
wavexis_multi_action(
    config="""
actions:
  - navigate: https://example.com
  - screenshot:
      full_page: true
  - eval: document.title
  - click: "#login"
  - type:
      selector: "#username"
      text: admin@example.com
  - screenshot: {}
""",
    session_id="abc-123"
)

Supported action types: navigate, screenshot, eval, click, type, fill. Set continue_on_error: true to keep executing on failures.

MCP resources & prompts (M3)

Resources (read-only browser state):

  • wavexis://session/{id}/url โ€” current page URL
  • wavexis://session/{id}/cookies โ€” cookies as JSON
  • wavexis://session/{id}/console โ€” console messages
  • wavexis://session/{id}/tabs โ€” open tabs

Prompts (workflow templates):

  • scrape_page(url, selector) โ€” scrape and extract content
  • audit_page(url) โ€” full a11y + performance audit
  • fill_form(url, fields) โ€” fill a form on a page
  • debug_page(url) โ€” debug console, network, performance

HTTP transport

Run WaveXisMCP as an HTTP server for CI/CD, shared instances, or Docker:

bash
# HTTP on localhost
wavexis-mcp --transport http --port 8765

# HTTP with all tiers
wavexis-mcp --transport http --port 8765 --caps all

# HTTP with remote access (use behind a reverse proxy!)
wavexis-mcp --transport http --allow-remote --port 8765

Binds to 127.0.0.1 by default. Use --allow-remote for 0.0.0.0.

Rate limiting (M4)

Per-session token bucket rate limiting:

bash
# 10 calls/sec, burst of 5
wavexis-mcp --rate-limit 10 --rate-burst 5

When exceeded, returns {"error": "rate_limited", "retry_after_ms": N}.

Docker

bash
# Pull and run
docker run -p 8765:8765 ghcr.io/mathiaspaulenko/wavexis-mcp

# Or build locally
docker build -t wavexis-mcp .
docker run -p 8765:8765 wavexis-mcp

# Docker Compose
docker-compose up

See Docker docs for details.

Comparison

FeaturePlaywright MCPWaveXisMCP
LanguageTypeScriptPython
Node.js requiredโœ—โœ“ (no Node.js)
Downloads Chromium (~200MB)โœ“โœ— (uses existing browser)
Install size~400MB~5MB
Cold start3.2s0.8s
Total tools~21220
Capability tiers (opt-in)โœ—โœ“ (13 tiers)
Dual protocol (CDP + BiDi)โœ—โœ“
Firefox supportโœ“ (basic)โœ“ (BiDi + geckodriver auto-launch)
Backend selection (per session)โœ—โœ“
Stealth / anti-bot modeโœ—โœ“
Raw CDP/BiDi accessโœ—โœ“ (escape hatch)
Multi-action YAML batchingโœ—โœ“
Video recordingโœ—โœ“
Lighthouse auditโœ—โœ“
WebAuthn / Bluetooth / Castโœ—โœ“
Natural language interactionโœ—โœ“ (wavexis_act)
MCP resources & promptsโœ—โœ“
Rate limitingโœ—โœ“
SSRF protectionโœ—โœ“
Structured errors with suggestionsโœ—โœ“

Note: Playwright MCP supports WebKit (Safari) โ€” WaveXisMCP does not (yet). See the roadmap for planned features.

Documentation

Full documentation, API reference, and examples are hosted at mathiaspaulenko.github.io/wavexis-mcp.

Key sections:

Error handling

All tools return structured error JSON on failure. Every error includes a suggestion field that guides the LLM toward the next action:

config.json
{
  "error": "Session 'abc-123' not found.",
  "tool": "wavexis_navigate",
  "type": "SessionNotFoundError",
  "message": "Session 'abc-123' not found.",
  "suggestion": "Call wavexis_session_open first to create a browser session."
}

This enables the LLM to self-correct without human intervention โ€” it reads the suggestion and calls the recommended tool.

Architecture

WaveXisMCP sits at the top of a three-layer ecosystem:

text
WaveXisMCP (MCP server, 220 tools)
โ””โ”€ wraps โ†’ wavexis (browser automation library)
               โ”œโ”€ cdpwave (CDP backend, Chromium-native)
               โ””โ”€ bidiwave (BiDi backend, W3C cross-browser)
  • cdpwave โ€” low-level async Python library for the Chrome DevTools Protocol. Direct WebSocket to Chrome/Edge. No driver binary needed.
  • bidiwave โ€” low-level async Python library for the WebDriver BiDi protocol (W3C standard). Works with Firefox, Chrome, and Edge.
  • wavexis โ€” high-level browser automation library that abstracts cdpwave and bidiwave behind a unified AbstractBackend interface.
  • WaveXisMCP โ€” MCP server wrapping wavexis. Exposes each backend method as an MCP tool with Pydantic v2 input validation, JSON responses, and capability tier filtering.

See Architecture docs for the full system design, data flow diagrams, and ADRs.

Development

bash
git clone https://github.com/MathiasPaulenko/wavexis-mcp.git
cd wavexis-mcp
pip install -e ".[dev]"

# Run quality checks
ruff check wavexis_mcp tests
ruff format --check
mypy wavexis_mcp
python -m bandit -r wavexis_mcp

# Run tests
pytest tests/unit -v

Contributing

Contributions are welcome. Please see CONTRIBUTING.md for the development workflow, coding standards, and pull request process. For security issues, see SECURITY.md.

Acknowledgements

WaveXisMCP is built on the wavexis browser automation library and the Model Context Protocol. Thanks to the open-source Python and MCP communities for the tools and standards that make this project possible.

License

MIT

mcp-name: io.github.MathiasPaulenko/wavexis-mcp

Related MCP Servers

View all alternatives

Frequently Asked Questions about Wavexis Mcp

What is the Wavexis Mcp MCP server used for?

MCP server exposing 220 browser automation tools across 13 capability tiers. Chrome + Firefox via CDP + BiDi. No Node.js, no Chromium download โ€” uses your existing browser. Stealth mode, Lighthouse audits, multi-action YAML batching, raw CDP/BiDi access, structured errors with LLM-actionable suggestions.

How do I install Wavexis Mcp in Claude Desktop or Cursor?

Copy the client configuration JSON snippet from the installation section above into your claude_desktop_config.json or .cursor/mcp.json file, then restart your AI application.

Is the Wavexis Mcp MCP server free and safe to use?

Yes, Wavexis Mcp is listed as a free Model Context Protocol server. Always review repository source code and permissions before granting local workspace access to AI agents.

Technical Specs & Signals

TransportSTDIO
RuntimePython
Health CheckActive
Views0
Installs0
GitHub stars1
43Quality signal: Fair ยท 43/100How this signal is calculated โ–พ
Server availabilityNot measured

Not scored for repo-hosted servers โ€” we can't reach the running server, only its GitHub page. Hosted MCP endpoints are health-checked live.

Verified ownership8/20
Documentation & tools23/30
Adoption1/15
Community engagement0/10

A guidance signal from public completeness & health data โ€” not a user rating. New listings start lower and rise as they add docs, get verified, and grow adoption. Signals we can't observe for a listing are skipped, not counted against it.

โ˜… FeaturedMoxie Docs MCP logo

Moxie Docs MCP

MCP & Agent Skills for Automated Documentation, and codebase conventions + context

Explore Server โ†’

Own this project?

This directory is pre-filled from public sources. Claim via GitHub README, site badge, or DNS TXT to get the verified badge and attach your website.

Free dofollow backlink: after claiming, verify your product site and place a dofollow AllMCPs badge โ€” we recheck it stays live.

Claim & get free dofollow

Promote this listing

Optional paid placement. Free listings stay free forever.

Featured boost7 days in the spotlight ยท from $12/wk
Weeks
1

โ†’ Runs until Aug 14, 2026

Category sponsorTop-of-category sponsorship ยท from $18/wk
Weeks
1

โ†’ Runs until Aug 14, 2026

Cancel anytime โ€” no long-term lock-in.

Share & Embed

Add our SVG badge (dark/light directory styles) or embeddable widget to your site.