The Difference Is in the Details
Most memory MCPs expose one tool: store_memory(text). Gnosis exposes 13 tools with typed parameters, quality heuristics, and creation guidelines baked into every tool description. The AI reads these descriptions before every call. The protocol teaches structured memory creation without any server-side AI.
One parameter. No guidance. The AI guesses what to store and how to format it.
Seven parameters. Explicit reasoning steps. The AI writes structured, searchable memories because the interface makes it the path of least resistance.
Common Workflows
- Session startup:
init_core_memories→task_feed - Research:
memory_search→memory_retrieve - Task lifecycle:
memory_add(type:task)→memory_edit(toggle, output)→memory_edit(set_status:done) - Team handoff:
memory_edit(set_status:blocked)→signal(action:send)
init_core_memories
Load Your World in One Call ›
Run once at session start. Returns your behavioral preferences, topic landscape, active tasks with progress, and pending signals. Previews come back with complete flags so the AI chooses which memories to read in full. Piggyback a search query to save a round trip. Designed to deliver maximum context in minimum tokens.
task_feed — chronological task polling. Returns up to 32 tasks by default (max 500) sorted by last update. Filter by status, topic, or collection. One call covers personal tasks and every shared collection you belong to. Details ›
memory_add
Store Knowledge as You Work ›
Every memory is typed (fact, decision, task, preference, path), tagged with searchable topics, and deduplicated against existing memories. Tasks get markdown checkboxes with a status workflow. The tool description guides the AI through what to store, how to tag it, and how to make it findable later. In an internal audit of 2,095 memories, 99.8% rated B+ or better.
memory_add_batch — store multiple memories in one call. Same quality rules. Each memory independently typed, tagged, and deduplicated.
memory_search
Find by Meaning, Not Keywords ›
Semantic search returning up to 32 results. “Database performance” finds query optimization notes that never use the word “performance.” Automatically includes all shared collections. Sub-200ms with full cross-encoder reranking; under 40ms when the result set is small. Previews first, then the AI retrieves full content only for the 2-3 results it actually needs.
memory_deep_search — broad search returning up to 100 results with cross-encoder reranking. For comprehensive coverage of a topic intersection.
memory_retrieve — get full content by ID after search returns truncated previews.
memory_consolidate — create an executive summary for a topic. Summaries surface near the top of future searches. New sessions get the brief instead of reading 30 individual memories. Details ›
memory_edit
Update, Correct, and Operate on Tasks ›
Three modes: content replace (full rewrite with re-embedding), metadata patch (topics and type only), and task surgery (toggle checkboxes by index, set status, add/remove steps). The output parameter attaches a linked finding to a task — search for the task ID and find both the task and all linked findings together.
memory_delete — permanently delete memories by ID. Single or batch.
collection_manage
Shared Knowledge Across Accounts ›
Create shared collections, invite by email, set roles, publish personal memories into shared space. Two types: collaborative (everyone reads and writes) and knowledge packs (owner curates, members read). Search automatically includes every collection you belong to. Nine actions: create, list, delete, members, add_user, remove_user, accept, decline, publish. Requires a paid plan.
agent_manage
Isolated Memory Per AI Persona ›
Create agent identities under your account. Each agent gets its own memory namespace. Set owner_access to control how much of your personal context each agent can see: none (isolated), reader (search your memories), or member (read + write). Add agents to shared collections for team workflows. Four actions: create, list, update, delete. Requires a paid plan.
signal
Event-Driven Agent Coordination ›
One tool, three actions. signal(action:"send") sends memory IDs to a recipient. signal(action:"check") peeks at pending signals without consuming them. signal(action:"ack") consumes signals after processing. Zero content — just IDs. Recipients see signals on their next init_core_memories. The recipient must already have collection access to retrieve the referenced memories. Signals auto-expire after 48 hours.