@t0ken.ai/memoryx-mcp-server 2.0.1 → 2.0.3
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 +77 -53
- package/dist/index.js +12 -12
- package/dist/index.js.map +1 -1
- package/package.json +2 -2
- package/src/index.ts +14 -14
package/README.md
CHANGED
|
@@ -1,44 +1,28 @@
|
|
|
1
|
-
# MemoryX MCP Server
|
|
1
|
+
# 🧠 MemoryX MCP Server
|
|
2
2
|
|
|
3
|
-
|
|
3
|
+
[](https://www.npmjs.com/package/@t0ken.ai/memoryx-mcp-server)
|
|
4
|
+
[](https://opensource.org/licenses/MIT)
|
|
4
5
|
|
|
5
|
-
|
|
6
|
+
**Give your AI assistants long-term memory via Model Context Protocol.**
|
|
6
7
|
|
|
7
|
-
|
|
8
|
+
MemoryX MCP Server enables Cursor, VS Code, Claude Desktop, and other MCP clients to store and retrieve memories across conversations.
|
|
8
9
|
|
|
9
|
-
|
|
10
|
-
- **search_memory**: Search historical memories
|
|
11
|
-
- **get_account_info**: Get account information
|
|
10
|
+
## ✨ Features
|
|
12
11
|
|
|
13
|
-
|
|
12
|
+
- 🚀 **Zero Config** - Auto-registers on first use, no API key needed
|
|
13
|
+
- 🔍 **save_memory** - Store important information with automatic categorization
|
|
14
|
+
- 🔎 **search_memory** - Semantic search across all historical memories
|
|
15
|
+
- ℹ️ **get_account_info** - Check connection status and agent info
|
|
14
16
|
|
|
15
|
-
|
|
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
|
|
17
|
+
## 🚀 Quick Start
|
|
21
18
|
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
### Option 1: NPM Install
|
|
19
|
+
### Install
|
|
25
20
|
|
|
26
21
|
```bash
|
|
27
22
|
npm install -g @t0ken.ai/memoryx-mcp-server
|
|
28
23
|
```
|
|
29
24
|
|
|
30
|
-
###
|
|
31
|
-
|
|
32
|
-
```bash
|
|
33
|
-
cd plugins/memoryx-mcp-server
|
|
34
|
-
npm install
|
|
35
|
-
npm run build
|
|
36
|
-
npm link
|
|
37
|
-
```
|
|
38
|
-
|
|
39
|
-
## Configuration
|
|
40
|
-
|
|
41
|
-
### Cursor / VS Code
|
|
25
|
+
### Configure Cursor / VS Code
|
|
42
26
|
|
|
43
27
|
Add to `~/.cursor/mcp.json` or VS Code MCP config:
|
|
44
28
|
|
|
@@ -46,61 +30,101 @@ Add to `~/.cursor/mcp.json` or VS Code MCP config:
|
|
|
46
30
|
{
|
|
47
31
|
"mcpServers": {
|
|
48
32
|
"memoryx": {
|
|
49
|
-
"command": "memoryx-mcp-server"
|
|
50
|
-
"env": {
|
|
51
|
-
"MEMORYX_API_KEY": "your_api_key_here",
|
|
52
|
-
"MEMORYX_URL": "https://t0ken.ai/api"
|
|
53
|
-
}
|
|
33
|
+
"command": "memoryx-mcp-server"
|
|
54
34
|
}
|
|
55
35
|
}
|
|
56
36
|
}
|
|
57
37
|
```
|
|
58
38
|
|
|
59
|
-
|
|
39
|
+
**That's it!** The server auto-registers on first use - no additional configuration needed.
|
|
60
40
|
|
|
61
|
-
|
|
41
|
+
### Configure Claude Desktop
|
|
62
42
|
|
|
63
43
|
**macOS**: `~/Library/Application Support/Claude/claude_desktop_config.json`
|
|
44
|
+
|
|
64
45
|
**Windows**: `%APPDATA%\Claude\claude_desktop_config.json`
|
|
65
46
|
|
|
66
47
|
```json
|
|
67
48
|
{
|
|
68
49
|
"mcpServers": {
|
|
69
50
|
"memoryx": {
|
|
70
|
-
"command": "memoryx-mcp-server"
|
|
71
|
-
"env": {
|
|
72
|
-
"MEMORYX_API_KEY": "your_api_key_here"
|
|
73
|
-
}
|
|
51
|
+
"command": "memoryx-mcp-server"
|
|
74
52
|
}
|
|
75
53
|
}
|
|
76
54
|
}
|
|
77
55
|
```
|
|
78
56
|
|
|
79
|
-
##
|
|
57
|
+
## 📖 Tools
|
|
80
58
|
|
|
81
|
-
###
|
|
59
|
+
### save_memory
|
|
82
60
|
|
|
83
|
-
|
|
61
|
+
Save information to long-term memory.
|
|
84
62
|
|
|
85
|
-
|
|
63
|
+
**When to call (automatic triggers):**
|
|
64
|
+
1. User explicitly says "remember", "note this", "don't forget"
|
|
65
|
+
2. User corrects your error (store the correct version)
|
|
66
|
+
3. User expresses preferences (I like/hate/usually...)
|
|
67
|
+
4. User mentions important experiences or future plans
|
|
68
|
+
5. End of conversation - generate a 100-word summary
|
|
86
69
|
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
70
|
+
**Categories (use in metadata.category):**
|
|
71
|
+
- `semantic` - facts, knowledge, user preferences
|
|
72
|
+
- `episodic` - specific events, experiences
|
|
73
|
+
- `procedural` - skills, methods, how-to steps
|
|
74
|
+
- `emotional` - feelings, emotional states
|
|
75
|
+
- `reflective` - insights, patterns, lessons learned
|
|
90
76
|
|
|
91
|
-
|
|
77
|
+
**Example:**
|
|
78
|
+
```json
|
|
79
|
+
{
|
|
80
|
+
"content": "User prefers dark theme in VS Code",
|
|
81
|
+
"metadata": {
|
|
82
|
+
"category": "semantic",
|
|
83
|
+
"tags": ["preference", "editor"]
|
|
84
|
+
}
|
|
85
|
+
}
|
|
86
|
+
```
|
|
87
|
+
|
|
88
|
+
### search_memory
|
|
89
|
+
|
|
90
|
+
Search historical memories before responding.
|
|
91
|
+
|
|
92
|
+
**Always call BEFORE:**
|
|
93
|
+
- Answering questions about user preferences/history
|
|
94
|
+
- Topics that might relate to past conversations
|
|
95
|
+
- Any personalized response needed
|
|
96
|
+
|
|
97
|
+
**Workflow:** `search` → `review results` → `generate informed response`
|
|
92
98
|
|
|
93
|
-
|
|
99
|
+
### get_account_info
|
|
94
100
|
|
|
95
|
-
|
|
101
|
+
Get current connection status including:
|
|
102
|
+
- API Key (masked)
|
|
103
|
+
- Agent ID
|
|
104
|
+
- Queue length
|
|
105
|
+
|
|
106
|
+
## 📁 Local Storage
|
|
107
|
+
|
|
108
|
+
Data stored in `~/.memoryx/sdk/` (managed by SDK):
|
|
109
|
+
- `memoryx.db` - SQLite database with agent info, queue, and cached data
|
|
110
|
+
|
|
111
|
+
## 🔄 MCP Mode vs OpenClaw Mode
|
|
96
112
|
|
|
97
113
|
| Feature | MCP Server | OpenClaw Plugin |
|
|
98
114
|
|---------|------------|-----------------|
|
|
99
115
|
| Data Source | LLM summarized single additions | Bidirectional conversation flow |
|
|
100
116
|
| Server Processing | Direct entity extraction | LLM summarization then extraction |
|
|
101
|
-
| Trigger
|
|
117
|
+
| Trigger | 20k tokens / 1 min idle | 30k tokens / 5 min idle |
|
|
102
118
|
| Use Case | Cursor/Claude Desktop | OpenClaw Gateway |
|
|
103
119
|
|
|
104
|
-
##
|
|
120
|
+
## 📚 More Resources
|
|
121
|
+
|
|
122
|
+
- [MemoryX Platform](https://t0ken.ai)
|
|
123
|
+
- [Documentation](https://docs.t0ken.ai)
|
|
124
|
+
- [Node.js SDK](https://www.npmjs.com/package/@t0ken.ai/memoryx-sdk)
|
|
125
|
+
- [Python SDK](https://pypi.org/project/t0ken-memoryx/)
|
|
126
|
+
- [GitHub](https://github.com/t0ken-ai/MemoryX)
|
|
127
|
+
|
|
128
|
+
## 📄 License
|
|
105
129
|
|
|
106
|
-
MIT
|
|
130
|
+
MIT © MemoryX Team
|
package/dist/index.js
CHANGED
|
@@ -150,8 +150,8 @@ async function getAccountInfo() {
|
|
|
150
150
|
const stats = await sdk.getQueueStats();
|
|
151
151
|
return {
|
|
152
152
|
apiKey: info?.apiKey ? `${info.apiKey.slice(0, 8)}...` : null,
|
|
153
|
-
|
|
154
|
-
|
|
153
|
+
agentId: info?.agentId || null,
|
|
154
|
+
agentType: info?.quota?.agent_type || null,
|
|
155
155
|
queueLength: stats.messageCount
|
|
156
156
|
};
|
|
157
157
|
}
|
|
@@ -159,8 +159,8 @@ async function getAccountInfo() {
|
|
|
159
159
|
log(`getAccountInfo failed: ${e}`);
|
|
160
160
|
return {
|
|
161
161
|
apiKey: null,
|
|
162
|
-
|
|
163
|
-
|
|
162
|
+
agentId: null,
|
|
163
|
+
agentType: null,
|
|
164
164
|
queueLength: 0
|
|
165
165
|
};
|
|
166
166
|
}
|
|
@@ -179,17 +179,17 @@ server.setRequestHandler(types_js_1.ListToolsRequestSchema, async () => {
|
|
|
179
179
|
tools: [
|
|
180
180
|
{
|
|
181
181
|
name: "save_memory",
|
|
182
|
-
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).",
|
|
183
183
|
inputSchema: {
|
|
184
184
|
type: "object",
|
|
185
185
|
properties: {
|
|
186
186
|
content: {
|
|
187
187
|
type: "string",
|
|
188
|
-
description: "
|
|
188
|
+
description: "Content to remember. For end-of-conversation summaries, keep within 100 words."
|
|
189
189
|
},
|
|
190
190
|
metadata: {
|
|
191
191
|
type: "object",
|
|
192
|
-
description: "
|
|
192
|
+
description: "Optional metadata. Supported fields: category (semantic/episodic/procedural/emotional/reflective), tags (array of strings)"
|
|
193
193
|
}
|
|
194
194
|
},
|
|
195
195
|
required: ["content"]
|
|
@@ -197,17 +197,17 @@ server.setRequestHandler(types_js_1.ListToolsRequestSchema, async () => {
|
|
|
197
197
|
},
|
|
198
198
|
{
|
|
199
199
|
name: "search_memory",
|
|
200
|
-
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.",
|
|
201
201
|
inputSchema: {
|
|
202
202
|
type: "object",
|
|
203
203
|
properties: {
|
|
204
204
|
query: {
|
|
205
205
|
type: "string",
|
|
206
|
-
description: "
|
|
206
|
+
description: "Search keywords or natural language question"
|
|
207
207
|
},
|
|
208
208
|
limit: {
|
|
209
209
|
type: "number",
|
|
210
|
-
description: "
|
|
210
|
+
description: "Number of results to return, default 5",
|
|
211
211
|
default: 5
|
|
212
212
|
}
|
|
213
213
|
},
|
|
@@ -216,7 +216,7 @@ server.setRequestHandler(types_js_1.ListToolsRequestSchema, async () => {
|
|
|
216
216
|
},
|
|
217
217
|
{
|
|
218
218
|
name: "get_account_info",
|
|
219
|
-
description: "
|
|
219
|
+
description: "Get current MemoryX account info including API Key, Agent ID, and queue status.",
|
|
220
220
|
inputSchema: {
|
|
221
221
|
type: "object",
|
|
222
222
|
properties: {}
|
|
@@ -275,7 +275,7 @@ server.setRequestHandler(types_js_1.ListResourcesRequestSchema, async () => {
|
|
|
275
275
|
{
|
|
276
276
|
uri: "memoryx://status",
|
|
277
277
|
name: "MemoryX Status",
|
|
278
|
-
description: "
|
|
278
|
+
description: "Current MemoryX connection status and queue info",
|
|
279
279
|
mimeType: "application/json"
|
|
280
280
|
}
|
|
281
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":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@t0ken.ai/memoryx-mcp-server",
|
|
3
|
-
"version": "2.0.
|
|
3
|
+
"version": "2.0.3",
|
|
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.
|
|
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
|
@@ -137,8 +137,8 @@ async function searchMemory(query: string, limit: number = 5): Promise<{
|
|
|
137
137
|
|
|
138
138
|
async function getAccountInfo(): Promise<{
|
|
139
139
|
apiKey: string | null;
|
|
140
|
-
|
|
141
|
-
|
|
140
|
+
agentId: string | null;
|
|
141
|
+
agentType: string | null;
|
|
142
142
|
queueLength: number;
|
|
143
143
|
}> {
|
|
144
144
|
try {
|
|
@@ -148,16 +148,16 @@ async function getAccountInfo(): Promise<{
|
|
|
148
148
|
|
|
149
149
|
return {
|
|
150
150
|
apiKey: info?.apiKey ? `${info.apiKey.slice(0, 8)}...` : null,
|
|
151
|
-
|
|
152
|
-
|
|
151
|
+
agentId: info?.agentId || null,
|
|
152
|
+
agentType: info?.quota?.agent_type || null,
|
|
153
153
|
queueLength: stats.messageCount
|
|
154
154
|
};
|
|
155
155
|
} catch (e) {
|
|
156
156
|
log(`getAccountInfo failed: ${e}`);
|
|
157
157
|
return {
|
|
158
158
|
apiKey: null,
|
|
159
|
-
|
|
160
|
-
|
|
159
|
+
agentId: null,
|
|
160
|
+
agentType: null,
|
|
161
161
|
queueLength: 0
|
|
162
162
|
};
|
|
163
163
|
}
|
|
@@ -181,17 +181,17 @@ server.setRequestHandler(ListToolsRequestSchema, async () => {
|
|
|
181
181
|
tools: [
|
|
182
182
|
{
|
|
183
183
|
name: "save_memory",
|
|
184
|
-
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).",
|
|
185
185
|
inputSchema: {
|
|
186
186
|
type: "object",
|
|
187
187
|
properties: {
|
|
188
188
|
content: {
|
|
189
189
|
type: "string",
|
|
190
|
-
description: "
|
|
190
|
+
description: "Content to remember. For end-of-conversation summaries, keep within 100 words."
|
|
191
191
|
},
|
|
192
192
|
metadata: {
|
|
193
193
|
type: "object",
|
|
194
|
-
description: "
|
|
194
|
+
description: "Optional metadata. Supported fields: category (semantic/episodic/procedural/emotional/reflective), tags (array of strings)"
|
|
195
195
|
}
|
|
196
196
|
},
|
|
197
197
|
required: ["content"]
|
|
@@ -199,17 +199,17 @@ server.setRequestHandler(ListToolsRequestSchema, async () => {
|
|
|
199
199
|
},
|
|
200
200
|
{
|
|
201
201
|
name: "search_memory",
|
|
202
|
-
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.",
|
|
203
203
|
inputSchema: {
|
|
204
204
|
type: "object",
|
|
205
205
|
properties: {
|
|
206
206
|
query: {
|
|
207
207
|
type: "string",
|
|
208
|
-
description: "
|
|
208
|
+
description: "Search keywords or natural language question"
|
|
209
209
|
},
|
|
210
210
|
limit: {
|
|
211
211
|
type: "number",
|
|
212
|
-
description: "
|
|
212
|
+
description: "Number of results to return, default 5",
|
|
213
213
|
default: 5
|
|
214
214
|
}
|
|
215
215
|
},
|
|
@@ -218,7 +218,7 @@ server.setRequestHandler(ListToolsRequestSchema, async () => {
|
|
|
218
218
|
},
|
|
219
219
|
{
|
|
220
220
|
name: "get_account_info",
|
|
221
|
-
description: "
|
|
221
|
+
description: "Get current MemoryX account info including API Key, Agent ID, and queue status.",
|
|
222
222
|
inputSchema: {
|
|
223
223
|
type: "object",
|
|
224
224
|
properties: {}
|
|
@@ -283,7 +283,7 @@ server.setRequestHandler(ListResourcesRequestSchema, async () => {
|
|
|
283
283
|
{
|
|
284
284
|
uri: "memoryx://status",
|
|
285
285
|
name: "MemoryX Status",
|
|
286
|
-
description: "
|
|
286
|
+
description: "Current MemoryX connection status and queue info",
|
|
287
287
|
mimeType: "application/json"
|
|
288
288
|
}
|
|
289
289
|
]
|