Skip to content

playwright MCP (73% less tokens). Quick setup: npx playwright-slim --setup

License

Notifications You must be signed in to change notification settings

mcpslim/playwright-slim

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

21 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

playwright-slim

Playwright MCP server optimized for AI assistants — Reduce context window tokens by 73.8% while keeping full functionality. Compatible with Claude, ChatGPT, Gemini, Cursor, and all MCP clients.

npm version Test Status MCP Compatible

What is playwright-slim?

A token-optimized version of the Playwright Model Context Protocol (MCP) server.

The Problem

MCP tool schemas consume significant context window tokens. When AI assistants like Claude or ChatGPT load MCP tools, each tool definition takes up valuable context space.

The original @playwright/mcp loads 22 tools consuming approximately ~15,462 tokens — that's space you could use for actual conversation.

The Solution

playwright-slim intelligently groups 22 tools into 6 semantic operations, reducing token usage by 73.8% — with zero functionality loss.

Your AI assistant sees fewer, smarter tools. Every original capability remains available.

Performance

Metric Original Slim Reduction
Tools 22 6 -73%
Schema Tokens 2,922 638 78.2%
Claude Code (est.) ~15,462 ~4,058 ~73.8%

Benchmark Info

  • Original: @playwright/mcp@0.0.54
  • Schema tokens measured with tiktoken (cl100k_base)
  • Claude Code estimate includes ~570 tokens/tool overhead

Quick Start

One-Command Setup (Recommended)

# Claude Desktop - auto-configure
npx playwright-slim --setup claude

# Cursor - auto-configure
npx playwright-slim --setup cursor

# Interactive mode (choose your client)
npx playwright-slim --setup

Done! Restart your app to use playwright.

CLI Tools (already have CLI?)

# Claude Code (creates .mcp.json in project root)
claude mcp add playwright -s project -- npx -y playwright-slim@latest

# Windows: use cmd /c wrapper
claude mcp add playwright -s project -- cmd /c npx -y playwright-slim@latest

# VS Code (Copilot, Cline, Roo Code)
code --add-mcp '{"name":"playwright","command":"npx","args":["-y","playwright-slim@latest"]}'

Manual Setup

Click to expand manual configuration options

Claude Desktop

Add to your claude_desktop_config.json:

OS Path
Windows %APPDATA%\Claude\claude_desktop_config.json
macOS ~/Library/Application Support/Claude/claude_desktop_config.json
{
  "mcpServers": {
    "playwright": {
      "command": "npx",
      "args": ["-y", "playwright-slim@latest"]
    }
  }
}

Cursor

Add to .cursor/mcp.json (global) or <project>/.cursor/mcp.json (project):

{
  "mcpServers": {
    "playwright": {
      "command": "npx",
      "args": ["-y", "playwright-slim@latest"]
    }
  }
}

How It Works

MCPSlim acts as a transparent bridge between AI models and the original MCP server:

┌─────────────────────────────────────────────────────────────────┐
│  Without MCPSlim                                                │
│                                                                 │
│  [AI Model] ──── reads 22 tool schemas ────→ [Original MCP]    │
│             (~15,462 tokens loaded into context)                 │
├─────────────────────────────────────────────────────────────────┤
│  With MCPSlim                                                   │
│                                                                 │
│  [AI Model] ───→ [MCPSlim Bridge] ───→ [Original MCP]           │
│       │                │                      │                 │
│   Sees 6 grouped      Translates to        Executes actual   │
│   tools only         original call       tool & returns    │
│   (~4,058 tokens)                                              │
└─────────────────────────────────────────────────────────────────┘

How Translation Works

  1. AI reads slim schema — Only 6 grouped tools instead of 22
  2. AI calls grouped tool — e.g., interaction({ action: "click", ... })
  3. MCPSlim translates — Converts to original: browser_click({ ... })
  4. Original MCP executes — Real server processes the request
  5. Response returned — Result passes back unchanged

Zero functionality loss. 73.8% token savings.

Available Tool Groups

Group Actions
capture 4
control 5
interaction 8
navigation 3

Plus 2 passthrough tools — tools that don't group well are kept as-is with optimized descriptions.

Compatibility

  • Full functionality — All original @playwright/mcp features preserved
  • All AI assistants — Works with Claude, ChatGPT, Gemini, Copilot, and any MCP client
  • Drop-in replacement — Same capabilities, just use grouped action names
  • Tested — Schema compatibility verified via automated tests

FAQ

Does this reduce functionality?

No. Every original tool is accessible. Tools are grouped semantically (e.g., click, hover, draginteraction), but all actions remain available via the action parameter.

Why do AI assistants need token optimization?

AI models have limited context windows. MCP tool schemas consume tokens that could be used for conversation, code, or documents. Reducing tool schema size means more room for actual work.

Is this officially supported?

MCPSlim is a community project. It wraps official MCP servers transparently — the original server does all the real work.

License

MIT


Powered by MCPSlim — MCP Token Optimizer
Reduce AI context usage. Keep full functionality.

About

playwright MCP (73% less tokens). Quick setup: npx playwright-slim --setup

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 2

  •  
  •