MCP server exposing Magical Merchant notes to AI agents
Strong foundation with 15 well-named tools following verb_noun convention (list_, read_, create_, update_, search_, restore_). All tools have descriptions (avg 156 chars, within 10-1024 baseline). Input schemas present with typed parameters. However, output schemas are not documented, LLMs cannot predict response structure for chaining. Parameter descriptions are present but inconsistent in depth; some lack format/constraint details. Error handling is minimal, no recovery guidance or actionable error messages visible. Tool composition is sound (single responsibility, clear chains via filename/id references). Security: no credentials exposed as parameters (good). Missing: pagination guidance for list_notes and search despite potentially large result sets.
Create a note from Markdown body
List registered glyph images
List the snapshots of a note kept by the server
List all notes, newest first, with their tags, a short preview, and where they came from. `kind` is `codex` for a document that grows and keeps versions
List places where notes and Scrawl entries were written
List available note templates
Read a note by filename: its metadata (time, tags, device context) and the Markdown body
Output schemas not documented. LLMs cannot predict response structure (fields, types, nested objects) for downstream tool chaining. E.g., list_notes returns 'tags', 'preview', 'kind' but structure is inferred, not declared.
No pagination parameters or guidance for potentially large result sets. list_notes, search, and list_glyphs lack limit/offset/cursor and total_count. Large unbounded results risk context window exhaustion.
Error handling is silent. No visible error recovery guidance, actionable error messages, or error classification (retryable vs fatal). E.g., if update_note fails due to revision mismatch, LLM receives no guidance on next steps.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | C | 62 | 2026-07-28+ | v2 |
Read a snapshot of a note
Read all Scrawl entries for one day
Read Scrawl entries for a date range
Read a note template
Restore a note to a previous snapshot
Register or update a glyph image
Search notes and Scrawl entries by text and tags
Update a note's Markdown body
Parameter descriptions lack format/constraint details. E.g., 'date' in read_scrawl_day says 'YYYY-MM-DD format' but no regex or validation rule. 'limit' in read_scrawl_range has no min/max bounds (default 500 is stated but no upper limit).
Destructive operations (update_note, restore_note, save_glyph) lack confirmation or dry-run support. Agents can silently overwrite notes or glyphs without user approval.