@mnemoverse/mcp-memory-server 0.13.0 → 0.14.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/README.md CHANGED
@@ -297,13 +297,14 @@ If it doesn't remember: check that the client was fully restarted and the config
297
297
 
298
298
  ### Prompts
299
299
 
300
- Three named shortcuts for clients that show MCP prompts as commands (Claude Code as `/mcp__mnemoverse__<name>`). Each one only asks the model to use the tools above; none of them calls the API itself.
300
+ Four named prompts for clients that show MCP prompts as commands (Claude Code as `/mcp__mnemoverse__<name>`). None of them calls the API itself: three ask the model to use the tools above, and `setup_memory` hands you rules for your own agent.
301
301
 
302
302
  | Prompt | Arguments | What it asks for |
303
303
  |------|------|-------------|
304
304
  | `recall` | `topic` | Search memory for a topic with `memory_read` and summarize only what comes back |
305
305
  | `save_insight` | `insight`, optional `domain` | Store an insight with `memory_write` and confirm what was stored |
306
306
  | `what_do_you_know` | `subject` | A briefing from `memory_read` that flags what is not stored |
307
+ | `setup_memory` | optional `host`: `claude-code`, `claude-ai`, `cursor` or `codex` | Memory rules for CLAUDE.md, AGENTS.md, Cursor rules or your chat preferences, and where they go, so your assistant checks and saves memory without being reminded |
307
308
 
308
309
  ### Resources
309
310
 
@@ -441,7 +442,7 @@ The same memory, packaged for hosts that prefer a plugin or an extension over an
441
442
  ```
442
443
  - [Cursor plugin](https://github.com/mnemoverse/cursor-plugin) — same remote endpoint, same sign-in
443
444
  - [Gemini CLI extension](https://github.com/mnemoverse/gemini-extension) — same remote endpoint. `gemini extensions install https://github.com/mnemoverse/gemini-extension`
444
- - [VS Code extension](https://github.com/mnemoverse/mnemoverse-vscode) — signs in through the browser, with pasting a key kept as a fallback command
445
+ - VS Code extension ([VS Code Marketplace](https://marketplace.visualstudio.com/items?itemName=Mnemoverse.mnemoverse-vscode), [Open VSX](https://open-vsx.org/extension/mnemoverse/mnemoverse-vscode), [source](https://github.com/mnemoverse/mnemoverse-vscode)) — signs in through the browser, with pasting a key kept as a fallback command
445
446
  - Desktop extension: `manifest.json` in this repository is an MCPB manifest. This one is different from the four above: it runs the server as a local `node` process and reads `MNEMOVERSE_API_KEY` from the extension settings rather than calling the hosted endpoint. The packaged `.mcpb` ships with each release
446
447
 
447
448
  **Standing rules, separate from this server**
package/dist/prompts.d.ts CHANGED
@@ -1,5 +1,6 @@
1
1
  /**
2
- * MCP prompts: three named entry points to the memory tools.
2
+ * MCP prompts: three named entry points to the memory tools, and
3
+ * setup_memory, which hands the user rules for their own agent (2026-09-29).
3
4
  *
4
5
  * Clients that support the prompts capability show them as commands (Claude
5
6
  * Code as `/mcp__mnemoverse__<name>`, Claude.ai connectors in the slash menu).
@@ -19,7 +20,19 @@
19
20
  */
20
21
  import type { McpServer } from "@modelcontextprotocol/sdk/server/mcp.js";
21
22
  /**
22
- * Register the three memory prompts on `server`. They call nothing: each
23
- * renders a message that asks the model to use memory_read or memory_write.
23
+ * The rules setup_memory hands out. They carry what the server text no longer
24
+ * says (src/teaching.ts, product frame): when to read, when to write, when to
25
+ * rate. They are written for the user to place in their own agent's
26
+ * instructions, where a host loads them as the user's own rules at the start
27
+ * of every session. Exported so the docs and tests read one copy.
28
+ */
29
+ export declare const MEMORY_RULES: string;
30
+ /** Where the rules go, per host. `host` is matched after trimming and lowercasing. */
31
+ export declare const RULES_PLACES: Record<string, string>;
32
+ /**
33
+ * Register the memory prompts on `server`. They call nothing: recall,
34
+ * save_insight and what_do_you_know render a message that asks the model to
35
+ * use memory_read or memory_write; setup_memory renders the rules above with
36
+ * where they go.
24
37
  */
25
38
  export declare function registerMemoryPrompts(server: McpServer): void;
package/dist/prompts.js CHANGED
@@ -1,5 +1,6 @@
1
1
  /**
2
- * MCP prompts: three named entry points to the memory tools.
2
+ * MCP prompts: three named entry points to the memory tools, and
3
+ * setup_memory, which hands the user rules for their own agent (2026-09-29).
3
4
  *
4
5
  * Clients that support the prompts capability show them as commands (Claude
5
6
  * Code as `/mcp__mnemoverse__<name>`, Claude.ai connectors in the slash menu).
@@ -21,8 +22,32 @@ import { z } from "zod";
21
22
  import { ErrorCode, McpError } from "@modelcontextprotocol/sdk/types.js";
22
23
  import { exactLiteral, withDomainEscapeLegend } from "./names.js";
23
24
  /**
24
- * Register the three memory prompts on `server`. They call nothing: each
25
- * renders a message that asks the model to use memory_read or memory_write.
25
+ * The rules setup_memory hands out. They carry what the server text no longer
26
+ * says (src/teaching.ts, product frame): when to read, when to write, when to
27
+ * rate. They are written for the user to place in their own agent's
28
+ * instructions, where a host loads them as the user's own rules at the start
29
+ * of every session. Exported so the docs and tests read one copy.
30
+ */
31
+ export const MEMORY_RULES = [
32
+ "## Memory (Mnemoverse)",
33
+ "- Before answering something that may depend on an earlier session (my preferences, past decisions, project setup, people), search memory with memory_read.",
34
+ "- When I state a lasting preference or make a decision, or you learn a durable fact about this project, save it with memory_write as one self-contained statement. You do not need to ask me first.",
35
+ "- When a message also carries a durable fact (who now owns or does what, a lesson learned, a new convention), save that fact with memory_write before doing the rest of the task.",
36
+ "- After acting on recalled memories, rate them with memory_feedback: helpful or not. For a shared room's memories, pass the room's address as domain; a read-only member cannot rate them.",
37
+ "- Never store passwords, API keys, payment data, MFA codes, government IDs, or health records.",
38
+ ].join("\n");
39
+ /** Where the rules go, per host. `host` is matched after trimming and lowercasing. */
40
+ export const RULES_PLACES = {
41
+ "claude-code": "Claude Code: add them to CLAUDE.md in the project root, or to ~/.claude/CLAUDE.md to apply them in every project.",
42
+ "claude-ai": "Claude on the web, desktop or mobile: paste them into Instructions for Claude in Settings, or into a project's instructions.",
43
+ cursor: "Cursor: save them as a rule file in .cursor/rules/, for example mnemoverse-memory.mdc with alwaysApply: true.",
44
+ codex: "Codex and other agents that read AGENTS.md: add them to AGENTS.md in the project root.",
45
+ };
46
+ /**
47
+ * Register the memory prompts on `server`. They call nothing: recall,
48
+ * save_insight and what_do_you_know render a message that asks the model to
49
+ * use memory_read or memory_write; setup_memory renders the rules above with
50
+ * where they go.
26
51
  */
27
52
  export function registerMemoryPrompts(server) {
28
53
  server.registerPrompt("recall", {
@@ -106,5 +131,36 @@ export function registerMemoryPrompts(server) {
106
131
  },
107
132
  ],
108
133
  }));
134
+ server.registerPrompt("setup_memory", {
135
+ title: "Set up memory rules",
136
+ description: "Get memory rules to add to CLAUDE.md, AGENTS.md, Cursor rules or your chat preferences, so your assistant checks and saves memory without being reminded.",
137
+ argsSchema: {
138
+ host: z
139
+ .string()
140
+ .optional()
141
+ .describe("Where the rules will live: claude-code, claude-ai, cursor or codex. Leave empty to see every option."),
142
+ },
143
+ }, ({ host }) => {
144
+ const key = (host ?? "").trim().toLowerCase();
145
+ // Own keys only: a host of "constructor" or "__proto__" must not reach
146
+ // Object.prototype and print a function where a sentence belongs.
147
+ const place = Object.hasOwn(RULES_PLACES, key) ? RULES_PLACES[key] : undefined;
148
+ const where = place
149
+ ? place
150
+ : `Where they go:\n${Object.values(RULES_PLACES)
151
+ .map((line) => `- ${line}`)
152
+ .join("\n")}`;
153
+ const text = "Help me set up memory rules so you use my Mnemoverse memory on your own. " +
154
+ `These are the rules:\n\n${MEMORY_RULES}\n\n${where}\n\n` +
155
+ "Show me where they go, explain in two sentences why rules like these work better than asking in every chat, and offer to add them for me.";
156
+ return {
157
+ messages: [
158
+ {
159
+ role: "user",
160
+ content: { type: "text", text },
161
+ },
162
+ ],
163
+ };
164
+ });
109
165
  }
110
166
  //# sourceMappingURL=prompts.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"prompts.js","sourceRoot":"","sources":["../src/prompts.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;GAkBG;AAEH,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,OAAO,EAAE,SAAS,EAAE,QAAQ,EAAE,MAAM,oCAAoC,CAAC;AACzE,OAAO,EAAE,YAAY,EAAE,sBAAsB,EAAE,MAAM,YAAY,CAAC;AAElE;;;GAGG;AACH,MAAM,UAAU,qBAAqB,CAAC,MAAiB;IACrD,MAAM,CAAC,cAAc,CACnB,QAAQ,EACR;QACE,KAAK,EAAE,oBAAoB;QAC3B,WAAW,EAAE,6EAA6E;QAC1F,UAAU,EAAE;YACV,KAAK,EAAE,CAAC;iBACL,MAAM,EAAE;iBACR,IAAI,EAAE;iBACN,GAAG,CAAC,CAAC,CAAC;iBACN,QAAQ,CAAC,8DAA8D,CAAC;SAC5E;KACF,EACD,CAAC,EAAE,KAAK,EAAE,EAAE,EAAE,CAAC,CAAC;QACd,QAAQ,EAAE;YACR;gBACE,IAAI,EAAE,MAAe;gBACrB,OAAO,EAAE;oBACP,IAAI,EAAE,MAAe;oBACrB,IAAI,EAAE,oFAAoF,KAAK,4FAA4F;iBAC5L;aACF;SACF;KACF,CAAC,CACH,CAAC;IAEF,MAAM,CAAC,cAAc,CACnB,cAAc,EACd;QACE,KAAK,EAAE,2BAA2B;QAClC,WAAW,EAAE,6EAA6E;QAC1F,UAAU,EAAE;YACV,OAAO,EAAE,CAAC;iBACP,MAAM,EAAE;iBACR,IAAI,EAAE;iBACN,GAAG,CAAC,CAAC,CAAC;iBACN,QAAQ,CAAC,6CAA6C,CAAC;YAC1D,MAAM,EAAE,CAAC;iBACN,MAAM,EAAE;iBACR,QAAQ,EAAE;iBACV,QAAQ,CAAC,+DAA+D,CAAC;SAC7E;KACF,EACD,CAAC,EAAE,OAAO,EAAE,MAAM,EAAE,EAAE,EAAE;QACtB,yEAAyE;QACzE,sEAAsE;QACtE,qEAAqE;QACrE,sEAAsE;QACtE,mEAAmE;QACnE,uEAAuE;QACvE,kDAAkD;QAClD,IAAI,KAAK,GAAG,EAAE,CAAC;QACf,IAAI,MAAM,EAAE,CAAC;YACX,MAAM,KAAK,GAAG,YAAY,CAAC,MAAM,CAAC,CAAC;YACnC,IAAI,KAAK,KAAK,IAAI,EAAE,CAAC;gBACnB,MAAM,IAAI,QAAQ,CAChB,SAAS,CAAC,aAAa,EACvB,mGAAmG,CACpG,CAAC;YACJ,CAAC;YACD,KAAK,GAAG,qBAAqB,KAAK,CAAC,OAAO,EAAE,CAAC;QAC/C,CAAC;QACD,MAAM,IAAI,GAAG,yEAAyE,KAAK,MAAM,OAAO,0CAA0C,CAAC;QACnJ,OAAO;YACL,QAAQ,EAAE;gBACR;oBACE,IAAI,EAAE,MAAe;oBACrB,OAAO,EAAE;wBACP,IAAI,EAAE,MAAe;wBACrB,IAAI,EAAE,sBAAsB,CAAC,IAAI,EAAE,MAAM,CAAC;qBAC3C;iBACF;aACF;SACF,CAAC;IACJ,CAAC,CACF,CAAC;IAEF,MAAM,CAAC,cAAc,CACnB,kBAAkB,EAClB;QACE,KAAK,EAAE,yBAAyB;QAChC,WAAW,EAAE,2DAA2D;QACxE,UAAU,EAAE;YACV,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,IAAI,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,0BAA0B,CAAC;SACvE;KACF,EACD,CAAC,EAAE,OAAO,EAAE,EAAE,EAAE,CAAC,CAAC;QAChB,QAAQ,EAAE;YACR;gBACE,IAAI,EAAE,MAAe;gBACrB,OAAO,EAAE;oBACP,IAAI,EAAE,MAAe;oBACrB,IAAI,EAAE,mEAAmE,OAAO,6GAA6G;iBAC9L;aACF;SACF;KACF,CAAC,CACH,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"prompts.js","sourceRoot":"","sources":["../src/prompts.ts"],"names":[],"mappings":"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"}
@@ -3,11 +3,18 @@
3
3
  * how to USE this memory, kept in their own module so tests can import them
4
4
  * without booting the stdio server (src/index.ts starts a transport on import).
5
5
  *
6
- * Product frame (Eduard, 2026-08-01): the memory store belongs to THE AGENT,
7
- * not the user — so the guidance is active ("need it — go get it; learned
8
- * something — save it"), never gated on the user explicitly asking. Honesty
9
- * constraints stay: no over-claiming, and the never-store-secrets safety line
10
- * is kept on write surfaces.
6
+ * Product frame, first set 2026-08-01 and revised 2026-09-29: the guidance is
7
+ * never gated on the user explicitly asking, but it is also never a push. The
8
+ * Claude connector directory rejects descriptions that "tell Claude how to
9
+ * behave" or "direct Claude to pull behavioral instructions from external
10
+ * sources", and its submission form asks the publisher to confirm that "tool
11
+ * descriptions contain no instructions about model behavior, other tools, or
12
+ * external instruction sources". So this surface says what each tool does and
13
+ * when it applies, and proactivity lives in rules the user adds to their own
14
+ * agent: the setup_memory prompt (src/prompts.ts) renders them for CLAUDE.md,
15
+ * AGENTS.md, Cursor rules or a chat's preferences, and the host plugins carry
16
+ * the same skill. Honesty constraints stay: no over-claiming, and the
17
+ * never-store-secrets safety line is kept on write surfaces.
11
18
  */
12
19
  import type { ReadScope } from "./scope.js";
13
20
  /**
@@ -17,27 +24,26 @@ import type { ReadScope } from "./scope.js";
17
24
  * Constraints (tested in test/teaching-surface.test.ts):
18
25
  * - 500–800 chars; some clients (ChatGPT) weight the FIRST ~512 chars, so the
19
26
  * core habit (read before answering, write on learning) is front-loaded.
20
- * - Active polarity: no "only when the user explicitly asks" gating.
27
+ * - No brakes ("only when the user explicitly asks") and no pushes
28
+ * ("proactively", "always", "don't wait to be asked", "as a habit"):
29
+ * test/descriptions.test.ts bans both on every advertised surface.
30
+ * - Names the setup_memory prompt, the only pointer to guidance, and it points
31
+ * inside this server, never to a URL (2026-09-29).
21
32
  * - Mentions every tool family: read/write/stats/feedback, rooms, vault.
22
33
  * - No delete tool on this surface (2026-08-20): deletion was withdrawn to an
23
34
  * administrative REST-only operation, so the instructions point a model at
24
35
  * writing a corrected memory instead of asking to delete one.
25
36
  *
26
- * memory_graph (0.13): mentioning the eleventh tool here pushed the string
27
- * past 800 at 833 chars. Two sentences were shortened to make room, both
28
- * with margin under the cap left afterward (793 total) rather than trimmed to
29
- * the wire:
30
- * - the room sentence dropped its "(memory_list_rooms)" parenthetical —
31
- * that tool name is not one of the ones this file's own tests require
32
- * present (`test/descriptions.test.ts` pins
33
- * "...pass its address as domain" and "unscoped reads never cover rooms"
34
- * as two independent substrings, not the text between them, so removing
35
- * only the aside between those two anchors keeps both intact);
36
- * - "deletion is administrative, not a tool" lost its last three words —
37
- * the sentence still states the fact ("write a fresh one" and
38
- * "administrative" both survive, and both are separately asserted).
37
+ * 2026-09-29 rewrite (793 chars): the ownership and habit framing and "don't
38
+ * wait to be asked" are gone (see the product frame above); the text says what
39
+ * each tool family is for, and ends on the setup_memory prompt. To fit it under
40
+ * the cap, the room-tool sentence ("Rooms: memory_create_room,
41
+ * memory_invite_to_room, memory_join_room") and "deletion is administrative"
42
+ * were dropped: the room rule itself
43
+ * and "write a fresh one" are kept verbatim, and the fact that deletion is not
44
+ * a tool stays stated in memory_read's description and in the README.
39
45
  */
40
- export declare const SERVER_INSTRUCTIONS = "You own this long-term memory. It persists across sessions and every AI tool this user connects. Use it as a habit: memory_read before answering anything that may have come up; memory_write the moment you learn a durable fact, preference or decision \u2014 don't wait to be asked. Shared rooms are SEPARATE stores: to read one, pass its address as domain; unscoped reads never cover rooms. Rate recalls with memory_feedback; memory_stats shows counts; memory_list_recent is newest-first; memory_graph shows links. To correct a wrong memory, write a fresh one \u2014 deletion is administrative. Rooms: memory_create_room, memory_invite_to_room, memory_join_room. vault_list names secrets by alias, never values. Never store passwords, API keys, payment data, MFA codes, government IDs, or health records.";
46
+ export declare const SERVER_INSTRUCTIONS = "Long-term memory kept across sessions and AI tools on this account. memory_read searches earlier preferences, decisions and project context when an answer may depend on them. memory_write saves a durable fact, preference or decision. memory_list_recent is newest-first; memory_stats shows counts and domains; memory_feedback records which recalled memories helped an answer, which reorders later reads; memory_graph shows links. Shared rooms are SEPARATE stores: to read one, pass its address as domain; unscoped reads never cover rooms. To correct a memory, write a fresh one. vault_list names secrets by alias, never values. Never store passwords, API keys, payment data, MFA codes, government IDs, or health records. The setup_memory prompt explains memory rules for CLAUDE.md or AGENTS.md.";
41
47
  /** The pre-existing zero-result message — kept as the fail-open fallback. */
42
48
  export declare const NO_MATCH_MESSAGE = "No memories found for this query.";
43
49
  /** Hint for an UNSCOPED no-match against a non-empty store: widen the query.
@@ -87,8 +93,10 @@ export declare const EMPTY_PERSONAL_STORE_ROOMS_UNCHECKED = "Nothing in your own
87
93
  * First-contact greeting: shown ONLY when a read comes back empty, the personal
88
94
  * store holds zero memories, AND the room probe answered that there are no rooms
89
95
  * — i.e. the very first read of this account's life, established rather than
90
- * assumed. Seeds the ANSWER, not the store: one functional paragraph that says
91
- * what this store is, how to save the first memory, and one next step.
96
+ * assumed. Seeds the ANSWER, not the store: it says what this store is and
97
+ * how a memory gets into it. It states and does not instruct (2026-09-29):
98
+ * directory reviews treat instructions inside a tool result like instructions
99
+ * in a description.
92
100
  */
93
101
  export declare const EMPTY_STORE_WELCOME: string;
94
102
  /**
package/dist/teaching.js CHANGED
@@ -3,11 +3,18 @@
3
3
  * how to USE this memory, kept in their own module so tests can import them
4
4
  * without booting the stdio server (src/index.ts starts a transport on import).
5
5
  *
6
- * Product frame (Eduard, 2026-08-01): the memory store belongs to THE AGENT,
7
- * not the user — so the guidance is active ("need it — go get it; learned
8
- * something — save it"), never gated on the user explicitly asking. Honesty
9
- * constraints stay: no over-claiming, and the never-store-secrets safety line
10
- * is kept on write surfaces.
6
+ * Product frame, first set 2026-08-01 and revised 2026-09-29: the guidance is
7
+ * never gated on the user explicitly asking, but it is also never a push. The
8
+ * Claude connector directory rejects descriptions that "tell Claude how to
9
+ * behave" or "direct Claude to pull behavioral instructions from external
10
+ * sources", and its submission form asks the publisher to confirm that "tool
11
+ * descriptions contain no instructions about model behavior, other tools, or
12
+ * external instruction sources". So this surface says what each tool does and
13
+ * when it applies, and proactivity lives in rules the user adds to their own
14
+ * agent: the setup_memory prompt (src/prompts.ts) renders them for CLAUDE.md,
15
+ * AGENTS.md, Cursor rules or a chat's preferences, and the host plugins carry
16
+ * the same skill. Honesty constraints stay: no over-claiming, and the
17
+ * never-store-secrets safety line is kept on write surfaces.
11
18
  */
12
19
  /**
13
20
  * Server-level instructions, passed to the McpServer constructor and landed
@@ -16,27 +23,26 @@
16
23
  * Constraints (tested in test/teaching-surface.test.ts):
17
24
  * - 500–800 chars; some clients (ChatGPT) weight the FIRST ~512 chars, so the
18
25
  * core habit (read before answering, write on learning) is front-loaded.
19
- * - Active polarity: no "only when the user explicitly asks" gating.
26
+ * - No brakes ("only when the user explicitly asks") and no pushes
27
+ * ("proactively", "always", "don't wait to be asked", "as a habit"):
28
+ * test/descriptions.test.ts bans both on every advertised surface.
29
+ * - Names the setup_memory prompt, the only pointer to guidance, and it points
30
+ * inside this server, never to a URL (2026-09-29).
20
31
  * - Mentions every tool family: read/write/stats/feedback, rooms, vault.
21
32
  * - No delete tool on this surface (2026-08-20): deletion was withdrawn to an
22
33
  * administrative REST-only operation, so the instructions point a model at
23
34
  * writing a corrected memory instead of asking to delete one.
24
35
  *
25
- * memory_graph (0.13): mentioning the eleventh tool here pushed the string
26
- * past 800 at 833 chars. Two sentences were shortened to make room, both
27
- * with margin under the cap left afterward (793 total) rather than trimmed to
28
- * the wire:
29
- * - the room sentence dropped its "(memory_list_rooms)" parenthetical —
30
- * that tool name is not one of the ones this file's own tests require
31
- * present (`test/descriptions.test.ts` pins
32
- * "...pass its address as domain" and "unscoped reads never cover rooms"
33
- * as two independent substrings, not the text between them, so removing
34
- * only the aside between those two anchors keeps both intact);
35
- * - "deletion is administrative, not a tool" lost its last three words —
36
- * the sentence still states the fact ("write a fresh one" and
37
- * "administrative" both survive, and both are separately asserted).
36
+ * 2026-09-29 rewrite (793 chars): the ownership and habit framing and "don't
37
+ * wait to be asked" are gone (see the product frame above); the text says what
38
+ * each tool family is for, and ends on the setup_memory prompt. To fit it under
39
+ * the cap, the room-tool sentence ("Rooms: memory_create_room,
40
+ * memory_invite_to_room, memory_join_room") and "deletion is administrative"
41
+ * were dropped: the room rule itself
42
+ * and "write a fresh one" are kept verbatim, and the fact that deletion is not
43
+ * a tool stays stated in memory_read's description and in the README.
38
44
  */
39
- export const SERVER_INSTRUCTIONS = "You own this long-term memory. It persists across sessions and every AI tool this user connects. Use it as a habit: memory_read before answering anything that may have come up; memory_write the moment you learn a durable fact, preference or decision — don't wait to be asked. Shared rooms are SEPARATE stores: to read one, pass its address as domain; unscoped reads never cover rooms. Rate recalls with memory_feedback; memory_stats shows counts; memory_list_recent is newest-first; memory_graph shows links. To correct a wrong memory, write a fresh one — deletion is administrative. Rooms: memory_create_room, memory_invite_to_room, memory_join_room. vault_list names secrets by alias, never values. Never store passwords, API keys, payment data, MFA codes, government IDs, or health records.";
45
+ export const SERVER_INSTRUCTIONS = "Long-term memory kept across sessions and AI tools on this account. memory_read searches earlier preferences, decisions and project context when an answer may depend on them. memory_write saves a durable fact, preference or decision. memory_list_recent is newest-first; memory_stats shows counts and domains; memory_feedback records which recalled memories helped an answer, which reorders later reads; memory_graph shows links. Shared rooms are SEPARATE stores: to read one, pass its address as domain; unscoped reads never cover rooms. To correct a memory, write a fresh one. vault_list names secrets by alias, never values. Never store passwords, API keys, payment data, MFA codes, government IDs, or health records. The setup_memory prompt explains memory rules for CLAUDE.md or AGENTS.md.";
40
46
  /** The pre-existing zero-result message — kept as the fail-open fallback. */
41
47
  export const NO_MATCH_MESSAGE = "No memories found for this query.";
42
48
  /** Hint for an UNSCOPED no-match against a non-empty store: widen the query.
@@ -86,12 +92,14 @@ export const EMPTY_PERSONAL_STORE_ROOMS_UNCHECKED = "Nothing in your own domains
86
92
  * First-contact greeting: shown ONLY when a read comes back empty, the personal
87
93
  * store holds zero memories, AND the room probe answered that there are no rooms
88
94
  * — i.e. the very first read of this account's life, established rather than
89
- * assumed. Seeds the ANSWER, not the store: one functional paragraph that says
90
- * what this store is, how to save the first memory, and one next step.
95
+ * assumed. Seeds the ANSWER, not the store: it says what this store is and
96
+ * how a memory gets into it. It states and does not instruct (2026-09-29):
97
+ * directory reviews treat instructions inside a tool result like instructions
98
+ * in a description.
91
99
  */
92
100
  export const EMPTY_STORE_WELCOME = "Your long-term memory is empty — nothing has been saved yet, which is why this search returned nothing. " +
93
- "This store is your own persistent memory: whatever you save survives across sessions and across every AI tool this user has connected. " +
94
- 'Save the first memory now with memory_write, e.g. content: "User prefers TypeScript strict mode" — future sessions will recall it with memory_read.';
101
+ "Memories saved with memory_write persist across sessions and across every AI tool this user has connected, " +
102
+ 'and memory_read finds them later; a memory is a self-contained statement such as "User prefers TypeScript strict mode".';
95
103
  /**
96
104
  * Compile-time exhaustiveness. Adding a state to `RoomScope` / `NamedScope`
97
105
  * without answering for it here is a type error, which is the point: the state
@@ -1 +1 @@
1
- {"version":3,"file":"teaching.js","sourceRoot":"","sources":["../src/teaching.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"teaching.js","sourceRoot":"","sources":["../src/teaching.ts"],"names":[],"mappings":"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"}
package/dist/tools.js CHANGED
@@ -361,7 +361,7 @@ export function registerMemoryTools(server, deps) {
361
361
  }
362
362
  // --- Tool: memory_write ---
363
363
  server.registerTool("memory_write", {
364
- description: "Store a long-term memory that persists across sessions AND across every AI tool the user has connected to Mnemoverse (Claude, ChatGPT, Cursor, VS Code) — write once, recall everywhere. Call this PROACTIVELY the moment the user states a preference, makes a decision, or you learn a durable fact (people, roles, project setup, a lesson). Don't wait to be asked. Never store passwords, API keys, payment data, MFA codes, government IDs, or health records; skip transient chatter that only matters this turn. Behavior: an importance gate may filter low-value writes, so the result tells you whether the memory was stored or filtered. Write `content` as a self-contained statement that still makes sense when recalled out of context.",
364
+ description: "Store a long-term memory that persists across sessions and across every AI tool the user has connected to Mnemoverse (Claude, ChatGPT, Cursor, VS Code). Suited to durable information: a stated preference, a decision, a fact about people, roles or project setup, a lesson learned; transient chatter that only matters this turn does not belong here. Never store passwords, API keys, payment data, MFA codes, government IDs, or health records. Behavior: an importance gate may filter low-value writes, so the result tells you whether the memory was stored or filtered. Write `content` as a self-contained statement that still makes sense when recalled out of context.",
365
365
  inputSchema: {
366
366
  content: z
367
367
  .string()
@@ -414,7 +414,7 @@ export function registerMemoryTools(server, deps) {
414
414
  importance: z
415
415
  .number()
416
416
  .optional()
417
- .describe("Novelty score for this write (0-1): how much it adds over the nearest memories already saved in the same domain. A first-generation metric UNDER ACTIVE DEVELOPMENT and known to be unreliable — the same content has measured ~0.08 in Russian against ~0.55 in English, so it under-reads non-English text. It is not a verdict on whether the memory was worth keeping. Absent when the service sent no score."),
417
+ .describe("Novelty score for this write (0-1): how much it adds over the nearest memories already saved in the same domain. Outside shared rooms, a write that scores below the service's importance threshold is not stored, and `reason` says why when the service sends one. The score is approximate and can read lower for non-English text. It is not a verdict on whether the memory was worth keeping. Absent when the service sent no score."),
418
418
  },
419
419
  annotations: {
420
420
  title: "Store Memory",
@@ -604,11 +604,10 @@ export function registerMemoryTools(server, deps) {
604
604
  (reasonQuote ? ` Server reason: ${reasonQuote}.` : ``) +
605
605
  (importance === "unknown"
606
606
  ? ``
607
- : ` Novelty score ${importance}. That score is a first-generation` +
608
- ` metric under active development and known to be unreliable —` +
609
- ` identical content has measured ~0.08 in Russian against ~0.55 in` +
610
- ` English — so read it as a rough hint about similarity, not as a` +
611
- ` judgement of whether this memory was worth keeping.`) +
607
+ : ` Novelty score ${importance}. The score is approximate (it can` +
608
+ ` read lower for non-English text), so read it as a rough hint` +
609
+ ` about similarity, not as a judgement of whether this memory was` +
610
+ ` worth keeping.`) +
612
611
  (isRoomDomain(domain)
613
612
  ? // ROOM RULE (core#482, 2026-08-13). A room is a message bus:
614
613
  // the second agent's job is to receive a restatement of what
@@ -634,7 +633,7 @@ export function registerMemoryTools(server, deps) {
634
633
  });
635
634
  // --- Tool: memory_read ---
636
635
  server.registerTool("memory_read", {
637
- description: "Search your long-term memory before answering anything that may have come up before — user preferences, past decisions, project setup, people, or earlier context. This memory is shared: it persists across sessions and across every AI tool the user has connected (Claude, ChatGPT, Cursor, VS Code). ALWAYS check here first when you're unsure whether you already know something; no need to call it for general world knowledge you already hold. Returns matches ranked by relevance (or newest-first with order_by: 'recency'); each result carries an id you can pass to memory_feedback. A wrong or stale memory is corrected by writing a fresh one with memory_write, not by deleting it.",
636
+ description: "Search long-term memory for user preferences, past decisions, project setup, people, or earlier context. The memory persists across sessions and across every AI tool the user has connected (Claude, ChatGPT, Cursor, VS Code). It applies when an answer may depend on something from an earlier session or another tool; it is not needed for general world knowledge. Returns matches ranked by relevance (or newest-first with order_by: 'recency'); each result carries an id; after the answer, memory_feedback takes these ids to record which memories helped. A wrong or stale memory is corrected by writing a fresh one with memory_write, not by deleting it.",
638
637
  inputSchema: {
639
638
  query: z
640
639
  .string()
@@ -1294,7 +1293,7 @@ export function registerMemoryTools(server, deps) {
1294
1293
  // reads. Nothing time-decays and nothing is auto-deleted: a downvoted
1295
1294
  // memory is OUT-RANKED, and deletion has been administrative-only since
1296
1295
  // 0.9.0. The replacement is the wording that release put on the README.
1297
- "Report whether memories returned by memory_read were actually helpful. This is a learning signal, not a log: positive feedback raises a memory's ranking so it surfaces faster next time (across all of the user's tools), negative feedback lowers it so other memories out-rank it — nothing is erased and nothing decays with time. Call it right after you act on (or reject) recalled memories, passing the ids from the memory_read results as memory_ids. For memories read from a shared room, also pass that room's address as domain; your own memories need no domain. A read-only room member cannot rate the room's memories.",
1296
+ "Report whether memories returned by memory_read were actually helpful. This is a learning signal, not a log: positive feedback raises a memory's ranking so it surfaces faster next time (across all of the user's tools), negative feedback lowers it so other memories out-rank it — nothing is erased and nothing decays with time. Use it after an answer that relied on or rejected memories from memory_read: pass the ids of those memories as memory_ids, with outcome 1 when they helped and -1 when they were wrong or stale. For memories read from a shared room, also pass that room's address as domain; your own memories need no domain. A read-only room member cannot rate the room's memories.",
1298
1297
  // `memory_ids` is the name (2026-09-21): the tool rates memories, which
1299
1298
  // is what every result is (an atom is the engine's word for its smallest
1300
1299
  // unit), and the hosted connector already names the parameter so. The old
@@ -1352,7 +1351,7 @@ export function registerMemoryTools(server, deps) {
1352
1351
  .int()
1353
1352
  .nonnegative()
1354
1353
  .optional()
1355
- .describe(`Number of feedback-driven query/result concept co-activation edges changed by the service. This is separate from ordinary Hebbian strengthening among a memory's own concepts. ${serverNounCap} does not send query_concepts, so live calls through this tool report 0; asynchronous acknowledgements also report 0.`),
1354
+ .describe(`Number of links between query concepts and result concepts that this rating changed. ${serverNounCap} does not send query_concepts, so live calls through this tool report 0; asynchronous acknowledgements also report 0.`),
1356
1355
  },
1357
1356
  annotations: {
1358
1357
  title: "Rate Memory Helpfulness",
@@ -1601,7 +1600,7 @@ export function registerMemoryTools(server, deps) {
1601
1600
  });
1602
1601
  // --- Tool: memory_stats ---
1603
1602
  server.registerTool("memory_stats", {
1604
- description: "Get an overview of the stored memory: total count, episodes vs consolidated prototypes, number of learned associations, the list of domains, and average quality scores. This memory is shared across all AI tools the user has connected to Mnemoverse. Use it to orient yourself, to confirm the exact domain name before writing to it, or when the user asks what you remember. Read-only — changes nothing.",
1603
+ description: "Get an overview of the stored memory: total count, the number of learned concept associations, the list of domains, and average quality scores. This memory is shared across all AI tools the user has connected to Mnemoverse. Use it to orient yourself, to confirm the exact domain name before writing to it, or when the user asks what you remember. Read-only — changes nothing.",
1605
1604
  inputSchema: {},
1606
1605
  // `memory_count` and `domains` are copied from the connector's
1607
1606
  // `memoryStatsOutput` (mnemoverse-mcp-remote, src/tools/index.ts), field
@@ -1626,19 +1625,19 @@ export function registerMemoryTools(server, deps) {
1626
1625
  .int()
1627
1626
  .nonnegative()
1628
1627
  .optional()
1629
- .describe("Number of episodic (not yet consolidated) memories."),
1628
+ .describe("Number of individual memories (not merged into a summary)."),
1630
1629
  prototypes: z
1631
1630
  .number()
1632
1631
  .int()
1633
1632
  .nonnegative()
1634
1633
  .optional()
1635
- .describe("Number of consolidated prototype memories."),
1634
+ .describe("Number of summary memories merged from several individual ones. Consolidation is not running on the hosted service, so this count does not currently grow."),
1636
1635
  hebbian_edges: z
1637
1636
  .number()
1638
1637
  .int()
1639
1638
  .nonnegative()
1640
1639
  .optional()
1641
- .describe("Number of Hebbian concept-to-concept links, learned from concepts that occur together as memories are stored and used."),
1640
+ .describe("Number of learned concept-to-concept associations; memory_graph reads them."),
1642
1641
  avg_valence: z
1643
1642
  .number()
1644
1643
  .optional()
@@ -1712,16 +1711,10 @@ export function registerMemoryTools(server, deps) {
1712
1711
  const domains = formatDomainList(r?.domains);
1713
1712
  const text = [
1714
1713
  `Memories: ${num(r?.total_atoms)} (${num(r?.episodes)} episodes, ${num(r?.prototypes)} prototypes)`,
1715
- // The gloss names the real mechanism. Core's `hebbian_edges` counts
1716
- // concept-concept edges (api/schemas.py: "Number of Hebbian
1717
- // concept-concept edges"), and every path that learns one links two
1718
- // CONCEPTS: `strengthen` walks pairs within one atom's concept list at
1719
- // write time and again on feedback, `co_activate` links query concepts
1720
- // to result concepts on use. An earlier gloss said "links between
1721
- // memories that get used together" — wrong unit (memories, not
1722
- // concepts) and wrong trigger (an edge records co-occurrence, not two
1723
- // memories being used together).
1724
- `Associations: ${num(r?.hebbian_edges)} Hebbian edges — concept-to-concept links learned from concepts that occur together as memories are stored and used`,
1714
+ // The gloss says what is counted (associations between CONCEPTS, not
1715
+ // between memories; an earlier gloss got the unit wrong) and nothing
1716
+ // about how they form: that is the engine's business, not this line's.
1717
+ `Associations: ${num(r?.hebbian_edges)} learned concept links`,
1725
1718
  `Domains: ${domains}`,
1726
1719
  `Avg quality: valence ${dec(r?.avg_valence)} (how well recalls turned out, -1..1), importance ${dec(r?.avg_importance)} (0..1)`,
1727
1720
  "",
@@ -1839,7 +1832,7 @@ export function registerMemoryTools(server, deps) {
1839
1832
  // only when core actually returned a string for it.
1840
1833
  // --- Tool: memory_create_room ---
1841
1834
  server.registerTool("memory_create_room", {
1842
- description: "Create a SHARED memory room — a space OTHER people's assistants can read, and write too when their invite granted read_write (the default scope), across Claude/ChatGPT/Cursor. Use when the user wants to share context or collaborate with someone else (e.g. 'make a room for me and Olya'). Returns the room's address; pass that address as the `domain` on memory_write/memory_read to use it, and on memory_list_recent to catch up on what others added. To bring someone in, call memory_invite_to_room next.",
1835
+ description: "Create a SHARED memory room — a space OTHER people's assistants can read, and write too when their invite granted read_write (the default scope), across Claude/ChatGPT/Cursor. Use when the user wants to share context or collaborate with someone else (e.g. 'make a room for me and Olya'). Returns the room's address; pass that address as the `domain` on memory_write/memory_read to use it, and on memory_list_recent to catch up on what others added. People join through an invite minted with memory_invite_to_room.",
1843
1836
  inputSchema: {
1844
1837
  name: z
1845
1838
  .string()
@@ -1929,7 +1922,7 @@ export function registerMemoryTools(server, deps) {
1929
1922
  });
1930
1923
  // --- Tool: memory_invite_to_room ---
1931
1924
  server.registerTool("memory_invite_to_room", {
1932
- description: "Mint an invite for a room you own and get a ready-to-forward message. An invite is single-use by default; pass max_uses to let several people join with the same one. The user sends that message to the person they want to add (any messenger); the recipient opens the link or tells THEIR assistant the code to join. Use after memory_create_room, or whenever the user says 'invite <someone>' to an existing room.",
1925
+ description: "Mint an invite for a room you own and get a ready-to-forward message. An invite is single-use by default; pass max_uses to let several people join with the same one. The user sends that message to the person they want to add (any messenger); the recipient opens the link or tells THEIR assistant the code to join. Use when the user asks to invite someone to a room they own, including one just created with memory_create_room.",
1933
1926
  inputSchema: {
1934
1927
  room_id: z
1935
1928
  .string()
@@ -2064,7 +2057,7 @@ export function registerMemoryTools(server, deps) {
2064
2057
  });
2065
2058
  // --- Tool: memory_join_room ---
2066
2059
  server.registerTool("memory_join_room", {
2067
- description: "Join a shared memory room using an invite code (starts with 'mnvr_'). Use when the user pastes an invite code or says something like 'join room with code ...'. After joining, use the returned address as the `domain` on memory_read to read the shared room — the result tells you what you may do with it: memory_write to that address is only allowed when your membership scope is read_write; a read-only membership has that write refused; and when the server does not report a scope, whether memory_write would succeed is stated as unknown rather than promised either way.",
2060
+ description: "Join a shared memory room using an invite code (starts with 'mnvr_'). Use when the user pastes an invite code or says something like 'join room with code ...'. The result gives the room's address, which is the `domain` for reading the shared room with memory_read, and tells you what you may do with it: memory_write to that address is only allowed when your membership scope is read_write; a read-only membership has that write refused; and when the server does not report a scope, whether memory_write would succeed is stated as unknown rather than promised either way.",
2068
2061
  inputSchema: {
2069
2062
  code: z
2070
2063
  .string()
@@ -2485,7 +2478,7 @@ export function registerMemoryTools(server, deps) {
2485
2478
  });
2486
2479
  // --- Tool: memory_graph ---
2487
2480
  server.registerTool("memory_graph", {
2488
- description: "Reads the association edges around given concepts: which concepts the memory has linked together, with each link's weight, outcome valence and co-activation count. Use to inspect what a memory store has learned or to explain why a read expanded to a concept. Read-only.",
2481
+ description: "Reads the association edges around given concepts: which concepts the memory has linked together, with each link's weight, outcome valence and co-activation count. Use to inspect what a memory store has learned or to explain why a read expanded to a concept. Reads your own graph, or a shared room's when its address is passed as domain; any other domain value has no effect. At depth 2 or 3 the engine drops edges below weight 0.05 unless min_weight is set. Read-only.",
2489
2482
  inputSchema: {
2490
2483
  // Bounds come from CORE_LIMITS (src/limits.ts, ADR-025) EXCEPT the
2491
2484
  // per-seed 200-character cap: GraphRequestSchema.seeds.items carries
package/dist/tools.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"tools.js","sourceRoot":"","sources":["../src/tools.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"tools.js","sourceRoot":"","sources":["../src/tools.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@mnemoverse/mcp-memory-server",
3
- "version": "0.13.0",
3
+ "version": "0.14.0",
4
4
  "description": "Hosted AI agent memory over MCP that learns from outcomes — feedback re-ranks recall — with shared rooms for multi-agent work; one key or OAuth across Claude Code, Cursor, VS Code & ChatGPT, no infra to run",
5
5
  "type": "module",
6
6
  "bin": {
package/tools.json CHANGED
@@ -1,13 +1,13 @@
1
1
  {
2
2
  "$comment": "generated by scripts/generate-tools-manifest.mjs from the built server; do not edit",
3
3
  "name": "@mnemoverse/mcp-memory-server",
4
- "version": "0.13.0",
4
+ "version": "0.14.0",
5
5
  "count": 11,
6
6
  "tools": [
7
7
  {
8
8
  "name": "memory_create_room",
9
9
  "title": "Create shared room",
10
- "description": "Create a SHARED memory room — a space OTHER people's assistants can read, and write too when their invite granted read_write (the default scope), across Claude/ChatGPT/Cursor. Use when the user wants to share context or collaborate with someone else (e.g. 'make a room for me and Olya'). Returns the room's address; pass that address as the `domain` on memory_write/memory_read to use it, and on memory_list_recent to catch up on what others added. To bring someone in, call memory_invite_to_room next.",
10
+ "description": "Create a SHARED memory room — a space OTHER people's assistants can read, and write too when their invite granted read_write (the default scope), across Claude/ChatGPT/Cursor. Use when the user wants to share context or collaborate with someone else (e.g. 'make a room for me and Olya'). Returns the room's address; pass that address as the `domain` on memory_write/memory_read to use it, and on memory_list_recent to catch up on what others added. People join through an invite minted with memory_invite_to_room.",
11
11
  "annotations": {
12
12
  "title": "Create shared room",
13
13
  "readOnlyHint": false,
@@ -19,7 +19,7 @@
19
19
  {
20
20
  "name": "memory_feedback",
21
21
  "title": "Rate Memory Helpfulness",
22
- "description": "Report whether memories returned by memory_read were actually helpful. This is a learning signal, not a log: positive feedback raises a memory's ranking so it surfaces faster next time (across all of the user's tools), negative feedback lowers it so other memories out-rank it — nothing is erased and nothing decays with time. Call it right after you act on (or reject) recalled memories, passing the ids from the memory_read results as memory_ids. For memories read from a shared room, also pass that room's address as domain; your own memories need no domain. A read-only room member cannot rate the room's memories.",
22
+ "description": "Report whether memories returned by memory_read were actually helpful. This is a learning signal, not a log: positive feedback raises a memory's ranking so it surfaces faster next time (across all of the user's tools), negative feedback lowers it so other memories out-rank it — nothing is erased and nothing decays with time. Use it after an answer that relied on or rejected memories from memory_read: pass the ids of those memories as memory_ids, with outcome 1 when they helped and -1 when they were wrong or stale. For memories read from a shared room, also pass that room's address as domain; your own memories need no domain. A read-only room member cannot rate the room's memories.",
23
23
  "annotations": {
24
24
  "title": "Rate Memory Helpfulness",
25
25
  "readOnlyHint": false,
@@ -31,7 +31,7 @@
31
31
  {
32
32
  "name": "memory_graph",
33
33
  "title": "Association graph",
34
- "description": "Reads the association edges around given concepts: which concepts the memory has linked together, with each link's weight, outcome valence and co-activation count. Use to inspect what a memory store has learned or to explain why a read expanded to a concept. Read-only.",
34
+ "description": "Reads the association edges around given concepts: which concepts the memory has linked together, with each link's weight, outcome valence and co-activation count. Use to inspect what a memory store has learned or to explain why a read expanded to a concept. Reads your own graph, or a shared room's when its address is passed as domain; any other domain value has no effect. At depth 2 or 3 the engine drops edges below weight 0.05 unless min_weight is set. Read-only.",
35
35
  "annotations": {
36
36
  "title": "Association graph",
37
37
  "readOnlyHint": true,
@@ -43,7 +43,7 @@
43
43
  {
44
44
  "name": "memory_invite_to_room",
45
45
  "title": "Invite to room",
46
- "description": "Mint an invite for a room you own and get a ready-to-forward message. An invite is single-use by default; pass max_uses to let several people join with the same one. The user sends that message to the person they want to add (any messenger); the recipient opens the link or tells THEIR assistant the code to join. Use after memory_create_room, or whenever the user says 'invite <someone>' to an existing room.",
46
+ "description": "Mint an invite for a room you own and get a ready-to-forward message. An invite is single-use by default; pass max_uses to let several people join with the same one. The user sends that message to the person they want to add (any messenger); the recipient opens the link or tells THEIR assistant the code to join. Use when the user asks to invite someone to a room they own, including one just created with memory_create_room.",
47
47
  "annotations": {
48
48
  "title": "Invite to room",
49
49
  "readOnlyHint": false,
@@ -55,7 +55,7 @@
55
55
  {
56
56
  "name": "memory_join_room",
57
57
  "title": "Join room",
58
- "description": "Join a shared memory room using an invite code (starts with 'mnvr_'). Use when the user pastes an invite code or says something like 'join room with code ...'. After joining, use the returned address as the `domain` on memory_read to read the shared room — the result tells you what you may do with it: memory_write to that address is only allowed when your membership scope is read_write; a read-only membership has that write refused; and when the server does not report a scope, whether memory_write would succeed is stated as unknown rather than promised either way.",
58
+ "description": "Join a shared memory room using an invite code (starts with 'mnvr_'). Use when the user pastes an invite code or says something like 'join room with code ...'. The result gives the room's address, which is the `domain` for reading the shared room with memory_read, and tells you what you may do with it: memory_write to that address is only allowed when your membership scope is read_write; a read-only membership has that write refused; and when the server does not report a scope, whether memory_write would succeed is stated as unknown rather than promised either way.",
59
59
  "annotations": {
60
60
  "title": "Join room",
61
61
  "readOnlyHint": false,
@@ -91,7 +91,7 @@
91
91
  {
92
92
  "name": "memory_read",
93
93
  "title": "Search Memories",
94
- "description": "Search your long-term memory before answering anything that may have come up before — user preferences, past decisions, project setup, people, or earlier context. This memory is shared: it persists across sessions and across every AI tool the user has connected (Claude, ChatGPT, Cursor, VS Code). ALWAYS check here first when you're unsure whether you already know something; no need to call it for general world knowledge you already hold. Returns matches ranked by relevance (or newest-first with order_by: 'recency'); each result carries an id you can pass to memory_feedback. A wrong or stale memory is corrected by writing a fresh one with memory_write, not by deleting it.",
94
+ "description": "Search long-term memory for user preferences, past decisions, project setup, people, or earlier context. The memory persists across sessions and across every AI tool the user has connected (Claude, ChatGPT, Cursor, VS Code). It applies when an answer may depend on something from an earlier session or another tool; it is not needed for general world knowledge. Returns matches ranked by relevance (or newest-first with order_by: 'recency'); each result carries an id; after the answer, memory_feedback takes these ids to record which memories helped. A wrong or stale memory is corrected by writing a fresh one with memory_write, not by deleting it.",
95
95
  "annotations": {
96
96
  "title": "Search Memories",
97
97
  "readOnlyHint": true,
@@ -103,7 +103,7 @@
103
103
  {
104
104
  "name": "memory_stats",
105
105
  "title": "Memory Statistics",
106
- "description": "Get an overview of the stored memory: total count, episodes vs consolidated prototypes, number of learned associations, the list of domains, and average quality scores. This memory is shared across all AI tools the user has connected to Mnemoverse. Use it to orient yourself, to confirm the exact domain name before writing to it, or when the user asks what you remember. Read-only — changes nothing.",
106
+ "description": "Get an overview of the stored memory: total count, the number of learned concept associations, the list of domains, and average quality scores. This memory is shared across all AI tools the user has connected to Mnemoverse. Use it to orient yourself, to confirm the exact domain name before writing to it, or when the user asks what you remember. Read-only — changes nothing.",
107
107
  "annotations": {
108
108
  "title": "Memory Statistics",
109
109
  "readOnlyHint": true,
@@ -115,7 +115,7 @@
115
115
  {
116
116
  "name": "memory_write",
117
117
  "title": "Store Memory",
118
- "description": "Store a long-term memory that persists across sessions AND across every AI tool the user has connected to Mnemoverse (Claude, ChatGPT, Cursor, VS Code) — write once, recall everywhere. Call this PROACTIVELY the moment the user states a preference, makes a decision, or you learn a durable fact (people, roles, project setup, a lesson). Don't wait to be asked. Never store passwords, API keys, payment data, MFA codes, government IDs, or health records; skip transient chatter that only matters this turn. Behavior: an importance gate may filter low-value writes, so the result tells you whether the memory was stored or filtered. Write `content` as a self-contained statement that still makes sense when recalled out of context.",
118
+ "description": "Store a long-term memory that persists across sessions and across every AI tool the user has connected to Mnemoverse (Claude, ChatGPT, Cursor, VS Code). Suited to durable information: a stated preference, a decision, a fact about people, roles or project setup, a lesson learned; transient chatter that only matters this turn does not belong here. Never store passwords, API keys, payment data, MFA codes, government IDs, or health records. Behavior: an importance gate may filter low-value writes, so the result tells you whether the memory was stored or filtered. Write `content` as a self-contained statement that still makes sense when recalled out of context.",
119
119
  "annotations": {
120
120
  "title": "Store Memory",
121
121
  "readOnlyHint": false,