Simple Notes App MVP with external MCP server for filesystem operations
This MCP server exposes 5 file-system tools with minimal documentation. All tools have descriptions (10-30 chars), but they are generic and lack actionable context for LLM selection. Input schemas are present with basic type info, but parameter descriptions are trivial (e.g., 'The file path where content will be written'). No output schemas are documented. Error handling is minimal, no recovery guidance, no categorization of retryable vs. fatal errors. The tools themselves are simple file operations (read, write, list, create, move) with no composition hints or chaining metadata. No tool annotations (readOnlyHint, destructiveHint, idempotentHint) despite clear risk profiles (WRITE, READ_ONLY, REVERSIBLE). This is a basic STDIO-only file-system wrapper with no LLM-optimized design.
Create a directory
List files and directories in a directory
Move or rename a file
Read content from a file
Write content to a file
No output schemas documented. LLMs cannot infer what fields to expect from read_file, list_directory, or move_file responses, forcing them to guess at downstream tool chaining.
Descriptions are under 30 characters and generic ('Write content to a file', 'Read content from a file'). They do not explain WHEN to use each tool, what it returns, or how it differs from similar tools. LLMs cannot distinguish between tools with overlapping names.
No tool annotations (readOnlyHint, destructiveHint, idempotentHint) despite explicit risk labels (WRITE, READ_ONLY, REVERSIBLE). Agents cannot determine which tools are safe to retry or have side effects.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | F | 41 | 2026-07-28+ | v2 |
Parameter descriptions are trivial ('The file path to read', 'The directory path to list'). No constraints on path format, length, or allowed characters. No guidance on absolute vs. relative paths or symlink handling.
No error handling guidance. Errors are not categorized as retryable, user-fixable, or fatal. No recovery hints (e.g., 'Path not found. Check available directories with list_directory.').