An MCP server for managing sticky notes with persistence to a file
This server has 2 tools with basic but incomplete definitions. Both tools have descriptions and parameter schemas, but descriptions lack depth on WHEN to use each tool and WHY. Naming is adequate (verb-noun pattern: add_note, read_notes), but parameter documentation is minimal. Critically, output schemas are not documented, LLMs cannot infer what structure add_note and read_notes return. The server defines prompts and resources but those are supplementary; the tools themselves are the core assessment. add_note has a WRITE risk that is acknowledged but not explained in the description (no mention that it modifies state, making it non-idempotent on retries). read_notes is READ_ONLY and safe, but both lack guidance on composition (e.g., when should an agent call read_notes before add_note?). Error handling is absent, no guidance on what happens if the notes file is corrupted, permissions denied, or disk full. This is a fair (C-range) server with functional tools but poor LLM-readiness.
Append a new note to the sticky note file. Args: message (str): The note content to be added. Returns: str: Confirmation message indicating the note was saved.
Read and return all notes from the sticky note file. Returns: str: All notes as a single string separated by line breaks. If no notes exist, a default message is returned.
Output schemas not documented. Both tools return plain strings with no formal schema definition. LLMs cannot plan downstream tool calls or extract structured data.
Descriptions lack WHEN guidance and composition hints. add_note description does not explain when to call it vs read_notes, or that it mutates state irreversibly. read_notes does not guide whether it should be called before adding notes.
No error handling or recovery guidance. If the notes file is inaccessible, corrupted, or permission-denied, there is no error message guiding the LLM on what to do next. Stack traces or blank errors will be returned.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-22 | F | 49 | 2026-07-28+ | v2 |
| 2026-03-09 | F | 41 | - | v1 |
add_note lacks idempotency or dry-run semantics. Irreversible operations (write to file) should support confirmation or dry-run. Agents retry on ambiguous failures, risking duplicate notes.
No parameter validation or constraints. add_note accepts any string, including empty strings, very long messages, or special characters. No documented constraints (max length, disallowed characters, format).