memory-journal-mcp 4.4.2 → 5.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/.github/workflows/codeql.yml +1 -6
- package/.github/workflows/docker-publish.yml +15 -49
- package/.github/workflows/lint-and-test.yml +1 -1
- package/.github/workflows/secrets-scanning.yml +4 -3
- package/.github/workflows/security-update.yml +3 -3
- package/CHANGELOG.md +213 -0
- package/CONTRIBUTING.md +132 -97
- package/DOCKER_README.md +184 -235
- package/Dockerfile +27 -24
- package/README.md +218 -190
- package/SECURITY.md +27 -35
- package/dist/cli.js +16 -1
- package/dist/cli.js.map +1 -1
- package/dist/constants/ServerInstructions.d.ts +5 -1
- package/dist/constants/ServerInstructions.d.ts.map +1 -1
- package/dist/constants/ServerInstructions.js +133 -73
- package/dist/constants/ServerInstructions.js.map +1 -1
- package/dist/constants/icons.d.ts +2 -2
- package/dist/constants/icons.d.ts.map +1 -1
- package/dist/constants/icons.js +7 -6
- package/dist/constants/icons.js.map +1 -1
- package/dist/database/SqliteAdapter.d.ts +37 -24
- package/dist/database/SqliteAdapter.d.ts.map +1 -1
- package/dist/database/SqliteAdapter.js +319 -157
- package/dist/database/SqliteAdapter.js.map +1 -1
- package/dist/database/schema.d.ts +45 -0
- package/dist/database/schema.d.ts.map +1 -0
- package/dist/database/schema.js +92 -0
- package/dist/database/schema.js.map +1 -0
- package/dist/filtering/ToolFilter.d.ts +1 -1
- package/dist/filtering/ToolFilter.d.ts.map +1 -1
- package/dist/filtering/ToolFilter.js +13 -2
- package/dist/filtering/ToolFilter.js.map +1 -1
- package/dist/github/GitHubIntegration.d.ts.map +1 -1
- package/dist/github/GitHubIntegration.js +1 -3
- package/dist/github/GitHubIntegration.js.map +1 -1
- package/dist/handlers/prompts/github.d.ts +12 -0
- package/dist/handlers/prompts/github.d.ts.map +1 -0
- package/dist/handlers/prompts/github.js +178 -0
- package/dist/handlers/prompts/github.js.map +1 -0
- package/dist/handlers/prompts/index.d.ts +23 -2
- package/dist/handlers/prompts/index.d.ts.map +1 -1
- package/dist/handlers/prompts/index.js +7 -432
- package/dist/handlers/prompts/index.js.map +1 -1
- package/dist/handlers/prompts/workflow.d.ts +12 -0
- package/dist/handlers/prompts/workflow.d.ts.map +1 -0
- package/dist/handlers/prompts/workflow.js +277 -0
- package/dist/handlers/prompts/workflow.js.map +1 -0
- package/dist/handlers/resources/core.d.ts +11 -0
- package/dist/handlers/resources/core.d.ts.map +1 -0
- package/dist/handlers/resources/core.js +433 -0
- package/dist/handlers/resources/core.js.map +1 -0
- package/dist/handlers/resources/github.d.ts +11 -0
- package/dist/handlers/resources/github.d.ts.map +1 -0
- package/dist/handlers/resources/github.js +314 -0
- package/dist/handlers/resources/github.js.map +1 -0
- package/dist/handlers/resources/graph.d.ts +11 -0
- package/dist/handlers/resources/graph.d.ts.map +1 -0
- package/dist/handlers/resources/graph.js +204 -0
- package/dist/handlers/resources/graph.js.map +1 -0
- package/dist/handlers/resources/index.d.ts +5 -20
- package/dist/handlers/resources/index.d.ts.map +1 -1
- package/dist/handlers/resources/index.js +16 -1278
- package/dist/handlers/resources/index.js.map +1 -1
- package/dist/handlers/resources/shared.d.ts +60 -0
- package/dist/handlers/resources/shared.d.ts.map +1 -0
- package/dist/handlers/resources/shared.js +49 -0
- package/dist/handlers/resources/shared.js.map +1 -0
- package/dist/handlers/resources/team.d.ts +13 -0
- package/dist/handlers/resources/team.d.ts.map +1 -0
- package/dist/handlers/resources/team.js +119 -0
- package/dist/handlers/resources/team.js.map +1 -0
- package/dist/handlers/resources/templates.d.ts +13 -0
- package/dist/handlers/resources/templates.d.ts.map +1 -0
- package/dist/handlers/resources/templates.js +310 -0
- package/dist/handlers/resources/templates.js.map +1 -0
- package/dist/handlers/tools/admin.d.ts +8 -0
- package/dist/handlers/tools/admin.d.ts.map +1 -0
- package/dist/handlers/tools/admin.js +270 -0
- package/dist/handlers/tools/admin.js.map +1 -0
- package/dist/handlers/tools/analytics.d.ts +8 -0
- package/dist/handlers/tools/analytics.d.ts.map +1 -0
- package/dist/handlers/tools/analytics.js +256 -0
- package/dist/handlers/tools/analytics.js.map +1 -0
- package/dist/handlers/tools/backup.d.ts +8 -0
- package/dist/handlers/tools/backup.d.ts.map +1 -0
- package/dist/handlers/tools/backup.js +224 -0
- package/dist/handlers/tools/backup.js.map +1 -0
- package/dist/handlers/tools/core.d.ts +9 -0
- package/dist/handlers/tools/core.d.ts.map +1 -0
- package/dist/handlers/tools/core.js +326 -0
- package/dist/handlers/tools/core.js.map +1 -0
- package/dist/handlers/tools/export.d.ts +8 -0
- package/dist/handlers/tools/export.d.ts.map +1 -0
- package/dist/handlers/tools/export.js +89 -0
- package/dist/handlers/tools/export.js.map +1 -0
- package/dist/handlers/tools/github/helpers.d.ts +34 -0
- package/dist/handlers/tools/github/helpers.d.ts.map +1 -0
- package/dist/handlers/tools/github/helpers.js +52 -0
- package/dist/handlers/tools/github/helpers.js.map +1 -0
- package/dist/handlers/tools/github/insights-tools.d.ts +8 -0
- package/dist/handlers/tools/github/insights-tools.d.ts.map +1 -0
- package/dist/handlers/tools/github/insights-tools.js +104 -0
- package/dist/handlers/tools/github/insights-tools.js.map +1 -0
- package/dist/handlers/tools/github/issue-tools.d.ts +8 -0
- package/dist/handlers/tools/github/issue-tools.d.ts.map +1 -0
- package/dist/handlers/tools/github/issue-tools.js +359 -0
- package/dist/handlers/tools/github/issue-tools.js.map +1 -0
- package/dist/handlers/tools/github/kanban-tools.d.ts +8 -0
- package/dist/handlers/tools/github/kanban-tools.d.ts.map +1 -0
- package/dist/handlers/tools/github/kanban-tools.js +108 -0
- package/dist/handlers/tools/github/kanban-tools.js.map +1 -0
- package/dist/handlers/tools/github/milestone-tools.d.ts +9 -0
- package/dist/handlers/tools/github/milestone-tools.d.ts.map +1 -0
- package/dist/handlers/tools/github/milestone-tools.js +302 -0
- package/dist/handlers/tools/github/milestone-tools.js.map +1 -0
- package/dist/handlers/tools/github/mutation-tools.d.ts +12 -0
- package/dist/handlers/tools/github/mutation-tools.d.ts.map +1 -0
- package/dist/handlers/tools/github/mutation-tools.js +15 -0
- package/dist/handlers/tools/github/mutation-tools.js.map +1 -0
- package/dist/handlers/tools/github/read-tools.d.ts +8 -0
- package/dist/handlers/tools/github/read-tools.d.ts.map +1 -0
- package/dist/handlers/tools/github/read-tools.js +260 -0
- package/dist/handlers/tools/github/read-tools.js.map +1 -0
- package/dist/handlers/tools/github/schemas.d.ts +467 -0
- package/dist/handlers/tools/github/schemas.d.ts.map +1 -0
- package/dist/handlers/tools/github/schemas.js +335 -0
- package/dist/handlers/tools/github/schemas.js.map +1 -0
- package/dist/handlers/tools/github.d.ts +14 -0
- package/dist/handlers/tools/github.d.ts.map +1 -0
- package/dist/handlers/tools/github.js +28 -0
- package/dist/handlers/tools/github.js.map +1 -0
- package/dist/handlers/tools/index.d.ts +15 -20
- package/dist/handlers/tools/index.d.ts.map +1 -1
- package/dist/handlers/tools/index.js +117 -2909
- package/dist/handlers/tools/index.js.map +1 -1
- package/dist/handlers/tools/relationships.d.ts +8 -0
- package/dist/handlers/tools/relationships.d.ts.map +1 -0
- package/dist/handlers/tools/relationships.js +308 -0
- package/dist/handlers/tools/relationships.js.map +1 -0
- package/dist/handlers/tools/schemas.d.ts +108 -0
- package/dist/handlers/tools/schemas.d.ts.map +1 -0
- package/dist/handlers/tools/schemas.js +122 -0
- package/dist/handlers/tools/schemas.js.map +1 -0
- package/dist/handlers/tools/search.d.ts +8 -0
- package/dist/handlers/tools/search.d.ts.map +1 -0
- package/dist/handlers/tools/search.js +282 -0
- package/dist/handlers/tools/search.js.map +1 -0
- package/dist/handlers/tools/team.d.ts +11 -0
- package/dist/handlers/tools/team.d.ts.map +1 -0
- package/dist/handlers/tools/team.js +239 -0
- package/dist/handlers/tools/team.js.map +1 -0
- package/dist/server/McpServer.d.ts +4 -0
- package/dist/server/McpServer.d.ts.map +1 -1
- package/dist/server/McpServer.js +48 -297
- package/dist/server/McpServer.js.map +1 -1
- package/dist/server/Scheduler.d.ts +91 -0
- package/dist/server/Scheduler.d.ts.map +1 -0
- package/dist/server/Scheduler.js +201 -0
- package/dist/server/Scheduler.js.map +1 -0
- package/dist/transports/http.d.ts +66 -0
- package/dist/transports/http.d.ts.map +1 -0
- package/dist/transports/http.js +519 -0
- package/dist/transports/http.js.map +1 -0
- package/dist/types/entities.d.ts +101 -0
- package/dist/types/entities.d.ts.map +1 -0
- package/dist/types/entities.js +5 -0
- package/dist/types/entities.js.map +1 -0
- package/dist/types/filtering.d.ts +34 -0
- package/dist/types/filtering.d.ts.map +1 -0
- package/dist/types/filtering.js +5 -0
- package/dist/types/filtering.js.map +1 -0
- package/dist/types/github.d.ts +166 -0
- package/dist/types/github.d.ts.map +1 -0
- package/dist/types/github.js +5 -0
- package/dist/types/github.js.map +1 -0
- package/dist/types/index.d.ts +35 -292
- package/dist/types/index.d.ts.map +1 -1
- package/dist/types/index.js +2 -2
- package/dist/types/index.js.map +1 -1
- package/dist/utils/error-helpers.d.ts +37 -0
- package/dist/utils/error-helpers.d.ts.map +1 -0
- package/dist/utils/error-helpers.js +47 -0
- package/dist/utils/error-helpers.js.map +1 -0
- package/dist/utils/logger.d.ts.map +1 -1
- package/dist/utils/logger.js +6 -3
- package/dist/utils/logger.js.map +1 -1
- package/dist/utils/security-utils.d.ts +0 -21
- package/dist/utils/security-utils.d.ts.map +1 -1
- package/dist/utils/security-utils.js +0 -47
- package/dist/utils/security-utils.js.map +1 -1
- package/dist/vector/VectorSearchManager.d.ts.map +1 -1
- package/dist/vector/VectorSearchManager.js +9 -32
- package/dist/vector/VectorSearchManager.js.map +1 -1
- package/docker-compose.yml +11 -2
- package/hooks/README.md +107 -0
- package/hooks/cursor/hooks.json +10 -0
- package/hooks/cursor/memory-journal.mdc +22 -0
- package/hooks/cursor/session-end.sh +19 -0
- package/hooks/kilo-code/session-end-mode.json +11 -0
- package/hooks/kiro/session-end.md +13 -0
- package/mcp-config-example.json +1 -0
- package/package.json +11 -9
- package/playwright.config.ts +29 -0
- package/releases/v4.5.0.md +116 -0
- package/releases/v5.0.0.md +105 -0
- package/scripts/generate-server-instructions.ts +176 -0
- package/scripts/server-instructions-function-body.ts +77 -0
- package/server.json +3 -3
- package/src/cli.ts +45 -1
- package/src/constants/ServerInstructions.ts +133 -73
- package/src/constants/icons.ts +8 -7
- package/src/constants/server-instructions.md +268 -0
- package/src/database/SqliteAdapter.ts +358 -192
- package/src/database/schema.ts +125 -0
- package/src/filtering/ToolFilter.ts +13 -2
- package/src/github/GitHubIntegration.ts +1 -3
- package/src/handlers/prompts/github.ts +209 -0
- package/src/handlers/prompts/index.ts +10 -499
- package/src/handlers/prompts/workflow.ts +314 -0
- package/src/handlers/resources/core.ts +528 -0
- package/src/handlers/resources/github.ts +358 -0
- package/src/handlers/resources/graph.ts +254 -0
- package/src/handlers/resources/index.ts +23 -1570
- package/src/handlers/resources/shared.ts +103 -0
- package/src/handlers/resources/team.ts +133 -0
- package/src/handlers/resources/templates.ts +374 -0
- package/src/handlers/tools/admin.ts +285 -0
- package/src/handlers/tools/analytics.ts +301 -0
- package/src/handlers/tools/backup.ts +242 -0
- package/src/handlers/tools/core.ts +350 -0
- package/src/handlers/tools/export.ts +115 -0
- package/src/handlers/tools/github/helpers.ts +86 -0
- package/src/handlers/tools/github/insights-tools.ts +119 -0
- package/src/handlers/tools/github/issue-tools.ts +439 -0
- package/src/handlers/tools/github/kanban-tools.ts +134 -0
- package/src/handlers/tools/github/milestone-tools.ts +392 -0
- package/src/handlers/tools/github/mutation-tools.ts +17 -0
- package/src/handlers/tools/github/read-tools.ts +328 -0
- package/src/handlers/tools/github/schemas.ts +369 -0
- package/src/handlers/tools/github.ts +36 -0
- package/src/handlers/tools/index.ts +144 -3325
- package/src/handlers/tools/relationships.ts +358 -0
- package/src/handlers/tools/schemas.ts +132 -0
- package/src/handlers/tools/search.ts +343 -0
- package/src/handlers/tools/team.ts +273 -0
- package/src/server/McpServer.ts +63 -358
- package/src/server/Scheduler.ts +278 -0
- package/src/transports/http.ts +635 -0
- package/src/types/entities.ts +145 -0
- package/src/types/filtering.ts +54 -0
- package/src/types/github.ts +180 -0
- package/src/types/index.ts +67 -375
- package/src/utils/error-helpers.ts +52 -0
- package/src/utils/logger.ts +6 -3
- package/src/utils/security-utils.ts +0 -52
- package/src/vector/VectorSearchManager.ts +9 -33
- package/tests/constants/icons.test.ts +1 -2
- package/tests/constants/server-instructions.test.ts +30 -4
- package/tests/database/sqlite-adapter.test.ts +91 -7
- package/tests/e2e/auth.spec.ts +154 -0
- package/tests/e2e/health.spec.ts +63 -0
- package/tests/e2e/protocols.spec.ts +134 -0
- package/tests/e2e/resources.spec.ts +103 -0
- package/tests/e2e/scheduler.spec.ts +79 -0
- package/tests/e2e/security.spec.ts +91 -0
- package/tests/e2e/sessions.spec.ts +95 -0
- package/tests/e2e/stateless.spec.ts +121 -0
- package/tests/e2e/tools.spec.ts +111 -0
- package/tests/filtering/tool-filter.test.ts +46 -0
- package/tests/handlers/error-path-coverage.test.ts +324 -0
- package/tests/handlers/github-resource-handlers.test.ts +453 -0
- package/tests/handlers/github-tool-handlers.test.ts +899 -0
- package/tests/handlers/prompt-handler-coverage.test.ts +106 -0
- package/tests/handlers/prompt-handlers.test.ts +40 -0
- package/tests/handlers/resource-handler-coverage.test.ts +181 -0
- package/tests/handlers/resource-handlers.test.ts +33 -9
- package/tests/handlers/search-tool-handlers.test.ts +272 -0
- package/tests/handlers/targeted-gap-closure.test.ts +387 -0
- package/tests/handlers/team-resource-handlers.test.ts +156 -0
- package/tests/handlers/team-tool-handlers.test.ts +301 -0
- package/tests/handlers/tool-handler-coverage.test.ts +469 -0
- package/tests/handlers/tool-handlers.test.ts +2 -2
- package/tests/security/sql-injection.test.ts +3 -54
- package/tests/server/mcp-server.test.ts +503 -8
- package/tests/server/scheduler.test.ts +400 -0
- package/tests/transports/http-transport.test.ts +620 -0
- package/tests/vector/vector-search-manager.test.ts +60 -0
- package/vitest.config.ts +4 -1
- package/.memory-journal-team.db +0 -0
- package/.vscode/settings.json +0 -84
package/DOCKER_README.md
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
# Memory Journal MCP Server
|
|
2
2
|
|
|
3
|
-
**Last Updated
|
|
3
|
+
**Last Updated March 6, 2026**
|
|
4
4
|
|
|
5
5
|
[](https://github.com/neverinfamous/memory-journal-mcp)
|
|
6
6
|
[](https://hub.docker.com/r/writenotenow/memory-journal-mcp)
|
|
@@ -10,24 +10,42 @@
|
|
|
10
10
|
[](https://github.com/neverinfamous/memory-journal-mcp/blob/main/SECURITY.md)
|
|
11
11
|
[](https://github.com/neverinfamous/memory-journal-mcp)
|
|
12
12
|
[](https://github.com/neverinfamous/memory-journal-mcp)
|
|
13
|
-

|
|
14
|
+

|
|
15
15
|
|
|
16
|
-
🎯 **AI Context + Project Intelligence:** Bridge disconnected AI sessions with persistent project memory
|
|
16
|
+
🎯 **AI Context + Project Intelligence:** Bridge disconnected AI sessions with persistent project memory and **automatic session handoff** — with full GitHub workflow integration.
|
|
17
17
|
|
|
18
|
-
**[GitHub](https://github.com/neverinfamous/memory-journal-mcp)** • **[Wiki](https://github.com/neverinfamous/memory-journal-mcp/wiki)** • **[Changelog](https://github.com/neverinfamous/memory-journal-mcp/
|
|
18
|
+
**[GitHub](https://github.com/neverinfamous/memory-journal-mcp)** • **[Wiki](https://github.com/neverinfamous/memory-journal-mcp/wiki)** • **[Changelog](https://github.com/neverinfamous/memory-journal-mcp/blob/main/CHANGELOG.md)** • **[Release Article](https://adamic.tech/articles/memory-journal-mcp-server)**
|
|
19
19
|
|
|
20
20
|
## 🎯 What This Does
|
|
21
21
|
|
|
22
22
|
### Key Benefits
|
|
23
23
|
|
|
24
|
+
**42 MCP Tools** · **15 Workflow Prompts** · **22 Resources** · **9 Tool Groups** · **GitHub Integration** (Issues, PRs, Actions, Kanban, Milestones, Insights)
|
|
25
|
+
|
|
24
26
|
- 🧠 **Dynamic Context Management** - AI agents automatically query your project history and create entries at the right moments
|
|
25
27
|
- 📝 **Auto-capture Git/GitHub context** (commits, branches, issues, milestones, PRs, projects)
|
|
26
|
-
- 🔗 **
|
|
27
|
-
- 🔍 **Triple search**
|
|
28
|
+
- 🔗 **Knowledge graphs** - 8 relationship types linking specs → implementations → tests → PRs with Mermaid visualization
|
|
29
|
+
- 🔍 **Triple search** - full-text, semantic (AI-powered via `@xenova/transformers`), and date range
|
|
28
30
|
- 📊 **Generate reports** (standups, retrospectives, PR summaries, status)
|
|
29
31
|
- 📈 **Track repository insights** — stars, forks, clones, views, top referrers, and popular paths (14-day rolling)
|
|
30
32
|
- 🗄️ **Backup & restore** your journal data with one command
|
|
33
|
+
- ⏰ **Automated maintenance** — scheduled backups, database optimization, and vector index rebuilds for long-running containers
|
|
34
|
+
- 🌐 **Dual HTTP transport** — Streamable HTTP (`/mcp`) for modern clients + legacy SSE (`/sse`) for backward compatibility, with stateless mode for serverless deployments
|
|
35
|
+
- 👥 **Team collaboration** — separate public team database with author attribution, cross-DB search, and dedicated team tools
|
|
36
|
+
- 🔄 **Session continuity** — automatic end-of-session summaries flow into the next session's briefing
|
|
37
|
+
- 🔧 **IDE Hooks** — ready-to-use session-end configs for Cursor, Kiro, and Kilo Code ([setup →](https://github.com/neverinfamous/memory-journal-mcp/tree/main/hooks))
|
|
38
|
+
- 💡 **Rule & skill suggestions** — agents offer to codify your recurring patterns with your approval
|
|
39
|
+
- ✅ **Deterministic error handling** — every tool returns structured `{success, error}` responses — no raw exceptions, no silent failures. Agents get actionable context instead of cryptic stack traces
|
|
40
|
+
|
|
41
|
+
**Ask Agent naturally:**
|
|
42
|
+
|
|
43
|
+
- "Show me my recent journal entries"
|
|
44
|
+
- "Create a backup of my journal"
|
|
45
|
+
- "Check the server health status"
|
|
46
|
+
- "Find entries related to performance"
|
|
47
|
+
|
|
48
|
+
**[See complete examples & prompts →](https://github.com/neverinfamous/memory-journal-mcp/wiki/Examples)**
|
|
31
49
|
|
|
32
50
|
### Deployment Options
|
|
33
51
|
|
|
@@ -35,64 +53,101 @@
|
|
|
35
53
|
- **[npm Package](https://www.npmjs.com/package/memory-journal-mcp)** - Simple `npm install -g` for local deployment
|
|
36
54
|
- **[MCP Registry](https://registry.modelcontextprotocol.io/v0/servers?search=io.github.neverinfamous/memory-journal-mcp)**
|
|
37
55
|
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
|
49
|
-
|
|
50
|
-
|
|
|
51
|
-
|
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
|
64
|
-
|
|
|
65
|
-
|
|
|
66
|
-
|
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
| - Standups & Retros |
|
|
77
|
-
| - Knowledge Graphs |
|
|
78
|
-
| - Project Timelines |
|
|
79
|
-
+---------------------------+
|
|
80
|
-
```
|
|
56
|
+
**Flow:** AI Session Start → Read `memory://briefing` → Journal Operations (Create, Search, Link) → Triple Search + GitHub Integration → Outputs (Standups, Knowledge Graphs, Timelines) → Session End (auto-summary → next briefing)
|
|
57
|
+
|
|
58
|
+
### Tool Filtering
|
|
59
|
+
|
|
60
|
+
Control which tools are exposed via `MEMORY_JOURNAL_MCP_TOOL_FILTER` (or CLI: `--tool-filter`):
|
|
61
|
+
|
|
62
|
+
| Filter | Tools | Use Case |
|
|
63
|
+
| -------------------- | ----- | ----------------------- |
|
|
64
|
+
| `full` | 42 | All tools (default) |
|
|
65
|
+
| `starter` | ~10 | Core + search only |
|
|
66
|
+
| `essential` | ~6 | Minimal footprint |
|
|
67
|
+
| `readonly` | ~15 | Disable all mutations |
|
|
68
|
+
| `-github` | 27 | Exclude a group |
|
|
69
|
+
| `-github,-analytics` | 25 | Exclude multiple groups |
|
|
70
|
+
|
|
71
|
+
**Filter Syntax:** `-group` (disable group) · `-tool` (disable tool) · `+tool` (re-enable after group disable)
|
|
72
|
+
|
|
73
|
+
**Groups:** `core`, `search`, `analytics`, `relationships`, `export`, `admin`, `github`, `backup`, `team`
|
|
74
|
+
|
|
75
|
+
**[Complete tool filtering guide →](https://github.com/neverinfamous/memory-journal-mcp/wiki/Tool-Filtering)**
|
|
76
|
+
|
|
77
|
+
## 📋 Core Capabilities
|
|
78
|
+
|
|
79
|
+
### 🛠️ 42 MCP Tools (9 Groups)
|
|
80
|
+
|
|
81
|
+
| Group | Tools | Description |
|
|
82
|
+
| --------------- | ----- | ------------------------------------------------------------------------------- |
|
|
83
|
+
| `core` | 6 | Entry CRUD, tags, test |
|
|
84
|
+
| `search` | 4 | Text search, date range, semantic, vector stats |
|
|
85
|
+
| `analytics` | 2 | Statistics, cross-project insights |
|
|
86
|
+
| `relationships` | 2 | Link entries, visualize graphs |
|
|
87
|
+
| `export` | 1 | JSON/Markdown export |
|
|
88
|
+
| `admin` | 5 | Update, delete, rebuild/add to vector index, merge tags |
|
|
89
|
+
| `github` | 15 | Issues, PRs, context, Kanban, **Milestones**, **Insights**, **issue lifecycle** |
|
|
90
|
+
| `backup` | 4 | Backup, list, restore, cleanup |
|
|
91
|
+
| `team` | 3 | Team create, get recent, search (requires `TEAM_DB_PATH`) |
|
|
92
|
+
|
|
93
|
+
**[Complete tools documentation →](https://github.com/neverinfamous/memory-journal-mcp/wiki/Tools)**
|
|
81
94
|
|
|
82
|
-
###
|
|
95
|
+
### 🎯 **15 Workflow Prompts**
|
|
96
|
+
|
|
97
|
+
- `find-related` - Discover connected entries via semantic similarity
|
|
98
|
+
- `prepare-standup` - Daily standup summaries
|
|
99
|
+
- `prepare-retro` - Sprint retrospectives
|
|
100
|
+
- `weekly-digest` - Day-by-day weekly summaries
|
|
101
|
+
- `analyze-period` - Deep period analysis with insights
|
|
102
|
+
- `goal-tracker` - Milestone and achievement tracking
|
|
103
|
+
- `get-context-bundle` - Project context with Git/GitHub/Kanban
|
|
104
|
+
- `get-recent-entries` - Formatted recent entries
|
|
105
|
+
- `project-status-summary` - GitHub Project status reports
|
|
106
|
+
- `pr-summary` - Pull request journal activity summary
|
|
107
|
+
- `code-review-prep` - Comprehensive PR review preparation
|
|
108
|
+
- `pr-retrospective` - Completed PR analysis with learnings
|
|
109
|
+
- `actions-failure-digest` - CI/CD failure analysis
|
|
110
|
+
- `project-milestone-tracker` - Milestone progress tracking
|
|
111
|
+
- `confirm-briefing` - Acknowledge session context to user
|
|
83
112
|
|
|
84
|
-
|
|
85
|
-
- **15 workflow prompts** - Standups, retrospectives, PR workflows, CI/CD failure analysis, session acknowledgment
|
|
86
|
-
- **21 MCP resources** - 14 static + 7 template (require parameters)
|
|
87
|
-
- **GitHub Integration** - Projects, Issues, Pull Requests, Actions, **Kanban boards**, **Milestones**
|
|
88
|
-
- **8 tool groups** - `core`, `search`, `analytics`, `relationships`, `export`, `admin`, `github`, `backup`
|
|
89
|
-
- **Knowledge graphs** - 8 relationship types, Mermaid visualization
|
|
90
|
-
- **Semantic search** - AI-powered conceptual search via `@xenova/transformers`
|
|
113
|
+
**[Complete prompts guide →](https://github.com/neverinfamous/memory-journal-mcp/wiki/Prompts)**
|
|
91
114
|
|
|
92
|
-
|
|
115
|
+
### 📡 **22 Resources** (15 Static + 7 Template)
|
|
116
|
+
|
|
117
|
+
**Static Resources** (appear in resource lists):
|
|
118
|
+
|
|
119
|
+
- `memory://briefing` - **Session initialization**: compact context for AI agents (~300 tokens)
|
|
120
|
+
- `memory://instructions` - **Behavioral guidance**: complete server instructions for AI agents
|
|
121
|
+
- `memory://recent` - 10 most recent entries
|
|
122
|
+
- `memory://significant` - Significant milestones and breakthroughs
|
|
123
|
+
- `memory://graph/recent` - Live Mermaid diagram of recent relationships
|
|
124
|
+
- `memory://health` - Server health & diagnostics
|
|
125
|
+
- `memory://graph/actions` - CI/CD narrative graph
|
|
126
|
+
- `memory://actions/recent` - Recent workflow runs
|
|
127
|
+
- `memory://tags` - All tags with usage counts
|
|
128
|
+
- `memory://statistics` - Journal statistics
|
|
129
|
+
- `memory://github/status` - GitHub repository status overview
|
|
130
|
+
- `memory://github/insights` - Repository stars, forks, and 14-day traffic summary
|
|
131
|
+
- `memory://github/milestones` - Open milestones with completion percentages
|
|
132
|
+
- `memory://team/recent` - Recent team entries with author attribution
|
|
133
|
+
- `memory://team/statistics` - Team entry counts, types, and author breakdown
|
|
134
|
+
|
|
135
|
+
**Template Resources** (require parameters, fetch directly by URI):
|
|
136
|
+
|
|
137
|
+
- `memory://projects/{number}/timeline` - Project activity timeline
|
|
138
|
+
- `memory://issues/{issue_number}/entries` - Entries linked to issue
|
|
139
|
+
- `memory://prs/{pr_number}/entries` - Entries linked to PR
|
|
140
|
+
- `memory://prs/{pr_number}/timeline` - Combined PR + journal timeline
|
|
141
|
+
- `memory://kanban/{project_number}` - GitHub Project Kanban board
|
|
142
|
+
- `memory://kanban/{project_number}/diagram` - Kanban Mermaid visualization
|
|
143
|
+
- `memory://milestones/{number}` - Milestone detail with completion progress
|
|
144
|
+
|
|
145
|
+
**[Resources documentation →](https://github.com/neverinfamous/memory-journal-mcp/wiki/Resources)**
|
|
93
146
|
|
|
94
147
|
## 🚀 Quick Start (2 Minutes)
|
|
95
148
|
|
|
149
|
+
**Prerequisites:** Docker installed and running · ~300MB disk space · **[Full Installation Guide →](https://github.com/neverinfamous/memory-journal-mcp/wiki/Installation)**
|
|
150
|
+
|
|
96
151
|
### 1. Pull the Image
|
|
97
152
|
|
|
98
153
|
```bash
|
|
@@ -162,13 +217,16 @@ To enable GitHub tools (`get_github_issues`, `get_github_prs`, etc.), add enviro
|
|
|
162
217
|
}
|
|
163
218
|
```
|
|
164
219
|
|
|
165
|
-
| Environment Variable | Description
|
|
166
|
-
| ------------------------ |
|
|
167
|
-
| `
|
|
168
|
-
| `
|
|
169
|
-
| `
|
|
170
|
-
| `
|
|
171
|
-
| `
|
|
220
|
+
| Environment Variable | Description |
|
|
221
|
+
| ------------------------ | ----------------------------------------------------------------------- |
|
|
222
|
+
| `DB_PATH` | Database location (default: `/app/data/memory_journal.db` in Docker) |
|
|
223
|
+
| `TEAM_DB_PATH` | Team database file location (CLI: `--team-db`) |
|
|
224
|
+
| `TEAM_AUTHOR` | Override author name for team entries (default: `git config user.name`) |
|
|
225
|
+
| `GITHUB_TOKEN` | GitHub personal access token for API access |
|
|
226
|
+
| `GITHUB_REPO_PATH` | Path to git repo inside container (mount your repo) |
|
|
227
|
+
| `DEFAULT_PROJECT_NUMBER` | Default GitHub Project number for auto-assignment when creating issues |
|
|
228
|
+
| `AUTO_REBUILD_INDEX` | Set to `true` to rebuild vector index on server startup |
|
|
229
|
+
| `MCP_HOST` | Server bind host (`0.0.0.0` for containers, default: `localhost`) |
|
|
172
230
|
|
|
173
231
|
**Without `GITHUB_REPO_PATH`**: Explicitly provide `owner` and `repo` when calling GitHub tools.
|
|
174
232
|
|
|
@@ -188,15 +246,17 @@ When GitHub tools cannot auto-detect repository information:
|
|
|
188
246
|
|
|
189
247
|
- **Listing MCP Resources**: If the agent has trouble listing resources, instruct it to call `ListMcpResources()` without specifying a server parameter, or with `server: "user-memory-journal-mcp"` (Cursor prefixes server names with `user-`).
|
|
190
248
|
|
|
191
|
-
|
|
249
|
+
### 🔄 Session Management
|
|
192
250
|
|
|
193
|
-
|
|
251
|
+
Memory Journal bridges AI sessions automatically — the agent reads project context at session start and captures a summary at session end.
|
|
194
252
|
|
|
195
|
-
|
|
253
|
+
1. Session starts → agent reads `memory://briefing` and shows you a project context summary
|
|
254
|
+
2. Session ends → agent creates a `retrospective` entry tagged `session-summary`
|
|
255
|
+
3. Next session's briefing includes the previous summary — context flows seamlessly
|
|
196
256
|
|
|
197
|
-
|
|
257
|
+
**Cursor users:** Copy the [`memory-journal.mdc`](https://github.com/neverinfamous/memory-journal-mcp/blob/main/hooks/cursor/memory-journal.mdc) rule to `.cursor/rules/` for the most reliable session management. Optional audit hooks for Cursor, Kiro, and Kilo Code are available in the [hooks/](https://github.com/neverinfamous/memory-journal-mcp/tree/main/hooks) directory.
|
|
198
258
|
|
|
199
|
-
-
|
|
259
|
+
**No rules or hooks?** The built-in server instructions handle both session start and end in any MCP client. This is **opt-out**: tell the agent "skip the summary" to disable session-end entries.
|
|
200
260
|
|
|
201
261
|
### HTTP/SSE Transport (Remote Access)
|
|
202
262
|
|
|
@@ -222,61 +282,69 @@ docker run --rm -p 3000:3000 \
|
|
|
222
282
|
|
|
223
283
|
**Endpoints:**
|
|
224
284
|
|
|
225
|
-
|
|
226
|
-
|
|
227
|
-
|
|
285
|
+
| Endpoint | Description | Mode |
|
|
286
|
+
| ---------------- | ------------------------------------------------ | -------- |
|
|
287
|
+
| `GET /` | Server info and available endpoints | Both |
|
|
288
|
+
| `POST /mcp` | JSON-RPC requests (initialize, tools/call, etc.) | Both |
|
|
289
|
+
| `GET /mcp` | SSE stream for server-to-client notifications | Stateful |
|
|
290
|
+
| `DELETE /mcp` | Session termination | Stateful |
|
|
291
|
+
| `GET /sse` | Legacy SSE connection (MCP 2024-11-05) | Stateful |
|
|
292
|
+
| `POST /messages` | Legacy SSE message endpoint | Stateful |
|
|
293
|
+
| `GET /health` | Health check (`{ status, timestamp }`) | Both |
|
|
228
294
|
|
|
229
295
|
**Session Management:** In stateful mode, include the `mcp-session-id` header (returned from initialization) in subsequent requests.
|
|
230
296
|
|
|
231
|
-
|
|
232
|
-
| ------------------------- | ---------------------- | ------------- | ---------- |
|
|
233
|
-
| Stateful (default) | ✅ Yes | ✅ Yes | ⚠️ Complex |
|
|
234
|
-
| Stateless (`--stateless`) | ❌ No | ❌ No | ✅ Native |
|
|
235
|
-
|
|
236
|
-
**Example with curl (stateful):**
|
|
237
|
-
|
|
238
|
-
```bash
|
|
239
|
-
# Initialize session
|
|
240
|
-
curl -X POST http://localhost:3000/mcp \
|
|
241
|
-
-H "Content-Type: application/json" \
|
|
242
|
-
-H "Accept: application/json, text/event-stream" \
|
|
243
|
-
-d '{"jsonrpc":"2.0","id":1,"method":"initialize","params":{"protocolVersion":"2025-03-26","capabilities":{},"clientInfo":{"name":"test","version":"1.0"}}}'
|
|
244
|
-
# Returns mcp-session-id header
|
|
245
|
-
|
|
246
|
-
# List tools (with session)
|
|
247
|
-
curl -X POST http://localhost:3000/mcp \
|
|
248
|
-
-H "Content-Type: application/json" \
|
|
249
|
-
-H "Accept: application/json, text/event-stream" \
|
|
250
|
-
-H "mcp-session-id: YOUR_SESSION_ID" \
|
|
251
|
-
-d '{"jsonrpc":"2.0","id":2,"method":"tools/list","params":{}}'
|
|
252
|
-
```
|
|
253
|
-
|
|
254
|
-
---
|
|
297
|
+
**Security Features:**
|
|
255
298
|
|
|
256
|
-
|
|
299
|
+
- **6 Security Headers** — `X-Content-Type-Options`, `X-Frame-Options`, `Content-Security-Policy`, `Cache-Control`, `Referrer-Policy`, `Permissions-Policy`
|
|
300
|
+
- **Rate Limiting** — 100 requests/minute per IP (429 on excess)
|
|
301
|
+
- **CORS** — Configurable via `--cors-origin` or `MCP_CORS_ORIGIN` (default: `*`)
|
|
302
|
+
- **Body Size Limit** — 1 MB maximum
|
|
303
|
+
- **404 Handler** — Unknown paths return `{ error: "Not found" }`
|
|
304
|
+
- **Cross-Protocol Guard** — SSE session IDs rejected on `/mcp` and vice versa
|
|
257
305
|
|
|
258
|
-
|
|
306
|
+
| Mode | Progress Notifications | Legacy SSE | Serverless |
|
|
307
|
+
| ------------------------- | ---------------------- | ---------- | ---------- |
|
|
308
|
+
| Stateful (default) | ✅ Yes | ✅ Yes | ⚠️ Complex |
|
|
309
|
+
| Stateless (`--stateless`) | ❌ No | ❌ No | ✅ Native |
|
|
259
310
|
|
|
260
|
-
|
|
311
|
+
#### Automated Scheduling (HTTP Only)
|
|
261
312
|
|
|
262
|
-
|
|
313
|
+
Enable periodic maintenance jobs for long-running containers. These jobs run in-process on `setInterval` — no external cron needed.
|
|
263
314
|
|
|
264
|
-
|
|
315
|
+
> **Note:** These flags only work with HTTP/SSE transport. Stdio sessions (IDE integrations) are short-lived — use `backup_journal` and `cleanup_backups` tools manually instead.
|
|
265
316
|
|
|
266
|
-
```
|
|
267
|
-
|
|
317
|
+
```bash
|
|
318
|
+
docker run --rm -p 3000:3000 \
|
|
319
|
+
-v ./data:/app/data \
|
|
320
|
+
writenotenow/memory-journal-mcp:latest \
|
|
321
|
+
--transport http --port 3000 --server-host 0.0.0.0 \
|
|
322
|
+
--backup-interval 60 --keep-backups 10 \
|
|
323
|
+
--vacuum-interval 1440 \
|
|
324
|
+
--rebuild-index-interval 720
|
|
268
325
|
```
|
|
269
326
|
|
|
270
|
-
|
|
327
|
+
| Flag | Default | Description |
|
|
328
|
+
| -------------------------------- | ------- | -------------------------------------------------------------------- |
|
|
329
|
+
| `--backup-interval <min>` | 0 (off) | Create timestamped database backups and prune old ones automatically |
|
|
330
|
+
| `--keep-backups <count>` | 5 | Max backups retained during automated cleanup |
|
|
331
|
+
| `--vacuum-interval <min>` | 0 (off) | Run `PRAGMA optimize` and flush database to disk |
|
|
332
|
+
| `--rebuild-index-interval <min>` | 0 (off) | Full vector index rebuild to maintain semantic search quality |
|
|
271
333
|
|
|
272
|
-
-
|
|
273
|
-
- ✅ ~300MB disk space available
|
|
334
|
+
Each job is error-isolated — a failure in one job won't affect the others. Scheduler status (last run, result, next run) is visible via `memory://health`.
|
|
274
335
|
|
|
275
|
-
|
|
336
|
+
**Example with curl:**
|
|
276
337
|
|
|
277
|
-
|
|
338
|
+
```bash
|
|
339
|
+
# Initialize session (returns mcp-session-id header)
|
|
340
|
+
curl -X POST http://localhost:3000/mcp \
|
|
341
|
+
-H "Content-Type: application/json" \
|
|
342
|
+
-H "Accept: application/json, text/event-stream" \
|
|
343
|
+
-d '{"jsonrpc":"2.0","id":1,"method":"initialize","params":{"protocolVersion":"2025-03-26","capabilities":{},"clientInfo":{"name":"test","version":"1.0"}}}'
|
|
344
|
+
# Include mcp-session-id header in subsequent requests
|
|
345
|
+
```
|
|
278
346
|
|
|
279
|
-
##
|
|
347
|
+
## ️ Supply Chain Security
|
|
280
348
|
|
|
281
349
|
For enhanced security and reproducible builds, use SHA-pinned images:
|
|
282
350
|
|
|
@@ -302,69 +370,8 @@ docker pull writenotenow/memory-journal-mcp@sha256:<manifest-digest>
|
|
|
302
370
|
- ✅ **Non-root Execution** - Minimal attack surface
|
|
303
371
|
- ✅ **No Native Dependencies** - Pure JS stack reduces attack surface
|
|
304
372
|
|
|
305
|
-
---
|
|
306
|
-
|
|
307
|
-
## ⚡ Core Features
|
|
308
|
-
|
|
309
|
-
### 🛠️ 39 MCP Tools (8 Groups)
|
|
310
|
-
|
|
311
|
-
| Group | Tools | Description |
|
|
312
|
-
| --------------- | ----- | ------------------------------------------------------------------------------- |
|
|
313
|
-
| `core` | 6 | Entry CRUD, tags, test |
|
|
314
|
-
| `search` | 4 | Text search, date range, semantic, vector stats |
|
|
315
|
-
| `analytics` | 2 | Statistics, cross-project insights |
|
|
316
|
-
| `relationships` | 2 | Link entries, visualize graphs |
|
|
317
|
-
| `export` | 1 | JSON/Markdown export |
|
|
318
|
-
| `admin` | 5 | Update, delete, rebuild/add to vector index, merge tags |
|
|
319
|
-
| `github` | 15 | Issues, PRs, context, Kanban, **Milestones**, **Insights**, **issue lifecycle** |
|
|
320
|
-
| `backup` | 4 | Backup, list, restore, cleanup |
|
|
321
|
-
|
|
322
|
-
**[Complete tools documentation →](https://github.com/neverinfamous/memory-journal-mcp/wiki/Tools)**
|
|
323
|
-
|
|
324
|
-
### 🎯 15 Workflow Prompts
|
|
325
|
-
|
|
326
|
-
Standups • Retrospectives • Weekly digests • PR summaries • Code review prep • Goal tracking
|
|
327
|
-
**[Complete prompts guide →](https://github.com/neverinfamous/memory-journal-mcp/wiki/Prompts)**
|
|
328
|
-
|
|
329
|
-
### 📡 21 Resources (14 Static + 7 Template)
|
|
330
|
-
|
|
331
|
-
Including `memory://briefing` for session initialization, `memory://instructions` for behavioral guidance, `memory://health` for diagnostics, `memory://kanban/{n}` for Kanban boards, `memory://github/milestones` for milestone tracking, and `memory://github/insights` for repository traffic analytics. Template resources require parameters and are accessed directly by URI.
|
|
332
|
-
**[Resources documentation →](https://github.com/neverinfamous/memory-journal-mcp/wiki/Resources)**
|
|
333
|
-
|
|
334
|
-
---
|
|
335
|
-
|
|
336
|
-
**Ask Cursor AI naturally:**
|
|
337
|
-
|
|
338
|
-
- "Show me my recent journal entries"
|
|
339
|
-
- "Create a backup of my journal"
|
|
340
|
-
- "Check the server health status"
|
|
341
|
-
- "Find entries related to performance"
|
|
342
|
-
|
|
343
|
-
**[See complete examples & prompts →](https://github.com/neverinfamous/memory-journal-mcp/wiki/Examples)**
|
|
344
|
-
|
|
345
|
-
---
|
|
346
|
-
|
|
347
373
|
## 🔧 Configuration
|
|
348
374
|
|
|
349
|
-
### Optional Environment Variables
|
|
350
|
-
|
|
351
|
-
```bash
|
|
352
|
-
# GitHub integration (optional - enables Projects/Issues/PRs)
|
|
353
|
-
-e GITHUB_TOKEN=your_token
|
|
354
|
-
|
|
355
|
-
# Tool filtering (optional - control which tools are exposed)
|
|
356
|
-
-e MEMORY_JOURNAL_MCP_TOOL_FILTER="-github"
|
|
357
|
-
|
|
358
|
-
# Server bind host (required for containers, default: localhost)
|
|
359
|
-
-e MCP_HOST=0.0.0.0
|
|
360
|
-
|
|
361
|
-
# Database location
|
|
362
|
-
-e DB_PATH=/app/data/custom.db
|
|
363
|
-
```
|
|
364
|
-
|
|
365
|
-
**Token Scopes:** `repo`, `project`, `read:org` (org-level project discovery only)
|
|
366
|
-
**[Full configuration guide →](https://github.com/neverinfamous/memory-journal-mcp/wiki/Installation#configuration)**
|
|
367
|
-
|
|
368
375
|
### GitHub Management Capabilities
|
|
369
376
|
|
|
370
377
|
Memory Journal provides a **hybrid approach** to GitHub management:
|
|
@@ -385,52 +392,8 @@ Memory Journal provides a **hybrid approach** to GitHub management:
|
|
|
385
392
|
- `get_repo_insights` - **Repository traffic & analytics** (stars, clones, views, referrers, popular paths)
|
|
386
393
|
- `create_github_issue_with_entry` / `close_github_issue_with_entry` - **Issue lifecycle with journal linking**
|
|
387
394
|
|
|
388
|
-
**Agent Operations (via gh CLI):**
|
|
389
|
-
|
|
390
|
-
```bash
|
|
391
|
-
# Issues
|
|
392
|
-
gh issue create --title "Bug fix" --body "Description"
|
|
393
|
-
gh issue close 42
|
|
394
|
-
|
|
395
|
-
# Pull Requests
|
|
396
|
-
gh pr create --fill
|
|
397
|
-
gh pr merge 123
|
|
398
|
-
```
|
|
399
|
-
|
|
400
|
-
> **Why this design?** The MCP server focuses on value-added features that integrate journal entries with GitHub (Kanban views, Milestones, timeline resources, context linking). Standard GitHub mutations are handled by `gh` CLI, which agents can invoke directly.
|
|
401
|
-
|
|
402
395
|
**[Complete GitHub integration guide →](https://github.com/neverinfamous/memory-journal-mcp/wiki/Git-Integration)**
|
|
403
396
|
|
|
404
|
-
### Tool Filtering
|
|
405
|
-
|
|
406
|
-
Control which tools are exposed using `MEMORY_JOURNAL_MCP_TOOL_FILTER`:
|
|
407
|
-
|
|
408
|
-
```bash
|
|
409
|
-
docker run -i --rm \
|
|
410
|
-
-e MEMORY_JOURNAL_MCP_TOOL_FILTER="-github,-analytics" \
|
|
411
|
-
-v ./data:/app/data \
|
|
412
|
-
writenotenow/memory-journal-mcp:latest
|
|
413
|
-
```
|
|
414
|
-
|
|
415
|
-
**Common configurations:**
|
|
416
|
-
|
|
417
|
-
```bash
|
|
418
|
-
# Starter mode (core + search only)
|
|
419
|
-
-e MEMORY_JOURNAL_MCP_TOOL_FILTER="starter"
|
|
420
|
-
|
|
421
|
-
# Read-only mode (disable modifications)
|
|
422
|
-
-e MEMORY_JOURNAL_MCP_TOOL_FILTER="readonly"
|
|
423
|
-
|
|
424
|
-
# Full mode (all tools, default)
|
|
425
|
-
-e MEMORY_JOURNAL_MCP_TOOL_FILTER="full"
|
|
426
|
-
```
|
|
427
|
-
|
|
428
|
-
**Available tool groups:** `core`, `search`, `analytics`, `relationships`, `export`, `admin`, `github`, `backup`
|
|
429
|
-
|
|
430
|
-
**[Complete tool filtering guide →](https://github.com/neverinfamous/memory-journal-mcp/wiki/Tool-Filtering)**
|
|
431
|
-
|
|
432
|
-
---
|
|
433
|
-
|
|
434
397
|
## 📦 Image Details
|
|
435
398
|
|
|
436
399
|
| Platform | Features |
|
|
@@ -446,15 +409,9 @@ docker run -i --rm \
|
|
|
446
409
|
- **vectra** - Vector similarity search without native dependencies
|
|
447
410
|
- **@xenova/transformers** - ML embeddings in JavaScript
|
|
448
411
|
- **Instant Startup** - Lazy loading of ML models
|
|
449
|
-
- **Production/Stable** -
|
|
450
|
-
|
|
451
|
-
**Performance Benchmarks:**
|
|
452
|
-
|
|
453
|
-
Memory Journal is designed for extremely low overhead during AI task execution.
|
|
412
|
+
- **Production/Stable** - Deterministic error handling (`{success, error}` on every tool) and automatic migrations
|
|
454
413
|
|
|
455
|
-
|
|
456
|
-
- **Vector Search Engine**: Semantic searches via `vectra` perform significantly faster than parallel entry indexing (>190x faster locally).
|
|
457
|
-
- **Core MCP Routines**: Complex operations exhibit negligible latency when executed through standard MCP tools. Calling tools natively adds ~1.4x overhead compared to direct function execution.
|
|
414
|
+
Designed for extremely low overhead: database reads in sub-millisecond, vector search >131x faster than indexing, core MCP tool calls execute at >730 ops/sec with cached O(1) dispatch. Run `npm run bench` for local benchmarks.
|
|
458
415
|
|
|
459
416
|
**Automated Deployment:**
|
|
460
417
|
|
|
@@ -466,14 +423,12 @@ Memory Journal is designed for extremely low overhead during AI task execution.
|
|
|
466
423
|
|
|
467
424
|
**Available Tags:**
|
|
468
425
|
|
|
469
|
-
- `
|
|
470
|
-
- `
|
|
471
|
-
- `
|
|
426
|
+
- `5.0.0` - Specific version (recommended for production)
|
|
427
|
+
- `5.0` - Latest patch in 5.0.x series
|
|
428
|
+
- `5` - Latest minor in 5.x series
|
|
472
429
|
- `latest` - Always the newest version
|
|
473
430
|
- `sha256-<digest>` - SHA-pinned for maximum security
|
|
474
431
|
|
|
475
|
-
---
|
|
476
|
-
|
|
477
432
|
## 🏗️ Build from Source
|
|
478
433
|
|
|
479
434
|
**Step 1: Clone the repository**
|
|
@@ -504,20 +459,14 @@ Update your `~/.cursor/mcp.json` to use the local build:
|
|
|
504
459
|
}
|
|
505
460
|
```
|
|
506
461
|
|
|
507
|
-
---
|
|
508
|
-
|
|
509
462
|
## 📚 Documentation & Resources
|
|
510
463
|
|
|
511
464
|
- **[GitHub Wiki](https://github.com/neverinfamous/memory-journal-mcp/wiki)** - Complete documentation
|
|
512
465
|
- **[npm Package](https://www.npmjs.com/package/memory-journal-mcp)** - Node.js distribution
|
|
513
466
|
- **[Issues](https://github.com/neverinfamous/memory-journal-mcp/issues)** - Bug reports & feature requests
|
|
514
467
|
|
|
515
|
-
---
|
|
516
|
-
|
|
517
468
|
## 📄 License
|
|
518
469
|
|
|
519
470
|
MIT License - See [LICENSE](https://github.com/neverinfamous/memory-journal-mcp/blob/main/LICENSE)
|
|
520
471
|
|
|
521
|
-
---
|
|
522
|
-
|
|
523
472
|
_Migrating from v2.x?_ Your existing database is fully compatible. The TypeScript version uses the same schema and data format.
|