Give your AI a memory — mine projects and conversations into a searchable palace. No API key required.
MemPalace defines 19 tools with consistent naming (verb_noun pattern: mempalace_*) and descriptions present for all tools. However, parameter descriptions are sparse or missing entirely for many tools. Input schemas use Zod validation but lack comprehensive type coverage. Output schemas are not documented, responses are JSON but structure is inferred from code. Error handling returns JSON with error fields but lacks recovery guidance. No tool annotations (readOnlyHint/destructiveHint) despite clear read/write distinction in the tool list.
Create a manual cross-wing bridge
Check if content already exists
Record session summary to palace diary
Find cross-wing bridges (rooms appearing in multiple wings)
AAAK dialect specification
Full taxonomy: wing > room > count
Palace graph statistics (nodes, edges, connectivity)
Output schemas not documented. Tools return JSON via json() helper but structure is inferred from code, not declared. LLMs cannot plan downstream calls without knowing response fields.
No tool annotations (readOnlyHint/destructiveHint/idempotentHint). Tools are marked READ_ONLY or WRITE in the spec but not in the MCP schema. Agents cannot distinguish safe from destructive calls without reading descriptions.
Error handling lacks recovery guidance. errJson() returns {success: false, error: msg, hint?} but hints are sparse. Most error paths return bare error messages without actionable next steps.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | D | 57 | 2026-07-28+ | v2 |
Add a fact (triple) to the knowledge graph
Mark a fact as invalid (soft delete with temporal bounds)
Entity relationships with temporal filtering
Knowledge graph overview
Chronological facts for an entity
List all manually created cross-wing bridges
List rooms within a wing
List all wings with drawer counts
Delete a manually created cross-wing bridge
Semantic search with hybrid keyword re-ranking
Palace overview with protocol and AAAK spec
Walk palace graph from a room
Parameter descriptions inconsistent. mempalace_search has detailed param descriptions (query, limit, wing, room, rerank_model, hybrid); mempalace_list_rooms has minimal descriptions. Inconsistency confuses LLMs about what level of detail is expected.
No pagination support. mempalace_list_wings, mempalace_list_rooms, mempalace_get_taxonomy return all results without limit or offset. Large palaces (>5000 drawers) risk context window exhaustion.