Cross-platform window and screen screenshot MCP server
The server provides 5 tools with minimal descriptions and incomplete parameter documentation. Tool names are clear and action-oriented (get_*, close_*), but descriptions lack depth regarding when to use each tool, prerequisites, and expected return structures. Parameter schemas are present but descriptions are sparse or missing. Output schemas are not documented. Error handling guidance is absent. The codebase shows READ_ONLY and DESTRUCTIVE risk labels, but these are not reflected in tool descriptions or error handling patterns.
Close a window
Get the number and details of monitors
Get a screenshot of the specified monitor
Get a list of all windows
Get a screenshot of the specified window
Missing output schema documentation. No tool describes what fields are returned or their types. LLMs cannot plan downstream tool calls or chain results.
Descriptions are too short (10-40 chars) and lack context. 'Get a screenshot of the specified monitor' does not explain when to use this vs get_screen_screenshot, what format is returned, or when prerequisites apply.
Parameter descriptions are missing or minimal. 'monitor_index' and 'window_id' lack context: are they 0-indexed? What happens if invalid? How does LLM discover valid values?
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-22 | F | 11 | 2026-07-28+ | v2 |
| 2026-03-09 | F | 33 | 2024-11-05+ | v1 |
Destructive tool (close_window) lacks error handling guidance and confirmation pattern. No description warns of irreversible consequences. LLM may close unintended windows.
No parameter validation constraints documented. monitor_index and window_id could accept invalid values with no guidance on range, format, or error recovery.
get_window_list returns array with no pagination support, limit, or total count. Large window lists risk bloating context window and degrading LLM reasoning.
Screenshot tools (get_screen_screenshot, get_window_screenshot) do not document output format (PNG, JPEG, base64, file path) or size constraints. LLM cannot reason about next steps or validate responses.