The server defines 12 tools with consistent naming (verb_noun pattern) and basic schemas. All tools have descriptions and input parameters with types. However, descriptions are minimal (10-50 chars, well below the 194-char baseline), lack context on WHEN to use each tool, and omit error recovery guidance. Output schemas are not documented. Parameter descriptions are sparse, many lack format/constraint details. No tool annotations (readOnlyHint/destructiveHint) despite clear risk levels. Error handling is absent from visible code. Composition is sound (single responsibility per tool), but descriptions need expansion to meet LLM-optimization standards.
Add a URL to the knowledge base
Create a new memory entry
Create a new note in the default project
Create a new project
Delete a note
Get a specific note by ID
Get a specific project by ID
List memory entries
Descriptions are critically short (10-50 chars vs 194-char baseline). They lack WHEN/WHY context, prerequisites, and recovery guidance. LLMs cannot reliably select tools or understand failure modes.
No tool annotations (readOnlyHint, destructiveHint, idempotentHint) despite clear risk levels (READ_ONLY, WRITE, DESTRUCTIVE). Agents cannot infer safety/retry semantics.
Output schemas not documented. LLMs cannot plan downstream tool calls or extract required fields (e.g., note_id from create_note for use in update_note).
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | C | 60 | 2025-06-18+ | v2 |
List notes from the default project
List all projects
List URLs in the knowledge base
Update an existing note
Parameter descriptions lack format/constraint details. E.g., 'limit' and 'offset' have no min/max bounds; 'tags' array has no length limits; 'query' has no length or pattern guidance.
No error handling or recovery guidance visible. Agents have no guidance on retryability, user-fixable errors, or next steps on failure.