An MCP server that provides web automation and vision tools for LLM agents to interact with web pages using Playwright, with support for screenshot analysis and coordinate-based clicking and typing
Server has 5 tools with basic descriptions and input schemas, but significant quality gaps. Tool names lack clear verb-noun structure (e.g., 'take_screenshot_base64' is awkward; 'capture_screenshot' would be clearer). Descriptions are present but generic, most lack context on WHEN to use the tool or what downstream actions it enables. Parameter descriptions are minimal (e.g., 'x' and 'y' coordinates lack range/constraint info). No output schemas documented. Error handling exists but doesn't guide recovery. No tool annotations (readOnlyHint/destructiveHint). Risk classification is present but not integrated into descriptions. Schemas are visible but incomplete, missing constraints, ranges, and format specifications.
Navigates to a URL and returns a summary of the page content. Good for initial page loads.
Clicks at the specified x, y coordinates on the page.
Move the mouse to the specified coordinates. This action is mainly for visual feedback or to prepare for a click.
Takes a full-page screenshot and returns it as a base64 encoded PNG string. This image should then be sent to an LLM with vision capabilities (like Gemini) for visual analysis and decision-making.
Types text into an element at the specified x, y coordinates on the page. It simulates a click to focus before typing.
Tool names lack clear verb-noun structure. 'take_screenshot_base64' mixes action with implementation detail (base64 encoding). Should be 'capture_screenshot' or 'screenshot_page'. 'move_mouse' is vague, does it click, hover, or just move? Rename to 'position_mouse' or 'hover_at_coordinates'.
Coordinate parameters (x, y) lack constraints. No min/max values, no description of coordinate system (viewport vs page), no guidance on valid ranges. LLMs will pass arbitrary values. Add: 'x (integer, 0 - viewport_width): horizontal pixel coordinate' and similar for y.
No output schemas documented. browse_url returns a string summary, take_screenshot_base64 returns base64 PNG, click_coordinates returns success message, but LLMs don't know what fields to expect or how to chain calls. Document return types explicitly.
Inferred effective spec: <=2025-11-25.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | F | 46 | <=2025-11-25 | v2 |
Descriptions lack WHEN-to-use guidance. 'Navigates to a URL and returns a summary' doesn't explain when to call browse_url vs take_screenshot_base64. Add: 'Use this for initial page loads to get text content. For visual analysis, use take_screenshot_base64 instead.'
No tool annotations (readOnlyHint, destructiveHint, idempotentHint). Risk field exists in metadata but not exposed in MCP schema. click_coordinates and type_text_at_coordinates are WRITE operations, must be marked destructiveHint=true so agents know they have side effects.