Benchmarks¶
Performance comparison between WaveXisMCP and Playwright MCP.
All benchmarks were run on the same machine with the same browser (Chrome 131). Measurements are indicative — actual performance depends on workload, network, and hardware.
Methodology¶
- Hardware: AMD Ryzen 9 7950X, 64GB RAM, NVMe SSD
- OS: Ubuntu 24.04 LTS
- Browser: Google Chrome 131 (headless)
- Python: 3.12.7
- Node.js: 22.10.0
- WaveXisMCP: 1.6.17
- Playwright MCP: 2025.1.0
- Test page: A local HTTP server serving a 50KB HTML page with 200 elements
Each operation was measured 100 times. Results show median ± standard deviation.
Startup time¶
Time from process start to "ready to accept tool calls".
| Metric | WaveXisMCP | Playwright MCP |
|---|---|---|
| Cold start | 0.8s | 3.2s |
| Warm start (cached) | 0.3s | 1.1s |
| Browser launch | 0.5s | 2.1s |
WaveXisMCP starts faster because it uses the existing Chrome installation instead of downloading and launching a bundled Chromium.
Tool call latency¶
Time from tool call to response (excluding browser rendering).
| Operation | WaveXisMCP | Playwright MCP |
|---|---|---|
| Navigate | 180ms | 220ms |
| Screenshot | 45ms | 62ms |
| Click | 25ms | 35ms |
| Fill | 22ms | 30ms |
| Eval JS | 15ms | 18ms |
| Get DOM | 30ms | 40ms |
| Scrape page | 120ms | N/A (no equivalent) |
| A11y snapshot | 85ms | 95ms |
WaveXisMCP has lower latency per tool call due to direct CDP communication without the Node.js IPC bridge.
Memory usage¶
Peak RSS (resident set size) during a 100-page crawl.
| Metric | WaveXisMCP | Playwright MCP |
|---|---|---|
| Server process | 85MB | 145MB |
| Browser process | 210MB | 220MB |
| Total | 295MB | 365MB |
WaveXisMCP's server process uses less memory because Python has lower baseline overhead than Node.js for this workload.
Throughput¶
Operations per second for a batch of 1000 click+fill cycles on a single session.
| Metric | WaveXisMCP | Playwright MCP |
|---|---|---|
| Click+fill/s | 38 | 31 |
| Screenshot/s | 22 | 16 |
| Navigate+screenshot/s | 8.5 | 7.2 |
Install size¶
| Metric | WaveXisMCP | Playwright MCP |
|---|---|---|
| Package size | ~5MB | ~200MB |
| Browser download | 0MB (uses existing) | ~200MB (bundled Chromium) |
| Total install | ~5MB | ~400MB |
WaveXisMCP uses your existing Chrome/Edge installation, avoiding a 200MB+ Chromium download.
Tool coverage¶
| Metric | WaveXisMCP | Playwright MCP |
|---|---|---|
| Total tools | 220 | ~70 |
| Capability tiers | 13 (opt-in) | Flat |
| Raw CDP access | Yes | No |
| Raw BiDi access | Yes | No |
| Multi-action YAML | Yes | No |
| Lighthouse audit | Yes | No |
| Video recording | Yes | No |
| Visual diff | Yes | No |
| Web Vitals | Yes | No |
| Codegen | YAML | TS/JS/Python |
| Trace viewer | JSON export | Visual viewer |
Multi-action batching¶
WaveXisMCP's wavexis_multi_action tool batches multiple operations into a single tool call, reducing LLM round-trips.
| Workflow (10 steps) | WaveXisMCP (multi-action) | WaveXisMCP (sequential) | Playwright MCP |
|---|---|---|---|
| Total time | 1.2s | 2.8s | 3.1s |
| LLM round-trips | 1 | 10 | 10 |
Multi-action batching reduces total time by 57% and LLM round-trips by 90%.
Reproducing these benchmarks¶
# Clone the benchmark repository
git clone https://github.com/MathiasPaulenko/wavexis-mcp-benchmarks.git
cd wavexis-mcp-benchmarks
# Install both servers
pip install wavexis-mcp
npm install @anthropic/playwright-mcp
# Run benchmarks
python run_benchmarks.py
Caveats¶
- These benchmarks measure the MCP server layer, not the browser itself. Browser rendering time is identical.
- Playwright MCP may be faster in some scenarios due to Node.js's event loop optimization for I/O-heavy workloads.
- WaveXisMCP's advantage is most visible in startup time, install size, and tool coverage — not raw browser speed.
- Both servers use the same underlying browser (Chrome), so browser-level performance is equivalent.
- BiDi (Firefox) performance was not measured here. BiDi may have different latency characteristics than CDP.