This is a test fixture server (fake-mcp-server.mjs) with 5 tools that have minimal real-world implementation. All tools have basic descriptions (10-50 chars) and parameter schemas, but lack depth, error handling guidance, and output documentation. Tool names follow verb_noun convention (read_file, write_file, search_notes, execute_command, create_schedule), which is positive. However, descriptions are generic and do not explain WHEN to use each tool, what it returns, or recovery paths. No parameter descriptions beyond the bare minimum. No output schemas documented. The execute_command tool is particularly risky, it accepts arbitrary shell commands with no validation, sanitization, or permission gating. This is a demonstration server, not production-grade.
Create a recurring scheduled task.
Run a shell command.
Read a file from disk.
Search note contents for a text pattern.
Write a file on disk.
execute_command accepts arbitrary shell commands with no input validation, sanitization, or permission checks. No dry-run or confirmation step. Poses critical injection and privilege escalation risk.
No output schemas documented for any tool. LLMs cannot plan downstream calls or extract required fields. Violates pattern:tool and mxe:include-chaining-ids.
Parameter descriptions are missing or trivial (e.g., 'Filesystem path to read'). No format constraints, ranges, or dependency hints. Violates pattern:tool-description baseline of 72 chars average.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | D | 51 | 2026-07-28+ | v2 |
Tool descriptions are 10-50 characters, well below the 194-char baseline for production tools. Descriptions do not explain WHEN to use each tool, what it returns, or prerequisites.
No error handling guidance. Tools do not return actionable error messages, recovery suggestions, or error classification (retryable vs. fatal). Violates pattern:recovery-guide.