Playwright Tools for MCP - A Model Context Protocol server that provides browser automation capabilities using Playwright
Playwright MCP has minimal tool definitions with critical gaps. All 6 tools have names and basic schemas, but descriptions are extremely terse (10-30 chars, well below the 50-200 char baseline for LLM-optimized tools). Parameter descriptions are sparse or missing entirely. No output schemas documented. Error handling is generic. The server lacks composition guidance and parameter constraints (enums, ranges). Tool names like 'browser_close' and 'browser_wait' are generic and don't clearly convey intent to LLMs. No tool annotations (readOnlyHint, destructiveHint) despite clear WRITE vs READ_ONLY risk classifications in the metadata.
Close the page
Returns all console messages
Upload one or multiple files
Handle a dialog
Resize the browser window
Wait for a specified time in seconds
Descriptions critically short (10-30 chars). LLMs cannot determine when/why to select tools. Baseline is 50-200 chars for LLM-optimized tools.
No output schemas documented. LLMs cannot plan downstream calls or extract return values. All tools lack documented return types.
Tool names lack action verbs or are overly generic. 'browser_close' and 'browser_wait' don't clearly signal intent. Should be 'close_browser_page', 'wait_seconds', etc.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | F | 47 | 2026-07-28+ | v2 |
No tool annotations (readOnlyHint, destructiveHint, idempotentHint) despite clear WRITE/READ_ONLY risk metadata. LLMs cannot infer safety properties.
Parameter 'paths' in browser_file_upload accepts array but no description of format, constraints, or error handling for invalid paths.