@whenmoon-afk/memory-mcp 2.3.0 → 2.4.1
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 +146 -41
- package/dist/database/driver-factory.js.map +1 -1
- package/dist/index.d.ts +2 -2
- package/dist/index.js +24 -17
- package/dist/index.js.map +1 -1
- package/dist/tools/memory-forget.d.ts +1 -1
- package/dist/tools/memory-forget.d.ts.map +1 -1
- package/dist/tools/memory-forget.js +1 -1
- package/dist/tools/memory-forget.js.map +1 -1
- package/dist/tools/memory-recall.d.ts +1 -1
- package/dist/tools/memory-recall.d.ts.map +1 -1
- package/dist/tools/memory-recall.js +1 -1
- package/dist/tools/memory-recall.js.map +1 -1
- package/dist/tools/memory-store.d.ts +1 -1
- package/dist/tools/memory-store.d.ts.map +1 -1
- package/dist/tools/memory-store.js +3 -3
- package/dist/tools/memory-store.js.map +1 -1
- package/install.js +14 -18
- package/package.json +6 -2
- package/scripts/consolidate-memories.js +780 -0
package/README.md
CHANGED
|
@@ -7,75 +7,135 @@ Local, persistent memory for Claude Desktop and MCP-compatible AI assistants.
|
|
|
7
7
|
|
|
8
8
|
A lightweight MCP server that gives your AI durable, searchable memory — entirely on your machine. Built with TypeScript, SQLite + FTS5, and minimal dependencies.
|
|
9
9
|
|
|
10
|
-
##
|
|
10
|
+
## Quick Start
|
|
11
11
|
|
|
12
|
-
|
|
12
|
+
Choose your installation method below based on your platform and preference.
|
|
13
13
|
|
|
14
|
-
|
|
14
|
+
### Option 1: Direct from GitHub (Always Latest)
|
|
15
15
|
|
|
16
|
-
|
|
17
|
-
npx @whenmoon-afk/memory-mcp
|
|
18
|
-
```
|
|
16
|
+
This method fetches directly from GitHub, bypassing npm cache issues.
|
|
19
17
|
|
|
20
|
-
|
|
21
|
-
- Detect your OS (macOS/Windows/Linux)
|
|
22
|
-
- Configure Claude Desktop with the memory server
|
|
23
|
-
- Create backup of existing config
|
|
24
|
-
- Set up platform-appropriate database location
|
|
18
|
+
**macOS / Linux:**
|
|
25
19
|
|
|
26
|
-
|
|
20
|
+
Add to your Claude Desktop config (`~/Library/Application Support/Claude/claude_desktop_config.json` on macOS, `~/.config/Claude/claude_desktop_config.json` on Linux):
|
|
27
21
|
|
|
28
|
-
|
|
22
|
+
```json
|
|
23
|
+
{
|
|
24
|
+
"mcpServers": {
|
|
25
|
+
"memory": {
|
|
26
|
+
"command": "npx",
|
|
27
|
+
"args": ["-y", "github:whenmoon-afk/claude-memory-mcp"]
|
|
28
|
+
}
|
|
29
|
+
}
|
|
30
|
+
}
|
|
31
|
+
```
|
|
29
32
|
|
|
30
|
-
|
|
33
|
+
**Windows (Command Prompt wrapper):**
|
|
31
34
|
|
|
32
|
-
|
|
33
|
-
- **Windows**: `%APPDATA%/claude-memories/memory.db`
|
|
34
|
-
- **Linux**: `~/.local/share/claude-memories/memory.db`
|
|
35
|
+
Add to your Claude Desktop config (`%APPDATA%/Claude/claude_desktop_config.json`):
|
|
35
36
|
|
|
36
|
-
|
|
37
|
+
```json
|
|
38
|
+
{
|
|
39
|
+
"mcpServers": {
|
|
40
|
+
"memory": {
|
|
41
|
+
"command": "cmd",
|
|
42
|
+
"args": ["/c", "npx", "-y", "github:whenmoon-afk/claude-memory-mcp"]
|
|
43
|
+
}
|
|
44
|
+
}
|
|
45
|
+
}
|
|
46
|
+
```
|
|
37
47
|
|
|
38
|
-
|
|
48
|
+
**Windows (Full npx.cmd path - alternative):**
|
|
39
49
|
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
50
|
+
```json
|
|
51
|
+
{
|
|
52
|
+
"mcpServers": {
|
|
53
|
+
"memory": {
|
|
54
|
+
"command": "C:\\Program Files\\nodejs\\npx.cmd",
|
|
55
|
+
"args": ["-y", "github:whenmoon-afk/claude-memory-mcp"]
|
|
56
|
+
}
|
|
57
|
+
}
|
|
58
|
+
}
|
|
59
|
+
```
|
|
45
60
|
|
|
46
|
-
|
|
61
|
+
**WSL Users:** Use the macOS/Linux config above.
|
|
47
62
|
|
|
48
|
-
|
|
49
|
-
- Token budgeting for context-aware responses
|
|
50
|
-
- Automatic entity extraction and summarization
|
|
51
|
-
- Soft deletes with provenance tracking
|
|
52
|
-
- Hybrid relevance scoring (recency + importance + frequency)
|
|
63
|
+
### Option 2: Global Install (Most Reliable)
|
|
53
64
|
|
|
54
|
-
|
|
65
|
+
Install globally for offline support and faster startup:
|
|
55
66
|
|
|
56
|
-
|
|
67
|
+
```bash
|
|
68
|
+
npm install -g @whenmoon-afk/memory-mcp
|
|
69
|
+
```
|
|
57
70
|
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
71
|
+
Find your global npm path:
|
|
72
|
+
```bash
|
|
73
|
+
npm root -g
|
|
74
|
+
```
|
|
62
75
|
|
|
63
|
-
|
|
76
|
+
Then add to Claude Desktop config:
|
|
64
77
|
|
|
65
78
|
```json
|
|
66
79
|
{
|
|
67
80
|
"mcpServers": {
|
|
68
81
|
"memory": {
|
|
69
82
|
"command": "node",
|
|
70
|
-
"args": ["/
|
|
83
|
+
"args": ["YOUR_GLOBAL_PATH/node_modules/@whenmoon-afk/memory-mcp/dist/index.js"]
|
|
84
|
+
}
|
|
85
|
+
}
|
|
86
|
+
}
|
|
87
|
+
```
|
|
88
|
+
|
|
89
|
+
Replace `YOUR_GLOBAL_PATH` with the output from `npm root -g`.
|
|
90
|
+
|
|
91
|
+
### Option 3: Automatic Installer
|
|
92
|
+
|
|
93
|
+
For first-time setup, the installer configures Claude Desktop automatically:
|
|
94
|
+
|
|
95
|
+
```bash
|
|
96
|
+
npx @whenmoon-afk/memory-mcp-install
|
|
97
|
+
```
|
|
98
|
+
|
|
99
|
+
After any installation method, **restart Claude Desktop completely** (quit and reopen).
|
|
100
|
+
|
|
101
|
+
## Custom Database Location
|
|
102
|
+
|
|
103
|
+
By default, memories are stored at `~/.memory-mcp/memory.db` on all platforms.
|
|
104
|
+
|
|
105
|
+
To use a custom location, add the `env` field to your config:
|
|
106
|
+
|
|
107
|
+
```json
|
|
108
|
+
{
|
|
109
|
+
"mcpServers": {
|
|
110
|
+
"memory": {
|
|
111
|
+
"command": "npx",
|
|
112
|
+
"args": ["-y", "github:whenmoon-afk/claude-memory-mcp"],
|
|
71
113
|
"env": {
|
|
72
|
-
"MEMORY_DB_PATH": "/path/to
|
|
114
|
+
"MEMORY_DB_PATH": "/path/to/your/memory.db"
|
|
73
115
|
}
|
|
74
116
|
}
|
|
75
117
|
}
|
|
76
118
|
}
|
|
77
119
|
```
|
|
78
120
|
|
|
121
|
+
The database is a single portable SQLite file. Back it up by copying the file.
|
|
122
|
+
|
|
123
|
+
## Tools
|
|
124
|
+
|
|
125
|
+
| Tool | Description |
|
|
126
|
+
|------|-------------|
|
|
127
|
+
| `memory_store` | Store a memory with auto-summarization and entity extraction |
|
|
128
|
+
| `memory_recall` | Search memories with token-aware loading |
|
|
129
|
+
| `memory_forget` | Soft-delete a memory (preserves audit trail) |
|
|
130
|
+
|
|
131
|
+
## Features
|
|
132
|
+
|
|
133
|
+
- FTS5 full-text search (fast, no embeddings needed)
|
|
134
|
+
- Token budgeting for context-aware responses
|
|
135
|
+
- Automatic entity extraction and summarization
|
|
136
|
+
- Soft deletes with provenance tracking
|
|
137
|
+
- Hybrid relevance scoring (recency + importance + frequency)
|
|
138
|
+
|
|
79
139
|
## Environment Variables
|
|
80
140
|
|
|
81
141
|
| Variable | Default | Description |
|
|
@@ -85,12 +145,53 @@ Add this to your config (the installer does this automatically):
|
|
|
85
145
|
|
|
86
146
|
## Troubleshooting
|
|
87
147
|
|
|
88
|
-
|
|
148
|
+
### Tools not appearing in Claude Desktop?
|
|
89
149
|
|
|
90
150
|
1. Restart Claude Desktop completely (quit and reopen)
|
|
91
151
|
2. Verify config file syntax is valid JSON
|
|
92
152
|
3. Check that Node.js 18+ is installed: `node --version`
|
|
93
|
-
|
|
153
|
+
|
|
154
|
+
### "Connection closed" on Windows?
|
|
155
|
+
|
|
156
|
+
Windows requires either:
|
|
157
|
+
- The `cmd /c` wrapper method (see Windows config above), OR
|
|
158
|
+
- The full path to `npx.cmd` (e.g., `C:\Program Files\nodejs\npx.cmd`)
|
|
159
|
+
|
|
160
|
+
### Getting stale cached versions?
|
|
161
|
+
|
|
162
|
+
The `npx github:` method bypasses npm cache. Alternatively:
|
|
163
|
+
- Clear npm cache: `npm cache clean --force`
|
|
164
|
+
- Use global install for version control
|
|
165
|
+
|
|
166
|
+
### Slow startup with github: method?
|
|
167
|
+
|
|
168
|
+
First run requires downloading and installing dependencies (can take 30+ seconds). Subsequent runs are faster but still fetch from GitHub. For faster startup, use the global install method.
|
|
169
|
+
|
|
170
|
+
## Database Consolidation
|
|
171
|
+
|
|
172
|
+
If you have multiple memory database files (e.g., from different Claude Desktop versions or backups), you can merge them.
|
|
173
|
+
|
|
174
|
+
**Discover existing databases:**
|
|
175
|
+
```bash
|
|
176
|
+
npx @whenmoon-afk/memory-mcp-consolidate --discover
|
|
177
|
+
```
|
|
178
|
+
|
|
179
|
+
This searches common locations and shows all found databases with their memory counts, sizes, and WAL file status.
|
|
180
|
+
|
|
181
|
+
**Merge databases:**
|
|
182
|
+
```bash
|
|
183
|
+
npx @whenmoon-afk/memory-mcp-consolidate ~/.memory-mcp/merged.db ~/old-db1.db ~/old-db2.db
|
|
184
|
+
```
|
|
185
|
+
|
|
186
|
+
Features:
|
|
187
|
+
- Auto-discovers databases in common locations
|
|
188
|
+
- Shows WAL file status (indicates uncommitted data)
|
|
189
|
+
- Deduplicates by content hash (same content + type = duplicate)
|
|
190
|
+
- Keeps most recently accessed version when duplicates found
|
|
191
|
+
- Merges access counts from all duplicates
|
|
192
|
+
- Preserves all provenance/audit records
|
|
193
|
+
- Checkpoints WAL files before reading
|
|
194
|
+
- Source databases are NOT modified
|
|
94
195
|
|
|
95
196
|
## Dependencies
|
|
96
197
|
|
|
@@ -103,6 +204,10 @@ Add this to your config (the installer does this automatically):
|
|
|
103
204
|
- **GitHub**: https://github.com/WhenMoon-afk/claude-memory-mcp
|
|
104
205
|
- **Issues**: https://github.com/WhenMoon-afk/claude-memory-mcp/issues
|
|
105
206
|
|
|
207
|
+
## Disclaimer
|
|
208
|
+
|
|
209
|
+
This project is provided as-is. It is actively maintained but may have breaking changes between minor versions.
|
|
210
|
+
|
|
106
211
|
## License
|
|
107
212
|
|
|
108
213
|
MIT
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"driver-factory.js","sourceRoot":"","sources":["../../src/database/driver-factory.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAGH,OAAO,EAAE,yBAAyB,EAAE,MAAM,4BAA4B,CAAC;AACvE,OAAO,EAAE,iBAAiB,EAAE,MAAM,mBAAmB,CAAC;AAuBtD;;;;;;;GAOG;AACH,MAAM,UAAU,YAAY,CAAC,IAAgB,EAAE,MAAoB;IACjE,QAAQ,IAAI,EAAE,CAAC;QACb,KAAK,gBAAgB;YACnB,OAAO,yBAAyB,CAAC,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,OAAO,CAAC,CAAC;QAEhE,KAAK,OAAO;YACV,mDAAmD;YACnD,OAAO,iBAAiB,EAAE,CAAC;QAE7B;YACE,MAAM,IAAI,KAAK,CACb,4BAA4B,
|
|
1
|
+
{"version":3,"file":"driver-factory.js","sourceRoot":"","sources":["../../src/database/driver-factory.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAGH,OAAO,EAAE,yBAAyB,EAAE,MAAM,4BAA4B,CAAC;AACvE,OAAO,EAAE,iBAAiB,EAAE,MAAM,mBAAmB,CAAC;AAuBtD;;;;;;;GAOG;AACH,MAAM,UAAU,YAAY,CAAC,IAAgB,EAAE,MAAoB;IACjE,QAAQ,IAAI,EAAE,CAAC;QACb,KAAK,gBAAgB;YACnB,OAAO,yBAAyB,CAAC,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,OAAO,CAAC,CAAC;QAEhE,KAAK,OAAO;YACV,mDAAmD;YACnD,OAAO,iBAAiB,EAAE,CAAC;QAE7B;YACE,MAAM,IAAI,KAAK,CACb,4BAA4B,IAAc,IAAI;gBAC5C,4CAA4C;gBAC5C,6DAA6D,CAChE,CAAC;IACN,CAAC;AACH,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,oBAAoB;IAClC,MAAM,SAAS,GAAG,OAAO,CAAC,GAAG,CAAC,kBAAkB,CAAC,CAAC;IAElD,IAAI,CAAC,SAAS,EAAE,CAAC;QACf,OAAO,gBAAgB,CAAC,CAAC,UAAU;IACrC,CAAC;IAED,MAAM,UAAU,GAAG,SAAS,CAAC,WAAW,EAAE,CAAC,IAAI,EAAE,CAAC;IAElD,IAAI,UAAU,KAAK,gBAAgB,IAAI,UAAU,KAAK,OAAO,EAAE,CAAC;QAC9D,OAAO,UAAwB,CAAC;IAClC,CAAC;IAED,OAAO,CAAC,KAAK,CACX,2CAA2C,SAAS,KAAK;QACvD,iCAAiC;QACjC,sCAAsC,CACzC,CAAC;IAEF,OAAO,gBAAgB,CAAC;AAC1B,CAAC;AAED;;;;;;;;GAQG;AACH,MAAM,UAAU,mBAAmB,CAAC,MAAoB;IACtD,MAAM,UAAU,GAAG,oBAAoB,EAAE,CAAC;IAE1C,OAAO,CAAC,KAAK,CAAC,iCAAiC,UAAU,EAAE,CAAC,CAAC;IAE7D,OAAO,YAAY,CAAC,UAAU,EAAE,MAAM,CAAC,CAAC;AAC1C,CAAC"}
|
package/dist/index.d.ts
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
#!/usr/bin/env node
|
|
2
2
|
/**
|
|
3
|
-
* Memory MCP
|
|
4
|
-
*
|
|
3
|
+
* Memory MCP Server - Brain-inspired memory system with smart context loading
|
|
4
|
+
* Version is read dynamically from package.json
|
|
5
5
|
*/
|
|
6
6
|
export {};
|
|
7
7
|
//# sourceMappingURL=index.d.ts.map
|
package/dist/index.js
CHANGED
|
@@ -1,11 +1,19 @@
|
|
|
1
1
|
#!/usr/bin/env node
|
|
2
2
|
/**
|
|
3
|
-
* Memory MCP
|
|
4
|
-
*
|
|
3
|
+
* Memory MCP Server - Brain-inspired memory system with smart context loading
|
|
4
|
+
* Version is read dynamically from package.json
|
|
5
5
|
*/
|
|
6
6
|
import { homedir, platform } from 'os';
|
|
7
7
|
import { join, dirname } from 'path';
|
|
8
|
-
import { existsSync, mkdirSync } from 'fs';
|
|
8
|
+
import { existsSync, mkdirSync, readFileSync } from 'fs';
|
|
9
|
+
import { fileURLToPath } from 'url';
|
|
10
|
+
// Read version from package.json dynamically
|
|
11
|
+
const __filename = fileURLToPath(import.meta.url);
|
|
12
|
+
const __dirname = dirname(__filename);
|
|
13
|
+
// In dist/, package.json is one level up
|
|
14
|
+
const packageJsonPath = join(__dirname, '..', 'package.json');
|
|
15
|
+
const packageJson = JSON.parse(readFileSync(packageJsonPath, 'utf-8'));
|
|
16
|
+
const VERSION = packageJson.version;
|
|
9
17
|
import { Server } from '@modelcontextprotocol/sdk/server/index.js';
|
|
10
18
|
import { StdioServerTransport } from '@modelcontextprotocol/sdk/server/stdio.js';
|
|
11
19
|
import { CallToolRequestSchema, ListToolsRequestSchema, ErrorCode, McpError, } from '@modelcontextprotocol/sdk/types.js';
|
|
@@ -53,7 +61,7 @@ const config = {
|
|
|
53
61
|
*/
|
|
54
62
|
const server = new Server({
|
|
55
63
|
name: '@whenmoon-afk/memory-mcp',
|
|
56
|
-
version:
|
|
64
|
+
version: VERSION,
|
|
57
65
|
}, {
|
|
58
66
|
capabilities: {
|
|
59
67
|
tools: {},
|
|
@@ -183,25 +191,25 @@ server.setRequestHandler(ListToolsRequestSchema, () => {
|
|
|
183
191
|
/**
|
|
184
192
|
* Tool execution handler
|
|
185
193
|
*/
|
|
186
|
-
server.setRequestHandler(CallToolRequestSchema,
|
|
194
|
+
server.setRequestHandler(CallToolRequestSchema, (request) => {
|
|
187
195
|
try {
|
|
188
196
|
const { name, arguments: args } = request.params;
|
|
189
197
|
switch (name) {
|
|
190
198
|
case 'memory_store': {
|
|
191
|
-
const result =
|
|
199
|
+
const result = memoryStore(db, args);
|
|
192
200
|
return {
|
|
193
201
|
content: [{ type: 'text', text: JSON.stringify(result, null, 2) }],
|
|
194
202
|
};
|
|
195
203
|
}
|
|
196
204
|
case 'memory_recall': {
|
|
197
|
-
const result =
|
|
205
|
+
const result = memoryRecall(db, args);
|
|
198
206
|
return {
|
|
199
207
|
content: [{ type: 'text', text: JSON.stringify(result, null, 2) }],
|
|
200
208
|
};
|
|
201
209
|
}
|
|
202
210
|
case 'memory_forget': {
|
|
203
211
|
const { id, reason } = args;
|
|
204
|
-
const result =
|
|
212
|
+
const result = memoryForget(db, id, reason);
|
|
205
213
|
return {
|
|
206
214
|
content: [{ type: 'text', text: JSON.stringify(result, null, 2) }],
|
|
207
215
|
};
|
|
@@ -224,19 +232,18 @@ server.setRequestHandler(CallToolRequestSchema, async (request) => {
|
|
|
224
232
|
async function main() {
|
|
225
233
|
try {
|
|
226
234
|
// Initialize database
|
|
227
|
-
console.error(
|
|
235
|
+
console.error(`[memory-mcp v${VERSION}] Initializing database...`);
|
|
228
236
|
db = getDatabase(config.databasePath);
|
|
229
|
-
console.error(
|
|
237
|
+
console.error(`[memory-mcp v${VERSION}] Database initialized`);
|
|
230
238
|
// Connect to transport
|
|
231
239
|
const transport = new StdioServerTransport();
|
|
232
240
|
await server.connect(transport);
|
|
233
241
|
// Log startup info to stderr (not stdout, which is used for MCP protocol)
|
|
234
|
-
console.error(
|
|
235
|
-
console.error(`Database: ${config.databasePath}`);
|
|
236
|
-
console.error(`Driver: ${config.databaseDriver}`);
|
|
242
|
+
console.error(`[memory-mcp v${VERSION}] Server started`);
|
|
243
|
+
console.error(`[memory-mcp v${VERSION}] Database: ${config.databasePath}`);
|
|
237
244
|
}
|
|
238
245
|
catch (error) {
|
|
239
|
-
console.error(
|
|
246
|
+
console.error(`[memory-mcp v${VERSION}] Failed to start:`, error);
|
|
240
247
|
throw error;
|
|
241
248
|
}
|
|
242
249
|
}
|
|
@@ -244,18 +251,18 @@ async function main() {
|
|
|
244
251
|
* Cleanup on exit
|
|
245
252
|
*/
|
|
246
253
|
process.on('SIGINT', () => {
|
|
247
|
-
console.error(
|
|
254
|
+
console.error(`[memory-mcp v${VERSION}] Shutting down...`);
|
|
248
255
|
closeDatabase();
|
|
249
256
|
process.exit(0);
|
|
250
257
|
});
|
|
251
258
|
process.on('SIGTERM', () => {
|
|
252
|
-
console.error(
|
|
259
|
+
console.error(`[memory-mcp v${VERSION}] Shutting down...`);
|
|
253
260
|
closeDatabase();
|
|
254
261
|
process.exit(0);
|
|
255
262
|
});
|
|
256
263
|
// Start the server
|
|
257
264
|
main().catch((error) => {
|
|
258
|
-
console.error(
|
|
265
|
+
console.error(`[memory-mcp v${VERSION}] Fatal error:`, error);
|
|
259
266
|
process.exit(1);
|
|
260
267
|
});
|
|
261
268
|
//# sourceMappingURL=index.js.map
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";AAEA;;;GAGG;AAEH,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,IAAI,CAAC;AACvC,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,MAAM,CAAC;AACrC,OAAO,EAAE,UAAU,EAAE,SAAS,EAAE,MAAM,IAAI,CAAC;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -6,5 +6,5 @@ import type { ForgetResponse } from '../types/index.js';
|
|
|
6
6
|
/**
|
|
7
7
|
* Forget (soft delete) a memory
|
|
8
8
|
*/
|
|
9
|
-
export declare function memoryForget(db: DbDriver, id: string, reason?: string):
|
|
9
|
+
export declare function memoryForget(db: DbDriver, id: string, reason?: string): ForgetResponse;
|
|
10
10
|
//# sourceMappingURL=memory-forget.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"memory-forget.d.ts","sourceRoot":"","sources":["../../src/tools/memory-forget.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,0BAA0B,CAAC;AACzD,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AAIxD;;GAEG;AACH,
|
|
1
|
+
{"version":3,"file":"memory-forget.d.ts","sourceRoot":"","sources":["../../src/tools/memory-forget.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,0BAA0B,CAAC;AACzD,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AAIxD;;GAEG;AACH,wBAAgB,YAAY,CAC1B,EAAE,EAAE,QAAQ,EACZ,EAAE,EAAE,MAAM,EACV,MAAM,CAAC,EAAE,MAAM,GACd,cAAc,CAwChB"}
|
|
@@ -6,7 +6,7 @@ import { ValidationError } from '../types/index.js';
|
|
|
6
6
|
/**
|
|
7
7
|
* Forget (soft delete) a memory
|
|
8
8
|
*/
|
|
9
|
-
export
|
|
9
|
+
export function memoryForget(db, id, reason) {
|
|
10
10
|
// Check if memory exists
|
|
11
11
|
const existing = db
|
|
12
12
|
.prepare('SELECT id FROM memories WHERE id = ? AND is_deleted = 0')
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"memory-forget.js","sourceRoot":"","sources":["../../src/tools/memory-forget.ts"],"names":[],"mappings":"AAAA;;GAEG;AAIH,OAAO,EAAE,GAAG,EAAE,UAAU,EAAE,iBAAiB,EAAE,MAAM,2BAA2B,CAAC;AAC/E,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AAEpD;;GAEG;AACH,MAAM,
|
|
1
|
+
{"version":3,"file":"memory-forget.js","sourceRoot":"","sources":["../../src/tools/memory-forget.ts"],"names":[],"mappings":"AAAA;;GAEG;AAIH,OAAO,EAAE,GAAG,EAAE,UAAU,EAAE,iBAAiB,EAAE,MAAM,2BAA2B,CAAC;AAC/E,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AAEpD;;GAEG;AACH,MAAM,UAAU,YAAY,CAC1B,EAAY,EACZ,EAAU,EACV,MAAe;IAEf,yBAAyB;IACzB,MAAM,QAAQ,GAAG,EAAE;SAChB,OAAO,CAAC,yDAAyD,CAAC;SAClE,GAAG,CAAC,EAAE,CAA+B,CAAC;IAEzC,IAAI,CAAC,QAAQ,EAAE,CAAC;QACd,MAAM,IAAI,eAAe,CAAC,UAAU,EAAE,+BAA+B,CAAC,CAAC;IACzE,CAAC;IAED,gCAAgC;IAChC,MAAM,WAAW,GAAG,GAAG,EAAE,CAAC;IAC1B,EAAE,CAAC,OAAO,CAAC,iDAAiD,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;IAEtE,2BAA2B;IAC3B,MAAM,YAAY,GAAG,UAAU,CAAC,MAAM,CAAC,CAAC;IACxC,EAAE,CAAC,OAAO,CACR;;;;GAID,CACA,CAAC,GAAG,CACH,YAAY,EACZ,EAAE,EACF,QAAQ,EACR,WAAW,EACX,MAAM,EACN,MAAM,IAAI,yBAAyB,EACnC,IAAI,EACJ,iBAAiB,CAAC,EAAE,WAAW,EAAE,IAAI,EAAE,CAAC,CACzC,CAAC;IAEF,MAAM,QAAQ,GAAmB;QAC/B,OAAO,EAAE,IAAI;QACb,SAAS,EAAE,EAAE;QACb,OAAO,EAAE,6CAA6C,MAAM,IAAI,eAAe,EAAE;KAClF,CAAC;IAEF,OAAO,QAAQ,CAAC;AAClB,CAAC"}
|
|
@@ -8,5 +8,5 @@ import type { SearchOptions, RecallResponse } from '../types/index.js';
|
|
|
8
8
|
* Recall memories using semantic search with intelligent token budgeting
|
|
9
9
|
* Returns: index (all matches as summaries) + details (top matches with full content)
|
|
10
10
|
*/
|
|
11
|
-
export declare function memoryRecall(db: DbDriver, options: SearchOptions):
|
|
11
|
+
export declare function memoryRecall(db: DbDriver, options: SearchOptions): RecallResponse;
|
|
12
12
|
//# sourceMappingURL=memory-recall.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"memory-recall.d.ts","sourceRoot":"","sources":["../../src/tools/memory-recall.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,0BAA0B,CAAC;AACzD,OAAO,KAAK,EACV,aAAa,EAEb,cAAc,EAMf,MAAM,mBAAmB,CAAC;AAM3B;;;GAGG;AACH,
|
|
1
|
+
{"version":3,"file":"memory-recall.d.ts","sourceRoot":"","sources":["../../src/tools/memory-recall.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,0BAA0B,CAAC;AACzD,OAAO,KAAK,EACV,aAAa,EAEb,cAAc,EAMf,MAAM,mBAAmB,CAAC;AAM3B;;;GAGG;AACH,wBAAgB,YAAY,CAC1B,EAAE,EAAE,QAAQ,EACZ,OAAO,EAAE,aAAa,GACrB,cAAc,CAwGhB"}
|
|
@@ -10,7 +10,7 @@ import { estimateTokens } from '../utils/token-estimator.js';
|
|
|
10
10
|
* Recall memories using semantic search with intelligent token budgeting
|
|
11
11
|
* Returns: index (all matches as summaries) + details (top matches with full content)
|
|
12
12
|
*/
|
|
13
|
-
export
|
|
13
|
+
export function memoryRecall(db, options) {
|
|
14
14
|
try {
|
|
15
15
|
console.error('[memoryRecall] Starting recall with options:', JSON.stringify(options));
|
|
16
16
|
// Set defaults
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"memory-recall.js","sourceRoot":"","sources":["../../src/tools/memory-recall.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAaH,OAAO,EAAE,cAAc,EAAE,MAAM,8BAA8B,CAAC;AAC9D,OAAO,EAAE,YAAY,EAAE,gBAAgB,EAAE,mBAAmB,EAAE,MAAM,yBAAyB,CAAC;AAC9F,OAAO,EAAE,GAAG,EAAE,MAAM,2BAA2B,CAAC;AAChD,OAAO,EAAE,cAAc,EAAE,MAAM,6BAA6B,CAAC;AAE7D;;;GAGG;AACH,MAAM,
|
|
1
|
+
{"version":3,"file":"memory-recall.js","sourceRoot":"","sources":["../../src/tools/memory-recall.ts"],"names":[],"mappings":"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"}
|
|
@@ -9,5 +9,5 @@ import type { MemoryInput, StandardMemory } from '../types/index.js';
|
|
|
9
9
|
* If input.id is provided, updates existing memory
|
|
10
10
|
* If input.id is not provided, creates new memory
|
|
11
11
|
*/
|
|
12
|
-
export declare function memoryStore(db: DbDriver, input: MemoryInput):
|
|
12
|
+
export declare function memoryStore(db: DbDriver, input: MemoryInput): StandardMemory;
|
|
13
13
|
//# sourceMappingURL=memory-store.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"memory-store.d.ts","sourceRoot":"","sources":["../../src/tools/memory-store.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,0BAA0B,CAAC;AACzD,OAAO,KAAK,EAAE,WAAW,EAAkB,cAAc,EAAE,MAAM,mBAAmB,CAAC;AA8CrF;;;;GAIG;AACH,
|
|
1
|
+
{"version":3,"file":"memory-store.d.ts","sourceRoot":"","sources":["../../src/tools/memory-store.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,0BAA0B,CAAC;AACzD,OAAO,KAAK,EAAE,WAAW,EAAkB,cAAc,EAAE,MAAM,mBAAmB,CAAC;AA8CrF;;;;GAIG;AACH,wBAAgB,WAAW,CACzB,EAAE,EAAE,QAAQ,EACZ,KAAK,EAAE,WAAW,GACjB,cAAc,CAShB"}
|
|
@@ -15,7 +15,7 @@ import { formatMemory } from './response-formatter.js';
|
|
|
15
15
|
* If input.id is provided, updates existing memory
|
|
16
16
|
* If input.id is not provided, creates new memory
|
|
17
17
|
*/
|
|
18
|
-
export
|
|
18
|
+
export function memoryStore(db, input) {
|
|
19
19
|
// Determine if this is an update or create
|
|
20
20
|
const isUpdate = !!input.id;
|
|
21
21
|
if (isUpdate) {
|
|
@@ -28,7 +28,7 @@ export async function memoryStore(db, input) {
|
|
|
28
28
|
/**
|
|
29
29
|
* Create a new memory
|
|
30
30
|
*/
|
|
31
|
-
|
|
31
|
+
function createMemory(db, input) {
|
|
32
32
|
// Validate content
|
|
33
33
|
const validation = validateContent(input.content, input.type);
|
|
34
34
|
if (!validation.valid) {
|
|
@@ -128,7 +128,7 @@ async function createMemory(db, input) {
|
|
|
128
128
|
/**
|
|
129
129
|
* Update an existing memory
|
|
130
130
|
*/
|
|
131
|
-
|
|
131
|
+
function updateMemory(db, input) {
|
|
132
132
|
// Check if memory exists
|
|
133
133
|
const existing = db
|
|
134
134
|
.prepare('SELECT * FROM memories WHERE id = ? AND is_deleted = 0')
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"memory-store.js","sourceRoot":"","sources":["../../src/tools/memory-store.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAIH,OAAO,EACL,eAAe,EACf,iBAAiB,EACjB,mBAAmB,GACpB,MAAM,mCAAmC,CAAC;AAC3C,OAAO,EACL,kBAAkB,EAClB,gBAAgB,EAChB,eAAe,GAChB,MAAM,iCAAiC,CAAC;AACzC,OAAO,EAAE,mBAAmB,EAAE,MAAM,0BAA0B,CAAC;AAC/D,OAAO,EAAE,gBAAgB,EAAE,kBAAkB,EAAE,MAAM,2BAA2B,CAAC;AACjF,OAAO,EACL,UAAU,EACV,GAAG,EACH,iBAAiB,EACjB,mBAAmB,GACpB,MAAM,2BAA2B,CAAC;AACnC,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AACpD,OAAO,EAAE,eAAe,EAAE,MAAM,oCAAoC,CAAC;AACrE,OAAO,EAAE,YAAY,EAAE,MAAM,yBAAyB,CAAC;AAyBvD;;;;GAIG;AACH,MAAM,
|
|
1
|
+
{"version":3,"file":"memory-store.js","sourceRoot":"","sources":["../../src/tools/memory-store.ts"],"names":[],"mappings":"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"}
|
package/install.js
CHANGED
|
@@ -14,22 +14,20 @@ const __filename = fileURLToPath(import.meta.url);
|
|
|
14
14
|
const __dirname = dirname(__filename);
|
|
15
15
|
|
|
16
16
|
/**
|
|
17
|
-
* Get
|
|
17
|
+
* Get database path - unified across all platforms
|
|
18
|
+
* Uses ~/.memory-mcp/memory.db for simplicity
|
|
18
19
|
*/
|
|
19
20
|
function getDbPath() {
|
|
20
21
|
const plat = platform();
|
|
21
22
|
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
case 'win32': // Windows
|
|
27
|
-
return join(process.env.APPDATA || join(homedir(), 'AppData', 'Roaming'), 'claude-memories', 'memory.db');
|
|
28
|
-
|
|
29
|
-
default: // Linux and others
|
|
30
|
-
const dataHome = process.env.XDG_DATA_HOME || join(homedir(), '.local', 'share');
|
|
31
|
-
return join(dataHome, 'claude-memories', 'memory.db');
|
|
23
|
+
if (plat === 'win32') {
|
|
24
|
+
// Windows: Use forward slashes for consistency in config
|
|
25
|
+
// C:/Users/Username/.memory-mcp/memory.db
|
|
26
|
+
return join(homedir(), '.memory-mcp', 'memory.db').replace(/\\/g, '/');
|
|
32
27
|
}
|
|
28
|
+
|
|
29
|
+
// macOS/Linux: ~/.memory-mcp/memory.db
|
|
30
|
+
return join(homedir(), '.memory-mcp', 'memory.db');
|
|
33
31
|
}
|
|
34
32
|
|
|
35
33
|
/**
|
|
@@ -53,16 +51,14 @@ function getClaudeConfigPath() {
|
|
|
53
51
|
|
|
54
52
|
/**
|
|
55
53
|
* Get platform-specific MCP server configuration
|
|
54
|
+
* Uses npx github: approach for reliable updates and cache bypass
|
|
56
55
|
*/
|
|
57
56
|
function getMcpServerConfig(dbPath) {
|
|
58
|
-
//
|
|
59
|
-
//
|
|
60
|
-
const serverPath = join(__dirname, 'dist', 'index.js');
|
|
61
|
-
|
|
62
|
-
// All platforms use node directly with the server path
|
|
57
|
+
// Use npx with github: protocol - works on all platforms
|
|
58
|
+
// This bypasses npm cache issues and always fetches latest from main branch
|
|
63
59
|
return {
|
|
64
|
-
command: '
|
|
65
|
-
args: [
|
|
60
|
+
command: 'npx',
|
|
61
|
+
args: ['github:whenmoon-afk/claude-memory-mcp'],
|
|
66
62
|
env: {
|
|
67
63
|
MEMORY_DB_PATH: dbPath
|
|
68
64
|
}
|