MCP server for screen reader integration, providing tools to interact with NVDA and VoiceOver screen readers
Three tools with basic descriptions but significant schema and parameter documentation gaps. connect_reader and set_log_level lack input schema visibility; get_log has a detailed schema but descriptions are minimal (under 100 chars). No tool descriptions explain WHEN to use them, prerequisites, or what happens on error. Parameter descriptions exist but lack constraints (enums, ranges, formats). No output schemas documented. Error handling guidance absent. Naming is verb-forward (good), but descriptions do not meet the 10-1024 char baseline for LLM optimization (pattern:tool-description).
Establish a connection to a screen reader and retrieve its capabilities
Retrieve log entries from the connected screen reader with filtering and anchoring options
Set the logging level for the connected screen reader
connect_reader and set_log_level lack visible input schemas in source.
Tool descriptions are too brief (35-45 chars) and lack context. Missing: WHEN to call, prerequisites, what the tool returns, error recovery guidance. Baseline is 194 chars for A+ tools.
get_log parameters lack constraints. 'minLevel' and 'level' (set_log_level) should be enums (debug|info|warning|error), not free-form strings. Numeric params (windows, maxEntries, lastSeconds) lack min/max bounds.
No output schemas documented for any tool. LLMs cannot plan downstream calls or extract required fields. Pattern:tool requires documented return types.
Inferred effective spec: 2025-06-18+.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | F | 43 | 2025-06-18+ | v2 |
No error handling guidance. Tools do not explain retryability, user-fixable vs fatal errors, or recovery steps. Pattern:recovery-guide requires actionable error messages.