EasyPlaywrightMCP
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
No arguments | |||
Instructions
Guidance the server publishes about itself, which clients place ahead of the tool catalog so the model reads it before choosing anything.
This server publishes no instructions, or was last inspected before Glama recorded them.
Capabilities
Features and capabilities supported by this server
Protocol revision2025-11-25
| Capability | Details |
|---|---|
| tools | {
"listChanged": true
} |
| prompts | {
"listChanged": true
} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| loginA | Orchestrate login and persist Playwright storageState. Strategies: password form, HTTP Basic, bearer/token inject, OAuth cookies/tokens, manual/OAuth window, reuse profileId. Auto (headless) when enough creds/tokens are provided; otherwise opens a headed window and waits. DO NOT use this tool for Google OAuth / Sign in with Google, Microsoft/Apple/Discord social login, Cloudflare bot walls, or other restricted IdPs — those require set_session_auth. If you are about to open a headed login for Google OAuth, stop and follow the Restricted auth user-message template instead. Example input: Example success: { "ok": true, "profileId": "prof_abc", "strategy": "password" } |
| set_session_authA | Inject user-browser credentials into Playwright (restricted auth). ALWAYS saves profileId; optional sessionId applies to a live session. BEFORE calling this tool: you MUST already have sent the user (same conversation) the login URL + Network Cookie steps + JS snippet from server instructions. Never call this tool "speculatively" without first giving those instructions. Never open headed login for Google OAuth — use this flow. Triggers: Google OAuth / Sign in with Google, Gmail/Google apps, Microsoft/Entra, Apple, Discord OAuth, Cloudflare Turnstile on login, Okta/Auth0 social IdP, or any login Playwright cannot complete. Accepts credentialsJson from the console snippet (Cookie header + storage) or Playwright storageState JSON. Example (after user pastes): Returns: { "ok": true, "profileId": "prof_…", "strategy": "restricted_auth" } |
| start_sessionA | Start a Playwright Chromium session (headless or windowed) and keep it open. Optional recordVideoPath enables WebM capture at 1920×1080 @ deviceScaleFactor 2 with synthetic cursor and always-on click highlight. When recording, demoMode is on (narrate defaults true): orchestrate auto-paces to TTS. Pass profileId from login or set_session_auth to reuse auth. Example: Returns: { "sessionId": "sess_…", "headed": false, "recording": true, "demoMode": true, "startUrl": "…" } |
| query_sessionsA | List all active sessions with sessionId, url, title, recording, createdAt, headed. |
| query_sessionB | Fast page digest for LLM navigation decisions: url, title, viewport, ariaSnapshot, interactive controls. Example: { "sessionId": "sess_01HXYZ" } |
| orchestrate_sessionA | Execute ordered tap/cursor/keyboard actions. Recording/demoMode: server synthesizes TTS from narration|description, runs the action, holds until VO ends. startMs/endMs are ignored for pacing while recording (placeholders OK). fill=false for live typing. Testing (no recording): startMs/endMs pace the batch; each call clock starts near 0. Optional recordStepsPath writes an MD log. Recording also writes sibling .cues.json. Example (demo): |
| end_sessionA | End a session and finalize recorded video if any. Recording sessions: trims idle head/tail using cues.json actionSpan, then returns videoPath. Example: { "sessionId": "sess_01HXYZ" } Returns: { "ok": true, "videoPath": "C:/Videos/demo-clip.webm" } |
| compile_demoA | Compile demo clips + slate segways into one narrated MP4. Pipeline: convert (minterpolate 60fps H.264) → burn captions → VO → splice. For recorded clips, pass videoPath only — loads sibling .cues.json (wins over hand-authored narration). Slates still take explicit narration. Example: |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
| workflows | Intended EasyPlaywrightMCP workflows for automated testing and demo videos |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
No resources | |
TDQS
Scored across 8 tools
Each tool has a clear, distinct purpose: authentication (login, set_session_auth), session querying (query_sessions, query_session), session lifecycle (start_session, orchestrate_session, end_session), and video compilation (compile_demo). No two tools overlap in functionality.
Tool names follow a mostly consistent verb_noun pattern with snake_case (e.g., query_sessions, start_session). The exception is 'login', which is a bare verb, but it's a common convention and does not cause confusion.
With 8 tools, the server is well-scoped. Each tool adds necessary functionality for Playwright automation and demo creation without redundancy or bloat.
The tool surface covers core workflows: authentication, session management, interaction orchestration, and video compilation. A minor gap is the lack of explicit profile management (e.g., list/delete profiles), but it does not break essential workflows.