@aitytech/agentkits-memory 1.0.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 +250 -0
- package/dist/cache-manager.d.ts +134 -0
- package/dist/cache-manager.d.ts.map +1 -0
- package/dist/cache-manager.js +407 -0
- package/dist/cache-manager.js.map +1 -0
- package/dist/cli/save.d.ts +20 -0
- package/dist/cli/save.d.ts.map +1 -0
- package/dist/cli/save.js +94 -0
- package/dist/cli/save.js.map +1 -0
- package/dist/cli/setup.d.ts +18 -0
- package/dist/cli/setup.d.ts.map +1 -0
- package/dist/cli/setup.js +163 -0
- package/dist/cli/setup.js.map +1 -0
- package/dist/cli/viewer.d.ts +21 -0
- package/dist/cli/viewer.d.ts.map +1 -0
- package/dist/cli/viewer.js +182 -0
- package/dist/cli/viewer.js.map +1 -0
- package/dist/hnsw-index.d.ts +111 -0
- package/dist/hnsw-index.d.ts.map +1 -0
- package/dist/hnsw-index.js +781 -0
- package/dist/hnsw-index.js.map +1 -0
- package/dist/hooks/cli.d.ts +20 -0
- package/dist/hooks/cli.d.ts.map +1 -0
- package/dist/hooks/cli.js +102 -0
- package/dist/hooks/cli.js.map +1 -0
- package/dist/hooks/context.d.ts +31 -0
- package/dist/hooks/context.d.ts.map +1 -0
- package/dist/hooks/context.js +64 -0
- package/dist/hooks/context.js.map +1 -0
- package/dist/hooks/index.d.ts +16 -0
- package/dist/hooks/index.d.ts.map +1 -0
- package/dist/hooks/index.js +20 -0
- package/dist/hooks/index.js.map +1 -0
- package/dist/hooks/observation.d.ts +30 -0
- package/dist/hooks/observation.d.ts.map +1 -0
- package/dist/hooks/observation.js +79 -0
- package/dist/hooks/observation.js.map +1 -0
- package/dist/hooks/service.d.ts +102 -0
- package/dist/hooks/service.d.ts.map +1 -0
- package/dist/hooks/service.js +454 -0
- package/dist/hooks/service.js.map +1 -0
- package/dist/hooks/session-init.d.ts +30 -0
- package/dist/hooks/session-init.d.ts.map +1 -0
- package/dist/hooks/session-init.js +54 -0
- package/dist/hooks/session-init.js.map +1 -0
- package/dist/hooks/summarize.d.ts +30 -0
- package/dist/hooks/summarize.d.ts.map +1 -0
- package/dist/hooks/summarize.js +74 -0
- package/dist/hooks/summarize.js.map +1 -0
- package/dist/hooks/types.d.ts +193 -0
- package/dist/hooks/types.d.ts.map +1 -0
- package/dist/hooks/types.js +137 -0
- package/dist/hooks/types.js.map +1 -0
- package/dist/index.d.ts +173 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +564 -0
- package/dist/index.js.map +1 -0
- package/dist/mcp/index.d.ts +9 -0
- package/dist/mcp/index.d.ts.map +1 -0
- package/dist/mcp/index.js +9 -0
- package/dist/mcp/index.js.map +1 -0
- package/dist/mcp/server.d.ts +22 -0
- package/dist/mcp/server.d.ts.map +1 -0
- package/dist/mcp/server.js +368 -0
- package/dist/mcp/server.js.map +1 -0
- package/dist/mcp/tools.d.ts +14 -0
- package/dist/mcp/tools.d.ts.map +1 -0
- package/dist/mcp/tools.js +110 -0
- package/dist/mcp/tools.js.map +1 -0
- package/dist/mcp/types.d.ts +100 -0
- package/dist/mcp/types.d.ts.map +1 -0
- package/dist/mcp/types.js +9 -0
- package/dist/mcp/types.js.map +1 -0
- package/dist/migration.d.ts +77 -0
- package/dist/migration.d.ts.map +1 -0
- package/dist/migration.js +457 -0
- package/dist/migration.js.map +1 -0
- package/dist/sqljs-backend.d.ts +128 -0
- package/dist/sqljs-backend.d.ts.map +1 -0
- package/dist/sqljs-backend.js +623 -0
- package/dist/sqljs-backend.js.map +1 -0
- package/dist/types.d.ts +481 -0
- package/dist/types.d.ts.map +1 -0
- package/dist/types.js +73 -0
- package/dist/types.js.map +1 -0
- package/hooks.json +46 -0
- package/package.json +67 -0
- package/src/__tests__/index.test.ts +407 -0
- package/src/__tests__/sqljs-backend.test.ts +410 -0
- package/src/cache-manager.ts +515 -0
- package/src/cli/save.ts +109 -0
- package/src/cli/setup.ts +203 -0
- package/src/cli/viewer.ts +218 -0
- package/src/hnsw-index.ts +1013 -0
- package/src/hooks/__tests__/handlers.test.ts +298 -0
- package/src/hooks/__tests__/integration.test.ts +431 -0
- package/src/hooks/__tests__/service.test.ts +487 -0
- package/src/hooks/__tests__/types.test.ts +341 -0
- package/src/hooks/cli.ts +121 -0
- package/src/hooks/context.ts +77 -0
- package/src/hooks/index.ts +23 -0
- package/src/hooks/observation.ts +102 -0
- package/src/hooks/service.ts +582 -0
- package/src/hooks/session-init.ts +70 -0
- package/src/hooks/summarize.ts +89 -0
- package/src/hooks/types.ts +365 -0
- package/src/index.ts +755 -0
- package/src/mcp/__tests__/server.test.ts +181 -0
- package/src/mcp/index.ts +9 -0
- package/src/mcp/server.ts +441 -0
- package/src/mcp/tools.ts +113 -0
- package/src/mcp/types.ts +109 -0
- package/src/migration.ts +574 -0
- package/src/sql.js.d.ts +70 -0
- package/src/sqljs-backend.ts +789 -0
- package/src/types.ts +715 -0
|
@@ -0,0 +1,368 @@
|
|
|
1
|
+
#!/usr/bin/env node
|
|
2
|
+
/**
|
|
3
|
+
* AgentKits Memory MCP Server
|
|
4
|
+
*
|
|
5
|
+
* Model Context Protocol server for Claude Code memory access.
|
|
6
|
+
* Provides tools for saving, searching, and recalling memories.
|
|
7
|
+
*
|
|
8
|
+
* Usage:
|
|
9
|
+
* Add to .mcp.json:
|
|
10
|
+
* {
|
|
11
|
+
* "mcpServers": {
|
|
12
|
+
* "memory": {
|
|
13
|
+
* "command": "npx",
|
|
14
|
+
* "args": ["agentkits-memory-server"]
|
|
15
|
+
* }
|
|
16
|
+
* }
|
|
17
|
+
* }
|
|
18
|
+
*
|
|
19
|
+
* @module @agentkits/memory/mcp/server
|
|
20
|
+
*/
|
|
21
|
+
import * as readline from 'node:readline';
|
|
22
|
+
import { ProjectMemoryService, DEFAULT_NAMESPACES } from '../index.js';
|
|
23
|
+
import { MEMORY_TOOLS } from './tools.js';
|
|
24
|
+
// Map category names to namespaces
|
|
25
|
+
const CATEGORY_TO_NAMESPACE = {
|
|
26
|
+
decision: DEFAULT_NAMESPACES.DECISIONS,
|
|
27
|
+
pattern: DEFAULT_NAMESPACES.PATTERNS,
|
|
28
|
+
error: DEFAULT_NAMESPACES.ERRORS,
|
|
29
|
+
context: DEFAULT_NAMESPACES.CONTEXT,
|
|
30
|
+
observation: DEFAULT_NAMESPACES.ACTIVE,
|
|
31
|
+
};
|
|
32
|
+
/**
|
|
33
|
+
* Memory MCP Server
|
|
34
|
+
*/
|
|
35
|
+
class MemoryMCPServer {
|
|
36
|
+
service = null;
|
|
37
|
+
projectDir;
|
|
38
|
+
initialized = false;
|
|
39
|
+
constructor() {
|
|
40
|
+
this.projectDir = process.env.CLAUDE_PROJECT_DIR || process.cwd();
|
|
41
|
+
}
|
|
42
|
+
/**
|
|
43
|
+
* Initialize the memory service
|
|
44
|
+
*/
|
|
45
|
+
async ensureInitialized() {
|
|
46
|
+
if (!this.service || !this.initialized) {
|
|
47
|
+
this.service = new ProjectMemoryService({
|
|
48
|
+
baseDir: `${this.projectDir}/.claude/memory`,
|
|
49
|
+
dbFilename: 'memory.db',
|
|
50
|
+
});
|
|
51
|
+
await this.service.initialize();
|
|
52
|
+
this.initialized = true;
|
|
53
|
+
}
|
|
54
|
+
return this.service;
|
|
55
|
+
}
|
|
56
|
+
/**
|
|
57
|
+
* Handle JSON-RPC request
|
|
58
|
+
*/
|
|
59
|
+
async handleRequest(request) {
|
|
60
|
+
try {
|
|
61
|
+
switch (request.method) {
|
|
62
|
+
case 'initialize':
|
|
63
|
+
return this.handleInitialize(request);
|
|
64
|
+
case 'tools/list':
|
|
65
|
+
return this.handleToolsList(request);
|
|
66
|
+
case 'tools/call':
|
|
67
|
+
return this.handleToolCall(request);
|
|
68
|
+
case 'notifications/initialized':
|
|
69
|
+
// Client initialized notification - acknowledge silently
|
|
70
|
+
return { jsonrpc: '2.0', id: request.id, result: {} };
|
|
71
|
+
default:
|
|
72
|
+
return {
|
|
73
|
+
jsonrpc: '2.0',
|
|
74
|
+
id: request.id,
|
|
75
|
+
error: {
|
|
76
|
+
code: -32601,
|
|
77
|
+
message: `Method not found: ${request.method}`,
|
|
78
|
+
},
|
|
79
|
+
};
|
|
80
|
+
}
|
|
81
|
+
}
|
|
82
|
+
catch (error) {
|
|
83
|
+
return {
|
|
84
|
+
jsonrpc: '2.0',
|
|
85
|
+
id: request.id,
|
|
86
|
+
error: {
|
|
87
|
+
code: -32603,
|
|
88
|
+
message: error instanceof Error ? error.message : 'Internal error',
|
|
89
|
+
},
|
|
90
|
+
};
|
|
91
|
+
}
|
|
92
|
+
}
|
|
93
|
+
/**
|
|
94
|
+
* Handle initialize request
|
|
95
|
+
*/
|
|
96
|
+
handleInitialize(request) {
|
|
97
|
+
return {
|
|
98
|
+
jsonrpc: '2.0',
|
|
99
|
+
id: request.id,
|
|
100
|
+
result: {
|
|
101
|
+
protocolVersion: '2024-11-05',
|
|
102
|
+
capabilities: {
|
|
103
|
+
tools: {},
|
|
104
|
+
},
|
|
105
|
+
serverInfo: {
|
|
106
|
+
name: 'agentkits-memory',
|
|
107
|
+
version: '1.0.0',
|
|
108
|
+
},
|
|
109
|
+
},
|
|
110
|
+
};
|
|
111
|
+
}
|
|
112
|
+
/**
|
|
113
|
+
* Handle tools/list request
|
|
114
|
+
*/
|
|
115
|
+
handleToolsList(request) {
|
|
116
|
+
return {
|
|
117
|
+
jsonrpc: '2.0',
|
|
118
|
+
id: request.id,
|
|
119
|
+
result: {
|
|
120
|
+
tools: MEMORY_TOOLS,
|
|
121
|
+
},
|
|
122
|
+
};
|
|
123
|
+
}
|
|
124
|
+
/**
|
|
125
|
+
* Handle tools/call request
|
|
126
|
+
*/
|
|
127
|
+
async handleToolCall(request) {
|
|
128
|
+
const params = request.params;
|
|
129
|
+
const result = await this.executeTool(params.name, params.arguments);
|
|
130
|
+
return {
|
|
131
|
+
jsonrpc: '2.0',
|
|
132
|
+
id: request.id,
|
|
133
|
+
result,
|
|
134
|
+
};
|
|
135
|
+
}
|
|
136
|
+
/**
|
|
137
|
+
* Execute a tool
|
|
138
|
+
*/
|
|
139
|
+
async executeTool(name, args) {
|
|
140
|
+
try {
|
|
141
|
+
const service = await this.ensureInitialized();
|
|
142
|
+
switch (name) {
|
|
143
|
+
case 'memory_save':
|
|
144
|
+
return this.toolSave(service, args);
|
|
145
|
+
case 'memory_search':
|
|
146
|
+
return this.toolSearch(service, args);
|
|
147
|
+
case 'memory_recall':
|
|
148
|
+
return this.toolRecall(service, args);
|
|
149
|
+
case 'memory_list':
|
|
150
|
+
return this.toolList(service, args);
|
|
151
|
+
case 'memory_status':
|
|
152
|
+
return this.toolStatus(service);
|
|
153
|
+
default:
|
|
154
|
+
return {
|
|
155
|
+
content: [{ type: 'text', text: `Unknown tool: ${name}` }],
|
|
156
|
+
isError: true,
|
|
157
|
+
};
|
|
158
|
+
}
|
|
159
|
+
}
|
|
160
|
+
catch (error) {
|
|
161
|
+
return {
|
|
162
|
+
content: [{
|
|
163
|
+
type: 'text',
|
|
164
|
+
text: `Error: ${error instanceof Error ? error.message : 'Unknown error'}`,
|
|
165
|
+
}],
|
|
166
|
+
isError: true,
|
|
167
|
+
};
|
|
168
|
+
}
|
|
169
|
+
}
|
|
170
|
+
/**
|
|
171
|
+
* Save memory tool
|
|
172
|
+
*/
|
|
173
|
+
async toolSave(service, args) {
|
|
174
|
+
const tags = typeof args.tags === 'string'
|
|
175
|
+
? args.tags.split(',').map((t) => t.trim())
|
|
176
|
+
: args.tags || [];
|
|
177
|
+
// Map category to namespace
|
|
178
|
+
const category = args.category || 'observation';
|
|
179
|
+
const namespace = CATEGORY_TO_NAMESPACE[category] || DEFAULT_NAMESPACES.ACTIVE;
|
|
180
|
+
// Store entry using storeEntry convenience method
|
|
181
|
+
const entry = await service.storeEntry({
|
|
182
|
+
key: `${category}_${Date.now()}_${Math.random().toString(36).slice(2, 8)}`,
|
|
183
|
+
content: args.content,
|
|
184
|
+
namespace,
|
|
185
|
+
tags: [...tags, category],
|
|
186
|
+
metadata: {
|
|
187
|
+
importance: args.importance || 'medium',
|
|
188
|
+
source: 'mcp',
|
|
189
|
+
savedAt: new Date().toISOString(),
|
|
190
|
+
},
|
|
191
|
+
});
|
|
192
|
+
return {
|
|
193
|
+
content: [{
|
|
194
|
+
type: 'text',
|
|
195
|
+
text: `Saved to memory (${category}): "${args.content.slice(0, 100)}${args.content.length > 100 ? '...' : ''}"`,
|
|
196
|
+
}],
|
|
197
|
+
};
|
|
198
|
+
}
|
|
199
|
+
/**
|
|
200
|
+
* Search memory tool
|
|
201
|
+
*/
|
|
202
|
+
async toolSearch(service, args) {
|
|
203
|
+
const limit = typeof args.limit === 'string' ? parseInt(args.limit, 10) : (args.limit || 5);
|
|
204
|
+
// Map category to namespace
|
|
205
|
+
const namespace = args.category ? CATEGORY_TO_NAMESPACE[args.category] : undefined;
|
|
206
|
+
// Build query
|
|
207
|
+
const query = {
|
|
208
|
+
type: 'hybrid',
|
|
209
|
+
limit,
|
|
210
|
+
namespace,
|
|
211
|
+
content: args.query,
|
|
212
|
+
};
|
|
213
|
+
const results = await service.query(query);
|
|
214
|
+
if (results.length === 0) {
|
|
215
|
+
return {
|
|
216
|
+
content: [{
|
|
217
|
+
type: 'text',
|
|
218
|
+
text: `No memories found for: "${args.query}"`,
|
|
219
|
+
}],
|
|
220
|
+
};
|
|
221
|
+
}
|
|
222
|
+
const formatted = results.map((entry, i) => {
|
|
223
|
+
const category = entry.tags.find(t => Object.keys(CATEGORY_TO_NAMESPACE).includes(t)) || entry.namespace;
|
|
224
|
+
return `${i + 1}. [${category}]\n ${entry.content}\n Tags: ${entry.tags.join(', ') || 'none'}`;
|
|
225
|
+
}).join('\n\n');
|
|
226
|
+
return {
|
|
227
|
+
content: [{
|
|
228
|
+
type: 'text',
|
|
229
|
+
text: `Found ${results.length} memories:\n\n${formatted}`,
|
|
230
|
+
}],
|
|
231
|
+
};
|
|
232
|
+
}
|
|
233
|
+
/**
|
|
234
|
+
* Recall topic tool
|
|
235
|
+
*/
|
|
236
|
+
async toolRecall(service, args) {
|
|
237
|
+
// Search for topic
|
|
238
|
+
const query = {
|
|
239
|
+
type: 'hybrid',
|
|
240
|
+
limit: 10,
|
|
241
|
+
content: args.topic,
|
|
242
|
+
};
|
|
243
|
+
const results = await service.query(query);
|
|
244
|
+
if (results.length === 0) {
|
|
245
|
+
return {
|
|
246
|
+
content: [{
|
|
247
|
+
type: 'text',
|
|
248
|
+
text: `No memories found about: "${args.topic}"`,
|
|
249
|
+
}],
|
|
250
|
+
};
|
|
251
|
+
}
|
|
252
|
+
// Group by namespace
|
|
253
|
+
const byNamespace = {};
|
|
254
|
+
for (const entry of results) {
|
|
255
|
+
const ns = entry.namespace || 'general';
|
|
256
|
+
if (!byNamespace[ns])
|
|
257
|
+
byNamespace[ns] = [];
|
|
258
|
+
byNamespace[ns].push(entry.content);
|
|
259
|
+
}
|
|
260
|
+
// Format output
|
|
261
|
+
let output = `## Memory Recall: ${args.topic}\n\n`;
|
|
262
|
+
for (const [namespace, items] of Object.entries(byNamespace)) {
|
|
263
|
+
output += `### ${namespace.charAt(0).toUpperCase() + namespace.slice(1)}\n`;
|
|
264
|
+
items.forEach((item) => {
|
|
265
|
+
output += `- ${item}\n`;
|
|
266
|
+
});
|
|
267
|
+
output += '\n';
|
|
268
|
+
}
|
|
269
|
+
return {
|
|
270
|
+
content: [{ type: 'text', text: output }],
|
|
271
|
+
};
|
|
272
|
+
}
|
|
273
|
+
/**
|
|
274
|
+
* List memories tool
|
|
275
|
+
*/
|
|
276
|
+
async toolList(service, args) {
|
|
277
|
+
const limit = typeof args.limit === 'string' ? parseInt(args.limit, 10) : (args.limit || 10);
|
|
278
|
+
// Map category to namespace
|
|
279
|
+
const namespace = args.category ? CATEGORY_TO_NAMESPACE[args.category] : undefined;
|
|
280
|
+
// Get recent entries
|
|
281
|
+
const query = {
|
|
282
|
+
type: 'hybrid',
|
|
283
|
+
limit,
|
|
284
|
+
namespace,
|
|
285
|
+
};
|
|
286
|
+
const results = await service.query(query);
|
|
287
|
+
if (results.length === 0) {
|
|
288
|
+
return {
|
|
289
|
+
content: [{
|
|
290
|
+
type: 'text',
|
|
291
|
+
text: 'No memories stored yet.',
|
|
292
|
+
}],
|
|
293
|
+
};
|
|
294
|
+
}
|
|
295
|
+
const formatted = results.map((entry, i) => {
|
|
296
|
+
const date = new Date(entry.createdAt).toLocaleString();
|
|
297
|
+
const category = entry.tags.find(t => Object.keys(CATEGORY_TO_NAMESPACE).includes(t)) || entry.namespace;
|
|
298
|
+
return `${i + 1}. [${category}] ${entry.content.slice(0, 80)}${entry.content.length > 80 ? '...' : ''}\n Created: ${date}`;
|
|
299
|
+
}).join('\n\n');
|
|
300
|
+
return {
|
|
301
|
+
content: [{
|
|
302
|
+
type: 'text',
|
|
303
|
+
text: `Recent memories (${results.length}):\n\n${formatted}`,
|
|
304
|
+
}],
|
|
305
|
+
};
|
|
306
|
+
}
|
|
307
|
+
/**
|
|
308
|
+
* Memory status tool
|
|
309
|
+
*/
|
|
310
|
+
async toolStatus(service) {
|
|
311
|
+
const stats = await service.getStats();
|
|
312
|
+
const output = `## Memory System Status
|
|
313
|
+
|
|
314
|
+
- **Entries**: ${stats.totalEntries}
|
|
315
|
+
- **Namespaces**: ${Object.keys(stats.entriesByNamespace || {}).join(', ') || 'none'}
|
|
316
|
+
- **Database**: ${this.projectDir}/.claude/memory/memory.db
|
|
317
|
+
- **Status**: Connected
|
|
318
|
+
|
|
319
|
+
### Namespace Breakdown
|
|
320
|
+
${Object.entries(stats.entriesByNamespace || {}).map(([ns, count]) => `- ${ns}: ${count}`).join('\n') || '- No entries yet'}
|
|
321
|
+
`;
|
|
322
|
+
return {
|
|
323
|
+
content: [{ type: 'text', text: output }],
|
|
324
|
+
};
|
|
325
|
+
}
|
|
326
|
+
/**
|
|
327
|
+
* Start the server
|
|
328
|
+
*/
|
|
329
|
+
async start() {
|
|
330
|
+
const rl = readline.createInterface({
|
|
331
|
+
input: process.stdin,
|
|
332
|
+
output: process.stdout,
|
|
333
|
+
terminal: false,
|
|
334
|
+
});
|
|
335
|
+
// Handle each line as a JSON-RPC request
|
|
336
|
+
rl.on('line', async (line) => {
|
|
337
|
+
try {
|
|
338
|
+
const request = JSON.parse(line);
|
|
339
|
+
const response = await this.handleRequest(request);
|
|
340
|
+
// Only send response if there's an id (not a notification)
|
|
341
|
+
if (request.id !== undefined) {
|
|
342
|
+
console.log(JSON.stringify(response));
|
|
343
|
+
}
|
|
344
|
+
}
|
|
345
|
+
catch (error) {
|
|
346
|
+
// Parse error
|
|
347
|
+
console.log(JSON.stringify({
|
|
348
|
+
jsonrpc: '2.0',
|
|
349
|
+
id: null,
|
|
350
|
+
error: {
|
|
351
|
+
code: -32700,
|
|
352
|
+
message: 'Parse error',
|
|
353
|
+
},
|
|
354
|
+
}));
|
|
355
|
+
}
|
|
356
|
+
});
|
|
357
|
+
rl.on('close', () => {
|
|
358
|
+
process.exit(0);
|
|
359
|
+
});
|
|
360
|
+
}
|
|
361
|
+
}
|
|
362
|
+
// Start server
|
|
363
|
+
const server = new MemoryMCPServer();
|
|
364
|
+
server.start().catch((error) => {
|
|
365
|
+
console.error('Failed to start MCP server:', error);
|
|
366
|
+
process.exit(1);
|
|
367
|
+
});
|
|
368
|
+
//# sourceMappingURL=server.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"server.js","sourceRoot":"","sources":["../../src/mcp/server.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* MCP Memory Tools
|
|
3
|
+
*
|
|
4
|
+
* Tool definitions for the memory MCP server.
|
|
5
|
+
*
|
|
6
|
+
* @module @agentkits/memory/mcp/tools
|
|
7
|
+
*/
|
|
8
|
+
import type { MCPTool } from './types.js';
|
|
9
|
+
/**
|
|
10
|
+
* All available memory tools
|
|
11
|
+
*/
|
|
12
|
+
export declare const MEMORY_TOOLS: MCPTool[];
|
|
13
|
+
export default MEMORY_TOOLS;
|
|
14
|
+
//# sourceMappingURL=tools.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"tools.d.ts","sourceRoot":"","sources":["../../src/mcp/tools.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,YAAY,CAAC;AAE1C;;GAEG;AACH,eAAO,MAAM,YAAY,EAAE,OAAO,EAiGjC,CAAC;AAEF,eAAe,YAAY,CAAC"}
|
|
@@ -0,0 +1,110 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* MCP Memory Tools
|
|
3
|
+
*
|
|
4
|
+
* Tool definitions for the memory MCP server.
|
|
5
|
+
*
|
|
6
|
+
* @module @agentkits/memory/mcp/tools
|
|
7
|
+
*/
|
|
8
|
+
/**
|
|
9
|
+
* All available memory tools
|
|
10
|
+
*/
|
|
11
|
+
export const MEMORY_TOOLS = [
|
|
12
|
+
{
|
|
13
|
+
name: 'memory_save',
|
|
14
|
+
description: 'Save information to project memory. Use this to store decisions, patterns, error solutions, or important context that should persist across sessions.',
|
|
15
|
+
inputSchema: {
|
|
16
|
+
type: 'object',
|
|
17
|
+
properties: {
|
|
18
|
+
content: {
|
|
19
|
+
type: 'string',
|
|
20
|
+
description: 'The content to save to memory. Be specific and include context.',
|
|
21
|
+
},
|
|
22
|
+
category: {
|
|
23
|
+
type: 'string',
|
|
24
|
+
description: 'Category of memory',
|
|
25
|
+
enum: ['decision', 'pattern', 'error', 'context', 'observation'],
|
|
26
|
+
},
|
|
27
|
+
tags: {
|
|
28
|
+
type: 'string',
|
|
29
|
+
description: 'Comma-separated tags for easier retrieval (e.g., "auth,security,api")',
|
|
30
|
+
},
|
|
31
|
+
importance: {
|
|
32
|
+
type: 'string',
|
|
33
|
+
description: 'How important is this memory',
|
|
34
|
+
enum: ['low', 'medium', 'high', 'critical'],
|
|
35
|
+
},
|
|
36
|
+
},
|
|
37
|
+
required: ['content'],
|
|
38
|
+
},
|
|
39
|
+
},
|
|
40
|
+
{
|
|
41
|
+
name: 'memory_search',
|
|
42
|
+
description: 'Search project memory using semantic similarity. Find relevant past decisions, patterns, or context.',
|
|
43
|
+
inputSchema: {
|
|
44
|
+
type: 'object',
|
|
45
|
+
properties: {
|
|
46
|
+
query: {
|
|
47
|
+
type: 'string',
|
|
48
|
+
description: 'What to search for in memory',
|
|
49
|
+
},
|
|
50
|
+
limit: {
|
|
51
|
+
type: 'string',
|
|
52
|
+
description: 'Maximum number of results (default: 5)',
|
|
53
|
+
},
|
|
54
|
+
category: {
|
|
55
|
+
type: 'string',
|
|
56
|
+
description: 'Filter by category',
|
|
57
|
+
enum: ['decision', 'pattern', 'error', 'context', 'observation'],
|
|
58
|
+
},
|
|
59
|
+
},
|
|
60
|
+
required: ['query'],
|
|
61
|
+
},
|
|
62
|
+
},
|
|
63
|
+
{
|
|
64
|
+
name: 'memory_recall',
|
|
65
|
+
description: 'Recall specific topic from memory. Gets a summary of everything known about a topic.',
|
|
66
|
+
inputSchema: {
|
|
67
|
+
type: 'object',
|
|
68
|
+
properties: {
|
|
69
|
+
topic: {
|
|
70
|
+
type: 'string',
|
|
71
|
+
description: 'The topic to recall (e.g., "authentication", "database schema", "error handling")',
|
|
72
|
+
},
|
|
73
|
+
timeRange: {
|
|
74
|
+
type: 'string',
|
|
75
|
+
description: 'Time range to search',
|
|
76
|
+
enum: ['today', 'week', 'month', 'all'],
|
|
77
|
+
},
|
|
78
|
+
},
|
|
79
|
+
required: ['topic'],
|
|
80
|
+
},
|
|
81
|
+
},
|
|
82
|
+
{
|
|
83
|
+
name: 'memory_list',
|
|
84
|
+
description: 'List recent memories. Shows what has been saved recently.',
|
|
85
|
+
inputSchema: {
|
|
86
|
+
type: 'object',
|
|
87
|
+
properties: {
|
|
88
|
+
category: {
|
|
89
|
+
type: 'string',
|
|
90
|
+
description: 'Filter by category',
|
|
91
|
+
enum: ['decision', 'pattern', 'error', 'context', 'observation'],
|
|
92
|
+
},
|
|
93
|
+
limit: {
|
|
94
|
+
type: 'string',
|
|
95
|
+
description: 'Maximum number of results (default: 10)',
|
|
96
|
+
},
|
|
97
|
+
},
|
|
98
|
+
},
|
|
99
|
+
},
|
|
100
|
+
{
|
|
101
|
+
name: 'memory_status',
|
|
102
|
+
description: 'Get memory system status. Shows database size, entry count, and health.',
|
|
103
|
+
inputSchema: {
|
|
104
|
+
type: 'object',
|
|
105
|
+
properties: {},
|
|
106
|
+
},
|
|
107
|
+
},
|
|
108
|
+
];
|
|
109
|
+
export default MEMORY_TOOLS;
|
|
110
|
+
//# sourceMappingURL=tools.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"tools.js","sourceRoot":"","sources":["../../src/mcp/tools.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAIH;;GAEG;AACH,MAAM,CAAC,MAAM,YAAY,GAAc;IACrC;QACE,IAAI,EAAE,aAAa;QACnB,WAAW,EAAE,uJAAuJ;QACpK,WAAW,EAAE;YACX,IAAI,EAAE,QAAQ;YACd,UAAU,EAAE;gBACV,OAAO,EAAE;oBACP,IAAI,EAAE,QAAQ;oBACd,WAAW,EAAE,iEAAiE;iBAC/E;gBACD,QAAQ,EAAE;oBACR,IAAI,EAAE,QAAQ;oBACd,WAAW,EAAE,oBAAoB;oBACjC,IAAI,EAAE,CAAC,UAAU,EAAE,SAAS,EAAE,OAAO,EAAE,SAAS,EAAE,aAAa,CAAC;iBACjE;gBACD,IAAI,EAAE;oBACJ,IAAI,EAAE,QAAQ;oBACd,WAAW,EAAE,uEAAuE;iBACrF;gBACD,UAAU,EAAE;oBACV,IAAI,EAAE,QAAQ;oBACd,WAAW,EAAE,8BAA8B;oBAC3C,IAAI,EAAE,CAAC,KAAK,EAAE,QAAQ,EAAE,MAAM,EAAE,UAAU,CAAC;iBAC5C;aACF;YACD,QAAQ,EAAE,CAAC,SAAS,CAAC;SACtB;KACF;IACD;QACE,IAAI,EAAE,eAAe;QACrB,WAAW,EAAE,sGAAsG;QACnH,WAAW,EAAE;YACX,IAAI,EAAE,QAAQ;YACd,UAAU,EAAE;gBACV,KAAK,EAAE;oBACL,IAAI,EAAE,QAAQ;oBACd,WAAW,EAAE,8BAA8B;iBAC5C;gBACD,KAAK,EAAE;oBACL,IAAI,EAAE,QAAQ;oBACd,WAAW,EAAE,wCAAwC;iBACtD;gBACD,QAAQ,EAAE;oBACR,IAAI,EAAE,QAAQ;oBACd,WAAW,EAAE,oBAAoB;oBACjC,IAAI,EAAE,CAAC,UAAU,EAAE,SAAS,EAAE,OAAO,EAAE,SAAS,EAAE,aAAa,CAAC;iBACjE;aACF;YACD,QAAQ,EAAE,CAAC,OAAO,CAAC;SACpB;KACF;IACD;QACE,IAAI,EAAE,eAAe;QACrB,WAAW,EAAE,sFAAsF;QACnG,WAAW,EAAE;YACX,IAAI,EAAE,QAAQ;YACd,UAAU,EAAE;gBACV,KAAK,EAAE;oBACL,IAAI,EAAE,QAAQ;oBACd,WAAW,EAAE,mFAAmF;iBACjG;gBACD,SAAS,EAAE;oBACT,IAAI,EAAE,QAAQ;oBACd,WAAW,EAAE,sBAAsB;oBACnC,IAAI,EAAE,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,KAAK,CAAC;iBACxC;aACF;YACD,QAAQ,EAAE,CAAC,OAAO,CAAC;SACpB;KACF;IACD;QACE,IAAI,EAAE,aAAa;QACnB,WAAW,EAAE,2DAA2D;QACxE,WAAW,EAAE;YACX,IAAI,EAAE,QAAQ;YACd,UAAU,EAAE;gBACV,QAAQ,EAAE;oBACR,IAAI,EAAE,QAAQ;oBACd,WAAW,EAAE,oBAAoB;oBACjC,IAAI,EAAE,CAAC,UAAU,EAAE,SAAS,EAAE,OAAO,EAAE,SAAS,EAAE,aAAa,CAAC;iBACjE;gBACD,KAAK,EAAE;oBACL,IAAI,EAAE,QAAQ;oBACd,WAAW,EAAE,yCAAyC;iBACvD;aACF;SACF;KACF;IACD;QACE,IAAI,EAAE,eAAe;QACrB,WAAW,EAAE,yEAAyE;QACtF,WAAW,EAAE;YACX,IAAI,EAAE,QAAQ;YACd,UAAU,EAAE,EAAE;SACf;KACF;CACF,CAAC;AAEF,eAAe,YAAY,CAAC"}
|
|
@@ -0,0 +1,100 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* MCP Server Types
|
|
3
|
+
*
|
|
4
|
+
* Type definitions for the Model Context Protocol server.
|
|
5
|
+
*
|
|
6
|
+
* @module @agentkits/memory/mcp/types
|
|
7
|
+
*/
|
|
8
|
+
/**
|
|
9
|
+
* MCP Tool input schema
|
|
10
|
+
*/
|
|
11
|
+
export interface ToolInputSchema {
|
|
12
|
+
type: 'object';
|
|
13
|
+
properties: Record<string, {
|
|
14
|
+
type: string;
|
|
15
|
+
description: string;
|
|
16
|
+
enum?: string[];
|
|
17
|
+
}>;
|
|
18
|
+
required?: string[];
|
|
19
|
+
}
|
|
20
|
+
/**
|
|
21
|
+
* MCP Tool definition
|
|
22
|
+
*/
|
|
23
|
+
export interface MCPTool {
|
|
24
|
+
name: string;
|
|
25
|
+
description: string;
|
|
26
|
+
inputSchema: ToolInputSchema;
|
|
27
|
+
}
|
|
28
|
+
/**
|
|
29
|
+
* MCP Tool call request
|
|
30
|
+
*/
|
|
31
|
+
export interface ToolCallRequest {
|
|
32
|
+
name: string;
|
|
33
|
+
arguments: Record<string, unknown>;
|
|
34
|
+
}
|
|
35
|
+
/**
|
|
36
|
+
* MCP Tool call result
|
|
37
|
+
*/
|
|
38
|
+
export interface ToolCallResult {
|
|
39
|
+
content: Array<{
|
|
40
|
+
type: 'text';
|
|
41
|
+
text: string;
|
|
42
|
+
}>;
|
|
43
|
+
isError?: boolean;
|
|
44
|
+
}
|
|
45
|
+
/**
|
|
46
|
+
* Memory save arguments
|
|
47
|
+
*/
|
|
48
|
+
export interface MemorySaveArgs {
|
|
49
|
+
content: string;
|
|
50
|
+
category?: 'decision' | 'pattern' | 'error' | 'context' | 'observation';
|
|
51
|
+
tags?: string | string[];
|
|
52
|
+
importance?: 'low' | 'medium' | 'high' | 'critical';
|
|
53
|
+
}
|
|
54
|
+
/**
|
|
55
|
+
* Memory search arguments
|
|
56
|
+
*/
|
|
57
|
+
export interface MemorySearchArgs {
|
|
58
|
+
query: string;
|
|
59
|
+
limit?: number;
|
|
60
|
+
category?: string;
|
|
61
|
+
tags?: string[];
|
|
62
|
+
}
|
|
63
|
+
/**
|
|
64
|
+
* Memory recall arguments
|
|
65
|
+
*/
|
|
66
|
+
export interface MemoryRecallArgs {
|
|
67
|
+
topic: string;
|
|
68
|
+
timeRange?: 'today' | 'week' | 'month' | 'all';
|
|
69
|
+
}
|
|
70
|
+
/**
|
|
71
|
+
* Memory list arguments
|
|
72
|
+
*/
|
|
73
|
+
export interface MemoryListArgs {
|
|
74
|
+
category?: string;
|
|
75
|
+
limit?: number;
|
|
76
|
+
since?: string;
|
|
77
|
+
}
|
|
78
|
+
/**
|
|
79
|
+
* JSON-RPC request
|
|
80
|
+
*/
|
|
81
|
+
export interface JSONRPCRequest {
|
|
82
|
+
jsonrpc: '2.0';
|
|
83
|
+
id: number | string;
|
|
84
|
+
method: string;
|
|
85
|
+
params?: unknown;
|
|
86
|
+
}
|
|
87
|
+
/**
|
|
88
|
+
* JSON-RPC response
|
|
89
|
+
*/
|
|
90
|
+
export interface JSONRPCResponse {
|
|
91
|
+
jsonrpc: '2.0';
|
|
92
|
+
id: number | string;
|
|
93
|
+
result?: unknown;
|
|
94
|
+
error?: {
|
|
95
|
+
code: number;
|
|
96
|
+
message: string;
|
|
97
|
+
data?: unknown;
|
|
98
|
+
};
|
|
99
|
+
}
|
|
100
|
+
//# sourceMappingURL=types.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/mcp/types.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH;;GAEG;AACH,MAAM,WAAW,eAAe;IAC9B,IAAI,EAAE,QAAQ,CAAC;IACf,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE;QACzB,IAAI,EAAE,MAAM,CAAC;QACb,WAAW,EAAE,MAAM,CAAC;QACpB,IAAI,CAAC,EAAE,MAAM,EAAE,CAAC;KACjB,CAAC,CAAC;IACH,QAAQ,CAAC,EAAE,MAAM,EAAE,CAAC;CACrB;AAED;;GAEG;AACH,MAAM,WAAW,OAAO;IACtB,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;IACpB,WAAW,EAAE,eAAe,CAAC;CAC9B;AAED;;GAEG;AACH,MAAM,WAAW,eAAe;IAC9B,IAAI,EAAE,MAAM,CAAC;IACb,SAAS,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CACpC;AAED;;GAEG;AACH,MAAM,WAAW,cAAc;IAC7B,OAAO,EAAE,KAAK,CAAC;QACb,IAAI,EAAE,MAAM,CAAC;QACb,IAAI,EAAE,MAAM,CAAC;KACd,CAAC,CAAC;IACH,OAAO,CAAC,EAAE,OAAO,CAAC;CACnB;AAED;;GAEG;AACH,MAAM,WAAW,cAAc;IAC7B,OAAO,EAAE,MAAM,CAAC;IAChB,QAAQ,CAAC,EAAE,UAAU,GAAG,SAAS,GAAG,OAAO,GAAG,SAAS,GAAG,aAAa,CAAC;IACxE,IAAI,CAAC,EAAE,MAAM,GAAG,MAAM,EAAE,CAAC;IACzB,UAAU,CAAC,EAAE,KAAK,GAAG,QAAQ,GAAG,MAAM,GAAG,UAAU,CAAC;CACrD;AAED;;GAEG;AACH,MAAM,WAAW,gBAAgB;IAC/B,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,IAAI,CAAC,EAAE,MAAM,EAAE,CAAC;CACjB;AAED;;GAEG;AACH,MAAM,WAAW,gBAAgB;IAC/B,KAAK,EAAE,MAAM,CAAC;IACd,SAAS,CAAC,EAAE,OAAO,GAAG,MAAM,GAAG,OAAO,GAAG,KAAK,CAAC;CAChD;AAED;;GAEG;AACH,MAAM,WAAW,cAAc;IAC7B,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED;;GAEG;AACH,MAAM,WAAW,cAAc;IAC7B,OAAO,EAAE,KAAK,CAAC;IACf,EAAE,EAAE,MAAM,GAAG,MAAM,CAAC;IACpB,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,CAAC,EAAE,OAAO,CAAC;CAClB;AAED;;GAEG;AACH,MAAM,WAAW,eAAe;IAC9B,OAAO,EAAE,KAAK,CAAC;IACf,EAAE,EAAE,MAAM,GAAG,MAAM,CAAC;IACpB,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,KAAK,CAAC,EAAE;QACN,IAAI,EAAE,MAAM,CAAC;QACb,OAAO,EAAE,MAAM,CAAC;QAChB,IAAI,CAAC,EAAE,OAAO,CAAC;KAChB,CAAC;CACH"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/mcp/types.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG"}
|