MCP server that writes memory files with user approval before saving
Single tool with basic schema and description. Tool name 'write_memory' follows verb_noun convention (+). Description is present but generic (47 chars, below 50-200 char LLM-optimized range). Input schema visible with Zod types and descriptions for both parameters (+). However, output schema is undocumented, LLMs cannot predict response structure. No error classification or recovery guidance. Elicitation pattern used but not annotated. No tool annotations (readOnlyHint/destructiveHint/idempotentHint) despite WRITE risk. Path validation logic present but not exposed in schema constraints.
Write a memory file — requires user approval before saving.
Output schema undocumented. Tool returns structured content array with type/text fields, but LLMs have no schema to predict response structure or plan downstream actions.
Tool description too generic (47 chars). 'Write a memory file, requires user approval before saving.' lacks context on when to use vs alternatives, what happens on approval/rejection, or expected frontmatter format.
No tool annotations despite destructive WRITE risk. Missing destructiveHint=true and idempotentHint=false. Agents cannot reason about retry safety or side effects.
Error responses lack recovery guidance. Path validation error returns constraint list but no actionable next step. Elicitation rejection returns generic 'declined' with no context.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | D | 51 | 2026-07-28+ | v2 |
Parameter 'file_path' accepts any string; no format constraint or pattern validation in schema. Relies on runtime isPathAllowed() check. Should declare allowed_roots enum or path pattern in schema.