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
|
@@ -0,0 +1,268 @@
|
|
|
1
|
+
<!-- SECTION:ESSENTIAL -->
|
|
2
|
+
|
|
3
|
+
# memory-journal-mcp
|
|
4
|
+
|
|
5
|
+
## Session Start
|
|
6
|
+
|
|
7
|
+
1. Read `memory://briefing` for project context
|
|
8
|
+
- In Cursor, use `FetchMcpResource(server: "user-memory-journal-mcp", uri: "memory://briefing")`
|
|
9
|
+
2. **Show the `userMessage` to the user** (it contains a formatted summary of project context)
|
|
10
|
+
3. Proceed with the user's request
|
|
11
|
+
|
|
12
|
+
## Behaviors
|
|
13
|
+
|
|
14
|
+
- **Create entries for**: implementations, decisions, bug fixes, milestones, user requests to "remember"
|
|
15
|
+
- **Search before**: major decisions, referencing prior work, understanding project context
|
|
16
|
+
- **Link entries**: implementation→spec, bugfix→issue, followup→prior work
|
|
17
|
+
|
|
18
|
+
## Session End
|
|
19
|
+
|
|
20
|
+
When a conversation or task is wrapping up (user says "thanks," final deliverable complete, no more work planned):
|
|
21
|
+
|
|
22
|
+
1. Create a journal entry summarizing the session:
|
|
23
|
+
- **What was accomplished** (key changes, decisions, files modified)
|
|
24
|
+
- **What's unfinished or blocked** (pending items, open questions)
|
|
25
|
+
- **Context for next session** (relevant entry IDs, branch names, PR numbers)
|
|
26
|
+
2. Use `entry_type: "retrospective"` and tag with `session-summary`
|
|
27
|
+
3. This is opt-out — ALWAYS create the entry, even for short/trivial sessions, unless the user explicitly says to skip it
|
|
28
|
+
|
|
29
|
+
> If your client has hooks configured for session-end journaling (e.g., Cursor `sessionEnd` hook), this is handled automatically. Otherwise, follow the steps above.
|
|
30
|
+
|
|
31
|
+
## Rule & Skill Suggestions
|
|
32
|
+
|
|
33
|
+
When you notice the user consistently applies patterns, preferences, or workflows that could be codified:
|
|
34
|
+
|
|
35
|
+
- **Offer to create a rule or skill** — always ask the user first, never create silently
|
|
36
|
+
- Examples: coding conventions, testing patterns, deployment steps, project-specific commands
|
|
37
|
+
- Frame it as: "I noticed you always [pattern]. Would you like me to save this as a rule/skill so future agents follow it automatically?"
|
|
38
|
+
|
|
39
|
+
## Quick Access
|
|
40
|
+
|
|
41
|
+
| Purpose | Action |
|
|
42
|
+
| --------------- | --------------------------- |
|
|
43
|
+
| Session context | `memory://briefing` |
|
|
44
|
+
| Recent entries | `memory://recent` |
|
|
45
|
+
| Health/time | `memory://health` |
|
|
46
|
+
| Semantic search | `semantic_search(query)` |
|
|
47
|
+
| Full context | `get-context-bundle` prompt |
|
|
48
|
+
|
|
49
|
+
<!-- SECTION:GITHUB -->
|
|
50
|
+
|
|
51
|
+
## GitHub Integration
|
|
52
|
+
|
|
53
|
+
- Include `issue_number`/`pr_number` in `create_entry` to auto-link
|
|
54
|
+
- After closing issue/merging PR → create summary entry with learnings
|
|
55
|
+
- CI failures → `actions-failure-digest` prompt or `memory://actions/recent`
|
|
56
|
+
- Kanban: `get_kanban_board(project_number)` → `move_kanban_item` → document completion
|
|
57
|
+
- Milestones: `get_github_milestones` → track project progress, `memory://github/milestones`
|
|
58
|
+
- GitHub tools auto-detect owner/repo from git context; specify explicitly if null
|
|
59
|
+
|
|
60
|
+
<!-- SECTION:SERVER_ACCESS -->
|
|
61
|
+
|
|
62
|
+
## How to Access This Server
|
|
63
|
+
|
|
64
|
+
### Calling Tools
|
|
65
|
+
|
|
66
|
+
Use `CallMcpTool` with server name `user-memory-journal-mcp`:
|
|
67
|
+
|
|
68
|
+
```
|
|
69
|
+
CallMcpTool(server: "user-memory-journal-mcp", toolName: "create_entry", arguments: {...})
|
|
70
|
+
```
|
|
71
|
+
|
|
72
|
+
### Listing Resources
|
|
73
|
+
|
|
74
|
+
Use `ListMcpResources` with server name:
|
|
75
|
+
|
|
76
|
+
```
|
|
77
|
+
ListMcpResources(server: "user-memory-journal-mcp")
|
|
78
|
+
```
|
|
79
|
+
|
|
80
|
+
Do NOT try to browse filesystem paths for MCP tool/resource definitions - use the MCP protocol directly.
|
|
81
|
+
|
|
82
|
+
### Fetching Resources
|
|
83
|
+
|
|
84
|
+
Use `FetchMcpResource` with server name and `memory://` URI:
|
|
85
|
+
|
|
86
|
+
```
|
|
87
|
+
FetchMcpResource(server: "user-memory-journal-mcp", uri: "memory://recent")
|
|
88
|
+
FetchMcpResource(server: "user-memory-journal-mcp", uri: "memory://kanban/1")
|
|
89
|
+
```
|
|
90
|
+
|
|
91
|
+
## Quick Health Check
|
|
92
|
+
|
|
93
|
+
Fetch `memory://health` to verify server status, database stats, and tool availability.
|
|
94
|
+
|
|
95
|
+
<!-- SECTION:TOOL_PARAMETER_REFERENCE -->
|
|
96
|
+
|
|
97
|
+
## Tool Parameter Reference
|
|
98
|
+
|
|
99
|
+
### Entry Operations
|
|
100
|
+
|
|
101
|
+
| Tool | Required Parameters | Optional Parameters |
|
|
102
|
+
| ---------------------- | ------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
|
|
103
|
+
| `create_entry` | `content` (string) | `entry_type`, `tags` (array), `is_personal`, `significance_type`, `auto_context`, `issue_number`, `issue_url`, `pr_number`, `pr_url`, `pr_status`, `project_number`, `project_owner`, `workflow_run_id`, `workflow_name`, `workflow_status` |
|
|
104
|
+
| `create_entry_minimal` | `content` (string) | none |
|
|
105
|
+
| `get_entry_by_id` | `entry_id` (number) | `include_relationships` (bool, default true) |
|
|
106
|
+
| `get_recent_entries` | none | `limit` (default 5), `is_personal` (bool) |
|
|
107
|
+
| `update_entry` | `entry_id` (number) | `content`, `tags`, `entry_type`, `is_personal` |
|
|
108
|
+
| `delete_entry` | `entry_id` (number) | `permanent` (bool, default false) |
|
|
109
|
+
| `list_tags` | none | none |
|
|
110
|
+
|
|
111
|
+
### Search Tools
|
|
112
|
+
|
|
113
|
+
| Tool | Required Parameters | Optional Parameters |
|
|
114
|
+
| ------------------------ | ------------------------------------- | -------------------------------------------------------------------------------------------------------------- |
|
|
115
|
+
| `search_entries` | none | `query`, `limit`, `is_personal`, `issue_number`, `pr_number`, `pr_status`, `project_number`, `workflow_run_id` |
|
|
116
|
+
| `search_by_date_range` | `start_date`, `end_date` (YYYY-MM-DD) | `tags`, `entry_type`, `is_personal`, `issue_number`, `pr_number`, `project_number`, `workflow_run_id` |
|
|
117
|
+
| `semantic_search` | `query` (string) | `limit`, `similarity_threshold` (default 0.25), `is_personal`, `hint_on_empty` (bool, default true) |
|
|
118
|
+
| `get_vector_index_stats` | none | none |
|
|
119
|
+
|
|
120
|
+
### Relationship Tools
|
|
121
|
+
|
|
122
|
+
| Tool | Required Parameters | Notes |
|
|
123
|
+
| ------------------------- | ---------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------ |
|
|
124
|
+
| `link_entries` | `from_entry_id`, `to_entry_id` (numbers) | Types: `evolves_from`, `references`, `implements`, `clarifies`, `response_to`, `blocked_by`, `resolved`, `caused`. Optional `description`. |
|
|
125
|
+
| `visualize_relationships` | none | Optional `entry_id`, `tags` (array), `depth` (1-3, default 2), `limit` (default 20). Returns Mermaid diagram. |
|
|
126
|
+
|
|
127
|
+
### GitHub Tools
|
|
128
|
+
|
|
129
|
+
| Tool | Required Parameters | Notes |
|
|
130
|
+
| -------------------- | ----------------------- | ---------------------------------------------------------------------------------------------------------------------------- |
|
|
131
|
+
| `get_github_context` | none | Returns repo info, open issues/PRs. Only counts OPEN items. |
|
|
132
|
+
| `get_github_issues` | none | Optional `state` (open/closed/all), `limit`, `owner`, `repo` |
|
|
133
|
+
| `get_github_prs` | none | Optional `state`, `limit`, `owner`, `repo` |
|
|
134
|
+
| `get_github_issue` | `issue_number` (number) | Optional `owner`, `repo`. Fetches single issue details. |
|
|
135
|
+
| `get_github_pr` | `pr_number` (number) | Optional `owner`, `repo`. Fetches single PR details. |
|
|
136
|
+
| `get_repo_insights` | none | Optional `sections` (stars/traffic/referrers/paths/all, default "stars"), `owner`, `repo`. Requires push access for traffic. |
|
|
137
|
+
|
|
138
|
+
GitHub tools auto-detect owner/repo from GITHUB_REPO_PATH. If `detectedOwner`/`detectedRepo` are null in response, specify `owner` and `repo` parameters explicitly.
|
|
139
|
+
|
|
140
|
+
### Issue Lifecycle Tools
|
|
141
|
+
|
|
142
|
+
| Tool | Required Parameters | Notes |
|
|
143
|
+
| -------------------------------- | ----------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------- |
|
|
144
|
+
| `create_github_issue_with_entry` | `title` (string) | Optional `body`, `labels` (array), `assignees` (array), `project_number`, `initial_status`, `milestone_number`, `entry_content`, `tags`, `owner`, `repo` |
|
|
145
|
+
| `close_github_issue_with_entry` | `issue_number` (number) | Optional `comment`, `resolution_notes`, `tags`, `move_to_done` (bool), `project_number`, `owner`, `repo` |
|
|
146
|
+
|
|
147
|
+
### Kanban Tools (GitHub Projects v2)
|
|
148
|
+
|
|
149
|
+
| Tool | Required Parameters | Notes |
|
|
150
|
+
| ------------------ | -------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------- |
|
|
151
|
+
| `get_kanban_board` | `project_number` (number) | Optional `owner`. Returns columns with items grouped by Status |
|
|
152
|
+
| `move_kanban_item` | `project_number`, `item_id` (string), `target_status` (string) | Optional `owner`. `item_id` is the GraphQL node ID from board items. Status matching is case-insensitive. |
|
|
153
|
+
|
|
154
|
+
**Finding the right project**: User may have multiple projects. Use `get_kanban_board` with different project numbers (1, 2, 3...) to find the correct one by checking `projectTitle`.
|
|
155
|
+
|
|
156
|
+
**Default Status columns** (typical GitHub Projects v2):
|
|
157
|
+
|
|
158
|
+
- `Backlog` - Items not yet started
|
|
159
|
+
- `Ready` - Ready to be picked up
|
|
160
|
+
- `In progress` - Actively being worked on
|
|
161
|
+
- `In review` - In review
|
|
162
|
+
- `Done` - Completed
|
|
163
|
+
|
|
164
|
+
Note: Status columns are dynamic per project. The `statusOptions` in the response shows available statuses for that specific project.
|
|
165
|
+
|
|
166
|
+
Kanban resources:
|
|
167
|
+
|
|
168
|
+
- `memory://kanban/{project_number}` - JSON board data
|
|
169
|
+
- `memory://kanban/{project_number}/diagram` - Mermaid visualization
|
|
170
|
+
|
|
171
|
+
### Milestone Tools
|
|
172
|
+
|
|
173
|
+
| Tool | Required Parameters | Notes |
|
|
174
|
+
| ------------------------- | ----------------------------------- | --------------------------------------------------------------------------------- |
|
|
175
|
+
| `get_github_milestones` | none | Optional `state` (open/closed/all), `limit`, `owner`, `repo` |
|
|
176
|
+
| `get_github_milestone` | `milestone_number` (number) | Optional `owner`, `repo`. Single milestone with completion %. |
|
|
177
|
+
| `create_github_milestone` | `title` (string) | Optional `description`, `due_on` (YYYY-MM-DD), `owner`, `repo` |
|
|
178
|
+
| `update_github_milestone` | `milestone_number` (number) | Optional `title`, `description`, `due_on`, `state` (open/closed), `owner`, `repo` |
|
|
179
|
+
| `delete_github_milestone` | `milestone_number`, `confirm: true` | Optional `owner`, `repo`. Permanent deletion. |
|
|
180
|
+
|
|
181
|
+
Milestone resources:
|
|
182
|
+
|
|
183
|
+
- `memory://github/milestones` - Open milestones with completion %
|
|
184
|
+
- `memory://milestones/{number}` - Single milestone detail
|
|
185
|
+
|
|
186
|
+
### Admin Tools
|
|
187
|
+
|
|
188
|
+
| Tool | Required Parameters | Notes |
|
|
189
|
+
| ---------------------- | --------------------------- | ---------------------------------------------------------------------------- |
|
|
190
|
+
| `backup_journal` | none | Optional `name` (custom backup name) |
|
|
191
|
+
| `list_backups` | none | Returns available backup files |
|
|
192
|
+
| `cleanup_backups` | none | Optional `keep_count` (default 5). Deletes old backups, keeps N most recent. |
|
|
193
|
+
| `restore_backup` | `filename`, `confirm: true` | Creates auto-backup before restore |
|
|
194
|
+
| `add_to_vector_index` | `entry_id` (single number) | Indexes one entry for semantic search |
|
|
195
|
+
| `rebuild_vector_index` | none | Re-indexes all entries |
|
|
196
|
+
|
|
197
|
+
### Export Tools
|
|
198
|
+
|
|
199
|
+
| Tool | Required Parameters | Notes |
|
|
200
|
+
| ---------------- | ------------------- | --------------------------------------------------------------------------------------------------------- |
|
|
201
|
+
| `export_entries` | none | Optional `format` (json/markdown), `limit` (default 100), `tags`, `start_date`, `end_date`, `entry_types` |
|
|
202
|
+
|
|
203
|
+
## Entry Types
|
|
204
|
+
|
|
205
|
+
Valid values for `entry_type` parameter:
|
|
206
|
+
|
|
207
|
+
- `personal_reflection` (default) - Personal thoughts and notes
|
|
208
|
+
- `project_decision` - Architectural and team decisions
|
|
209
|
+
- `technical_achievement` - Milestones and breakthroughs
|
|
210
|
+
- `bug_fix` - Bug fixes and resolutions
|
|
211
|
+
- `feature_implementation` - Feature builds and rollouts
|
|
212
|
+
- `code_review` - Code review notes
|
|
213
|
+
- `meeting_notes` - Meeting summaries
|
|
214
|
+
- `learning` - Learning and research insights
|
|
215
|
+
- `research` - Research and exploration
|
|
216
|
+
- `planning` - Planning sessions and roadmaps (`create_github_issue_with_entry` uses this type)
|
|
217
|
+
- `retrospective` - Sprint and project retrospectives
|
|
218
|
+
- `standup` - Daily standup notes
|
|
219
|
+
- `technical_note` - Technical notes and observations
|
|
220
|
+
- `development_note` - Development process notes
|
|
221
|
+
- `enhancement` - Enhancement tracking
|
|
222
|
+
- `milestone` - Milestone documentation
|
|
223
|
+
- `system_integration_test` - Integration test records
|
|
224
|
+
- `test_entry` - Test and scratch entries
|
|
225
|
+
- `other` - Miscellaneous
|
|
226
|
+
|
|
227
|
+
## Field Notes
|
|
228
|
+
|
|
229
|
+
- **`autoContext`**: Reserved for future automatic context capture. Currently always `null`.
|
|
230
|
+
- **`memory://tags` vs `list_tags`**: Resource includes `id`, `name`, `count`; tool returns only `name`, `count`. Neither returns orphan tags with zero usage.
|
|
231
|
+
- **Tag naming**: Use lowercase with dashes (e.g., `bug-fix`, `phase-2`). Use `merge_tags` to consolidate duplicates (e.g., merge `phase2` into `phase-2`).
|
|
232
|
+
- **`merge_tags` behavior**: Only updates non-deleted entries. Deleted entries retain their original tags.
|
|
233
|
+
- **`prStatus` in entries**: Reflects PR state at entry creation time, not current state. Use `get_github_pr` for live status.
|
|
234
|
+
- **`restore_backup` behavior**: Restores entire database state. Any recent changes (new entries, tag merges via `merge_tags`, relationships) are reverted. A pre-restore backup is automatically created for safety.
|
|
235
|
+
- **Semantic search indexing**: Entries are auto-indexed on creation (fire-and-forget). If index count drifts from DB count, use `rebuild_vector_index` or enable `AUTO_REBUILD_INDEX=true` for automatic reconciliation on server startup.
|
|
236
|
+
- **`semantic_search` thresholds**: Default similarity threshold is 0.25. For broader matches, try 0.15-0.2. Higher values (0.4+) return only very close semantic matches.
|
|
237
|
+
- **Causal relationship types**: Use `blocked_by` (A was blocked by B), `resolved` (A resolved B), `caused` (A caused B) for decision tracing and failure analysis. Visualizations use distinct arrow styles for causal types.
|
|
238
|
+
- **Enhanced analytics**: `get_statistics` returns `decisionDensity` (significant entries per period), `relationshipComplexity` (avg relationships per entry), `activityTrend` (period-over-period growth %), and `causalMetrics` (counts for blocked_by/resolved/caused).
|
|
239
|
+
- **Importance scores**: `get_entry_by_id` returns `importance` (0.0-1.0) and `importanceBreakdown` showing weighted components: significance (30%), relationships (35%), causal (20%), recency (15%). `memory://significant` sorts entries by importance.
|
|
240
|
+
- **`inactiveThresholdDays`**: `get_cross_project_insights` includes `inactiveThresholdDays: 7` in output, documenting the inactive project classification cutoff.
|
|
241
|
+
- **GitHub metadata in entries**: Entry output includes 10 GitHub fields (`issueNumber`, `issueUrl`, `prNumber`, `prUrl`, `prStatus`, `projectNumber`, `projectOwner`, `workflowRunId`, `workflowName`, `workflowStatus`) in all tool responses.
|
|
242
|
+
- **`delete_entry` on soft-deleted**: `delete_entry(id, permanent: true)` works on previously soft-deleted entries. Returns `success: false` for nonexistent entries.
|
|
243
|
+
|
|
244
|
+
## Key Resources
|
|
245
|
+
|
|
246
|
+
| URI | Description |
|
|
247
|
+
| ------------------------- | --------------------------------------------- |
|
|
248
|
+
| `memory://health` | Server health, DB stats, tool filter status |
|
|
249
|
+
| `memory://briefing` | Session context with userMessage to show user |
|
|
250
|
+
| `memory://instructions` | Full server instructions and tool reference |
|
|
251
|
+
| `memory://statistics` | Entry counts by type and period |
|
|
252
|
+
| `memory://recent` | 10 most recent entries |
|
|
253
|
+
| `memory://tags` | All tags with usage counts |
|
|
254
|
+
| `memory://significant` | Entries sorted by importance score |
|
|
255
|
+
| `memory://graph/recent` | Mermaid diagram of recent relationships |
|
|
256
|
+
| `memory://graph/actions` | CI/CD narrative graph |
|
|
257
|
+
| `memory://actions/recent` | Recent workflow runs |
|
|
258
|
+
|
|
259
|
+
| `memory://github/status` | GitHub repo overview (CI, issues, PRs, milestones) |
|
|
260
|
+
| `memory://github/milestones` | Open milestones with completion % |
|
|
261
|
+
| `memory://github/insights` | Stars, forks, and 14-day traffic summary |
|
|
262
|
+
| `memory://kanban/{n}` | Kanban board for project number n |
|
|
263
|
+
| `memory://kanban/{n}/diagram` | Mermaid Kanban visualization |
|
|
264
|
+
| `memory://milestones/{n}` | Single milestone detail + progress |
|
|
265
|
+
| `memory://projects/{n}/timeline` | Project entries timeline |
|
|
266
|
+
| `memory://issues/{n}/entries` | Entries linked to issue n |
|
|
267
|
+
| `memory://prs/{n}/entries` | Entries linked to PR n |
|
|
268
|
+
| `memory://prs/{n}/timeline` | PR lifecycle and linked entries |
|