@t0ken.ai/memoryx-mcp-server 2.0.0 → 2.0.2

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
@@ -1,29 +1,33 @@
1
1
  # MemoryX MCP Server
2
2
 
3
- MemoryX MCP Server 用于 CursorVS CodeClaude Desktop MCP 客户端。
3
+ MemoryX MCP Server for Cursor, VS Code, Claude Desktop and other MCP clients.
4
4
 
5
- ## 功能
5
+ Powered by **@t0ken.ai/memoryx-sdk**
6
6
 
7
- - **save_memory**: 保存重要信息到记忆系统
8
- - **search_memory**: 搜索历史记忆
9
- - **get_account_info**: 获取账户信息
7
+ ## Features
10
8
 
11
- ## 特点
9
+ - **save_memory**: Save important information to memory system
10
+ - **search_memory**: Search historical memories
11
+ - **get_account_info**: Get account information
12
12
 
13
- - 本地 SQLite 队列存储
14
- - 按 conversation 分组批量发送
15
- - 自动重试机制
16
- - 离线支持
13
+ ## Characteristics
17
14
 
18
- ## 安装
15
+ - Based on @t0ken.ai/memoryx-sdk
16
+ - MCP mode: LLM summarizes and sends single memory additions
17
+ - Server extracts entities directly without LLM summarization
18
+ - Trigger: 20k tokens or 1 minute idle
19
+ - Automatic retry mechanism
20
+ - Offline support
19
21
 
20
- ### 方式一:NPM 安装
22
+ ## Installation
23
+
24
+ ### Option 1: NPM Install
21
25
 
22
26
  ```bash
23
- npm install -g @t0ken/memoryx-mcp-server
27
+ npm install -g @t0ken.ai/memoryx-mcp-server
24
28
  ```
25
29
 
26
- ### 方式二:从源码安装
30
+ ### Option 2: Install from Source
27
31
 
28
32
  ```bash
29
33
  cd plugins/memoryx-mcp-server
@@ -32,11 +36,11 @@ npm run build
32
36
  npm link
33
37
  ```
34
38
 
35
- ## 配置
39
+ ## Configuration
36
40
 
37
41
  ### Cursor / VS Code
38
42
 
39
- `~/.cursor/mcp.json` VS Code MCP 配置中添加:
43
+ Add to `~/.cursor/mcp.json` or VS Code MCP config:
40
44
 
41
45
  ```json
42
46
  {
@@ -54,7 +58,7 @@ npm link
54
58
 
55
59
  ### Claude Desktop
56
60
 
57
- Claude Desktop 配置文件中添加:
61
+ Add to Claude Desktop config file:
58
62
 
59
63
  **macOS**: `~/Library/Application Support/Claude/claude_desktop_config.json`
60
64
  **Windows**: `%APPDATA%\Claude\claude_desktop_config.json`
@@ -72,49 +76,31 @@ npm link
72
76
  }
73
77
  ```
74
78
 
75
- ## 使用
76
-
77
- ### 自动注册
79
+ ## Usage
78
80
 
79
- 如果没有提供 API Key,MCP Server 会自动注册并生成一个。
81
+ ### Auto Registration
80
82
 
81
- ### 手动绑定
83
+ If no API Key is provided, MCP Server will auto-register and generate one.
82
84
 
83
- 1. 访问 https://t0ken.ai/portal
84
- 2. 登录后复制 API Key
85
- 3. 配置到环境变量 `MEMORYX_API_KEY`
85
+ ### Manual Binding
86
86
 
87
- ## 本地存储
87
+ 1. Visit https://t0ken.ai/portal
88
+ 2. Login and copy API Key
89
+ 3. Configure environment variable `MEMORYX_API_KEY`
88
90
 
89
- 数据存储在 `~/.memoryx/mcp-server/` 目录:
91
+ ## Local Storage
90
92
 
91
- - `memoryx.db` - SQLite 数据库(消息队列)
92
- - `mcp-server.log` - 日志文件
93
+ Data is stored in `~/.memoryx/mcp-server/` directory.
93
94
 
94
- ## 架构
95
+ ## MCP Mode vs OpenClaw Conversation Mode
95
96
 
96
- ```
97
- ┌─────────────────────────────────────────────────────────────┐
98
- │ MCP Server 架构 │
99
- ├─────────────────────────────────────────────────────────────┤
100
- │ │
101
- │ save_memory ──→ SQLite 本地队列 ──→ 定时批量发送 ──→ API │
102
- │ │
103
- │ ┌─────────────┐ ┌──────────────┐ ┌───────────────┐ │
104
- │ │ MCP Tools │───→│ send_queue │───→│ /conversations│ │
105
- │ │ │ │ 表 │ │ /flush │ │
106
- │ └─────────────┘ └──────────────┘ └───────────────┘ │
107
- │ │
108
- │ 特点: │
109
- │ • 每条消息先存本地 SQLite │
110
- │ • 按 conversation_id 分组 │
111
- │ • 2 轮对话后触发发送 │
112
- │ • 定时器每 5 秒检查队列 │
113
- │ • 失败重试最多 5 次 │
114
- │ │
115
- └─────────────────────────────────────────────────────────────┘
116
- ```
97
+ | Feature | MCP Server | OpenClaw Plugin |
98
+ |---------|------------|-----------------|
99
+ | Data Source | LLM summarized single additions | Bidirectional conversation flow |
100
+ | Server Processing | Direct entity extraction | LLM summarization then extraction |
101
+ | Trigger Mechanism | 20k tokens / 1 min idle | 30k tokens / 5 min idle |
102
+ | Use Case | Cursor/Claude Desktop | OpenClaw Gateway |
117
103
 
118
104
  ## License
119
105
 
120
- MIT
106
+ MIT
package/dist/index.d.ts CHANGED
@@ -4,8 +4,12 @@
4
4
  *
5
5
  * Powered by @t0ken.ai/memoryx-sdk
6
6
  *
7
+ * MCP mode (different from OpenClaw conversation flow):
8
+ * - LLM summarizes and sends single memory additions
9
+ * - Server extracts entities directly without LLM summarization
10
+ * - Trigger: 20k tokens or 1 minute idle
11
+ *
7
12
  * Features:
8
- * - conversation preset (30k tokens / 5min idle)
9
13
  * - Lazy SDK initialization
10
14
  * - Automatic memory batching and retry
11
15
  */
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";AAEA;;;;;;;;;GASG"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";AAEA;;;;;;;;;;;;;GAaG"}
package/dist/index.js CHANGED
@@ -5,8 +5,12 @@
5
5
  *
6
6
  * Powered by @t0ken.ai/memoryx-sdk
7
7
  *
8
+ * MCP mode (different from OpenClaw conversation flow):
9
+ * - LLM summarizes and sends single memory additions
10
+ * - Server extracts entities directly without LLM summarization
11
+ * - Trigger: 20k tokens or 1 minute idle
12
+ *
8
13
  * Features:
9
- * - conversation preset (30k tokens / 5min idle)
10
14
  * - Lazy SDK initialization
11
15
  * - Automatic memory batching and retry
12
16
  */
@@ -69,16 +73,21 @@ async function getSDK() {
69
73
  // Get env config
70
74
  const envApiKey = process.env.MEMORYX_API_KEY || process.env.OPENMEMORYX_API_KEY;
71
75
  const envApiUrl = process.env.MEMORYX_URL || process.env.OPENMEMORYX_URL;
72
- // Use conversation preset: maxTokens: 30000, intervalMs: 300000 (5 min)
76
+ // MCP Server uses LLM-summarized single additions (not conversation flow)
77
+ // Server extracts entities directly without LLM summarization
78
+ // Trigger: 20k tokens or 1 minute idle
73
79
  sdkInstance = new MemoryXSDK({
74
- preset: 'conversation',
80
+ strategy: {
81
+ maxTokens: 20000,
82
+ intervalMs: 60000 // 1 minute idle
83
+ },
75
84
  apiKey: envApiKey || undefined,
76
85
  apiUrl: envApiUrl || DEFAULT_API_BASE,
77
86
  autoRegister: !envApiKey,
78
87
  agentType: 'mcp',
79
88
  storageDir: PLUGIN_DIR
80
89
  });
81
- log("SDK initialized with conversation preset (30k tokens / 5min idle)");
90
+ log("SDK initialized (20k tokens / 1min idle - MCP mode)");
82
91
  return sdkInstance;
83
92
  })();
84
93
  return sdkInitPromise;
@@ -141,8 +150,8 @@ async function getAccountInfo() {
141
150
  const stats = await sdk.getQueueStats();
142
151
  return {
143
152
  apiKey: info?.apiKey ? `${info.apiKey.slice(0, 8)}...` : null,
144
- projectId: info?.projectId || "default",
145
- userId: info?.userId || null,
153
+ agentId: info?.agentId || null,
154
+ agentType: info?.quota?.agent_type || null,
146
155
  queueLength: stats.messageCount
147
156
  };
148
157
  }
@@ -150,8 +159,8 @@ async function getAccountInfo() {
150
159
  log(`getAccountInfo failed: ${e}`);
151
160
  return {
152
161
  apiKey: null,
153
- projectId: "default",
154
- userId: null,
162
+ agentId: null,
163
+ agentType: null,
155
164
  queueLength: 0
156
165
  };
157
166
  }
@@ -170,17 +179,17 @@ server.setRequestHandler(types_js_1.ListToolsRequestSchema, async () => {
170
179
  tools: [
171
180
  {
172
181
  name: "save_memory",
173
- description: "保存重要信息到记忆系统。当用户提到偏好、习惯、项目信息、重要决定等值得记住的内容时调用。",
182
+ description: "Save information to long-term memory. ALWAYS call when: (1) User explicitly says 'remember', 'note this', 'don't forget'; (2) User corrects your error; (3) User expresses preferences (I like/hate/usually...); (4) User mentions important experiences or future plans; (5) End of conversation - generate a 100-word summary of key points. Categories (use in metadata.category): semantic (facts, preferences), episodic (events, experiences), procedural (skills, how-to), emotional (feelings), reflective (insights, lessons).",
174
183
  inputSchema: {
175
184
  type: "object",
176
185
  properties: {
177
186
  content: {
178
187
  type: "string",
179
- description: "要记住的内容"
188
+ description: "Content to remember. For end-of-conversation summaries, keep within 100 words."
180
189
  },
181
190
  metadata: {
182
191
  type: "object",
183
- description: "可选的元数据,如分类、标签等"
192
+ description: "Optional metadata. Supported fields: category (semantic/episodic/procedural/emotional/reflective), tags (array of strings)"
184
193
  }
185
194
  },
186
195
  required: ["content"]
@@ -188,17 +197,17 @@ server.setRequestHandler(types_js_1.ListToolsRequestSchema, async () => {
188
197
  },
189
198
  {
190
199
  name: "search_memory",
191
- description: "搜索历史记忆。在回答用户问题前调用,获取相关的记忆上下文。",
200
+ description: "Search historical memories. ALWAYS call BEFORE responding to: user questions about preferences/history, topics relating to past conversations, any personalized response. Workflow: search → review results → generate informed response.",
192
201
  inputSchema: {
193
202
  type: "object",
194
203
  properties: {
195
204
  query: {
196
205
  type: "string",
197
- description: "搜索关键词或问题"
206
+ description: "Search keywords or natural language question"
198
207
  },
199
208
  limit: {
200
209
  type: "number",
201
- description: "返回结果数量,默认5",
210
+ description: "Number of results to return, default 5",
202
211
  default: 5
203
212
  }
204
213
  },
@@ -207,7 +216,7 @@ server.setRequestHandler(types_js_1.ListToolsRequestSchema, async () => {
207
216
  },
208
217
  {
209
218
  name: "get_account_info",
210
- description: "获取当前 MemoryX 账户信息,包括 API Key、Project ID 和队列状态。",
219
+ description: "Get current MemoryX account info including API Key, Agent ID, and queue status.",
211
220
  inputSchema: {
212
221
  type: "object",
213
222
  properties: {}
@@ -266,7 +275,7 @@ server.setRequestHandler(types_js_1.ListResourcesRequestSchema, async () => {
266
275
  {
267
276
  uri: "memoryx://status",
268
277
  name: "MemoryX Status",
269
- description: "当前 MemoryX 连接状态和队列信息",
278
+ description: "Current MemoryX connection status and queue info",
270
279
  mimeType: "application/json"
271
280
  }
272
281
  ]
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;AAEA;;;;;;;;;;;;;GAaG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAEH,wEAAmE;AACnE,wEAAiF;AACjF,iEAK4C;AAC5C,2CAA6B;AAC7B,uCAAyB;AAEzB,MAAM,gBAAgB,GAAG,sBAAsB,CAAC;AAChD,MAAM,UAAU,GAAG,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,OAAO,EAAE,EAAE,UAAU,EAAE,YAAY,CAAC,CAAC;AAErE,2BAA2B;AAC3B,IAAI,WAAW,GAAQ,IAAI,CAAC;AAC5B,IAAI,cAAc,GAAwB,IAAI,CAAC;AAE/C,SAAS,GAAG,CAAC,OAAe;IAC1B,MAAM,SAAS,GAAG,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;IAC3C,OAAO,CAAC,KAAK,CAAC,iBAAiB,SAAS,IAAI,OAAO,EAAE,CAAC,CAAC;AACzD,CAAC;AAED,KAAK,UAAU,MAAM;IACnB,IAAI,WAAW;QAAE,OAAO,WAAW,CAAC;IAEpC,IAAI,cAAc;QAAE,OAAO,cAAc,CAAC;IAE1C,cAAc,GAAG,CAAC,KAAK,IAAI,EAAE;QAC3B,qBAAqB;QACrB,MAAM,EAAE,UAAU,EAAE,GAAG,wDAAa,uBAAuB,GAAC,CAAC;QAE7D,iBAAiB;QACjB,MAAM,SAAS,GAAG,OAAO,CAAC,GAAG,CAAC,eAAe,IAAI,OAAO,CAAC,GAAG,CAAC,mBAAmB,CAAC;QACjF,MAAM,SAAS,GAAG,OAAO,CAAC,GAAG,CAAC,WAAW,IAAI,OAAO,CAAC,GAAG,CAAC,eAAe,CAAC;QAEzE,0EAA0E;QAC1E,8DAA8D;QAC9D,uCAAuC;QACvC,WAAW,GAAG,IAAI,UAAU,CAAC;YAC3B,QAAQ,EAAE;gBACR,SAAS,EAAE,KAAK;gBAChB,UAAU,EAAE,KAAK,CAAE,gBAAgB;aACpC;YACD,MAAM,EAAE,SAAS,IAAI,SAAS;YAC9B,MAAM,EAAE,SAAS,IAAI,gBAAgB;YACrC,YAAY,EAAE,CAAC,SAAS;YACxB,SAAS,EAAE,KAAK;YAChB,UAAU,EAAE,UAAU;SACvB,CAAC,CAAC;QAEH,GAAG,CAAC,qDAAqD,CAAC,CAAC;QAC3D,OAAO,WAAW,CAAC;IACrB,CAAC,CAAC,EAAE,CAAC;IAEL,OAAO,cAAc,CAAC;AACxB,CAAC;AAED,KAAK,UAAU,UAAU,CAAC,OAAe,EAAE,WAAgC,EAAE;IAC3E,IAAI,CAAC,OAAO,IAAI,OAAO,CAAC,IAAI,EAAE,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAC1C,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,mBAAmB,EAAE,MAAM,EAAE,CAAC,EAAE,CAAC;IACrE,CAAC;IAED,MAAM,YAAY,GAAG;QACnB,mCAAmC;QACnC,qBAAqB;KACtB,CAAC;IAEF,KAAK,MAAM,OAAO,IAAI,YAAY,EAAE,CAAC;QACnC,IAAI,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC,EAAE,CAAC;YACjC,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,0BAA0B,EAAE,MAAM,EAAE,CAAC,EAAE,CAAC;QAC5E,CAAC;IACH,CAAC;IAED,IAAI,CAAC;QACH,MAAM,GAAG,GAAG,MAAM,MAAM,EAAE,CAAC;QAC3B,MAAM,GAAG,CAAC,SAAS,CAAC,OAAO,CAAC,IAAI,EAAE,EAAE,QAAQ,CAAC,CAAC;QAC9C,MAAM,KAAK,GAAG,MAAM,GAAG,CAAC,aAAa,EAAE,CAAC;QAExC,OAAO;YACL,OAAO,EAAE,IAAI;YACb,OAAO,EAAE,8BAA8B;YACvC,MAAM,EAAE,KAAK,CAAC,YAAY;SAC3B,CAAC;IACJ,CAAC;IAAC,OAAO,CAAC,EAAE,CAAC;QACX,GAAG,CAAC,sBAAsB,CAAC,EAAE,CAAC,CAAC;QAC/B,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,MAAM,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,CAAC;IAC3D,CAAC;AACH,CAAC;AAED,KAAK,UAAU,YAAY,CAAC,KAAa,EAAE,QAAgB,CAAC;IAM1D,IAAI,CAAC,KAAK,IAAI,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAC/B,OAAO,EAAE,QAAQ,EAAE,EAAE,EAAE,SAAS,EAAE,KAAK,EAAE,cAAc,EAAE,CAAC,EAAE,CAAC;IAC/D,CAAC;IAED,IAAI,CAAC;QACH,MAAM,GAAG,GAAG,MAAM,MAAM,EAAE,CAAC;QAC3B,MAAM,MAAM,GAAG,MAAM,GAAG,CAAC,MAAM,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC;QAE9C,OAAO;YACL,QAAQ,EAAE,CAAC,MAAM,CAAC,IAAI,IAAI,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAM,EAAE,EAAE,CAAC,CAAC;gBAC7C,EAAE,EAAE,CAAC,CAAC,EAAE;gBACR,OAAO,EAAE,CAAC,CAAC,MAAM,IAAI,CAAC,CAAC,OAAO;gBAC9B,QAAQ,EAAE,CAAC,CAAC,QAAQ,IAAI,OAAO;gBAC/B,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,GAAG;aACtB,CAAC,CAAC;YACH,SAAS,EAAE,KAAK;YAChB,cAAc,EAAE,MAAM,CAAC,eAAe,IAAI,CAAC,CAAC;SAC7C,CAAC;IACJ,CAAC;IAAC,OAAO,CAAC,EAAE,CAAC;QACX,GAAG,CAAC,wBAAwB,CAAC,EAAE,CAAC,CAAC;QACjC,OAAO,EAAE,QAAQ,EAAE,EAAE,EAAE,SAAS,EAAE,KAAK,EAAE,cAAc,EAAE,CAAC,EAAE,CAAC;IAC/D,CAAC;AACH,CAAC;AAED,KAAK,UAAU,cAAc;IAM3B,IAAI,CAAC;QACH,MAAM,GAAG,GAAG,MAAM,MAAM,EAAE,CAAC;QAC3B,MAAM,IAAI,GAAG,MAAM,GAAG,CAAC,cAAc,EAAE,CAAC;QACxC,MAAM,KAAK,GAAG,MAAM,GAAG,CAAC,aAAa,EAAE,CAAC;QAExC,OAAO;YACL,MAAM,EAAE,IAAI,EAAE,MAAM,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI;YAC7D,OAAO,EAAE,IAAI,EAAE,OAAO,IAAI,IAAI;YAC9B,SAAS,EAAE,IAAI,EAAE,KAAK,EAAE,UAAU,IAAI,IAAI;YAC1C,WAAW,EAAE,KAAK,CAAC,YAAY;SAChC,CAAC;IACJ,CAAC;IAAC,OAAO,CAAC,EAAE,CAAC;QACX,GAAG,CAAC,0BAA0B,CAAC,EAAE,CAAC,CAAC;QACnC,OAAO;YACL,MAAM,EAAE,IAAI;YACZ,OAAO,EAAE,IAAI;YACb,SAAS,EAAE,IAAI;YACf,WAAW,EAAE,CAAC;SACf,CAAC;IACJ,CAAC;AACH,CAAC;AAED,MAAM,MAAM,GAAG,IAAI,iBAAM,CACvB;IACE,IAAI,EAAE,oBAAoB;IAC1B,OAAO,EAAE,OAAO;CACjB,EACD;IACE,YAAY,EAAE;QACZ,KAAK,EAAE,EAAE;QACT,SAAS,EAAE,EAAE;KACd;CACF,CACF,CAAC;AAEF,MAAM,CAAC,iBAAiB,CAAC,iCAAsB,EAAE,KAAK,IAAI,EAAE;IAC1D,OAAO;QACL,KAAK,EAAE;YACL;gBACE,IAAI,EAAE,aAAa;gBACnB,WAAW,EAAE,ygBAAygB;gBACthB,WAAW,EAAE;oBACX,IAAI,EAAE,QAAQ;oBACd,UAAU,EAAE;wBACV,OAAO,EAAE;4BACP,IAAI,EAAE,QAAQ;4BACd,WAAW,EAAE,gFAAgF;yBAC9F;wBACD,QAAQ,EAAE;4BACR,IAAI,EAAE,QAAQ;4BACd,WAAW,EAAE,4HAA4H;yBAC1I;qBACF;oBACD,QAAQ,EAAE,CAAC,SAAS,CAAC;iBACtB;aACF;YACD;gBACE,IAAI,EAAE,eAAe;gBACrB,WAAW,EAAE,2OAA2O;gBACxP,WAAW,EAAE;oBACX,IAAI,EAAE,QAAQ;oBACd,UAAU,EAAE;wBACV,KAAK,EAAE;4BACL,IAAI,EAAE,QAAQ;4BACd,WAAW,EAAE,8CAA8C;yBAC5D;wBACD,KAAK,EAAE;4BACL,IAAI,EAAE,QAAQ;4BACd,WAAW,EAAE,wCAAwC;4BACrD,OAAO,EAAE,CAAC;yBACX;qBACF;oBACD,QAAQ,EAAE,CAAC,OAAO,CAAC;iBACpB;aACF;YACD;gBACE,IAAI,EAAE,kBAAkB;gBACxB,WAAW,EAAE,iFAAiF;gBAC9F,WAAW,EAAE;oBACX,IAAI,EAAE,QAAQ;oBACd,UAAU,EAAE,EAAE;iBACf;aACF;SACF;KACF,CAAC;AACJ,CAAC,CAAC,CAAC;AAEH,MAAM,CAAC,iBAAiB,CAAC,gCAAqB,EAAE,KAAK,EAAE,OAAO,EAAE,EAAE;IAChE,MAAM,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,EAAE,GAAG,OAAO,CAAC,MAAM,CAAC;IAEjD,QAAQ,IAAI,EAAE,CAAC;QACb,KAAK,aAAa,CAAC,CAAC,CAAC;YACnB,MAAM,OAAO,GAAG,IAAI,EAAE,OAAiB,CAAC;YACxC,MAAM,QAAQ,GAAG,IAAI,EAAE,QAA+B,IAAI,EAAE,CAAC;YAC7D,MAAM,MAAM,GAAG,MAAM,UAAU,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAC;YACnD,OAAO;gBACL,OAAO,EAAE;oBACP;wBACE,IAAI,EAAE,MAAM;wBACZ,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC;qBACtC;iBACF;aACF,CAAC;QACJ,CAAC;QAED,KAAK,eAAe,CAAC,CAAC,CAAC;YACrB,MAAM,KAAK,GAAG,IAAI,EAAE,KAAe,CAAC;YACpC,MAAM,KAAK,GAAI,IAAI,EAAE,KAAgB,IAAI,CAAC,CAAC;YAC3C,MAAM,MAAM,GAAG,MAAM,YAAY,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC;YAChD,OAAO;gBACL,OAAO,EAAE;oBACP;wBACE,IAAI,EAAE,MAAM;wBACZ,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC;qBACtC;iBACF;aACF,CAAC;QACJ,CAAC;QAED,KAAK,kBAAkB,CAAC,CAAC,CAAC;YACxB,MAAM,MAAM,GAAG,MAAM,cAAc,EAAE,CAAC;YACtC,OAAO;gBACL,OAAO,EAAE;oBACP;wBACE,IAAI,EAAE,MAAM;wBACZ,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC;qBACtC;iBACF;aACF,CAAC;QACJ,CAAC;QAED;YACE,MAAM,IAAI,KAAK,CAAC,iBAAiB,IAAI,EAAE,CAAC,CAAC;IAC7C,CAAC;AACH,CAAC,CAAC,CAAC;AAEH,MAAM,CAAC,iBAAiB,CAAC,qCAA0B,EAAE,KAAK,IAAI,EAAE;IAC9D,OAAO;QACL,SAAS,EAAE;YACT;gBACE,GAAG,EAAE,kBAAkB;gBACvB,IAAI,EAAE,gBAAgB;gBACtB,WAAW,EAAE,kDAAkD;gBAC/D,QAAQ,EAAE,kBAAkB;aAC7B;SACF;KACF,CAAC;AACJ,CAAC,CAAC,CAAC;AAEH,MAAM,CAAC,iBAAiB,CAAC,oCAAyB,EAAE,KAAK,EAAE,OAAO,EAAE,EAAE;IACpE,MAAM,EAAE,GAAG,EAAE,GAAG,OAAO,CAAC,MAAM,CAAC;IAE/B,IAAI,GAAG,KAAK,kBAAkB,EAAE,CAAC;QAC/B,MAAM,MAAM,GAAG,MAAM,cAAc,EAAE,CAAC;QACtC,OAAO;YACL,QAAQ,EAAE;gBACR;oBACE,GAAG;oBACH,QAAQ,EAAE,kBAAkB;oBAC5B,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC;iBACtC;aACF;SACF,CAAC;IACJ,CAAC;IAED,MAAM,IAAI,KAAK,CAAC,qBAAqB,GAAG,EAAE,CAAC,CAAC;AAC9C,CAAC,CAAC,CAAC;AAEH,KAAK,UAAU,IAAI;IACjB,MAAM,SAAS,GAAG,IAAI,+BAAoB,EAAE,CAAC;IAC7C,MAAM,MAAM,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;IAEhC,GAAG,CAAC,oDAAoD,CAAC,CAAC;AAC5D,CAAC;AAED,IAAI,EAAE,CAAC,KAAK,CAAC,CAAC,KAAK,EAAE,EAAE;IACrB,OAAO,CAAC,KAAK,CAAC,cAAc,EAAE,KAAK,CAAC,CAAC;IACrC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;AAClB,CAAC,CAAC,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@t0ken.ai/memoryx-mcp-server",
3
- "version": "2.0.0",
3
+ "version": "2.0.2",
4
4
  "description": "MemoryX MCP Server for Cursor/VS Code/Claude Desktop (powered by @t0ken.ai/memoryx-sdk)",
5
5
  "main": "dist/index.js",
6
6
  "bin": {
@@ -23,7 +23,7 @@
23
23
  "license": "MIT",
24
24
  "dependencies": {
25
25
  "@modelcontextprotocol/sdk": "^1.0.0",
26
- "@t0ken.ai/memoryx-sdk": "^1.0.0"
26
+ "@t0ken.ai/memoryx-sdk": "^1.4.0"
27
27
  },
28
28
  "devDependencies": {
29
29
  "@types/node": "^20.0.0",
package/src/index.ts CHANGED
@@ -5,8 +5,12 @@
5
5
  *
6
6
  * Powered by @t0ken.ai/memoryx-sdk
7
7
  *
8
+ * MCP mode (different from OpenClaw conversation flow):
9
+ * - LLM summarizes and sends single memory additions
10
+ * - Server extracts entities directly without LLM summarization
11
+ * - Trigger: 20k tokens or 1 minute idle
12
+ *
8
13
  * Features:
9
- * - conversation preset (30k tokens / 5min idle)
10
14
  * - Lazy SDK initialization
11
15
  * - Automatic memory batching and retry
12
16
  */
@@ -47,9 +51,14 @@ async function getSDK(): Promise<any> {
47
51
  const envApiKey = process.env.MEMORYX_API_KEY || process.env.OPENMEMORYX_API_KEY;
48
52
  const envApiUrl = process.env.MEMORYX_URL || process.env.OPENMEMORYX_URL;
49
53
 
50
- // Use conversation preset: maxTokens: 30000, intervalMs: 300000 (5 min)
54
+ // MCP Server uses LLM-summarized single additions (not conversation flow)
55
+ // Server extracts entities directly without LLM summarization
56
+ // Trigger: 20k tokens or 1 minute idle
51
57
  sdkInstance = new MemoryXSDK({
52
- preset: 'conversation',
58
+ strategy: {
59
+ maxTokens: 20000,
60
+ intervalMs: 60000 // 1 minute idle
61
+ },
53
62
  apiKey: envApiKey || undefined,
54
63
  apiUrl: envApiUrl || DEFAULT_API_BASE,
55
64
  autoRegister: !envApiKey,
@@ -57,7 +66,7 @@ async function getSDK(): Promise<any> {
57
66
  storageDir: PLUGIN_DIR
58
67
  });
59
68
 
60
- log("SDK initialized with conversation preset (30k tokens / 5min idle)");
69
+ log("SDK initialized (20k tokens / 1min idle - MCP mode)");
61
70
  return sdkInstance;
62
71
  })();
63
72
 
@@ -128,8 +137,8 @@ async function searchMemory(query: string, limit: number = 5): Promise<{
128
137
 
129
138
  async function getAccountInfo(): Promise<{
130
139
  apiKey: string | null;
131
- projectId: string;
132
- userId: string | null;
140
+ agentId: string | null;
141
+ agentType: string | null;
133
142
  queueLength: number;
134
143
  }> {
135
144
  try {
@@ -139,16 +148,16 @@ async function getAccountInfo(): Promise<{
139
148
 
140
149
  return {
141
150
  apiKey: info?.apiKey ? `${info.apiKey.slice(0, 8)}...` : null,
142
- projectId: info?.projectId || "default",
143
- userId: info?.userId || null,
151
+ agentId: info?.agentId || null,
152
+ agentType: info?.quota?.agent_type || null,
144
153
  queueLength: stats.messageCount
145
154
  };
146
155
  } catch (e) {
147
156
  log(`getAccountInfo failed: ${e}`);
148
157
  return {
149
158
  apiKey: null,
150
- projectId: "default",
151
- userId: null,
159
+ agentId: null,
160
+ agentType: null,
152
161
  queueLength: 0
153
162
  };
154
163
  }
@@ -172,17 +181,17 @@ server.setRequestHandler(ListToolsRequestSchema, async () => {
172
181
  tools: [
173
182
  {
174
183
  name: "save_memory",
175
- description: "保存重要信息到记忆系统。当用户提到偏好、习惯、项目信息、重要决定等值得记住的内容时调用。",
184
+ description: "Save information to long-term memory. ALWAYS call when: (1) User explicitly says 'remember', 'note this', 'don't forget'; (2) User corrects your error; (3) User expresses preferences (I like/hate/usually...); (4) User mentions important experiences or future plans; (5) End of conversation - generate a 100-word summary of key points. Categories (use in metadata.category): semantic (facts, preferences), episodic (events, experiences), procedural (skills, how-to), emotional (feelings), reflective (insights, lessons).",
176
185
  inputSchema: {
177
186
  type: "object",
178
187
  properties: {
179
188
  content: {
180
189
  type: "string",
181
- description: "要记住的内容"
190
+ description: "Content to remember. For end-of-conversation summaries, keep within 100 words."
182
191
  },
183
192
  metadata: {
184
193
  type: "object",
185
- description: "可选的元数据,如分类、标签等"
194
+ description: "Optional metadata. Supported fields: category (semantic/episodic/procedural/emotional/reflective), tags (array of strings)"
186
195
  }
187
196
  },
188
197
  required: ["content"]
@@ -190,17 +199,17 @@ server.setRequestHandler(ListToolsRequestSchema, async () => {
190
199
  },
191
200
  {
192
201
  name: "search_memory",
193
- description: "搜索历史记忆。在回答用户问题前调用,获取相关的记忆上下文。",
202
+ description: "Search historical memories. ALWAYS call BEFORE responding to: user questions about preferences/history, topics relating to past conversations, any personalized response. Workflow: search → review results → generate informed response.",
194
203
  inputSchema: {
195
204
  type: "object",
196
205
  properties: {
197
206
  query: {
198
207
  type: "string",
199
- description: "搜索关键词或问题"
208
+ description: "Search keywords or natural language question"
200
209
  },
201
210
  limit: {
202
211
  type: "number",
203
- description: "返回结果数量,默认5",
212
+ description: "Number of results to return, default 5",
204
213
  default: 5
205
214
  }
206
215
  },
@@ -209,7 +218,7 @@ server.setRequestHandler(ListToolsRequestSchema, async () => {
209
218
  },
210
219
  {
211
220
  name: "get_account_info",
212
- description: "获取当前 MemoryX 账户信息,包括 API Key、Project ID 和队列状态。",
221
+ description: "Get current MemoryX account info including API Key, Agent ID, and queue status.",
213
222
  inputSchema: {
214
223
  type: "object",
215
224
  properties: {}
@@ -274,7 +283,7 @@ server.setRequestHandler(ListResourcesRequestSchema, async () => {
274
283
  {
275
284
  uri: "memoryx://status",
276
285
  name: "MemoryX Status",
277
- description: "当前 MemoryX 连接状态和队列信息",
286
+ description: "Current MemoryX connection status and queue info",
278
287
  mimeType: "application/json"
279
288
  }
280
289
  ]