Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
No arguments | |||
Capabilities
Features and capabilities supported by this server
| Capability | Details |
|---|---|
| tools | {} |
| resources | {} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| get_instructions | ⚠️ CALL THIS FIRST. Get comprehensive instructions for using the Memory Bank MCP server. Call this tool FIRST at the start of every session to understand the available tools and recommended workflow. |
| initialize_memory_bank | Initialize a Memory Bank in the specified directory |
| set_memory_bank_path | Set a custom path for the Memory Bank |
| debug_mcp_config | Debug the current MCP configuration |
| read_memory_bank_file | Read a file from the Memory Bank. Returns content with ETag for optimistic concurrency control. |
| write_memory_bank_file | Write to a Memory Bank file. Supports optimistic concurrency control via ifMatchEtag. |
| list_memory_bank_files | List Memory Bank files |
| get_memory_bank_status | Check Memory Bank status |
| migrate_file_naming | Migrate Memory Bank files from camelCase to kebab-case naming convention |
| get_context_bundle | Get all Memory Bank files in a single response for quick context loading. Returns all core files (product-context, active-context, progress, decision-log, system-patterns) as a combined JSON object. |
| get_context_digest | Get a compact summary of the Memory Bank for context-limited situations. Returns recent progress entries, current tasks, known issues, and recent decisions. |
| search_memory_bank | Search across all Memory Bank files with full-text search |
| create_backup | Create a backup of the current Memory Bank state, or list existing backups. Backups are stored in the parent directory with timestamped names. |
| restore_backup | Restore the Memory Bank from a specified backup. By default, creates a backup of the current state before restoring. |
| add_progress_entry | Add a structured progress entry to the Memory Bank. Provides a type-safe API for logging progress with categories and metadata. |
| add_session_note | Add a timestamped session note to the active context. Useful for recording observations, blockers, or context that should persist. |
| update_tasks | Update the current tasks list in active context. Can add, remove, or replace tasks. |
| batch_read_files | Read multiple Memory Bank files in a single request. More efficient than individual reads for loading context. |
| batch_write_files | Write multiple Memory Bank files in a single request. Supports optimistic concurrency via ETags. |
| track_progress | Track progress and update Memory Bank files |
| update_active_context | Update the active context file |
| log_decision | Log a decision in the decision log |
| switch_mode | Switch to a specific mode, get current mode info, or manage UMB (Update Memory Bank) state. Call with no parameters to get current mode. Set umb:true to activate UMB, umb:false to deactivate. |
| graph_upsert_entity | Create or update an entity in the knowledge graph. If an entity with the same name exists, it will be updated. |
| graph_add_observation | Add an observation about an entity. Observations are facts, notes, or information associated with entities. |
| graph_link_entities | Create or remove a directed relationship between two entities. Use action:"unlink" to remove a relationship. |
| graph_search | Search the knowledge graph for entities and observations matching a query. Supports fuzzy matching on names and observation text. |
| graph_open_nodes | Open specific nodes and their neighborhood. Returns a subgraph with the requested entities and their connections. |
| graph_delete_entity | Delete an entity from the knowledge graph, or delete a specific observation if observationId is provided. |
| graph_maintain | Perform maintenance operations on the knowledge graph: rebuild snapshot from event log, or compact event history. |
| list_stores | List all registered Memory Bank stores. Returns the currently active store and any additional configured stores from the persistent registry. |
| select_store | Manage Memory Bank stores. Actions: select (switch active store), register (add to registry), unregister (remove from registry). Default action is "select" for backward compatibility. |
| sequential_thinking | Record a numbered thinking step for structured reasoning, or reset session history. Use this to break complex problems into sequential steps with optional branching and revision. The raw thought text is NOT returned — only metadata. Call finalize_thinking_session when done to persist outcomes to Memory Bank. Set reset:true to clear thinking history instead of recording a thought. |
| finalize_thinking_session | Persist the outcome of a thinking session into Memory Bank files. Accepts only human-facing summary fields — raw thoughts are NEVER persisted. Writes to existing Memory Bank files (active-context.md, decision-log.md, progress.md) via existing mechanisms. |
| get_targeted_context | Returns a budgeted, minimal "context pack" for a query by using the knowledge graph as an index. Reads only the smallest relevant slices of Memory Bank files instead of dumping full documents. Prefer this over get_context_bundle or batch_read_files for most questions. |
| graph_add_doc_pointer | Link a knowledge graph entity to a specific Memory Bank file (and optional heading). This helps get_targeted_context find the right file excerpts for a query. The file path is validated before saving. |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
No prompts | |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
| Product Context | Project overview and context |
| Active Context | Current project context and tasks |
| Progress | Project progress and milestones |
| Decision Log | Project decisions and rationale |
| System Patterns | System patterns and architecture |