@aeriondyseti/vector-memory-mcp 1.1.0-dev.6 → 2.0.0-rc

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.
Files changed (106) hide show
  1. package/README.md +22 -4
  2. package/package.json +12 -18
  3. package/scripts/migrate-from-lancedb.ts +56 -0
  4. package/scripts/smoke-test.ts +699 -0
  5. package/scripts/test-runner.ts +11 -1
  6. package/src/db/connection.ts +18 -4
  7. package/src/db/conversation.repository.ts +164 -79
  8. package/src/db/memory.repository.ts +182 -170
  9. package/src/db/migrations.ts +70 -0
  10. package/src/db/sqlite-utils.ts +78 -0
  11. package/src/http/server.ts +40 -35
  12. package/src/index.ts +33 -3
  13. package/src/mcp/server.ts +2 -1
  14. package/src/migration.ts +254 -0
  15. package/dist/package.json +0 -71
  16. package/dist/scripts/test-runner.d.ts +0 -9
  17. package/dist/scripts/test-runner.d.ts.map +0 -1
  18. package/dist/scripts/test-runner.js +0 -61
  19. package/dist/scripts/test-runner.js.map +0 -1
  20. package/dist/scripts/warmup.d.ts +0 -8
  21. package/dist/scripts/warmup.d.ts.map +0 -1
  22. package/dist/scripts/warmup.js +0 -61
  23. package/dist/scripts/warmup.js.map +0 -1
  24. package/dist/src/config/index.d.ts +0 -41
  25. package/dist/src/config/index.d.ts.map +0 -1
  26. package/dist/src/config/index.js +0 -75
  27. package/dist/src/config/index.js.map +0 -1
  28. package/dist/src/db/connection.d.ts +0 -3
  29. package/dist/src/db/connection.d.ts.map +0 -1
  30. package/dist/src/db/connection.js +0 -10
  31. package/dist/src/db/connection.js.map +0 -1
  32. package/dist/src/db/conversation.repository.d.ts +0 -26
  33. package/dist/src/db/conversation.repository.d.ts.map +0 -1
  34. package/dist/src/db/conversation.repository.js +0 -73
  35. package/dist/src/db/conversation.repository.js.map +0 -1
  36. package/dist/src/db/conversation.schema.d.ts +0 -4
  37. package/dist/src/db/conversation.schema.d.ts.map +0 -1
  38. package/dist/src/db/conversation.schema.js +0 -15
  39. package/dist/src/db/conversation.schema.js.map +0 -1
  40. package/dist/src/db/lancedb-utils.d.ts +0 -57
  41. package/dist/src/db/lancedb-utils.d.ts.map +0 -1
  42. package/dist/src/db/lancedb-utils.js +0 -124
  43. package/dist/src/db/lancedb-utils.js.map +0 -1
  44. package/dist/src/db/memory.repository.d.ts +0 -40
  45. package/dist/src/db/memory.repository.d.ts.map +0 -1
  46. package/dist/src/db/memory.repository.js +0 -183
  47. package/dist/src/db/memory.repository.js.map +0 -1
  48. package/dist/src/db/schema.d.ts +0 -7
  49. package/dist/src/db/schema.d.ts.map +0 -1
  50. package/dist/src/db/schema.js +0 -19
  51. package/dist/src/db/schema.js.map +0 -1
  52. package/dist/src/http/mcp-transport.d.ts +0 -19
  53. package/dist/src/http/mcp-transport.d.ts.map +0 -1
  54. package/dist/src/http/mcp-transport.js +0 -191
  55. package/dist/src/http/mcp-transport.js.map +0 -1
  56. package/dist/src/http/server.d.ts +0 -13
  57. package/dist/src/http/server.d.ts.map +0 -1
  58. package/dist/src/http/server.js +0 -224
  59. package/dist/src/http/server.js.map +0 -1
  60. package/dist/src/index.d.ts +0 -3
  61. package/dist/src/index.d.ts.map +0 -1
  62. package/dist/src/index.js +0 -68
  63. package/dist/src/index.js.map +0 -1
  64. package/dist/src/mcp/handlers.d.ts +0 -15
  65. package/dist/src/mcp/handlers.d.ts.map +0 -1
  66. package/dist/src/mcp/handlers.js +0 -313
  67. package/dist/src/mcp/handlers.js.map +0 -1
  68. package/dist/src/mcp/server.d.ts +0 -5
  69. package/dist/src/mcp/server.d.ts.map +0 -1
  70. package/dist/src/mcp/server.js +0 -22
  71. package/dist/src/mcp/server.js.map +0 -1
  72. package/dist/src/mcp/tools.d.ts +0 -13
  73. package/dist/src/mcp/tools.d.ts.map +0 -1
  74. package/dist/src/mcp/tools.js +0 -352
  75. package/dist/src/mcp/tools.js.map +0 -1
  76. package/dist/src/services/conversation.service.d.ts +0 -38
  77. package/dist/src/services/conversation.service.d.ts.map +0 -1
  78. package/dist/src/services/conversation.service.js +0 -252
  79. package/dist/src/services/conversation.service.js.map +0 -1
  80. package/dist/src/services/embeddings.service.d.ts +0 -12
  81. package/dist/src/services/embeddings.service.d.ts.map +0 -1
  82. package/dist/src/services/embeddings.service.js +0 -37
  83. package/dist/src/services/embeddings.service.js.map +0 -1
  84. package/dist/src/services/memory.service.d.ts +0 -40
  85. package/dist/src/services/memory.service.d.ts.map +0 -1
  86. package/dist/src/services/memory.service.js +0 -258
  87. package/dist/src/services/memory.service.js.map +0 -1
  88. package/dist/src/services/parsers/claude-code.parser.d.ts +0 -8
  89. package/dist/src/services/parsers/claude-code.parser.d.ts.map +0 -1
  90. package/dist/src/services/parsers/claude-code.parser.js +0 -191
  91. package/dist/src/services/parsers/claude-code.parser.js.map +0 -1
  92. package/dist/src/services/parsers/types.d.ts +0 -9
  93. package/dist/src/services/parsers/types.d.ts.map +0 -1
  94. package/dist/src/services/parsers/types.js +0 -2
  95. package/dist/src/services/parsers/types.js.map +0 -1
  96. package/dist/src/types/conversation.d.ts +0 -99
  97. package/dist/src/types/conversation.d.ts.map +0 -1
  98. package/dist/src/types/conversation.js +0 -2
  99. package/dist/src/types/conversation.js.map +0 -1
  100. package/dist/src/types/memory.d.ts +0 -30
  101. package/dist/src/types/memory.d.ts.map +0 -1
  102. package/dist/src/types/memory.js +0 -18
  103. package/dist/src/types/memory.js.map +0 -1
  104. package/src/db/conversation.schema.ts +0 -33
  105. package/src/db/lancedb-utils.ts +0 -142
  106. package/src/db/schema.ts +0 -38
package/README.md CHANGED
@@ -2,7 +2,7 @@
2
2
 
3
3
  > Semantic memory storage for AI assistants. Store decisions, patterns, and context that persists across sessions.
4
4
 
5
- A local-first MCP server that provides vector-based memory storage. Uses local embeddings and LanceDB for fast, private semantic search.
5
+ A local-first MCP server that provides vector-based memory storage. Uses local embeddings and SQLite with sqlite-vec for fast, private semantic search — all in a single file.
6
6
 
7
7
  [![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](https://opensource.org/licenses/MIT)
8
8
  [![npm version](https://img.shields.io/npm/v/@aeriondyseti/vector-memory-mcp.svg)](https://www.npmjs.com/package/@aeriondyseti/vector-memory-mcp)
@@ -11,10 +11,11 @@ A local-first MCP server that provides vector-based memory storage. Uses local e
11
11
 
12
12
  ## Features
13
13
 
14
- - **Local & Private** - All embeddings generated locally, data stored in local LanceDB
15
- - **Semantic Search** - Vector similarity search with configurable scoring
14
+ - **Local & Private** - All embeddings generated locally, data stored in a single SQLite file
15
+ - **Semantic Search** - Hybrid vector + full-text search with intent-based ranking
16
16
  - **Batch Operations** - Store, update, delete, and retrieve multiple memories at once
17
17
  - **Session Waypoints** - Save and restore project context between sessions
18
+ - **Conversation History** - Index and search Claude Code session transcripts
18
19
  - **MCP Native** - Standard protocol, works with any MCP-compatible client
19
20
 
20
21
  ---
@@ -113,6 +114,23 @@ CLI flags:
113
114
 
114
115
  ---
115
116
 
117
+ ## Migrating from 1.x (LanceDB)
118
+
119
+ Version 2.0 replaced LanceDB with SQLite (sqlite-vec) for storage. If you have existing data from 1.x, the server will detect it automatically and prompt you to migrate:
120
+
121
+ ```bash
122
+ vector-memory-mcp migrate
123
+ ```
124
+
125
+ This reads your LanceDB directory, writes a new SQLite file, and prints instructions to swap them. Your original data is preserved until you manually remove it.
126
+
127
+ **What changed:**
128
+ - Storage: LanceDB directory (~845 files) → single `.db` file
129
+ - Dependencies: 223MB (`@lancedb/lancedb` + `apache-arrow`) → 24KB (`sqlite-vec`)
130
+ - Runtime: Node.js support dropped, Bun required (for `bun:sqlite`)
131
+
132
+ ---
133
+
116
134
  ## Development
117
135
 
118
136
  ```bash
@@ -139,4 +157,4 @@ MIT - see [LICENSE](LICENSE)
139
157
 
140
158
  ---
141
159
 
142
- Built with [MCP SDK](https://github.com/modelcontextprotocol/typescript-sdk), [LanceDB](https://lancedb.com/), and [Transformers.js](https://huggingface.co/docs/transformers.js)
160
+ Built with [MCP SDK](https://github.com/modelcontextprotocol/typescript-sdk), [sqlite-vec](https://github.com/asg017/sqlite-vec), and [Transformers.js](https://huggingface.co/docs/transformers.js)
package/package.json CHANGED
@@ -1,14 +1,13 @@
1
1
  {
2
2
  "name": "@aeriondyseti/vector-memory-mcp",
3
- "version": "1.1.0-dev.6",
3
+ "version": "2.0.0-rc",
4
4
  "description": "A zero-configuration RAG memory server for MCP clients",
5
5
  "type": "module",
6
- "main": "dist/src/index.js",
6
+ "main": "src/index.ts",
7
7
  "bin": {
8
- "vector-memory-mcp": "dist/src/index.js"
8
+ "vector-memory-mcp": "src/index.ts"
9
9
  },
10
10
  "files": [
11
- "dist",
12
11
  "src",
13
12
  "scripts",
14
13
  "README.md",
@@ -24,11 +23,8 @@
24
23
  },
25
24
  "homepage": "https://github.com/aeriondyseti/vector-memory-mcp#readme",
26
25
  "scripts": {
27
- "start": "node dist/src/index.js",
28
- "start:bun": "bun run src/index.ts",
26
+ "start": "bun run src/index.ts",
29
27
  "dev": "bun --watch run src/index.ts",
30
- "build": "tsc",
31
- "prebuild": "rm -rf dist",
32
28
  "typecheck": "bunx tsc --noEmit",
33
29
  "test": "bun run scripts/test-runner.ts",
34
30
  "test:raw": "bun test --preload ./tests/preload.ts",
@@ -36,36 +32,34 @@
36
32
  "test:coverage": "bun test --preload ./tests/preload.ts --coverage",
37
33
  "benchmark": "bun test tests/benchmark.test.ts --preload ./tests/preload.ts",
38
34
  "test:preload": "bun run tests/preload.ts",
35
+ "smoke": "bun run scripts/smoke-test.ts",
39
36
  "warmup": "bun run scripts/warmup.ts",
40
37
  "postinstall": "bun run scripts/warmup.ts",
41
- "prepublishOnly": "bun run build"
38
+ "prepublishOnly": "bunx tsc --noEmit"
42
39
  },
43
40
  "keywords": [
44
41
  "mcp",
45
42
  "memory",
46
43
  "rag",
47
44
  "embeddings",
48
- "lancedb"
45
+ "sqlite-vec"
49
46
  ],
50
47
  "license": "MIT",
51
48
  "dependencies": {
52
- "@hono/node-server": "^1.19.9",
53
49
  "@huggingface/transformers": "^3.8.0",
54
- "@lancedb/lancedb": "^0.22.3",
50
+ "@lancedb/lancedb": "^0.26.2",
55
51
  "@modelcontextprotocol/sdk": "^1.0.0",
52
+ "apache-arrow": "^21.1.0",
56
53
  "arg": "^5.0.2",
57
- "hono": "^4.11.3"
54
+ "hono": "^4.11.3",
55
+ "sqlite-vec": "^0.1.6"
58
56
  },
59
57
  "devDependencies": {
60
58
  "@types/bun": "latest",
61
59
  "typescript": "^5.0.0"
62
60
  },
63
61
  "trustedDependencies": [
64
- "onnxruntime-node",
65
62
  "protobufjs",
66
63
  "sharp"
67
- ],
68
- "overrides": {
69
- "onnxruntime-node": "1.23.2"
70
- }
64
+ ]
71
65
  }
@@ -0,0 +1,56 @@
1
+ #!/usr/bin/env bun
2
+ /**
3
+ * Standalone migration script: LanceDB → SQLite (sqlite-vec)
4
+ *
5
+ * This is a thin wrapper around src/migration.ts for direct invocation.
6
+ * The preferred way to migrate is `vector-memory-mcp migrate`.
7
+ *
8
+ * Usage:
9
+ * bun scripts/migrate-from-lancedb.ts [--source <lancedb-dir>] [--target <sqlite-file>]
10
+ *
11
+ * Defaults:
12
+ * --source .vector-memory/memories.db (the old LanceDB directory)
13
+ * --target .vector-memory/memories.db.sqlite (new SQLite file)
14
+ *
15
+ * @deprecated Use `vector-memory-mcp migrate` instead. This script will be
16
+ * removed in the next major version.
17
+ */
18
+
19
+ import { migrate, formatMigrationSummary } from "../src/migration.js";
20
+
21
+ function parseArgs(): { source: string; target: string } {
22
+ const args = process.argv.slice(2);
23
+ let source = ".vector-memory/memories.db";
24
+ let target = ".vector-memory/memories.db.sqlite";
25
+
26
+ for (let i = 0; i < args.length; i++) {
27
+ if (args[i] === "--source" && args[i + 1]) source = args[++i];
28
+ else if (args[i] === "--target" && args[i + 1]) target = args[++i];
29
+ else if (args[i] === "--help" || args[i] === "-h") {
30
+ console.log(`
31
+ Usage: bun scripts/migrate-from-lancedb.ts [options]
32
+
33
+ Prefer: vector-memory-mcp migrate
34
+
35
+ Options:
36
+ --source <path> LanceDB directory (default: .vector-memory/memories.db)
37
+ --target <path> SQLite output file (default: .vector-memory/memories.db.sqlite)
38
+ --help Show this help
39
+ `);
40
+ process.exit(0);
41
+ }
42
+ }
43
+
44
+ return { source, target };
45
+ }
46
+
47
+ async function main() {
48
+ const { source, target } = parseArgs();
49
+ const result = await migrate({ source, target });
50
+ console.error(formatMigrationSummary(source, target, result));
51
+ }
52
+
53
+ main().catch((err) => {
54
+ console.error("❌ Migration failed:", err.message ?? err);
55
+ process.exit(1);
56
+ });