An MCP server that exposes memoria's note-taking capabilities as MCP tools, allowing AI assistants to search, read, and create notes.
Memoria provides 9 tools with consistent naming (verb-first: search, list, cat, tags, todos, new, edit, todo, sync) and reasonable descriptions (avg ~80 chars). However, schemas are incomplete: most tools lack explicit type definitions for all parameters, and output schemas are entirely undocumented. Parameter descriptions exist but are minimal (10-40 chars), below the 72-char baseline. No error handling guidance, no pagination support despite search/list returning potentially large result sets, and no tool annotations (readOnlyHint/destructiveHint). The 'sync' tool performs multiple operations (pull, reindex, commit, push) violating single-responsibility. Missing idempotency guarantees and confirmation patterns for destructive operations (edit, new, sync).
Read the full content of a note by its path.
Update the content of an existing note. Fails if the note does not exist.
List all notes, or notes within a specific folder.
Create a new note at the given path with optional content and tags.
Full-text search across all notes. Returns matching notes ranked by relevance with highlighted fragments.
Sync notes with the git remote: pull, reindex, commit, and push.
List all tags with the number of notes using each tag.
Output schemas completely undocumented. LLMs cannot infer what fields search(), list(), cat(), tags(), todos() return, forcing them to guess at response structure and risking failed downstream tool chains.
No pagination support. search() and list() accept 'limit' but lack offset/cursor and total_count. Large result sets will blow context windows; no guidance on max results returned.
sync() violates single-responsibility: performs pull, reindex, commit, and push in one call. Should split into separate tools (pull_notes, commit_notes, push_notes) so agents can compose them independently.
No tool annotations. Destructive tools (new, edit, todo, sync) lack readOnlyHint/destructiveHint. LLMs cannot distinguish safe read-only tools from state-modifying ones, risking unintended mutations.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | D | 55 | 2026-07-28+ | v2 |
Create a new todo with a title, optional folder, and optional tags.
List todos, optionally filtered by status: overdue, today, pending, or done.
No error recovery guidance. Tools lack descriptions of failure modes, retryability, or next steps. E.g., edit() 'Fails if the note does not exist' but offers no suggestion to call search() or list() first.