mnemon-mcp 1.0.0 → 1.1.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/CHANGELOG.md +29 -1
- package/README.md +55 -5
- package/dist/.tsbuildinfo +1 -1
- package/dist/db.d.ts.map +1 -1
- package/dist/db.js +30 -1
- package/dist/db.js.map +1 -1
- package/dist/server.d.ts.map +1 -1
- package/dist/server.js +32 -1
- package/dist/server.js.map +1 -1
- package/dist/tools/memory-add.js +3 -4
- package/dist/tools/memory-add.js.map +1 -1
- package/dist/tools/memory-health.d.ts.map +1 -1
- package/dist/tools/memory-health.js +23 -4
- package/dist/tools/memory-health.js.map +1 -1
- package/dist/tools/memory-search.d.ts.map +1 -1
- package/dist/tools/memory-search.js +91 -15
- package/dist/tools/memory-search.js.map +1 -1
- package/dist/tools/session.d.ts +13 -0
- package/dist/tools/session.d.ts.map +1 -0
- package/dist/tools/session.js +78 -0
- package/dist/tools/session.js.map +1 -0
- package/dist/types.d.ts +38 -0
- package/dist/types.d.ts.map +1 -1
- package/dist/validation.d.ts +18 -0
- package/dist/validation.d.ts.map +1 -1
- package/dist/validation.js +18 -0
- package/dist/validation.js.map +1 -1
- package/package.json +13 -5
- package/server.json +40 -0
package/CHANGELOG.md
CHANGED
|
@@ -7,6 +7,32 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
|
|
|
7
7
|
|
|
8
8
|
## [Unreleased]
|
|
9
9
|
|
|
10
|
+
## [1.1.0] - 2026-03-17
|
|
11
|
+
|
|
12
|
+
### Added
|
|
13
|
+
- **Session lifecycle tools**: `memory_session_start`, `memory_session_end`, `memory_session_list` — group episodic memories by agent session with client, project, and summary tracking
|
|
14
|
+
- **Search query logging** — `search_log` table (migration v5) for query observability: query text, mode, result count, duration
|
|
15
|
+
- **Recency boost** in FTS scoring: `1 / (1 + daysSince / 365)` rewards recently created memories
|
|
16
|
+
- **Query-centered snippets** — search results highlight the first matched term instead of always starting from content beginning
|
|
17
|
+
- 12 new integration tests for session lifecycle (194 total: 17 md-parser + 13 kb-import + 123 integration + 41 validation)
|
|
18
|
+
|
|
19
|
+
### Fixed
|
|
20
|
+
- Pagination with `min_confidence`/`min_importance` filters: moved from JS post-filter to SQL WHERE (fixes empty pages at high offsets)
|
|
21
|
+
- `memory_health` cleanup: chain repair now correctly reactivates predecessors when superseding entry is deleted
|
|
22
|
+
- Contradiction detection: properly handles edge case where superseded memory matches source_file
|
|
23
|
+
- Removed dead `conflicting` variable in memory-add
|
|
24
|
+
|
|
25
|
+
## [1.0.1] - 2026-03-16
|
|
26
|
+
|
|
27
|
+
### Added
|
|
28
|
+
- MCP Registry manifest (`server.json`) for official registry submission
|
|
29
|
+
- `mcpName` field in package.json for registry verification
|
|
30
|
+
- Landing page link in README
|
|
31
|
+
- Demo GIF with VHS recording scripts
|
|
32
|
+
|
|
33
|
+
### Changed
|
|
34
|
+
- Homepage URL updated to landing page (aisatisfy.me/mnemon/)
|
|
35
|
+
|
|
10
36
|
## [1.0.0] - 2026-03-16
|
|
11
37
|
|
|
12
38
|
### Added
|
|
@@ -30,5 +56,7 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
|
|
|
30
56
|
- 182 tests (unit + integration + validation)
|
|
31
57
|
- CI pipeline with build, test, and smoke tests
|
|
32
58
|
|
|
33
|
-
[Unreleased]: https://github.com/nikitacometa/mnemon-mcp/compare/v1.
|
|
59
|
+
[Unreleased]: https://github.com/nikitacometa/mnemon-mcp/compare/v1.1.0...HEAD
|
|
60
|
+
[1.1.0]: https://github.com/nikitacometa/mnemon-mcp/compare/v1.0.1...v1.1.0
|
|
61
|
+
[1.0.1]: https://github.com/nikitacometa/mnemon-mcp/compare/v1.0.0...v1.0.1
|
|
34
62
|
[1.0.0]: https://github.com/nikitacometa/mnemon-mcp/releases/tag/v1.0.0
|
package/README.md
CHANGED
|
@@ -2,16 +2,22 @@
|
|
|
2
2
|
|
|
3
3
|
[](https://github.com/nikitacometa/mnemon-mcp/actions/workflows/ci.yml)
|
|
4
4
|
[](https://www.npmjs.com/package/mnemon-mcp)
|
|
5
|
-
[](https://nodejs.org/)
|
|
6
6
|
[](LICENSE)
|
|
7
7
|
|
|
8
8
|
**Persistent layered memory for AI agents.**
|
|
9
9
|
Local-first. Zero-cloud. Single SQLite file.
|
|
10
10
|
|
|
11
|
+
[Landing Page](https://aisatisfy.me/mnemon/) · [npm](https://www.npmjs.com/package/mnemon-mcp) · [GitHub](https://github.com/nikitacometa/mnemon-mcp)
|
|
12
|
+
|
|
11
13
|
Your AI agent forgets everything after each session. Mnemon fixes that.
|
|
12
14
|
|
|
13
15
|
It gives any [MCP](https://modelcontextprotocol.io)-compatible client — [OpenClaw](https://openclaw.ai), Claude Code, Cursor, Windsurf, or your own — a structured long-term memory backed by a single SQLite database on your machine. No API keys, no cloud, no telemetry. Just `npm install` and your agent remembers.
|
|
14
16
|
|
|
17
|
+
<p align="center">
|
|
18
|
+
<img src="demo/mnemon-demo.gif" alt="mnemon-mcp demo — memory_add, memory_search, memory_inspect, memory_update" width="800">
|
|
19
|
+
</p>
|
|
20
|
+
|
|
15
21
|
---
|
|
16
22
|
|
|
17
23
|
## Why Layered Memory?
|
|
@@ -121,13 +127,13 @@ Use the full path to the compiled entry point:
|
|
|
121
127
|
echo '{"jsonrpc":"2.0","method":"tools/list","id":1}' | mnemon-mcp
|
|
122
128
|
```
|
|
123
129
|
|
|
124
|
-
You should see
|
|
130
|
+
You should see 10 tools in the response. The database (`~/.mnemon-mcp/memory.db`) is created automatically on first run.
|
|
125
131
|
|
|
126
132
|
That's it. Your agent now has persistent memory.
|
|
127
133
|
|
|
128
134
|
## What It Can Do
|
|
129
135
|
|
|
130
|
-
###
|
|
136
|
+
### 10 MCP Tools
|
|
131
137
|
|
|
132
138
|
| Tool | What it does |
|
|
133
139
|
|------|-------------|
|
|
@@ -138,6 +144,9 @@ That's it. Your agent now has persistent memory.
|
|
|
138
144
|
| **`memory_inspect`** | Get layer statistics or trace a single memory's version history |
|
|
139
145
|
| **`memory_export`** | Export to JSON, Markdown, or Claude-md format with filters |
|
|
140
146
|
| **`memory_health`** | Run diagnostics: expired entries, orphaned chains, stale memories; optionally GC |
|
|
147
|
+
| **`memory_session_start`** | Start an agent session — returns session ID for grouping memories |
|
|
148
|
+
| **`memory_session_end`** | End a session with optional summary; returns duration and memory count |
|
|
149
|
+
| **`memory_session_list`** | List sessions with filters by client, project, or active status |
|
|
141
150
|
|
|
142
151
|
### MCP Resources & Prompts
|
|
143
152
|
|
|
@@ -164,7 +173,9 @@ Two modes, both supporting layer / entity / scope / date / confidence filters:
|
|
|
164
173
|
|
|
165
174
|
**FTS mode** (default) — tokenized full-text search with BM25 ranking. Multi-word queries use AND; if too few results, OR supplements with a score penalty. Progressive AND relaxation tries top-3 most specific terms before falling back to full OR.
|
|
166
175
|
|
|
167
|
-
Scores: `bm25 × (0.3 + 0.7 × importance) × decay(layer)`
|
|
176
|
+
Scores: `bm25 × (0.3 + 0.7 × importance) × decay(layer) × recency`
|
|
177
|
+
|
|
178
|
+
Recency boost: `1 / (1 + daysSince / 365)` — gently rewards recently created memories without penalizing old ones.
|
|
168
179
|
|
|
169
180
|
**Exact mode** — `LIKE` substring match for precise phrase lookups.
|
|
170
181
|
|
|
@@ -392,6 +403,45 @@ Returns: status (`healthy` / `warning` / `degraded`), per-layer stats, expired e
|
|
|
392
403
|
|
|
393
404
|
</details>
|
|
394
405
|
|
|
406
|
+
<details>
|
|
407
|
+
<summary><code>memory_session_start</code></summary>
|
|
408
|
+
|
|
409
|
+
| Parameter | Type | Required | Description |
|
|
410
|
+
|-----------|------|----------|-------------|
|
|
411
|
+
| `client` | string | Yes | Client identifier (e.g. `claude-code`, `cursor`, `api`) |
|
|
412
|
+
| `project` | string | No | Project scope for this session |
|
|
413
|
+
| `meta` | object | No | Additional session metadata |
|
|
414
|
+
|
|
415
|
+
Returns: `id` (session UUID), `started_at` (ISO 8601).
|
|
416
|
+
|
|
417
|
+
</details>
|
|
418
|
+
|
|
419
|
+
<details>
|
|
420
|
+
<summary><code>memory_session_end</code></summary>
|
|
421
|
+
|
|
422
|
+
| Parameter | Type | Required | Description |
|
|
423
|
+
|-----------|------|----------|-------------|
|
|
424
|
+
| `id` | string | Yes | Session ID to end |
|
|
425
|
+
| `summary` | string | No | Summary of what was accomplished (max 10K chars) |
|
|
426
|
+
|
|
427
|
+
Returns: `id`, `ended_at`, `duration_minutes`, `memories_count`.
|
|
428
|
+
|
|
429
|
+
</details>
|
|
430
|
+
|
|
431
|
+
<details>
|
|
432
|
+
<summary><code>memory_session_list</code></summary>
|
|
433
|
+
|
|
434
|
+
| Parameter | Type | Required | Description |
|
|
435
|
+
|-----------|------|----------|-------------|
|
|
436
|
+
| `limit` | number | No | Max sessions (default 20, max 100) |
|
|
437
|
+
| `client` | string | No | Filter by client |
|
|
438
|
+
| `project` | string | No | Filter by project |
|
|
439
|
+
| `active_only` | boolean | No | Only return sessions that haven't ended (default false) |
|
|
440
|
+
|
|
441
|
+
Returns: array of sessions with `id`, `client`, `project`, `started_at`, `ended_at`, `summary`, `memories_count`.
|
|
442
|
+
|
|
443
|
+
</details>
|
|
444
|
+
|
|
395
445
|
## How It Compares
|
|
396
446
|
|
|
397
447
|
| | **mnemon-mcp** | mem0 | basic-memory | Anthropic KG |
|
|
@@ -412,7 +462,7 @@ Returns: status (`healthy` / `warning` / `degraded`), per-layer stats, expired e
|
|
|
412
462
|
```bash
|
|
413
463
|
npm run dev # run via tsx (no build step)
|
|
414
464
|
npm run build # TypeScript → dist/
|
|
415
|
-
npm test # vitest (
|
|
465
|
+
npm test # vitest (194 tests)
|
|
416
466
|
npm run bench # performance benchmarks
|
|
417
467
|
npm run db:backup # backup database
|
|
418
468
|
```
|