Give Claude a tool to capture and view screenshots.
Server has 4 tools with basic descriptions and minimal input schemas. Tool names follow verb_noun convention (list_, get_, take_, view_), which is good. However, descriptions are terse (10-80 chars, below the 50-200 char baseline for LLM optimization), and most parameters lack descriptions entirely. The take_screenshot tool has no input schema documented, and view_screenshot's resource_uri parameter has a description but no type validation hints. Error handling is minimal, exceptions are raised but lack recovery guidance. Output schemas are partially documented (Image type returned) but not formally specified. No tool annotations (readOnlyHint, destructiveHint) despite clear risk levels (WRITE vs READ_ONLY).
Retrieve a resource by its URI in MCP embedded resource format.
List all registered resources with their URIs, MIME types, and file paths.
Capture a screenshot, save it to disk, register it as an MCP resource, and return the image data.
Retrieve and display a previously captured screenshot by its resource URI.
take_screenshot has no input schema visible in source code. Tool accepts no parameters but schema is not explicitly declared.
Descriptions are below LLM-optimization baseline (10-80 chars vs recommended 50-200). 'Capture a screenshot, save it to disk, register it as an MCP resource, and return the image data.' is functional but lacks WHEN to use it or prerequisites.
Parameter descriptions missing or minimal. view_screenshot.resource_uri has a description, but get_resource.uri lacks guidance on format (e.g., 'resource://screenshot/...'). No constraints documented (regex, length, enum).
No tool annotations despite clear risk levels. take_screenshot is WRITE (destructive, should have destructiveHint=true); list_resources and get_resource are READ_ONLY (should have readOnlyHint=true). Annotations guide agent safety reasoning.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | F | 48 | 2026-07-28+ | v2 |
Error handling lacks recovery guidance. 'Resource not found' exception in get_resource and view_screenshot does not suggest alternatives (e.g., 'Call list_resources() to see available URIs'). Agents cannot self-correct.