Memory consolidation and context-handoff MCP server. Capture context from any AI tool, resume it anywhere, and let it decay gracefully.
Strong overall definition quality with comprehensive tool coverage, clear naming conventions, and detailed parameter schemas. 18 tools with explicit registration in src/tools.ts, all with verb_noun naming (mindmap_capture, mindmap_resume, etc.). Most tools have descriptions in the 150-500 char range, exceeding the 10-1024 baseline. Input schemas use Zod validation with type constraints and descriptions. However, several tools lack detailed output schema documentation in the source, parameter interdependencies are not always explicit, and some error recovery guidance is missing. The capture/resume loop design is thoughtful and well-documented with proactive calling hints, showing sophisticated UX intent.
Glass-box ledger: inspect what's stored, provenance (where each memory came from), decay scoring, and trust levels. Returns most-trusted memories first.
Search for brainstorm-kind memories and cluster them by semantic similarity. Returns groups of related ideas (useful for discovering patterns or merging duplicate brainstorms).
Silently save a portable context summary from the current session so it can be resumed later in any tool. This is the effortless 'capture' half of the loop. New captures start as 'captured' (warm tier); they become trusted 'promoted' memories the first time you resume them. CALL THIS PROACTIVELY (you don't need to be asked) when: a substantive discussion is wrapping up; the user says they're done / switching tasks / "remember this" / "save this"; a key decision, plan, or conclusion was reached; or the user signals they'll continue later. Write the summary so a future session in a DIFFERENT tool could pick up with full context. Skip trivial one-off exchanges. Args: - title (string): short topic title - summary (string): the portable context to inject into a future session (markdown ok) - key_points (string[]): scannable discussion points (optional) - tags (string[]): topic tags for filtering (optional) - source (string): Origin tool, e.g. 'claude-code', 'chatgpt', 'chat', 'cowork', 'claude-desktop'. - links (string[]): ids of related threads to connect (optional) - kind ('discussion'|'brainstorm'): mark brainstorm sessions so they can be resumed/clustered as ideas (default 'discussion') - next_steps (string[]): open work / what to do next — capture this so resuming can CONTINUE the thread, not just re-read it (optional but high-value) Returns: the created thread id and its formatted record.
Output schema documentation incomplete. Source code shows Zod input validation but does not explicitly document return object structures (fields, types, optional vs required). LLMs cannot reliably chain tool calls without knowing what fields are returned.
mindmap_link description is vague ('Link two thread ids together'). Does not explain when/why an LLM should call it, what 'bidirectional' means to the agent's workflow, or what the 'updated thread' response contains.
Parameter interdependencies not explicit. mindmap_resume accepts 'query', 'id', or 'collection' but source does not state these are mutually exclusive or how the tool ranks them. LLMs may pass multiple parameters causing ambiguity.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | B | 72 | 2025-06-18+ | v2 |
List all user collections, or open a specific collection to view its members (with next steps and workspace hints). Collections are user-created groups that resist decay if pinned.
Analyze the corpus and propose collections (e.g. 'Unfinished projects', 'Goals', 'Decisions', 'Parking Lot'). Uses an LLM if configured, otherwise heuristic detectors. Returns suggestions for review; pass apply=true to file them.
Export all memories + persona to a portable passport file (JSON). Use to migrate between devices, back up, or share a snapshot.
Soft-forget (archive) or hard-delete a memory. Soft forgets move the memory out of the default list but keep it searchable and recoverable. Hard delete removes it entirely.
Fetch a single memory by id. Returns the full thread with all context.
Memory system health check. Returns cleanliness score, tier distribution, and gamified metrics. Rewards tidy, well-organized memory over raw size.
Import a Mind Map passport file, or bulk-import past sessions (Claude Code transcripts, Cursor, Cowork, ChatGPT export, Claude.ai export). Deduplicates automatically.
Link two thread ids together (bidirectional). Returns the updated thread.
List all non-archived memories (hot + warm tiers by default). Returns summaries, sources, tiers, and where to continue. Supports filtering and pagination.
Configure LLM provider for inference (curation, persona inference, semantic search). Supports OpenAI, Google, Anthropic, and Ollama. Set provider + API key (or use env vars); view status; estimate token costs.
Add, remove, or delete memories from collections. Actions: 'add' (file ids into a collection), 'remove' (unfile ids), 'delete' (delete the collection itself — memories survive).
Read, write, and infer facts about yourself. These are persisted across sessions and can be projected into tool configs (Claude Code, Cursor, etc.) so your AI assistants have continuity about who you are, what you like, what you've built, etc.
Re-tier all memories based on decay rules (promote-on-reuse, age-based cooling). Dry-run mode previews changes without writing. Runs automatically in the background every 6 hours.
Restart a topic by describing it in plain words — "pick up the promotion-roadmap discussion", "continue the buyer-service refactor". Resolves your description to the best match, then reassembles the WHOLE topic: the anchor memory plus its linked + closely-related fragments (a topic is usually spread across several sessions/tools), merged into one thread to continue from. Promotes the anchor on reuse. If captured, surfaces "where you left off" (next steps) so you can keep going, not just re-read. CALL THIS PROACTIVELY at the START of a session when the user references prior work — "let's continue", "restart the X discussion", "the X project", or any topic that may have history. Also works as a LAUNCHER for collections: "continue one of my unfinished projects", "pick up something from my parking lot" → pass collection; a single item resumes directly, several returns a pick list (each with where-you-left-off) — ask the user, then call again with the chosen id. Args: - query (string): topic / what you want to restart, in natural language - id (string): resume a SPECIFIC memory by id — use after the user picks from mindmap_resume_options - collection (string): resume from a collection, e.g. "Unfinished projects", "Parking Lot" (with query: picks the best match inside it) - source (string): only resume memories from this origin tool (optional) (Provide query, id, or collection.) Returns: a merged topic thread (anchor + related fragments) + where you left off + which workspace to continue in, or near-misses.
Search across all memories using hybrid BM25 + semantic search (if embeddings enabled). Returns ranked results with snippets.
Error recovery guidance absent. Tools like mindmap_search, mindmap_resume, and mindmap_curate can fail in multiple ways (not found, API error, LLM error) but descriptions do not provide 'if X, then call Y' recovery hints.
Confirmation pattern missing for destructive operations. mindmap_forget (hard delete) and mindmap_import (bulk write) can irreversibly modify state. No dry_run is offered for mindmap_forget, and only mindmap_import and mindmap_prune offer dry_run mode.
Natural identifier support unclear. Tools accept thread 'id' (opaque UUID-like strings) but do not document whether query-based lookups (e.g. by title substring) are supported. mindmap_resume supports natural language queries, but other tools do not.