A personal knowledge/notes MCP server — lets Claude create, search, and manage notes in a local SQLite database.
Strong foundation with well-structured tool definitions, comprehensive schemas, and proper use of tool annotations. All 6 tools have clear descriptions (avg 150 chars), complete input schemas with type hints and Field descriptions, and appropriate risk classifications. Pydantic models ensure output schemas are documented. Main gaps: parameter descriptions could be more prescriptive about constraints and error recovery; no batch variants for common multi-call patterns; error messages lack recovery guidance.
Create a new note with a title, body, and optional tags. Returns the stored note, including its assigned ID — reference that ID in later get/update/delete calls.
Permanently delete a note by ID. This cannot be undone. Returns a confirmation with the deleted note's title.
Retrieve a single note by its ID or exact title. Provide note_id OR title (note_id wins if both are given). Returns the full note including its body. Use search_notes for fuzzy matching.
List the most recently created or updated notes, newest first. Returns summaries — fetch a full note with get_note.
Search notes by keyword, by tag, or both (filters combine with AND). Results are summaries (ID, title, snippet, tags) ordered newest-updated first — fetch the full body of a hit with get_note.
Edit an existing note's title, body, and/or tags. Only the fields you pass are changed. Passing tags replaces the whole tag set. Returns the updated note.
Error messages lack recovery guidance. ValueError exceptions ('Provide either note_id or title', 'Provide a query, a tag, or both') do not suggest next steps or alternative tools.
No batch operations. Common workflows (e.g., add multiple notes, delete multiple notes) require sequential tool calls, wasting tokens and latency.
Parameter descriptions lack prescriptive constraints. 'tags' description says 'e.g. ["ideas", "physics"]', should use enum or pattern constraints instead of examples.
delete_note lacks confirmation or dry-run pattern. Irreversible operations should support a confirmation step to prevent accidental data loss.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | C | 63 | 2025-06-18+ | v2 |
STDIO transport limits remote accessibility. Server cannot be used by hosted MCP clients or accessed over network, only local stdio connections.