@danielsimonjr/memory-mcp 12.8.1 → 12.8.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/dist/index.js +4 -2
- package/dist/server/MCPServer.d.ts +11 -2
- package/dist/server/MCPServer.d.ts.map +1 -1
- package/dist/server/MCPServer.js +27 -21
- package/package.json +5 -4
package/dist/index.js
CHANGED
|
@@ -22,7 +22,9 @@ let managerContext;
|
|
|
22
22
|
// process alive as an orphan until manually killed.
|
|
23
23
|
// ctx.close() (memoryjs v3) releases storage handles before exit; it is a
|
|
24
24
|
// no-op for JSONL but closes the SQLite handle when MEMORY_STORAGE_TYPE=sqlite.
|
|
25
|
+
let mcpServer;
|
|
25
26
|
function shutdown() {
|
|
27
|
+
void mcpServer?.close();
|
|
26
28
|
managerContext?.close();
|
|
27
29
|
process.exit(0);
|
|
28
30
|
}
|
|
@@ -40,8 +42,8 @@ async function main() {
|
|
|
40
42
|
storageType,
|
|
41
43
|
});
|
|
42
44
|
// Initialize and start MCP server
|
|
43
|
-
|
|
44
|
-
await
|
|
45
|
+
mcpServer = new MCPServer(managerContext);
|
|
46
|
+
await mcpServer.start();
|
|
45
47
|
}
|
|
46
48
|
main().catch((error) => {
|
|
47
49
|
logger.error("Fatal error in main():", error);
|
|
@@ -4,6 +4,9 @@
|
|
|
4
4
|
* Handles Model Context Protocol server initialization and tool registration.
|
|
5
5
|
* Tool definitions and handlers are extracted to separate modules for maintainability.
|
|
6
6
|
*
|
|
7
|
+
* Serves MCP protocol revision 2026-07-28 via `serveStdio`, with backward-compatible
|
|
8
|
+
* support for 2025-era clients on the same stdio connection.
|
|
9
|
+
*
|
|
7
10
|
* @module server/MCPServer
|
|
8
11
|
*/
|
|
9
12
|
import { type ManagerContext } from '@danielsimonjr/memoryjs';
|
|
@@ -12,10 +15,16 @@ import { type ManagerContext } from '@danielsimonjr/memoryjs';
|
|
|
12
15
|
* Exposes tools for entity/relation management, search, and analysis.
|
|
13
16
|
*/
|
|
14
17
|
export declare class MCPServer {
|
|
15
|
-
private server;
|
|
16
18
|
private ctx;
|
|
19
|
+
private stdioHandle;
|
|
17
20
|
constructor(ctx: ManagerContext);
|
|
18
|
-
|
|
21
|
+
/**
|
|
22
|
+
* Build a fresh Server instance for one stdio connection.
|
|
23
|
+
* `serveStdio` pins one instance per connection; the shared ManagerContext
|
|
24
|
+
* holds graph state across reconnects.
|
|
25
|
+
*/
|
|
26
|
+
private createServer;
|
|
19
27
|
start(): Promise<void>;
|
|
28
|
+
close(): Promise<void>;
|
|
20
29
|
}
|
|
21
30
|
//# sourceMappingURL=MCPServer.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"MCPServer.d.ts","sourceRoot":"","sources":["../../src/server/MCPServer.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"MCPServer.d.ts","sourceRoot":"","sources":["../../src/server/MCPServer.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAKH,OAAO,EAAU,KAAK,cAAc,EAAE,MAAM,yBAAyB,CAAC;AAqBtE;;;GAGG;AACH,qBAAa,SAAS;IACpB,OAAO,CAAC,GAAG,CAAiB;IAC5B,OAAO,CAAC,WAAW,CAAkC;IAErD,YAAY,GAAG,EAAE,cAAc,EAE9B;IAED;;;;OAIG;IACH,OAAO,CAAC,YAAY;IAyBd,KAAK,kBAGV;IAEK,KAAK,kBAGV;CACF"}
|
package/dist/server/MCPServer.js
CHANGED
|
@@ -4,12 +4,14 @@
|
|
|
4
4
|
* Handles Model Context Protocol server initialization and tool registration.
|
|
5
5
|
* Tool definitions and handlers are extracted to separate modules for maintainability.
|
|
6
6
|
*
|
|
7
|
+
* Serves MCP protocol revision 2026-07-28 via `serveStdio`, with backward-compatible
|
|
8
|
+
* support for 2025-era clients on the same stdio connection.
|
|
9
|
+
*
|
|
7
10
|
* @module server/MCPServer
|
|
8
11
|
*/
|
|
9
12
|
import { createRequire } from 'node:module';
|
|
10
|
-
import { Server } from
|
|
11
|
-
import {
|
|
12
|
-
import { CallToolRequestSchema, ListToolsRequestSchema, } from "@modelcontextprotocol/sdk/types.js";
|
|
13
|
+
import { Server } from '@modelcontextprotocol/server';
|
|
14
|
+
import { serveStdio } from '@modelcontextprotocol/server/stdio';
|
|
13
15
|
import { logger } from '@danielsimonjr/memoryjs';
|
|
14
16
|
import { toolDefinitions } from './toolDefinitions.js';
|
|
15
17
|
import { handleToolCall } from './toolHandlers.js';
|
|
@@ -27,36 +29,40 @@ const version = typeof __PKG_VERSION__ === 'string'
|
|
|
27
29
|
* Exposes tools for entity/relation management, search, and analysis.
|
|
28
30
|
*/
|
|
29
31
|
export class MCPServer {
|
|
30
|
-
server;
|
|
31
32
|
ctx;
|
|
33
|
+
stdioHandle = null;
|
|
32
34
|
constructor(ctx) {
|
|
33
35
|
this.ctx = ctx;
|
|
34
|
-
|
|
35
|
-
|
|
36
|
+
}
|
|
37
|
+
/**
|
|
38
|
+
* Build a fresh Server instance for one stdio connection.
|
|
39
|
+
* `serveStdio` pins one instance per connection; the shared ManagerContext
|
|
40
|
+
* holds graph state across reconnects.
|
|
41
|
+
*/
|
|
42
|
+
createServer() {
|
|
43
|
+
const server = new Server({
|
|
44
|
+
name: 'memory-server',
|
|
36
45
|
version,
|
|
37
46
|
}, {
|
|
38
47
|
capabilities: {
|
|
39
48
|
tools: {},
|
|
40
49
|
},
|
|
41
50
|
});
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
this.server.setRequestHandler(ListToolsRequestSchema, async () => {
|
|
47
|
-
return {
|
|
48
|
-
tools: toolDefinitions,
|
|
49
|
-
};
|
|
50
|
-
});
|
|
51
|
-
// Register call tool handler
|
|
52
|
-
this.server.setRequestHandler(CallToolRequestSchema, async (request) => {
|
|
51
|
+
server.setRequestHandler('tools/list', async () => ({
|
|
52
|
+
tools: toolDefinitions,
|
|
53
|
+
}));
|
|
54
|
+
server.setRequestHandler('tools/call', async (request) => {
|
|
53
55
|
const { name, arguments: args } = request.params;
|
|
54
|
-
return handleToolCall(name, args
|
|
56
|
+
return handleToolCall(name, args ?? {}, this.ctx);
|
|
55
57
|
});
|
|
58
|
+
return server;
|
|
56
59
|
}
|
|
57
60
|
async start() {
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
+
this.stdioHandle = serveStdio(() => this.createServer());
|
|
62
|
+
logger.info('Knowledge Graph MCP Server running on stdio (MCP 2026-07-28)');
|
|
63
|
+
}
|
|
64
|
+
async close() {
|
|
65
|
+
await this.stdioHandle?.close();
|
|
66
|
+
this.stdioHandle = null;
|
|
61
67
|
}
|
|
62
68
|
}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@danielsimonjr/memory-mcp",
|
|
3
|
-
"version": "12.8.
|
|
3
|
+
"version": "12.8.3",
|
|
4
4
|
"description": "Enhanced MCP memory server with hierarchies, compression, archiving, graph algorithms, semantic search, temporal KG, RBAC, bitemporal validity, OCC, procedural memory, causal reasoning, world model, do_not_remember exclusions, decision rationale, project context, heuristic guidelines, tool affordance + observer, observation dedup, spell correction, event memory, reconstructive memory, relation consolidation, agent reflection, and 241 advanced tools",
|
|
5
5
|
"license": "MIT",
|
|
6
6
|
"engines": {
|
|
@@ -53,13 +53,14 @@
|
|
|
53
53
|
"test": "vitest run --coverage",
|
|
54
54
|
"typecheck": "tsc --noEmit --noUnusedLocals --noUnusedParameters --strict",
|
|
55
55
|
"clean": "shx rm -rf dist",
|
|
56
|
-
"docs:deps": "npx tsx tools/create-dependency-graph/create-dependency-graph.ts",
|
|
56
|
+
"docs:deps": "npx tsx tools/create-dependency-graph/create-dependency-graph.ts --include-tests",
|
|
57
57
|
"tools:install": "cd tools/chunking-for-files && npm install && cd ../compress-for-context && npm install && cd ../create-dependency-graph && npm install && cd ../migrate-from-jsonl-to-sqlite && npm install",
|
|
58
58
|
"tools:build": "cd tools/chunking-for-files && npm run build && cd ../compress-for-context && npm run build && cd ../create-dependency-graph && npm run build && cd ../migrate-from-jsonl-to-sqlite && npm run build"
|
|
59
59
|
},
|
|
60
60
|
"dependencies": {
|
|
61
61
|
"@danielsimonjr/memoryjs": "^3.3.1",
|
|
62
|
-
"@modelcontextprotocol/
|
|
62
|
+
"@modelcontextprotocol/core": "^2.0.0",
|
|
63
|
+
"@modelcontextprotocol/server": "^2.0.0",
|
|
63
64
|
"zod": "^4.4.3"
|
|
64
65
|
},
|
|
65
66
|
"overrides": {
|
|
@@ -67,7 +68,7 @@
|
|
|
67
68
|
},
|
|
68
69
|
"devDependencies": {
|
|
69
70
|
"@types/node": "^26",
|
|
70
|
-
"@vitest/coverage-v8": "^4.1.
|
|
71
|
+
"@vitest/coverage-v8": "^4.1.11",
|
|
71
72
|
"esbuild": "^0.28.2",
|
|
72
73
|
"shx": "^0.4.0",
|
|
73
74
|
"typescript": "^7.0.2",
|