Memory Journal MCP Server
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| DB_PATH | No | Database file location | ./memory_journal.db |
| MCP_HOST | No | Server bind host | localhost |
| LOG_LEVEL | No | Log verbosity: error, warn, info, debug | info |
| AUDIT_READS | No | Log read-scoped tool calls | false |
| TEAM_AUTHOR | No | Override author name for team entries | git config user.name |
| AUDIT_REDACT | No | Redact tool arguments in telemetry | true |
| GITHUB_TOKEN | No | GitHub personal access token for API access | |
| OAUTH_ISSUER | No | OAuth issuer URL | |
| TEAM_DB_PATH | No | Team database file location | |
| OAUTH_ENABLED | No | Enable OAuth 2.1 authentication (HTTP only) | false |
| AUDIT_LOG_PATH | No | Path for JSONL operational telemetry log | |
| MCP_AUTH_TOKEN | No | Bearer token for HTTP transport authentication | |
| OAUTH_AUDIENCE | No | Expected JWT audience claim | |
| OAUTH_JWKS_URI | No | JWKS endpoint for token verification | |
| FLAG_VOCABULARY | No | Comma-separated flag types for Hush Protocol | blocker,needs_review,help_requested,fyi |
| MCP_CORS_ORIGIN | No | Allowed CORS origins for HTTP transport, comma-separated | |
| MCP_ENABLE_HSTS | No | Enable HSTS security header | false |
| PROJECT_E2E_CMD | No | E2E test command (empty to skip) | |
| RULES_FILE_PATH | No | Path to user rules file for agent awareness | |
| SKILLS_DIR_PATH | No | Path to skills directory for agent awareness | |
| ALLOWED_IO_ROOTS | No | Comma-separated absolute paths for filesystem access (Code Mode and export) | |
| PROJECT_LINT_CMD | No | Lint command for validation gates | npm run lint |
| PROJECT_REGISTRY | No | JSON map of repos to { path, project_number } for multi-project routing | |
| PROJECT_TEST_CMD | No | Test command | npm run test |
| BRIEFING_PR_COUNT | No | PRs to list in briefing (0 = count only) | 0 |
| INSTRUCTION_LEVEL | No | Briefing depth: essential, standard, full | standard |
| PROJECT_BUILD_CMD | No | Build command (empty to skip) | npm run build |
| AUDIT_LOG_MAX_SIZE | No | Max file size before rotation (bytes) | 10485760 |
| AUTO_REBUILD_INDEX | No | Set to 'true' to rebuild vector index on startup | false |
| BRIEFING_PR_STATUS | No | Show PR status breakdown | false |
| MCP_RATE_LIMIT_MAX | No | Max requests per minute per client IP (HTTP only) | 100 |
| MCP_METRICS_ENABLED | No | Enable in-memory tool call metrics | true |
| BRIEFING_ENTRY_COUNT | No | Journal entries in briefing | 3 |
| BRIEFING_ISSUE_COUNT | No | Issues to list in briefing (0 = count only) | 0 |
| BRIEFING_INCLUDE_TEAM | No | Include team DB entries in briefing | false |
| OAUTH_CLOCK_TOLERANCE | No | Allowed clock skew in seconds for JWT verification | 5 |
| PROJECT_TYPECHECK_CMD | No | Typecheck command (empty to skip) | npm run typecheck |
| BRIEFING_SUMMARY_COUNT | No | Session summaries to list in briefing | 1 |
| DEFAULT_PROJECT_NUMBER | No | Default GitHub Project number for auto-assignment | |
| PROJECT_HAS_DOCKERFILE | No | Enable Docker audit steps | auto-detect |
| BRIEFING_WORKFLOW_COUNT | No | Workflow runs to list (0 = status only) | 0 |
| COMMANDER_BRANCH_PREFIX | No | Branch naming prefix for PRs | fix |
| PROJECT_PACKAGE_MANAGER | No | Package manager: npm, yarn, pnpm, bun | auto-detect |
| BRIEFING_COPILOT_REVIEWS | No | Aggregate Copilot review state in briefing | false |
| BRIEFING_MILESTONE_COUNT | No | Milestones to list in briefing (0 = hide) | 3 |
| BRIEFING_WORKFLOW_STATUS | No | Show workflow status breakdown | false |
| COMMANDER_SECURITY_TOOLS | No | Override security tool auto-detection (comma-separated) | auto-detect |
| CODE_MODE_MAX_RESULT_SIZE | No | Maximum result payload size in bytes for mj_execute_code | 102400 |
| CODEMODE_INTERNAL_FULL_ACCESS | No | Bypass tool filter constraints within Code Mode sandbox | false |
| COMMANDER_HITL_FILE_THRESHOLD | No | Human-in-the-loop if changes touch > N files | 10 |
| MEMORY_JOURNAL_MCP_TOOL_FILTER | No | Tool filter: full, starter, essential, readonly, or custom | full |
| MEMORY_JOURNAL_WORKFLOW_SUMMARY | No | Free-text workflow summary for memory://workflows |
Instructions
Guidance the server publishes about itself, which clients place ahead of the tool catalog so the model reads it before choosing anything.
This server publishes no instructions, or was last inspected before Glama recorded them.
Capabilities
Features and capabilities supported by this server
Protocol revision2025-11-25
| Capability | Details |
|---|---|
| tools | {
"listChanged": true
} |
| logging | {} |
| prompts | {
"listChanged": true
} |
| resources | {
"subscribe": true,
"listChanged": true
} |
| extensions | {
"io.modelcontextprotocol/skills": {
"directoryRead": true
}
} |
| experimental | {
"progress": {}
} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| create_entryB | Create a new journal entry. Content must be well-structured markdown using ## section headers. Select the most accurate entry_type (e.g., retrospective, personal_reflection, technical_note). For session summaries, use entry_type "retrospective" with tag "session-summary" and structure content as: ## Accomplished, ## Unfinished / Blocked, ## Context for Next Session. REQUIRED: You MUST include project_number. Extract this by querying memory://agent-id. REQUIRED: You MUST include impact_score, trust_score, and validation_status. REQUIRED: You MUST use related_to to anchor the entry to a session summary or nearby context. |
| get_entry_by_idC | Retrieve a specific entry by its ID |
| get_recent_entriesC | Get the most recent journal entries |
| get_entry_historyC | Retrieve the revision history of an entry (last 10 edits). |
| list_tagsB | List all unique tags used across all entries |
| test_simpleB | A simple echo tool for testing connection and basic parameter parsing. |
| trigger_progressB | Triggers a sequence of progress notifications to verify the transport layer supports them. |
| test_error_handlingB | Throws a specific type of error to verify the server formats and returns them correctly over MCP. |
| mark_anchors_staleC | Update the status of multiple anchors (e.g. to stale or invalidated) based on validation rules or git history checks. |
| search_entriesA | Search journal entries. Use sort_by: "importance" to surface structurally significant entries before major decisions. Supports modes: auto (default), fts, semantic, hybrid. Optional filters for GitHub Projects, Issues, PRs, and Actions. FTS5 syntax: "exact phrase", prefix*, OR/NOT/AND. Word-boundary matched. Automatically merges team DB results when TEAM_DB_PATH is configured. |
| search_by_date_rangeC | Search journal entries within a date range with optional filters |
| semantic_searchA | Perform semantic/vector search on journal entries using AI embeddings. Supports find-related-by-ID (entry_id) and metadata filters (tags, entry_type, date range). Threshold default is 0.25 (try 0.15-0.2 for broader matches, 0.4+ for strict matches). Entries are auto-indexed on creation. If index drifts, use rebuild_vector_index. |
| get_vector_index_statsC | Get statistics about the semantic search vector index |
| list_deleted_entriesA | List recently soft-deleted entries that can be restored |
| cross_team_searchB | Search across multiple configured team databases simultaneously. Returns results with team_db labels. |
| get_statisticsC | Get journal statistics and analytics (Phase 2: includes project breakdown) |
| get_cross_project_insightsA | Analyze patterns across all GitHub Projects tracked in journal entries. Use for architecture planning. |
| link_entriesC | Create a relationship between two journal entries |
| visualize_relationshipsC | Generate a Mermaid diagram visualization of entry relationships |
| export_entriesB | Export journal entries to JSON or Markdown format |
| export_markdownA | Export journal entries as individual frontmattered Markdown files (.md). Each file contains YAML frontmatter (mj_id, entry_type, tags, relationships) and the entry content. Files can be edited externally and re-imported via import_markdown. |
| import_markdownA | Import frontmattered Markdown files (.md) into the journal. If a file has an mj_id in its frontmatter and the entry exists, it is updated. Otherwise, a new entry is created. Tags and relationships are reconciled automatically. Use dry_run: true to preview what would happen without writing. |
| import_externalA | Import knowledge management exports (Notion, Obsidian, Logseq) into the journal. Normalizes wikilinks, YAML frontmatter, and block hierarchies automatically. Use dry_run: true to preview what would happen without writing. |
| update_entryA | Update an existing journal entry. When updating content, preserve the existing markdown structure (## section headers). Do NOT restructure or add new top-level sections unless explicitly requested. Pass null to clear a metadata field. Supports content, type, tags, and 11 metadata fields including significance, project, issue, PR, and workflow. |
| delete_entryA | Delete a journal entry (soft delete with timestamp). Calling with permanent: true on a previously soft-deleted entry works. Returns success: false for nonexistent entries. |
| restore_entryC | Restore a soft-deleted journal entry. |
| batch_create_entriesB | Create multiple journal entries at once. Max 50 per batch. Use this for imports or bulk creation. Select the most accurate entry_type for each. REQUIRED: You MUST include project_number. Extract this by querying memory://agent-id. REQUIRED: You MUST include impact_score, trust_score, and validation_status. REQUIRED: You MUST use related_to to anchor entries to previous context. |
| batch_update_entriesA | Update multiple existing journal entries in a single transaction. Max 50 per batch. REQUIRED: You MUST include project_number. Extract this by querying memory://agent-id. |
| batch_delete_entriesB | Delete multiple existing journal entries in a single transaction. Max 50 per batch. |
| rebuild_vector_indexB | [REQUIRES ADMIN SCOPE] Rebuild the semantic search vector index from all existing entries |
| add_to_vector_indexC | Add a specific entry to the semantic search vector index |
| merge_tagsA | Merge one tag into another to consolidate similar tags (e.g., merge "phase-2" into "phase2"). The source tag is deleted after merge. Only updates non-deleted entries. |
| search_audit_logB | Search operational telemetry audit logs by tool name, user, date range, status, or category. Returns the most recent matches up to the limit. |
| run_auto_pruneA | Manually trigger the autonomous pruning and cleanup routines. This evaluates entry importance, archives old entries, and hard-deletes stale softly-deleted ones. |
| register_projectA | Register a new project in the global registry. This is required before the agent can switch context to this repository. |
| update_projectB | Update the details (path, number, or name) of an existing project in the registry. |
| delete_projectC | Remove a project from the global registry. |
| list_projectsC | List all registered projects. |
| get_projectB | Get details of a specific registered project. |
| update_configurationB | Dynamically update the MCP server configuration (instruction level, tool filters, briefing preferences) without restarting the server. |
| get_github_issuesA | List issues from a GitHub repository. IMPORTANT: Do NOT guess owner/repo values - leave them empty to auto-detect from the current git repository. |
| get_github_prsB | List pull requests from a GitHub repository. IMPORTANT: Do NOT guess owner/repo values - leave them empty to auto-detect from the current git repository. |
| get_github_issueB | Get detailed information about a specific GitHub issue. IMPORTANT: Do NOT guess owner/repo values - leave them empty to auto-detect from the current git repository. |
| get_github_prA | Get detailed information about a specific GitHub pull request, including live prStatus. IMPORTANT: Do NOT guess owner/repo values - leave them empty to auto-detect from the current git repository. |
| get_github_contextA | Get current repository context including branch, open issues, and open PRs. IMPORTANT: Leave owner/repo empty to auto-detect from git, OR specify the repository name if working in a multi-project registry. |
| get_kanban_boardB | View a GitHub Project v2 as a Kanban board with items grouped by Status column. Returns all columns with their items. |
| move_kanban_itemA | Move a Kanban item to a different status column. Requires the project board to have a Status field. |
| add_kanban_itemA | Add an existing GitHub Issue or Pull Request to a Kanban board (GitHub Project v2). Returns the project item ID on success. |
| delete_kanban_itemA | Remove an item from a GitHub Kanban board cleanly. This untethers it from the project but does NOT close or delete the underlying Issue/PR. |
| create_github_issue_with_entryA | Create a GitHub issue AND automatically create a linked journal entry documenting the issue creation. |
| close_github_issue_with_entryA | Close a GitHub issue AND create a journal entry documenting the resolution. |
| get_github_milestonesB | List GitHub milestones for the repository with completion percentages and due dates. |
| get_github_milestoneA | Get detailed information about a specific GitHub milestone including progress and linked issue counts. |
| create_github_milestoneC | Create a new GitHub milestone for tracking progress toward a project goal. |
| update_github_milestoneA | Update a GitHub milestone (title, description, due date, or state). Use state "closed" to close a completed milestone. |
| delete_github_milestoneA | Permanently delete a GitHub milestone. Issues assigned to the milestone will be un-assigned but not deleted. |
| get_repo_insightsA | Get repository insights: stars, forks, traffic (clones/views), referrers, and popular paths. Use "sections" to control token usage: stars (~50 tokens), traffic (~100), referrers (~100), paths (~100), or all (~350). |
| get_copilot_reviewsA | Get Copilot's code review findings for a pull request. Returns review state (approved/changes_requested/commented/none) and file-level comments with paths and line numbers. Use to learn from Copilot's review patterns and create journal entries with tag "copilot-finding". |
| backup_journalB | Create a timestamped backup of the journal database. Backups are stored in the backups/ directory. |
| list_backupsB | List all available backup files with their sizes and creation dates |
| restore_backupA | Restore the journal database from a backup file. WARNING: This replaces all current data. Enforce single-writer / single-instance only for restore-capable deployments. An automatic backup is created before restore. |
| cleanup_backupsA | Delete old backup files, keeping only the most recent N backups. Use list_backups to preview before cleanup. |
| team_create_entryA | Create an entry in the team database for sharing with collaborators. ONLY use when explicitly requested by the user. Default to personal create_entry instead. Content must be well-structured markdown using ## section headers. Select the most accurate entry_type (e.g., retrospective, technical_note). For session summaries, use entry_type "retrospective" with tag "session-summary" and structure content as: ## Accomplished, ## Unfinished / Blocked, ## Context for Next Session. REQUIRED: You MUST include project_number. REQUIRED: You MUST include impact_score, trust_score, and validation_status. REQUIRED: You MUST use related_to to anchor the entry to a session summary or nearby context. Requires TEAM_DB_PATH. |
| team_get_entry_by_idA | Get a specific team entry by ID with full details including relationships and importance score. Requires TEAM_DB_PATH. |
| team_get_recentC | Get recent entries from the team database. Requires TEAM_DB_PATH. |
| team_list_tagsA | List all tags used in the team database with usage counts. Requires TEAM_DB_PATH. |
| team_searchA | Search entries in the team database by text and/or tags. Requires TEAM_DB_PATH. 🛑 WARNING: Team DB is a shared multi-tenant domain. You MUST specify project_number to isolate results to the target project. |
| team_search_by_date_rangeA | Search team entries within a date range with optional filters for entry type and tags. Requires TEAM_DB_PATH. 🛑 WARNING: Team DB is a shared multi-tenant domain. You MUST specify project_number to isolate results to the target project. |
| team_list_deleted_entriesB | List recently soft-deleted team entries that can be restored. Requires TEAM_DB_PATH. |
| team_update_entryB | Update a team entry. When updating content, preserve the existing markdown structure (## section headers). Do NOT restructure or add new top-level sections unless explicitly requested. Pass expected_version for optimistic locking. Pass null to clear a metadata field. Supports content, type, tags, and 11 metadata fields. Requires TEAM_DB_PATH. |
| team_delete_entryC | Soft-delete a team entry (marks as deleted, preservable). Calling with permanent: true on a previously soft-deleted entry works. Returns success: false for nonexistent entries. Requires TEAM_DB_PATH. |
| team_restore_entryB | Restore a soft-deleted team entry. Requires TEAM_DB_PATH. |
| team_merge_tagsA | 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. Only updates non-deleted entries. Requires TEAM_DB_PATH. |
| team_batch_create_entriesC | Create multiple team journal entries at once. Max 50 per batch. Select the most accurate entry_type for each. REQUIRED: You MUST include project_number. REQUIRED: You MUST include impact_score, trust_score, and validation_status. REQUIRED: You MUST use related_to to anchor entries to previous context. |
| team_batch_update_entriesA | Update multiple existing team journal entries in a single transaction. Max 50 per batch. Can only update entries you authored. Pass expected_version for optimistic locking. |
| team_batch_delete_entriesA | Delete multiple existing team journal entries in a single transaction. Max 50 per batch. Can only delete entries you authored. |
| team_get_statisticsB | Get statistics for the team database including entry counts, types, top tags, and contributor breakdown. Requires TEAM_DB_PATH. |
| team_get_cross_project_insightsB | Analyze patterns across all GitHub Projects tracked in team entries. Use for architecture planning. Requires TEAM_DB_PATH. |
| team_get_collaboration_matrixB | Analyze cross-author collaboration: activity heatmap per period, cross-linking patterns between authors, and impact factor (inbound links). Requires TEAM_DB_PATH. |
| team_link_entriesC | Create a relationship between two team entries. Requires TEAM_DB_PATH. |
| team_visualize_relationshipsA | Generate a Mermaid diagram showing relationships between team entries. Filter by entry ID, tag, or traverse to a specified depth. Requires TEAM_DB_PATH. |
| team_export_entriesB | Export team entries in JSON or Markdown format with optional date range, type, and tag filters. Requires TEAM_DB_PATH. |
| team_export_markdownB | Export team entries as frontmattered Markdown files |
| team_import_markdownC | Import frontmattered Markdown files into the team journal |
| team_import_externalC | Import knowledge management exports into the team journal |
| team_backupB | Create a timestamped backup of the team database. Requires TEAM_DB_PATH. |
| team_list_backupsB | List all available backup files for the team database. Requires TEAM_DB_PATH. |
| team_semantic_searchA | Perform semantic/vector search on team entries using AI embeddings. Supports find-related-by-ID (entry_id) and metadata filters. Threshold default is 0.25 (try 0.15-0.2 for broader matches, 0.4+ for strict matches). Entries auto-indexed on creation. Requires TEAM_DB_PATH. |
| team_get_vector_index_statsB | Get statistics about the team vector search index (item count, model, dimensions). Requires TEAM_DB_PATH. |
| team_rebuild_vector_indexB | Rebuild the team semantic search vector index from all existing team entries. Requires TEAM_DB_PATH. [REQUIRES ADMIN SCOPE] |
| team_add_to_vector_indexB | Add a specific team entry to the semantic search vector index. Requires TEAM_DB_PATH. |
| team_add_memberA | Add a new member to the team with a specific role. Bootstraps the first user as admin if table is empty. Requires TEAM_DB_PATH. |
| team_remove_memberB | Remove a member from the team. Requires TEAM_DB_PATH. |
| team_update_member_roleA | Update the role of an existing team member. Requires TEAM_DB_PATH. |
| team_list_membersB | List all registered team members and their roles. Requires TEAM_DB_PATH. |
| team_get_memberB | Get details about a specific team member. Requires TEAM_DB_PATH. |
| team_add_author_aliasA | Map a raw author name to a canonical identity. Requires admin role. Used to consolidate attribution for team analytics when one person uses multiple usernames. |
| team_remove_author_aliasA | Remove an author alias mapping. Requires admin role. |
| team_list_author_aliasesA | List all registered author aliases. Requires admin role. |
| team_resolve_authorA | Resolve a raw author name to its canonical identity using registered aliases. Requires admin role. |
| team_consolidate_authorsA | Retroactively rewrite all past entries matching an author's aliases to the canonical author name. Requires admin role. This operation modifies database entries. |
| mj_execute_codeA | Run arbitrary JavaScript to automate tasks in a secure sandbox. IMPORTANT: You MUST use the |
| get_commit_historyB | Retrieve commit history for the current repository |
| search_commitsC | Search commit history by query |
| get_release_infoB | Get latest release commits |
| get_unreleased_commitsC | Get commits since the last tag/release |
| analyze_commit_patternsC | Analyze patterns in a list of commits or recent history |
| check_entry_stalenessB | Check if a journal entry's anchors have been modified or deleted in git since the entry was created. |
| read_resourceC | Fallback handler for |
| mj_read_resourceC | Fallback handler for |
| memory_read_resourceC | Fallback handler for |
| load-briefingC | Fallback handler for |
| mj_session_summaryB | Fallback handler for |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
| session-summary | Create a formatted session summary entry |
| team-session-summary | Create a formatted team session summary entry |
| create-entry | Create a structured mid-thread journal entry |
| create-team-entry | Create a structured mid-thread team journal entry |
| update-entry | Safely update an existing mid-thread entry or session summary |
| update-team-entry | Safely update an existing team entry or team session summary |
| mcp-heal | Guide for modifying MCP codebase to proactively prevent, mitigate, and heal LLM hallucinations |
| project-setup | Guide for initializing and registering a new project in the memory-journal-mcp global registry |
| prepare-standup | Prepare a daily standup summary (Yesterday, Today, Blockers) |
| prepare-retro | Prepare a sprint retrospective (What went well, What could improve, Action items) |
| weekly-digest | Create a weekly digest formatted day-by-day |
| goal-tracker | Milestone and achievement tracking |
| issue-commander | Issue triage, milestone sprinting, and roadmap kickoff with HITL checkpoints. Optional arguments: project_number, workflow_type |
| pr-commander | Pull request summary, review prep, and dependency updates with validation gates. Optional arguments: pr_number, workflow_type |
| actions-failure-digest | CI/CD failure analysis with root cause identification |
| project-status-summary | Generate a comprehensive status summary for a GitHub project |
| project-milestone-tracker | Track progress against a specific project milestone |
| pr-summary | Generate an executive summary of a pull request |
| code-review-prep | Prepare a code review checklist and focus areas for a PR |
| pr-retrospective | Conduct a retrospective analysis on a completed pull request |
| commit | Procedure for committing code changes with intelligent validation gates |
| quickcommit | Quick commit for configuration, documentation, Markdown, and text files — skips lint/typecheck, commits directly |
| adversarial-plan-review | Bootstrap an adversarial planning workflow with structured review dimensions, scoring rubric, and prior plan context from the journal. Optional parameters: topic, depth. |
| adversarial-audit-code-quality | Multi-pass adversarial code quality audit (linting, technical debt, consistency) Optional parameter: target |
| adversarial-audit-security | Multi-pass adversarial security audit (threat modeling, attack surfaces) Optional parameter: target |
| adversarial-audit-performance | Multi-pass adversarial performance audit (profiling, stress-testing) Optional parameter: target |
| adversarial-audit-seo | Adversarial SEO audit (technical, semantic HTML, ARIA, structured data, Core Web Vitals) Optional parameter: target |
| adversarial-audit-skill | Multi-pass adversarial skill audit (research, evaluate triggers, stress-test) Optional parameter: target |
| adversarial-audit-workflow | Multi-pass adversarial workflow audit (clarity, safety gates, loop prevention) Optional parameter: target |
| optimize-journal | Guided database pruning, graph verification, and multi-agent audit workflow. Optional arguments: `lookback` (Number of recent entries, default: 10), `limit` (Entry processing cap for multi-agent audit, default: 500), `project` (Target project name or number, optional), `autoRun` (boolean, default: false), `mode` ('quick' | 'targeted' | 'full', default: 'quick'), `targetDimension` ('unassigned' | 'relationships' | 'scores' | 'tags' | 'all', default: 'all'). |
| load-briefing | Load one or more project briefings to initialize your session context. Pass project names or leave blank to see the full list and choose interactively. |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
| Initial Briefing | AUTO-READ AT SESSION START: Returns the exact markdown string to display to the user for the briefing. |
| Server Instructions | Full server instructions for AI agents. |
| Recent Entries | 10 most recent journal entries |
| Significant Entries | Significant milestones and breakthroughs |
| Rules File | Contents of the configured RULES_FILE_PATH (agent rules / GEMINI.md) |
| Workflows | Summary of available agent workflows from the configured workflow directory |
| Skills | Index of available agent skills (shipped + user-configured via SKILLS_DIR_PATH) |
| Server Health | Server health status including database, backups, vector index (real-time stats), and tool filter status |
| Metrics Summary | Aggregate metrics across all tool calls since server start. Includes total calls, errors, duration, and token estimates. |
| Metrics Tokens | Per-tool token usage breakdown sorted by total output tokens. Use this to identify which tools are consuming the most context window. |
| Metrics Resources | Per-resource read frequency breakdown sorted by total reads. Use this to identify which resources are accessed most often. |
| Metrics System | Process-level system metrics: memory usage, uptime, Node.js version, and platform. |
| Metrics Users | Per-user tool call counts. Populated when user identifiers are provided via OAuth or request metadata. Returns empty breakdown when no user tracking configured. |
| Metrics Latency | Per-tool latency percentiles (p50, p95, p99) with min/max bounds. Use this to identify tools with problematic tail latency. |
| Recent Actions | Recent workflow runs with CI status |
| GitHub Status | Compact GitHub status: repository, branch, CI, issues, PRs, Kanban summary |
| GitHub Milestones | Open GitHub milestones with completion percentages, due dates, and issue counts |
| Recent Team Entries | Recent entries from the team database. Requires TEAM_DB_PATH configuration. |
| Team Statistics | Entry counts, types, and contributor breakdown for the team database. |
| Help — Tool Groups | Lists all tool groups with tool counts and descriptions. Read memory://help/{group} for per-tool details. |
| Analytics Digest | Full pre-computed analytics digest with activity trends, significance spikes, stale projects, relationship density, and top importance entries. Updated by the scheduled digest job. |
| Team Collaboration Matrix | Cross-author collaboration metrics: activity heatmap, cross-linking patterns, and impact factor per contributor. Requires TEAM_DB_PATH. |
| Report History | The last 5 generated digest report snapshots. Updated by the scheduled report job. |
| Project Staleness | Overview of project staleness based on recent journal entries. |
| Tools Catalog | Discover all available tools and their current enabled/disabled state. |
| Audit Log | Last 50 write/admin tool call telemetry entries from the JSONL log. Each entry includes tool name, scope, duration, token estimates, and error status. Includes a session summary with total token consumption and error count. |
| Recent Entries (alias) | 10 most recent journal entries |
| Initial Briefing (alias) | AUTO-READ AT SESSION START: Returns the exact markdown string to display to the user for the briefing. |
| Recent Entries (alias) | 10 most recent journal entries |
| Server Health (alias) | Server health status including database, backups, vector index (real-time stats), and tool filter status |
| Server Health (alias) | Server health status including database, backups, vector index (real-time stats), and tool filter status |
| Help — Tool Groups (alias) | Lists all tool groups with tool counts and descriptions. Read memory://help/{group} for per-tool details. |
| Agent Context (alias) | Lightweight context for mid-thread agent reorientation. Returns project number, workspace ID, and session rules. |
| Agent Context (alias) | Lightweight context for mid-thread agent reorientation. Returns project number, workspace ID, and session rules. |
| memory-journal-mcp | Core guidelines and instruction pointers for the Memory Journal MCP. Use when interacting with the memory journal (creating, reading, searching entries), orchestrating commits, or writing session summaries. |
TDQS
Scored across 113 tools
The tool set has many overlapping or near-duplicate entry points: personal vs. team mirrored CRUD/search/export tools, multiple search modes, several fallback/resource handlers (`read_resource`, `mj_read_resource`, `memory_read_resource`), and testing/progress/error tools mixed into the production surface. The `team_` prefix helps separate shared-database operations, but an agent must still reason carefully about which search, export, or resource tool to use.
Most tools follow snake_case, and the `team_` namespace is fairly systematic, but the set mixes multiple conventions and prefixes: `load-briefing` uses a hyphen, `mj_*` and `memory_*` coexist with normal tools, and some names are noun-led (`backup_journal`, `team_backup`) while others are verb-led. The overall pattern is readable but not uniformly predictable across 113 tools.
113 tools is an extreme over-expansion for a memory journal server. The large personal/team mirror, many GitHub/kanban/commit integrations, vector-index administration, backup controls, testing tools, and fallback handlers make the surface far heavier than needed.
The journal lifecycle is thoroughly covered: create/read/update/delete/restore, batch operations, tag management, multiple search modes, semantic indexing, import/export, backup/restore, project registry, audit logs, and team collaboration features. Additional GitHub, kanban, and commit-history tools extend coverage rather than leaving core journal workflows incomplete.