An MCP server for managing sticky notes with file-based persistence
Two tools with basic descriptions and minimal parameter documentation. add_note has a single string parameter with description; read_notes has no parameters. Neither tool documents output schema structure. Descriptions are present but generic (34-50 chars, below the 50-200 char LLM-optimized baseline). No error handling guidance, no parameter constraints, no idempotency hints. Tools lack annotations (readOnlyHint, destructiveHint). The add_note tool modifies state but description does not explicitly state this is a write operation with side effects. Output is unstructured strings rather than typed objects. No pagination, no field documentation for responses.
Append a new note to the sticky note file.
Read and return all notes from the sticky note file.
Output schemas not documented. Both tools return plain strings with no typed field definitions. LLMs cannot plan downstream operations or extract structured data.
Descriptions too short and lack context. add_note (34 chars) and read_notes (50 chars) fall below the 50-200 char LLM-optimized baseline. No guidance on when to use each tool or what to expect.
add_note modifies state but description does not explicitly declare this is a write operation with side effects. LLMs cannot determine if the call is safe to retry.
No error handling guidance. If file operations fail (permission denied, disk full), tools return raw exceptions. LLMs receive no recovery hints.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | F | 41 | 2026-07-28+ | v2 |
Missing tool annotations. add_note should have destructiveHint=true; read_notes should have readOnlyHint=true. Agents cannot infer operation safety.