memory-journal-mcp 6.1.2 → 6.2.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 +44 -28
- package/dist/{chunk-X4SWFATC.js → chunk-BI4ZNSKA.js} +38 -24
- package/dist/{chunk-HCEWINSB.js → chunk-N6EBIDN7.js} +99 -102
- package/dist/cli.js +2 -2
- package/dist/index.js +2 -2
- package/dist/tools-WPRY5MJ6.js +2 -0
- package/package.json +10 -1
- package/skills/github-commander/SKILL.md +151 -0
- package/skills/github-commander/config/project-config.example.md +125 -0
- package/skills/github-commander/workflows/code-quality-audit.md +80 -0
- package/skills/github-commander/workflows/full-audit.md +134 -0
- package/skills/github-commander/workflows/issue-triage.md +239 -0
- package/skills/github-commander/workflows/milestone-sprint.md +81 -0
- package/skills/github-commander/workflows/perf-audit.md +142 -0
- package/skills/github-commander/workflows/pr-review.md +123 -0
- package/skills/github-commander/workflows/security-audit.md +170 -0
- package/skills/github-commander/workflows/update-deps.md +109 -0
- package/.dockerignore +0 -139
- package/.gitattributes +0 -20
- package/.github/ISSUE_TEMPLATE/bug_report.md +0 -95
- package/.github/ISSUE_TEMPLATE/config.yml +0 -11
- package/.github/ISSUE_TEMPLATE/feature_request.md +0 -110
- package/.github/ISSUE_TEMPLATE/question.md +0 -78
- package/.github/aw/actions-lock.json +0 -14
- package/.github/copilot-instructions.md +0 -122
- package/.github/dependabot.yml +0 -93
- package/.github/pull_request_template.md +0 -135
- package/.github/workflows/README.md +0 -133
- package/.github/workflows/agentics-maintenance.yml +0 -141
- package/.github/workflows/auto-release.yml +0 -68
- package/.github/workflows/ci-health-monitor.lock.yml +0 -1121
- package/.github/workflows/ci-health-monitor.md +0 -87
- package/.github/workflows/codeql.yml +0 -41
- package/.github/workflows/dependabot-auto-merge.yml +0 -42
- package/.github/workflows/dependency-maintenance.lock.yml +0 -1182
- package/.github/workflows/dependency-maintenance.md +0 -147
- package/.github/workflows/docker-publish.yml +0 -254
- package/.github/workflows/docs-drift-detector.lock.yml +0 -1142
- package/.github/workflows/docs-drift-detector.md +0 -115
- package/.github/workflows/lint-and-test.yml +0 -60
- package/.github/workflows/publish-npm.yml +0 -85
- package/.github/workflows/secrets-scanning.yml +0 -32
- package/.github/workflows/security-update.yml +0 -127
- package/.gitleaks.toml +0 -9
- package/.prettierignore +0 -21
- package/.prettierrc +0 -33
- package/.scout-ignore +0 -12
- package/.trivyignore +0 -21
- package/CHANGELOG.md +0 -1814
- package/CODE_OF_CONDUCT.md +0 -133
- package/CONTRIBUTING.md +0 -263
- package/DOCKER_README.md +0 -331
- package/Dockerfile +0 -128
- package/SECURITY.md +0 -227
- package/UNRELEASED.md +0 -1
- package/dist/tools-T4U5A3X4.js +0 -2
- package/docker-compose.yml +0 -71
- package/docs/README.md +0 -18
- package/docs/agentic-journal-synergy.md +0 -175
- package/docs/copilot-setup.md +0 -72
- package/eslint.config.js +0 -110
- package/mcp-config-example.json +0 -21
- package/playwright.config.ts +0 -35
- package/releases/v2.1.0.md +0 -220
- package/releases/v2.2.0.md +0 -168
- package/releases/v3.0.0.md +0 -237
- package/releases/v3.1.0.md +0 -104
- package/releases/v3.1.1.md +0 -42
- package/releases/v3.1.2.md +0 -40
- package/releases/v3.1.3.md +0 -64
- package/releases/v3.1.4.md +0 -32
- package/releases/v3.1.5.md +0 -44
- package/releases/v4.0.0.md +0 -71
- package/releases/v4.1.0.md +0 -88
- package/releases/v4.2.0.md +0 -90
- package/releases/v4.3.0.md +0 -92
- package/releases/v4.3.1.md +0 -69
- package/releases/v4.4.0.md +0 -120
- package/releases/v4.4.1.md +0 -33
- package/releases/v4.4.2.md +0 -31
- package/releases/v4.5.0.md +0 -116
- package/releases/v5.0.0.md +0 -105
- package/releases/v5.0.1.md +0 -25
- package/releases/v5.1.0.md +0 -83
- package/releases/v5.1.1.md +0 -10
- package/releases/v6.0.0.md +0 -48
- package/releases/v6.0.1.md +0 -36
- package/releases/v6.1.0.md +0 -68
- package/releases/v6.1.1.md +0 -30
- package/releases/v6.1.2.md +0 -23
- package/scripts/generate-server-instructions.ts +0 -306
- package/scripts/server-instructions-function-body.ts +0 -107
- package/scripts/server-instructions-gotchas.ts +0 -45
- package/server.json +0 -42
- package/social-preview.png +0 -0
- package/src/auth/auth-context.ts +0 -78
- package/src/auth/authorization-server-discovery.ts +0 -263
- package/src/auth/errors.ts +0 -215
- package/src/auth/index.ts +0 -58
- package/src/auth/middleware.ts +0 -392
- package/src/auth/oauth-resource-server.ts +0 -170
- package/src/auth/scope-map.ts +0 -46
- package/src/auth/scopes.ts +0 -256
- package/src/auth/token-validator.ts +0 -293
- package/src/auth/transport-agnostic.ts +0 -164
- package/src/auth/types.ts +0 -372
- package/src/cli.ts +0 -279
- package/src/codemode/api-constants.ts +0 -263
- package/src/codemode/api.ts +0 -302
- package/src/codemode/auto-return.ts +0 -65
- package/src/codemode/index.ts +0 -47
- package/src/codemode/sandbox-factory.ts +0 -144
- package/src/codemode/sandbox.ts +0 -220
- package/src/codemode/security.ts +0 -155
- package/src/codemode/types.ts +0 -228
- package/src/codemode/worker-sandbox.ts +0 -277
- package/src/codemode/worker-script.ts +0 -239
- package/src/constants/icons.ts +0 -183
- package/src/constants/server-instructions.md +0 -166
- package/src/constants/server-instructions.ts +0 -514
- package/src/database/adapter-factory.ts +0 -16
- package/src/database/core/entry-columns.ts +0 -10
- package/src/database/core/interfaces.ts +0 -188
- package/src/database/core/schema.ts +0 -152
- package/src/database/sqlite-adapter/backup.ts +0 -167
- package/src/database/sqlite-adapter/entries/crud.ts +0 -233
- package/src/database/sqlite-adapter/entries/importance.ts +0 -76
- package/src/database/sqlite-adapter/entries/index.ts +0 -142
- package/src/database/sqlite-adapter/entries/search.ts +0 -294
- package/src/database/sqlite-adapter/entries/shared.ts +0 -102
- package/src/database/sqlite-adapter/entries/statistics.ts +0 -162
- package/src/database/sqlite-adapter/index.ts +0 -265
- package/src/database/sqlite-adapter/native-connection.ts +0 -301
- package/src/database/sqlite-adapter/relationships.ts +0 -70
- package/src/database/sqlite-adapter/tags.ts +0 -182
- package/src/filtering/tool-filter.ts +0 -312
- package/src/github/github-integration/client.ts +0 -114
- package/src/github/github-integration/index.ts +0 -297
- package/src/github/github-integration/insights.ts +0 -155
- package/src/github/github-integration/issues.ts +0 -213
- package/src/github/github-integration/milestones.ts +0 -262
- package/src/github/github-integration/projects.ts +0 -414
- package/src/github/github-integration/pull-requests.ts +0 -235
- package/src/github/github-integration/repository.ts +0 -110
- package/src/github/github-integration/types.ts +0 -43
- package/src/handlers/prompts/github.ts +0 -210
- package/src/handlers/prompts/index.ts +0 -97
- package/src/handlers/prompts/workflow.ts +0 -361
- package/src/handlers/resources/core/briefing/context-section.ts +0 -182
- package/src/handlers/resources/core/briefing/github-section.ts +0 -354
- package/src/handlers/resources/core/briefing/index.ts +0 -106
- package/src/handlers/resources/core/briefing/user-message.ts +0 -114
- package/src/handlers/resources/core/health.ts +0 -75
- package/src/handlers/resources/core/index.ts +0 -31
- package/src/handlers/resources/core/instructions.ts +0 -45
- package/src/handlers/resources/core/utilities.ts +0 -310
- package/src/handlers/resources/github.ts +0 -340
- package/src/handlers/resources/graph.ts +0 -218
- package/src/handlers/resources/help.ts +0 -410
- package/src/handlers/resources/index.ts +0 -143
- package/src/handlers/resources/shared.ts +0 -219
- package/src/handlers/resources/team.ts +0 -134
- package/src/handlers/resources/templates.ts +0 -334
- package/src/handlers/tools/admin.ts +0 -351
- package/src/handlers/tools/analytics.ts +0 -346
- package/src/handlers/tools/backup.ts +0 -272
- package/src/handlers/tools/codemode.ts +0 -188
- package/src/handlers/tools/core.ts +0 -359
- package/src/handlers/tools/error-fields-mixin.ts +0 -10
- package/src/handlers/tools/export.ts +0 -150
- package/src/handlers/tools/github/copilot-tools.ts +0 -72
- package/src/handlers/tools/github/helpers.ts +0 -125
- package/src/handlers/tools/github/insights-tools.ts +0 -112
- package/src/handlers/tools/github/issue-tools.ts +0 -442
- package/src/handlers/tools/github/kanban-tools.ts +0 -153
- package/src/handlers/tools/github/milestone-tools.ts +0 -371
- package/src/handlers/tools/github/mutation-tools.ts +0 -17
- package/src/handlers/tools/github/read-tools.ts +0 -302
- package/src/handlers/tools/github/schemas.ts +0 -435
- package/src/handlers/tools/github.ts +0 -39
- package/src/handlers/tools/index.ts +0 -255
- package/src/handlers/tools/relationships.ts +0 -390
- package/src/handlers/tools/schemas.ts +0 -165
- package/src/handlers/tools/search.ts +0 -448
- package/src/handlers/tools/team/admin-tools.ts +0 -164
- package/src/handlers/tools/team/analytics-tools.ts +0 -233
- package/src/handlers/tools/team/backup-tools.ts +0 -83
- package/src/handlers/tools/team/core-tools.ts +0 -197
- package/src/handlers/tools/team/export-tools.ts +0 -130
- package/src/handlers/tools/team/helpers.ts +0 -66
- package/src/handlers/tools/team/index.ts +0 -45
- package/src/handlers/tools/team/relationship-tools.ts +0 -219
- package/src/handlers/tools/team/schemas.ts +0 -558
- package/src/handlers/tools/team/search-tools.ts +0 -145
- package/src/handlers/tools/team/vector-tools.ts +0 -261
- package/src/index.ts +0 -57
- package/src/server/mcp-server.ts +0 -446
- package/src/server/registration.ts +0 -141
- package/src/server/scheduler.ts +0 -283
- package/src/transports/http/handlers.ts +0 -78
- package/src/transports/http/index.ts +0 -8
- package/src/transports/http/security.ts +0 -147
- package/src/transports/http/server/index.ts +0 -397
- package/src/transports/http/server/legacy-sse.ts +0 -87
- package/src/transports/http/server/stateful.ts +0 -222
- package/src/transports/http/server/stateless.ts +0 -42
- package/src/transports/http/types.ts +0 -132
- package/src/types/entities.ts +0 -145
- package/src/types/error-types.ts +0 -92
- package/src/types/errors.ts +0 -200
- package/src/types/filtering.ts +0 -55
- package/src/types/github.ts +0 -216
- package/src/types/index.ts +0 -348
- package/src/utils/error-helpers.ts +0 -78
- package/src/utils/errors/error-response-fields.ts +0 -29
- package/src/utils/errors/suggestions.ts +0 -94
- package/src/utils/github-helpers.ts +0 -33
- package/src/utils/logger.ts +0 -107
- package/src/utils/mcp-logger.ts +0 -155
- package/src/utils/progress-utils.ts +0 -100
- package/src/utils/query-helpers.ts +0 -78
- package/src/utils/resource-annotations.ts +0 -75
- package/src/utils/security-utils.ts +0 -198
- package/src/utils/vector-index-helpers.ts +0 -24
- package/src/vector/vector-search-manager.ts +0 -409
- package/src/version.ts +0 -15
- package/test-server/README.md +0 -193
- package/test-server/code-map.md +0 -399
- package/test-server/test-agent-experience.md +0 -213
- package/test-server/test-filter-instructions.mjs +0 -295
- package/test-server/test-instruction-levels.mjs +0 -102
- package/test-server/test-preflight.md +0 -55
- package/test-server/test-prompts.mjs +0 -185
- package/test-server/test-scheduler.mjs +0 -174
- package/test-server/test-tool-annotations.mjs +0 -115
- package/test-server/test-tools-codemode.md +0 -632
- package/test-server/test-tools-codemode2.md +0 -1218
- package/test-server/test-tools-team.md +0 -215
- package/test-server/test-tools.md +0 -429
- package/test-server/test-tools2.md +0 -361
- package/test-server/test-tools3.md +0 -396
- package/test-server/tool-reference.md +0 -231
- package/tests/README.md +0 -54
- package/tests/auth/auth-context.test.ts +0 -162
- package/tests/auth/authorization-server-discovery.test.ts +0 -265
- package/tests/auth/errors.test.ts +0 -170
- package/tests/auth/middleware.test.ts +0 -585
- package/tests/auth/oauth-resource-server.test.ts +0 -173
- package/tests/auth/scope-map.test.ts +0 -66
- package/tests/auth/scopes.test.ts +0 -347
- package/tests/auth/token-validator.test.ts +0 -271
- package/tests/codemode/api.test.ts +0 -396
- package/tests/codemode/auto-return.test.ts +0 -167
- package/tests/codemode/codemode-tool-handlers.test.ts +0 -197
- package/tests/codemode/sandbox-factory.test.ts +0 -152
- package/tests/codemode/sandbox.test.ts +0 -190
- package/tests/codemode/security.test.ts +0 -242
- package/tests/codemode/worker-sandbox.test.ts +0 -106
- package/tests/constants/icons.test.ts +0 -101
- package/tests/constants/server-instructions.test.ts +0 -514
- package/tests/database/crud-workflow-branches.test.ts +0 -418
- package/tests/database/database-branches.test.ts +0 -132
- package/tests/database/entries-auth-branches.test.ts +0 -390
- package/tests/database/native-connection.test.ts +0 -249
- package/tests/database/shared-helpers.test.ts +0 -103
- package/tests/database/sqlite-adapter.bench.ts +0 -63
- package/tests/database/sqlite-adapter.test.ts +0 -690
- package/tests/database/tags.test.ts +0 -134
- package/tests/e2e/README.md +0 -39
- package/tests/e2e/auth.spec.ts +0 -106
- package/tests/e2e/codemode-abuse.spec.ts +0 -75
- package/tests/e2e/health.spec.ts +0 -63
- package/tests/e2e/helpers.ts +0 -139
- package/tests/e2e/oauth-discovery.spec.ts +0 -102
- package/tests/e2e/oauth-scopes.spec.ts +0 -222
- package/tests/e2e/payloads-admin.spec.ts +0 -76
- package/tests/e2e/payloads-analytics.spec.ts +0 -37
- package/tests/e2e/payloads-backup-restore.spec.ts +0 -102
- package/tests/e2e/payloads-backup.spec.ts +0 -44
- package/tests/e2e/payloads-codemode-api.spec.ts +0 -131
- package/tests/e2e/payloads-codemode-readonly.spec.ts +0 -116
- package/tests/e2e/payloads-codemode.spec.ts +0 -116
- package/tests/e2e/payloads-core.spec.ts +0 -82
- package/tests/e2e/payloads-error-contracts.spec.ts +0 -159
- package/tests/e2e/payloads-export.spec.ts +0 -46
- package/tests/e2e/payloads-github-degradation.spec.ts +0 -73
- package/tests/e2e/payloads-github.spec.ts +0 -176
- package/tests/e2e/payloads-relationships.spec.ts +0 -56
- package/tests/e2e/payloads-search.spec.ts +0 -64
- package/tests/e2e/payloads-team-happy.spec.ts +0 -231
- package/tests/e2e/payloads-team.spec.ts +0 -174
- package/tests/e2e/prompts-expanded.spec.ts +0 -137
- package/tests/e2e/prompts.spec.ts +0 -62
- package/tests/e2e/protocols.spec.ts +0 -134
- package/tests/e2e/rate-limiting.spec.ts +0 -291
- package/tests/e2e/resources-briefing-env.spec.ts +0 -106
- package/tests/e2e/resources-complete.spec.ts +0 -180
- package/tests/e2e/resources-expanded.spec.ts +0 -83
- package/tests/e2e/resources-instructions-levels.spec.ts +0 -145
- package/tests/e2e/resources-templates.spec.ts +0 -123
- package/tests/e2e/resources.spec.ts +0 -103
- package/tests/e2e/scheduler.spec.ts +0 -79
- package/tests/e2e/security.spec.ts +0 -112
- package/tests/e2e/session-advanced.spec.ts +0 -152
- package/tests/e2e/sessions.spec.ts +0 -95
- package/tests/e2e/stateless.spec.ts +0 -79
- package/tests/e2e/streaming.spec.ts +0 -176
- package/tests/e2e/tool-filtering-presets.spec.ts +0 -192
- package/tests/e2e/tool-filtering.spec.ts +0 -77
- package/tests/e2e/tools.spec.ts +0 -111
- package/tests/filtering/tool-filter.test.ts +0 -314
- package/tests/github/client-issues-errors.test.ts +0 -433
- package/tests/github/github-integration-branches.test.ts +0 -490
- package/tests/github/github-integration.test.ts +0 -1015
- package/tests/github/github-managers-branches.test.ts +0 -907
- package/tests/github/pull-requests.test.ts +0 -334
- package/tests/handlers/analytics-branches.test.ts +0 -222
- package/tests/handlers/backup-branches.test.ts +0 -270
- package/tests/handlers/briefing-context-section.test.ts +0 -388
- package/tests/handlers/briefing-github-section.test.ts +0 -392
- package/tests/handlers/briefing-user-message.test.ts +0 -405
- package/tests/handlers/codemode-tools.test.ts +0 -85
- package/tests/handlers/copilot-tools.test.ts +0 -126
- package/tests/handlers/error-path-coverage.test.ts +0 -324
- package/tests/handlers/export-tools.test.ts +0 -203
- package/tests/handlers/github-resource-handlers.test.ts +0 -929
- package/tests/handlers/github-tool-handlers.test.ts +0 -1452
- package/tests/handlers/handler-error-branches.test.ts +0 -346
- package/tests/handlers/help-resource.test.ts +0 -92
- package/tests/handlers/prompt-handler-coverage.test.ts +0 -108
- package/tests/handlers/prompt-handlers.test.ts +0 -131
- package/tests/handlers/resource-handler-coverage.test.ts +0 -281
- package/tests/handlers/resource-handlers.test.ts +0 -357
- package/tests/handlers/resource-prompt-branches.test.ts +0 -495
- package/tests/handlers/search-tool-handlers.test.ts +0 -379
- package/tests/handlers/targeted-gap-closure.test.ts +0 -387
- package/tests/handlers/team-admin.test.ts +0 -291
- package/tests/handlers/team-analytics.test.ts +0 -220
- package/tests/handlers/team-core.test.ts +0 -148
- package/tests/handlers/team-data.test.ts +0 -198
- package/tests/handlers/team-relationships.test.ts +0 -271
- package/tests/handlers/team-resource-handlers.test.ts +0 -161
- package/tests/handlers/team-search.test.ts +0 -134
- package/tests/handlers/team-tool-handlers.test.ts +0 -301
- package/tests/handlers/team-vector.test.ts +0 -213
- package/tests/handlers/template-github-branches.test.ts +0 -676
- package/tests/handlers/tool-annotations.test.ts +0 -90
- package/tests/handlers/tool-handler-coverage.test.ts +0 -514
- package/tests/handlers/tool-handlers.test.ts +0 -510
- package/tests/handlers/tool-output-schemas.test.ts +0 -116
- package/tests/handlers/vector-tool-handlers.test.ts +0 -238
- package/tests/security/sql-injection.test.ts +0 -284
- package/tests/server/mcp-server.bench.ts +0 -55
- package/tests/server/mcp-server.test.ts +0 -1326
- package/tests/server/scheduler.test.ts +0 -400
- package/tests/transports/http-legacy-sse.test.ts +0 -275
- package/tests/transports/http-security.test.ts +0 -322
- package/tests/transports/http-stateful.test.ts +0 -487
- package/tests/transports/http-transport-server.test.ts +0 -301
- package/tests/transports/http-transport.test.ts +0 -771
- package/tests/utils/github-helpers.test.ts +0 -58
- package/tests/utils/logger.test.ts +0 -180
- package/tests/utils/mcp-logger.test.ts +0 -211
- package/tests/utils/progress-utils.test.ts +0 -156
- package/tests/utils/query-helpers.test.ts +0 -80
- package/tests/utils/security-utils.test.ts +0 -82
- package/tests/vector/vector-search-branches.test.ts +0 -111
- package/tests/vector/vector-search-manager.test.ts +0 -375
- package/tests/vector/vector-search.bench.ts +0 -48
- package/tsconfig.json +0 -42
- package/tsup.config.ts +0 -19
- package/vitest.config.ts +0 -25
package/README.md
CHANGED
|
@@ -10,9 +10,9 @@
|
|
|
10
10
|
[](https://registry.modelcontextprotocol.io/v0/servers?search=io.github.neverinfamous/memory-journal-mcp)
|
|
11
11
|
[](SECURITY.md)
|
|
12
12
|
[](https://github.com/neverinfamous/memory-journal-mcp)
|
|
13
|
-

|
|
14
|
+

|
|
15
|
+

|
|
16
16
|
|
|
17
17
|
🎯 **AI Context + Project Intelligence:** Bridge disconnected AI sessions with persistent project memory and **automatic session handoff** — with full GitHub workflow integration.
|
|
18
18
|
|
|
@@ -27,28 +27,25 @@
|
|
|
27
27
|
|
|
28
28
|
### What Sets Us Apart
|
|
29
29
|
|
|
30
|
-
**61 MCP Tools** · **16 Workflow Prompts** · **28 Resources** · **10 Tool Groups** · **Code Mode** · **GitHub Integration** (Issues, PRs, Actions, Kanban, Milestones, Insights) · **Team Collaboration** (Shared DB, Vector Search, Cross-Project Insights)
|
|
31
|
-
|
|
32
|
-
| Feature
|
|
33
|
-
|
|
|
34
|
-
| **
|
|
35
|
-
| **GitHub Integration**
|
|
36
|
-
| **Knowledge Graphs**
|
|
37
|
-
| **Triple Search**
|
|
38
|
-
| **Code Mode**
|
|
39
|
-
| **Configurable Briefing**
|
|
40
|
-
| **
|
|
41
|
-
| **
|
|
42
|
-
| **
|
|
43
|
-
| **
|
|
44
|
-
| **
|
|
45
|
-
| **
|
|
46
|
-
| **
|
|
47
|
-
| **
|
|
48
|
-
| **
|
|
49
|
-
| **Cross-Agent Memory** | IDE agents and GitHub Copilot share context through journal entries — Copilot review findings become searchable knowledge, and IDE agents proactively apply past patterns ([setup guide](docs/copilot-setup.md)) |
|
|
50
|
-
| **Strict TypeScript** | 100% type-safe codebase with strict mode, typed error classes, and no `eslint-disable` pragmas |
|
|
51
|
-
| **MCP 2025-03-26 Compliant** | Full protocol support with tool safety annotations, resource priorities, and progress notifications |
|
|
30
|
+
**61 MCP Tools** · **16 Workflow Prompts** · **28 Resources** · **10 Tool Groups** · **Code Mode** · **GitHub Commander** (Issue Triage, PR Review, Milestone Sprints, Security/Quality/Perf Audits) · **GitHub Integration** (Issues, PRs, Actions, Kanban, Milestones, Insights) · **Team Collaboration** (Shared DB, Vector Search, Cross-Project Insights)
|
|
31
|
+
|
|
32
|
+
| Feature | Description |
|
|
33
|
+
| ----------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------- |
|
|
34
|
+
| **Session Intelligence** | Agents auto-query project history, create entries at checkpoints, and hand off context between sessions via `/session-summary` |
|
|
35
|
+
| **GitHub Integration** | 16 tools for Issues, PRs, Actions, Kanban, Milestones (%), Copilot Reviews, and 14-day Insights |
|
|
36
|
+
| **Knowledge Graphs** | 8 relationship types linking specs → implementations → tests → PRs with Mermaid visualization |
|
|
37
|
+
| **Triple Search** | Full-text (FTS5), semantic (`@huggingface/transformers` + `sqlite-vec`), and date-range search |
|
|
38
|
+
| **Code Mode** | Execute multi-step operations in a secure sandbox — up to 90% token savings via `mj.*` API |
|
|
39
|
+
| **Configurable Briefing** | 12 env vars / CLI flags control `memory://briefing` content — entries, team, GitHub detail, skills awareness |
|
|
40
|
+
| **Reports & Analytics** | Standups, retrospectives, PR summaries, digests, period analyses, and milestone tracking |
|
|
41
|
+
| **Team Collaboration** | 20 tools with full parity — CRUD, vector search, relationship graphs, cross-project insights, author attribution |
|
|
42
|
+
| **Backup & Restore** | One-command backup/restore with automated scheduling, retention policies, and safety-net auto-backups |
|
|
43
|
+
| **Security & Transport** | OAuth 2.1 (RFC 9728/8414, JWT/JWKS, scopes), Streamable HTTP + SSE, rate limiting, CORS, SQL injection prevention, non-root Docker |
|
|
44
|
+
| **Structured Error Handling** | Every tool returns `{success, error, code, category, suggestion, recoverable}` — agents get classification, remediation hints, and recoverability signals |
|
|
45
|
+
| **Agent Collaboration** | IDE agents and Copilot share context; review findings become searchable knowledge; agents suggest reusable rules and skills ([setup](docs/copilot-setup.md)) |
|
|
46
|
+
| **Strict TypeScript** | 100% type-safe with strict mode, typed error classes, and no `eslint-disable` pragmas |
|
|
47
|
+
| **MCP 2025-03-26 Compliant** | Tool safety annotations, resource priorities, and progress notifications |
|
|
48
|
+
| **GitHub Commander** | Skills for issue triage, PR reviews, sprint milestones, and security/quality/performance audits with journal trails ([docs](skills/github-commander/SKILL.md)) |
|
|
52
49
|
|
|
53
50
|
---
|
|
54
51
|
|
|
@@ -117,11 +114,17 @@ flowchart TB
|
|
|
117
114
|
|
|
118
115
|
---
|
|
119
116
|
|
|
120
|
-
## Rule (Add to AGENTS.md, GEMINI.md, etc)
|
|
117
|
+
## Suggested Rule (Add to AGENTS.md, GEMINI.md, etc)
|
|
121
118
|
|
|
122
|
-
|
|
119
|
+
**PERFORM AT START OF CHATS**: Read `memory://briefing`, present as two-column markdown table (Context | Value). Include all available fields; omit absent rows.
|
|
123
120
|
|
|
124
|
-
**
|
|
121
|
+
**CREATE JOURNAL ENTRIES** at natural checkpoints:
|
|
122
|
+
|
|
123
|
+
- After pushing to main (`milestone` or `technical_note`, tag with version)
|
|
124
|
+
- After significant design decisions or learnings (`project_decision`)
|
|
125
|
+
- After resolving non-trivial bugs (`bug_fix`, link to issue number)
|
|
126
|
+
|
|
127
|
+
**SUGGEST CREATING OR IMPROVING RULES AND SKILLS** as you notice workflow opportunities.
|
|
125
128
|
|
|
126
129
|
---
|
|
127
130
|
|
|
@@ -424,6 +427,9 @@ The GitHub tools (`get_github_issues`, `get_github_prs`, etc.) auto-detect the r
|
|
|
424
427
|
| `AUTO_REBUILD_INDEX` | Set to `true` to rebuild vector index on server startup |
|
|
425
428
|
| `MCP_HOST` | Server bind host (`0.0.0.0` for containers, default: `localhost`) |
|
|
426
429
|
| `MCP_AUTH_TOKEN` | Bearer token for HTTP transport authentication (CLI: `--auth-token`) |
|
|
430
|
+
| `MCP_CORS_ORIGIN` | Allowed CORS origins for HTTP transport, comma-separated (default: `*`) |
|
|
431
|
+
| `MCP_RATE_LIMIT_MAX` | Max requests per minute per client IP, HTTP only (default: `100`) |
|
|
432
|
+
| `LOG_LEVEL` | Log verbosity: `error`, `warn`, `info`, `debug` (default: `info`; CLI: `--log-level`) |
|
|
427
433
|
| `MCP_ENABLE_HSTS` | Enable HSTS security header on HTTP responses (CLI: `--enable-hsts`; default: `false`) |
|
|
428
434
|
| `OAUTH_ENABLED` | Set to `true` to enable OAuth 2.1 authentication (HTTP only) |
|
|
429
435
|
| `OAUTH_ISSUER` | OAuth issuer URL (e.g., `https://auth.example.com/realms/mcp`) |
|
|
@@ -441,6 +447,16 @@ The GitHub tools (`get_github_issues`, `get_github_prs`, etc.) auto-detect the r
|
|
|
441
447
|
| `SKILLS_DIR_PATH` | Path to skills directory for agent awareness (CLI: `--skills-dir`) |
|
|
442
448
|
| `MEMORY_JOURNAL_WORKFLOW_SUMMARY` | Free-text workflow summary for `memory://workflows` (CLI: `--workflow-summary`) |
|
|
443
449
|
| `INSTRUCTION_LEVEL` | Briefing depth: `essential`, `standard`, `full` (CLI: `--instruction-level`; default: `standard`) |
|
|
450
|
+
| `PROJECT_LINT_CMD` | Project lint command for GitHub Commander validation gates (default: `npm run lint`) |
|
|
451
|
+
| `PROJECT_TYPECHECK_CMD` | Project typecheck command (default: `npm run typecheck`; empty = skip) |
|
|
452
|
+
| `PROJECT_BUILD_CMD` | Project build command (default: `npm run build`; empty = skip) |
|
|
453
|
+
| `PROJECT_TEST_CMD` | Project test command (default: `npm run test`) |
|
|
454
|
+
| `PROJECT_E2E_CMD` | Project E2E test command (default: empty = skip) |
|
|
455
|
+
| `PROJECT_PACKAGE_MANAGER` | Package manager override: `npm`, `yarn`, `pnpm`, `bun` (default: auto-detect from lockfile) |
|
|
456
|
+
| `PROJECT_HAS_DOCKERFILE` | Enable Docker audit steps (default: auto-detect) |
|
|
457
|
+
| `COMMANDER_HITL_FILE_THRESHOLD` | Human-in-the-loop checkpoint if changes touch > N files (default: `10`) |
|
|
458
|
+
| `COMMANDER_SECURITY_TOOLS` | Override security tool auto-detection (comma-separated; default: auto-detect) |
|
|
459
|
+
| `COMMANDER_BRANCH_PREFIX` | Branch naming prefix for PRs (default: `fix`) |
|
|
444
460
|
|
|
445
461
|
**Without `GITHUB_REPO_PATH`**: You'll need to explicitly provide `owner` and `repo` parameters when calling GitHub tools.
|
|
446
462
|
|
|
@@ -455,7 +455,7 @@ var CreateEntrySchema = z.object({
|
|
|
455
455
|
share_with_team: z.boolean().optional().default(false)
|
|
456
456
|
});
|
|
457
457
|
var CreateEntrySchemaMcp = z.object({
|
|
458
|
-
content: z.string(),
|
|
458
|
+
content: z.string().optional(),
|
|
459
459
|
entry_type: z.string().optional().default("personal_reflection"),
|
|
460
460
|
tags: z.array(z.string()).optional().default([]),
|
|
461
461
|
is_personal: z.boolean().optional().default(true),
|
|
@@ -478,7 +478,7 @@ var GetEntryByIdSchema = z.object({
|
|
|
478
478
|
include_relationships: z.boolean().optional().default(true)
|
|
479
479
|
});
|
|
480
480
|
var GetEntryByIdSchemaMcp = z.object({
|
|
481
|
-
entry_id: relaxedNumber(),
|
|
481
|
+
entry_id: relaxedNumber().optional(),
|
|
482
482
|
include_relationships: z.boolean().optional().default(true)
|
|
483
483
|
});
|
|
484
484
|
var GetRecentEntriesSchema = z.object({
|
|
@@ -493,7 +493,7 @@ var CreateEntryMinimalSchema = z.object({
|
|
|
493
493
|
content: z.string().min(1).max(MAX_CONTENT_LENGTH)
|
|
494
494
|
});
|
|
495
495
|
var CreateEntryMinimalSchemaMcp = z.object({
|
|
496
|
-
content: z.string()
|
|
496
|
+
content: z.string().optional()
|
|
497
497
|
});
|
|
498
498
|
var TestSimpleSchema = z.object({
|
|
499
499
|
message: z.string().optional().default("Hello")
|
|
@@ -1680,7 +1680,7 @@ var UpdateEntrySchema = z.object({
|
|
|
1680
1680
|
tags: z.array(z.string()).optional()
|
|
1681
1681
|
});
|
|
1682
1682
|
var UpdateEntrySchemaMcp = z.object({
|
|
1683
|
-
entry_id: relaxedNumber(),
|
|
1683
|
+
entry_id: relaxedNumber().optional(),
|
|
1684
1684
|
content: z.string().optional(),
|
|
1685
1685
|
entry_type: z.string().optional(),
|
|
1686
1686
|
is_personal: z.boolean().optional(),
|
|
@@ -1691,7 +1691,7 @@ var DeleteEntrySchema = z.object({
|
|
|
1691
1691
|
permanent: z.boolean().optional().default(false)
|
|
1692
1692
|
});
|
|
1693
1693
|
var DeleteEntrySchemaMcp = z.object({
|
|
1694
|
-
entry_id: relaxedNumber(),
|
|
1694
|
+
entry_id: relaxedNumber().optional(),
|
|
1695
1695
|
permanent: z.boolean().optional().default(false)
|
|
1696
1696
|
});
|
|
1697
1697
|
var UpdateEntryOutputSchema = z.object({
|
|
@@ -1806,8 +1806,8 @@ function getAdminTools(context) {
|
|
|
1806
1806
|
description: 'Merge one tag into another to consolidate similar tags (e.g., merge "phase-2" into "phase2"). The source tag is deleted after merge.',
|
|
1807
1807
|
group: "admin",
|
|
1808
1808
|
inputSchema: z.object({
|
|
1809
|
-
source_tag: z.string().
|
|
1810
|
-
target_tag: z.string().
|
|
1809
|
+
source_tag: z.string().optional().describe("Tag to merge from (will be deleted)"),
|
|
1810
|
+
target_tag: z.string().optional().describe("Tag to merge into (will be created if not exists)")
|
|
1811
1811
|
}),
|
|
1812
1812
|
outputSchema: MergeTagsOutputSchema,
|
|
1813
1813
|
annotations: { readOnlyHint: false, idempotentHint: false, openWorldHint: false },
|
|
@@ -1908,7 +1908,7 @@ function getAdminTools(context) {
|
|
|
1908
1908
|
title: "Add Entry to Vector Index",
|
|
1909
1909
|
description: "Add a specific entry to the semantic search vector index",
|
|
1910
1910
|
group: "admin",
|
|
1911
|
-
inputSchema: z.object({ entry_id: relaxedNumber() }),
|
|
1911
|
+
inputSchema: z.object({ entry_id: relaxedNumber().optional() }),
|
|
1912
1912
|
outputSchema: AddToVectorIndexOutputSchema,
|
|
1913
1913
|
annotations: { readOnlyHint: false, idempotentHint: true, openWorldHint: false },
|
|
1914
1914
|
handler: async (params) => {
|
|
@@ -2708,7 +2708,7 @@ function getGitHubIssueTools(context) {
|
|
|
2708
2708
|
description: "Create a GitHub issue AND automatically create a linked journal entry documenting the issue creation.",
|
|
2709
2709
|
group: "github",
|
|
2710
2710
|
inputSchema: z.object({
|
|
2711
|
-
title: z.string().
|
|
2711
|
+
title: z.string().optional().describe("Issue title"),
|
|
2712
2712
|
body: z.string().optional().describe("Issue body/description"),
|
|
2713
2713
|
labels: z.array(z.string()).optional().describe("Labels to apply"),
|
|
2714
2714
|
assignees: z.array(z.string()).optional().describe("Users to assign"),
|
|
@@ -3240,7 +3240,7 @@ function getGitHubMilestoneTools(context) {
|
|
|
3240
3240
|
description: "Create a new GitHub milestone for tracking progress toward a project goal.",
|
|
3241
3241
|
group: "github",
|
|
3242
3242
|
inputSchema: z.object({
|
|
3243
|
-
title: z.string().
|
|
3243
|
+
title: z.string().optional().describe("Milestone title"),
|
|
3244
3244
|
description: z.string().optional().describe("Milestone description"),
|
|
3245
3245
|
due_on: z.string().optional().describe("Due date in YYYY-MM-DD format (optional)"),
|
|
3246
3246
|
owner: z.string().optional().describe("LEAVE EMPTY to auto-detect"),
|
|
@@ -3656,7 +3656,7 @@ function getBackupTools(context) {
|
|
|
3656
3656
|
group: "backup",
|
|
3657
3657
|
inputSchema: z.object({
|
|
3658
3658
|
filename: z.string().describe("Backup filename to restore from (e.g., backup_2025-01-01.db)"),
|
|
3659
|
-
confirm: z.boolean().describe("Must be set to true to confirm the restore operation")
|
|
3659
|
+
confirm: z.boolean().optional().describe("Must be set to true to confirm the restore operation")
|
|
3660
3660
|
}),
|
|
3661
3661
|
outputSchema: RestoreResultOutputSchema,
|
|
3662
3662
|
annotations: {
|
|
@@ -3669,7 +3669,7 @@ function getBackupTools(context) {
|
|
|
3669
3669
|
try {
|
|
3670
3670
|
const input = z.object({
|
|
3671
3671
|
filename: z.string(),
|
|
3672
|
-
confirm: z.boolean()
|
|
3672
|
+
confirm: z.boolean().optional()
|
|
3673
3673
|
}).parse(params);
|
|
3674
3674
|
if (!input.confirm) {
|
|
3675
3675
|
return {
|
|
@@ -3678,7 +3678,7 @@ function getBackupTools(context) {
|
|
|
3678
3678
|
code: "VALIDATION_ERROR",
|
|
3679
3679
|
category: "validation",
|
|
3680
3680
|
suggestion: "Set confirm: true to proceed with restore",
|
|
3681
|
-
recoverable:
|
|
3681
|
+
recoverable: true
|
|
3682
3682
|
};
|
|
3683
3683
|
}
|
|
3684
3684
|
const progressServer = progress?.server;
|
|
@@ -3800,7 +3800,7 @@ var TeamCreateEntrySchema = z.object({
|
|
|
3800
3800
|
author: z.string().optional()
|
|
3801
3801
|
});
|
|
3802
3802
|
var TeamCreateEntrySchemaMcp = z.object({
|
|
3803
|
-
content: z.string().
|
|
3803
|
+
content: z.string().optional(),
|
|
3804
3804
|
entry_type: z.string().optional().default("personal_reflection"),
|
|
3805
3805
|
tags: z.array(z.string()).optional().default([]),
|
|
3806
3806
|
significance_type: z.string().optional(),
|
|
@@ -3834,7 +3834,7 @@ var TeamGetEntryByIdSchema = z.object({
|
|
|
3834
3834
|
include_relationships: z.boolean().optional().default(true)
|
|
3835
3835
|
});
|
|
3836
3836
|
var TeamGetEntryByIdSchemaMcp = z.object({
|
|
3837
|
-
entry_id: relaxedNumber(),
|
|
3837
|
+
entry_id: relaxedNumber().optional(),
|
|
3838
3838
|
include_relationships: z.boolean().optional().default(true)
|
|
3839
3839
|
});
|
|
3840
3840
|
var TeamSearchByDateRangeSchema = z.object({
|
|
@@ -3845,8 +3845,8 @@ var TeamSearchByDateRangeSchema = z.object({
|
|
|
3845
3845
|
limit: z.number().max(500).optional().default(50)
|
|
3846
3846
|
});
|
|
3847
3847
|
var TeamSearchByDateRangeSchemaMcp = z.object({
|
|
3848
|
-
start_date: z.string().describe("Start date (YYYY-MM-DD)"),
|
|
3849
|
-
end_date: z.string().describe("End date (YYYY-MM-DD)"),
|
|
3848
|
+
start_date: z.string().optional().describe("Start date (YYYY-MM-DD)"),
|
|
3849
|
+
end_date: z.string().optional().describe("End date (YYYY-MM-DD)"),
|
|
3850
3850
|
entry_type: z.string().optional(),
|
|
3851
3851
|
tags: z.array(z.string()).optional(),
|
|
3852
3852
|
limit: relaxedNumber().optional().default(50)
|
|
@@ -3858,7 +3858,7 @@ var TeamUpdateEntrySchema = z.object({
|
|
|
3858
3858
|
tags: z.array(z.string()).optional()
|
|
3859
3859
|
});
|
|
3860
3860
|
var TeamUpdateEntrySchemaMcp = z.object({
|
|
3861
|
-
entry_id: relaxedNumber(),
|
|
3861
|
+
entry_id: relaxedNumber().optional(),
|
|
3862
3862
|
content: z.string().optional(),
|
|
3863
3863
|
entry_type: z.string().optional(),
|
|
3864
3864
|
tags: z.array(z.string()).optional()
|
|
@@ -3867,12 +3867,16 @@ var TeamDeleteEntrySchema = z.object({
|
|
|
3867
3867
|
entry_id: z.number()
|
|
3868
3868
|
});
|
|
3869
3869
|
var TeamDeleteEntrySchemaMcp = z.object({
|
|
3870
|
-
entry_id: relaxedNumber()
|
|
3870
|
+
entry_id: relaxedNumber().optional()
|
|
3871
3871
|
});
|
|
3872
3872
|
var TeamMergeTagsSchema = z.object({
|
|
3873
3873
|
source_tag: z.string().min(1),
|
|
3874
3874
|
target_tag: z.string().min(1)
|
|
3875
3875
|
});
|
|
3876
|
+
var TeamMergeTagsSchemaMcp = z.object({
|
|
3877
|
+
source_tag: z.string().optional(),
|
|
3878
|
+
target_tag: z.string().optional()
|
|
3879
|
+
});
|
|
3876
3880
|
var TeamGetStatisticsSchema = z.object({
|
|
3877
3881
|
group_by: z.enum(["day", "week", "month"]).optional().default("week")
|
|
3878
3882
|
});
|
|
@@ -3895,8 +3899,8 @@ var TeamLinkEntriesSchema = z.object({
|
|
|
3895
3899
|
description: z.string().optional()
|
|
3896
3900
|
});
|
|
3897
3901
|
var TeamLinkEntriesSchemaMcp = z.object({
|
|
3898
|
-
from_entry_id: relaxedNumber(),
|
|
3899
|
-
to_entry_id: relaxedNumber(),
|
|
3902
|
+
from_entry_id: relaxedNumber().optional(),
|
|
3903
|
+
to_entry_id: relaxedNumber().optional(),
|
|
3900
3904
|
relationship_type: z.string().optional().default("references"),
|
|
3901
3905
|
description: z.string().optional()
|
|
3902
3906
|
});
|
|
@@ -4039,7 +4043,7 @@ var TeamSemanticSearchSchema = z.object({
|
|
|
4039
4043
|
hint_on_empty: z.boolean().optional().default(true).describe("Include hint when no results found (default: true)")
|
|
4040
4044
|
});
|
|
4041
4045
|
var TeamSemanticSearchSchemaMcp = z.object({
|
|
4042
|
-
query: z.string(),
|
|
4046
|
+
query: z.string().optional(),
|
|
4043
4047
|
limit: relaxedNumber().optional().default(10),
|
|
4044
4048
|
similarity_threshold: relaxedNumber().optional().default(0.25),
|
|
4045
4049
|
hint_on_empty: z.boolean().optional().default(true).describe("Include hint when no results found (default: true)")
|
|
@@ -4048,7 +4052,7 @@ var TeamAddToVectorIndexSchema = z.object({
|
|
|
4048
4052
|
entry_id: z.number()
|
|
4049
4053
|
});
|
|
4050
4054
|
var TeamAddToVectorIndexSchemaMcp = z.object({
|
|
4051
|
-
entry_id: relaxedNumber()
|
|
4055
|
+
entry_id: relaxedNumber().optional()
|
|
4052
4056
|
});
|
|
4053
4057
|
var TeamSemanticEntryOutputSchema = TeamEntryOutputSchema.extend({
|
|
4054
4058
|
similarity: z.number()
|
|
@@ -4469,7 +4473,7 @@ function getTeamAdminTools(context) {
|
|
|
4469
4473
|
title: "Merge Team Tags",
|
|
4470
4474
|
description: "Merge a source tag into a target tag in the team database. All entries with the source tag will be re-tagged with the target tag. Requires TEAM_DB_PATH.",
|
|
4471
4475
|
group: "team",
|
|
4472
|
-
inputSchema:
|
|
4476
|
+
inputSchema: TeamMergeTagsSchemaMcp,
|
|
4473
4477
|
outputSchema: TeamMergeTagsOutputSchema,
|
|
4474
4478
|
annotations: { readOnlyHint: false, idempotentHint: false, openWorldHint: false },
|
|
4475
4479
|
handler: (params) => {
|
|
@@ -4704,6 +4708,16 @@ function getTeamRelationshipTools(context) {
|
|
|
4704
4708
|
return { ...TEAM_DB_ERROR_RESPONSE };
|
|
4705
4709
|
}
|
|
4706
4710
|
const { from_entry_id, to_entry_id, relationship_type, description } = TeamLinkEntriesSchema.parse(params);
|
|
4711
|
+
if (from_entry_id === to_entry_id) {
|
|
4712
|
+
return {
|
|
4713
|
+
success: false,
|
|
4714
|
+
error: "Cannot link an entry to itself",
|
|
4715
|
+
code: "VALIDATION_ERROR",
|
|
4716
|
+
category: "validation",
|
|
4717
|
+
suggestion: "Choose a different target entry to create a meaningful relationship",
|
|
4718
|
+
recoverable: true
|
|
4719
|
+
};
|
|
4720
|
+
}
|
|
4707
4721
|
const fromEntry = teamDb.getEntryById(from_entry_id);
|
|
4708
4722
|
if (!fromEntry) {
|
|
4709
4723
|
return {
|