
Gnosis Memory
Persistent memory that follows you across Claude, ChatGPT, Cursor, and any MCP client. Exposes memory_add, memory_search, and memory_update tools with typed entries (fact, decision, task, preference, path) that survive session boundaries. Semantic search runs under 150ms, deduplication catches both exact and near-duplicate memories, and everything encrypts at rest with AES-256. You can create shared collections for team knowledge, isolate agent identities with separate namespaces, and export your entire corpus as JSON anytime. Hosted service with OAuth through GitHub or Google. Reach for this when you're tired of re-explaining context every conversation or need the same memory accessible whether you're in VS Code, a CLI tool, or switching between AI providers on different devices.
- tools
- 21
- transport
- HTTP
- last updated
- Jun 9, 2026
Install
From registry metadata$ npx add-mcp https://gnosismemory.com --name memoryRun in your terminal. add-mcp asks which agents to add it to (Claude Code, Codex, Cursor and more). Add -g to install it for every project.
Review the command, arguments and environment values before installing. MCP servers run with your local permissions.
Other ways
Claude Code
$ claude mcp add --transport http memory https://gnosismemory.comRun in your terminal. Add --scope user to make it available in every project.
Tools
Verified live · 21 toolsVerified live against the running server on Nov 6, 2026.
init_core_memoriesRun ONCE at conversation start. Loads behavioral prefs + recent context. Previews carry a 'complete' flag: true = full content shown; false = opening only, memory_retrieve(id) for the rest. After init, use memory_search for specific queries. Shared collections -> 'collections'...2 params
Run ONCE at conversation start. Loads behavioral prefs + recent context. Previews carry a 'complete' flag: true = full content shown; false = opening only, memory_retrieve(id) for the rest. After init, use memory_search for specific queries. Shared collections -> 'collections'...
machine_idstringquerystringmemory_addStore a memory. Several memories in one call -> memories=[{content, topics, ...}]; top-level topics then apply to every item. BEFORE params decide: (1) TYPE? (2) what search finds this later? (3) happened, or aspirational? (4) WHO must act on it? TYPE by example: "User prefers...16 params
Store a memory. Several memories in one call -> memories=[{content, topics, ...}]; top-level topics then apply to every item. BEFORE params decide: (1) TYPE? (2) what search finds this later? (3) happened, or aspirational? (4) WHO must act on it? TYPE by example: "User prefers...
artifactstringcollectionstringcontentstringephemeralbooleanexpires_atstringforcebooleanmacro_topicsarraymemoriesarrayrefstringsignalstringstatusstringpending · active · blocked · review · donestepsarraysummarystringtitlestringtopics*arraytypestringfact · preference · decision · path · task · task_donememory_add_batchStore multiple memories at once. Same rules as memory_add, applied per item. SHAPE: one ITEM here == one memory_add call. Same field names, same meaning. The ONLY difference is the container: memory_add takes them as flat parameters, this takes a list of objects. An item objec...4 params
Store multiple memories at once. Same rules as memory_add, applied per item. SHAPE: one ITEM here == one memory_add call. Same field names, same meaning. The ONLY difference is the container: memory_add takes them as flat parameters, this takes a list of objects. An item objec...
collectionstringforcebooleanmemories*arraysignalstringmemory_searchSearch memories by relevance. Up to 32 results. Query = ALL nouns from the user's message, not just the main one (ranking is automatic). "How does the app cache API calls?" -> "app cache api calls" complete=false results are truncated -> memory_retrieve(id) for full content. A...4 params
Search memories by relevance. Up to 32 results. Query = ALL nouns from the user's message, not just the main one (ranking is automatic). "How does the app cache API calls?" -> "app cache api calls" complete=false results are truncated -> memory_retrieve(id) for full content. A...
collection_filterstringexpandbooleanquery*stringtype_filterstringmemory_deep_searchBroad search for a FULL sweep -- every hit on a topic (e.g. before memory_consolidate), not a conversational lookup (that is memory_search). Up to 128 results; requires 2+ keywords ("python" alone = too broad). Scores: 30+ excellent, 20+ good, <20 weak. Full sweep of a topic i...4 params
Broad search for a FULL sweep -- every hit on a topic (e.g. before memory_consolidate), not a conversational lookup (that is memory_search). Up to 128 results; requires 2+ keywords ("python" alone = too broad). Scores: 30+ excellent, 20+ good, <20 weak. Full sweep of a topic i...
collection_filterstringexpandbooleanquery*stringtype_filterstringmemory_retrieveGet full content by ID. Use when search returned complete=false. Batch: memory_retrieve(["id1","id2"]). Skip if complete=true (preview is already full).1 params
Get full content by ID. Use when search returned complete=false. Batch: memory_retrieve(["id1","id2"]). Skip if complete=true (preview is already full).
ids*arrayartifact_writeStore or update a long document (markdown, JSON or text) behind a pointer memory. For agents.md, skills.md, assertions.md, a project plan: anything past one memory's 768-token cap. CREATE: name ("assertions.md"), summary (the pointer memory: what the document is and why; searc...12 params
Store or update a long document (markdown, JSON or text) behind a pointer memory. For agents.md, skills.md, assertions.md, a project plan: anything past one memory's 768-token cap. CREATE: name ("assertions.md"), summary (the pointer memory: what the document is and why; searc...
artifact_idstringbase_rev_idstringbodystringcollectionstringcontentstringmacro_topicsarraymerged_rev_idsarraynamestringoccurrenceintegersectionvaluesummarystringtopicsarrayartifact_readRead an artifact by its pointer memory id (memory_retrieve on a pointer shows an "artifact" block with head_rev_id and outline). Bodies over 40,000 characters return the outline: read a section (heading path or JSON pointer) or page=0,1,... Returns rev_id; pass it as base_rev_...5 params
Read an artifact by its pointer memory id (memory_retrieve on a pointer shows an "artifact" block with head_rev_id and outline). Bodies over 40,000 characters return the outline: read a section (heading path or JSON pointer) or page=0,1,... Returns rev_id; pass it as base_rev_...
artifact_id*stringoccurrenceintegerpageintegerrev_idstringsectionvalueartifact_historyList the revisions of an artifact (rev_id, parent, seq, time, author, pinned) and its heads. conflict=true means divergent heads to merge.1 params
List the revisions of an artifact (rev_id, parent, seq, time, author, pinned) and its heads. conflict=true means divergent heads to merge.
artifact_id*stringartifact_pinPin a revision so retention thinning never removes it (pinned=false unpins).3 params
Pin a revision so retention thinning never removes it (pinned=false unpins).
artifact_id*stringpinnedbooleanrev_id*stringartifact_deleteDelete an artifact: every revision and its pointer memory. Permanent. confirm must equal the artifact name. memory_delete refuses a pointer; use this.2 params
Delete an artifact: every revision and its pointer memory. Permanent. confirm must equal the artifact name. memory_delete refuses a pointer; use this.
artifact_id*stringconfirmstringartifact_orphansList artifact revisions whose pointer memory is gone (a delete on one replica racing a save on another). Nothing is auto-deleted; export includes them.
List artifact revisions whose pointer memory is gone (a delete on one replica racing a save on another). Nothing is auto-deleted; export includes them.
No parameters. Call it with no arguments.
memory_editEdit a memory. Provide only what changes; omitted fields untouched. Modes: 1. Content replace (content [+topics/macro_topics]): full rewrite, re-embeds. Do it the instant the user corrects a memory ("actually..."). 2. Metadata patch (topics/type/expiry, no content): type/expir...22 params
Edit a memory. Provide only what changes; omitted fields untouched. Modes: 1. Content replace (content [+topics/macro_topics]): full rewrite, re-embeds. Do it the instant the user corrects a memory ("actually..."). 2. Metadata patch (topics/type/expiry, no content): type/expir...
add_macro_topicsarrayadd_stepsarrayadd_topicsarrayartifactstringcollectionstringcontentstringedit_stepobjectephemeralbooleanexpires_atstringmacro_topicsarraymemory_id*stringoutputstringrefstringremove_macro_topicsarrayremove_stepsarrayremove_topicsarrayset_statusstringpending · active · blocked · review · doneset_summarystringsignalstringtogglearray+2 more parameters. See the server's own documentation for the full schema.
memory_deleteDelete memories by ID. Permanent. memory_delete(["id1","id2"]). Delete by filter: memory_search first, collect ids, then delete.1 params
Delete memories by ID. Permanent. memory_delete(["id1","id2"]). Delete by filter: memory_search first, collect ids, then delete.
ids*arraymemory_consolidateCreate/replace a topic's executive summary. One per topic; replacing archives the old (restorable). WARNING: a bad summary poisons every future session. Do NOT consolidate from partial knowledge. BEFORE calling: (1) memory_deep_search the topic; (2) read 20+ memories, not prev...3 params
Create/replace a topic's executive summary. One per topic; replacing archives the old (restorable). WARNING: a bad summary poisons every future session. Do NOT consolidate from partial knowledge. BEFORE calling: (1) memory_deep_search the topic; (2) read 20+ memories, not prev...
collectionstringcontent*stringtopic*stringtask_feedRecently-changed tasks, chronological (not ranked). For "what needs attention?" / "what changed?". Find tasks by content -> memory_search. Each: preview, progress [done,total], status, topics, collection. Default 32, max 500. Fan-out: no collection -> personal + all your colle...5 params
Recently-changed tasks, chronological (not ranked). For "what needs attention?" / "what changed?". Find tasks by content -> memory_search. Each: preview, progress [done,total], status, topics, collection. Default 32, max 500. Fan-out: no collection -> personal + all your colle...
collectionstringlimitintegersincestringstatusstringpending · active · blocked · review · donetopicstringcollection_manageManage shared collections (multi-user memory folders). list: your collections + invites. create. update: rename (display only; slug/keys unchanged). delete: owner only, 2-step -- call without confirm to see impact + token, repeat with confirm:"<slug>". Permanent. members: who'...8 params
Manage shared collections (multi-user memory folders). list: your collections + invites. create. update: rename (display only; slug/keys unchanged). delete: owner only, 2-step -- call without confirm to see impact + token, repeat with confirm:"<slug>". Permanent. members: who'...
action*stringlist · create · update · delete · members · add_userconfirmstringmemory_idsarraynamestringnew_namestringrolestringadmin · member · readertypestringcollaborative · knowledge_packuserstringagent_manageManage agents (NAMESPACES under your account, sharing your token). An agent is a namespace, never a holder of key material: all crypto is the ACCOUNT's, and an agent id is never an input to a wrap, a seal or a KEK. Agents organise and scope what is visible; they do not own enc...11 params
Manage agents (NAMESPACES under your account, sharing your token). An agent is a namespace, never a holder of key material: all crypto is the ACCOUNT's, and an agent id is never an input to a wrap, a seal or a KEK. Agents organise and scope what is visible; they do not own enc...
action*stringlist · create · update · merge · deleteadd_collectionsarraycan_read_my_memoriesbooleancollectionsarrayconfirmstringfrom_agentstringnamestringowner_accessstringnone · reader · memberremove_collectionsarrayto_agentstringto_collectionstringsignalInter-agent signals -- sticky notes pointing at a memory_id. Both parties must share a collection. send: post to a teammate. check: read pending (removes nothing). ack: mark handled -- stamps delivered_at, the row stays, NOTHING IS DELETED. ACK MEANS CLOSED, NOT DONE: it asser...6 params
Inter-agent signals -- sticky notes pointing at a memory_id. Both parties must share a collection. send: post to a teammate. check: read pending (removes nothing). ack: mark handled -- stamps delivered_at, the row stays, NOTHING IS DELETED. ACK MEANS CLOSED, NOT DONE: it asser...
action*stringsend · check · ackcollectionstringexpires_hoursintegermemory_idsarrayrecipientstringsignal_idsarraymessageDirect inter-agent text that DIES ON ACK. Use for receipts, FYIs and short replies; use signal to point at a memory. send/check/ack. LOSABLE BY DESIGN: the first session of the recipient name to ack deletes it for every session of that name, an unacked message is deleted at ex...6 params
Direct inter-agent text that DIES ON ACK. Use for receipts, FYIs and short replies; use signal to point at a memory. send/check/ack. LOSABLE BY DESIGN: the first session of the recipient name to ack deletes it for every session of that name, an unacked message is deleted at ex...
action*stringsend · check · ackcollectionstringexpires_hoursintegermessage_idsarrayrecipientstringtextstringaccountAccount state + billing. Returns URLs only -- user clicks to pay; never charges silently. Pick by intent: "what plan am I on?" -> info (tier, subscription, capabilities, upgrade/downgrade SKUs; permanent tiers og/truebeliever/ogdev cannot downgrade) "what can I buy?" / "how mu...3 params
Account state + billing. Returns URLs only -- user clicks to pay; never charges silently. Pick by intent: "what plan am I on?" -> info (tier, subscription, capabilities, upgrade/downgrade SKUs; permanent tiers og/truebeliever/ogdev cannot downgrade) "what can I buy?" / "how mu...
action*stringinfo · plans · checkout · portal · donateamount_centsintegersku_idstringSponsors
Readme
Details
- Repository
- github.com/tekgnosis/gnosismemory
- Website
- gnosismemory.com
- Categories
- AI & LLM Tools, Search & Web Crawling
- Transport
- HTTP
- Registry
- MCP registry, active
- Tools verified
- Nov 6, 2026