MCP server for managing a personal journal with daily entries, thoughts, reviews, and plans
Journal-mcp has basic tool definitions with schemas and descriptions, but falls short of production quality. All 5 tools have names, descriptions, and input schemas present. However, descriptions are minimal (10-50 chars, well below the 194-char baseline), parameter descriptions are almost entirely absent (only 'date' and 'text' have any description), and output schemas are completely undocumented. No error handling guidance, no parameter validation hints, and no indication of which operations are destructive. The tool composition is reasonable (each does one thing), but the LLM-facing documentation is sparse.
Append a timestamped thought to the Thoughts section
Get or create today's journal file, returns full content
List journal files within a date range
Read journal files for the given dates
Replace content of Daily Review or Plan for Tomorrow section
Parameter descriptions almost entirely missing. Only 'date' and 'text' have descriptions; 'tag', 'section', 'content', 'start', 'end', 'dates' lack any guidance. LLMs cannot infer parameter meaning from names alone.
Tool descriptions are too brief (10-50 chars vs 194-char baseline). 'List journal files within a date range' and 'Read journal files for the given dates' lack context on when to use each, what they return, or how they differ.
Output schemas completely undocumented. Tools return JSON strings (list_range, read_files) or plain text (append_thought, update_section, get_or_create_day_file), but no schema is declared. LLMs cannot plan downstream calls or extract structured data.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | F | 43 | 2026-07-28+ | v2 |
No error handling guidance. Tools throw generic errors (e.g., 'Unknown tool') with no recovery hints. If a date is invalid or a file is missing, the LLM has no guidance on what to do next.
Destructive operations (append_thought, update_section) lack confirmation or dry-run support. No indication in descriptions that these modify state. Agents cannot safely retry without risking duplicate appends or overwrites.