Local HTTP MCP server (loopback): agent post-it memory on the filesystem
Strong foundation with 15 well-named tools, clear descriptions (avg 120 chars), and complete input schemas. Tool names follow verb_noun pattern (create, read, write, delete, search, list). All parameters have type definitions and descriptions. Output schemas are documented via pydantic models (TopicOut, PostitOut, ToolError). Tool annotations present (read_only, destructive, idempotent hints). Main gaps: no pagination support on list/search results despite potential for large datasets; error handling returns structured ToolError but lacks recovery guidance; no confirmation pattern for destructive operations (delete); parameter descriptions could be more prescriptive about constraints (e.g., regex patterns for note names, max file sizes).
Report the server's registered tools and metadata.
Append content to an existing postit note.
Create a new postit note. Use after learning something you'll want to recall across sessions (a cliffnote, a decision, a reference URL).
Delete a postit note.
List postit notes in a directory or headings in a note.
Overwrite a postit note's body with new content.
Read a postit note's full body.
postit.search and postit.ls lack pagination (limit parameter exists but no cursor/offset or total_count in response). Large result sets risk context window exhaustion.
postit.delete (destructive operation) has no confirmation step or dry-run mode. Agents can irreversibly delete notes without user approval.
ToolError responses lack recovery guidance. Error messages state the problem but do not suggest next steps (e.g., 'Note not found. Try postit.search() to find similar notes.').
Parameter descriptions lack explicit constraints. E.g., 'dir' and 'name' parameters have no stated limits on length, character set, or path traversal prevention.
Inferred effective spec: 2025-06-18+.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | A | 82 | 2025-06-18+ | v2 |
Read a range of lines from a postit note.
Read a section of a postit note by heading.
List recently modified postit notes.
Rename a postit note.
Search postit notes by regex pattern in names and/or bodies.
Create a new topic directory with a short description. Use when starting a new concern, so later notes have a place to go.
Read a topic's description.
Overwrite a topic's description.
postit.ls naming is ambiguous, does it list notes in a directory or headings in a note? The dual-mode behavior (dir vs name parameter) is not obvious from the name alone.