Memory Bank MCP Server
The Memory Bank MCP Server provides structured workflow tools for managing software development projects from initialization to archival across complexity levels (1-4).
Core Workflow Modes:
Initialize Projects (
van_mode): Start projects, assess complexity, and set up Memory Bank file structurePlan Implementation (
plan_mode): Create detailed step-by-step execution plans based on project complexityDesign Components (
creative_mode): Design architecture, algorithms, and UI/UX for complex componentsExecute Implementation (
implement_mode): Carry out phased implementation with progress tracking and integration testingReflect and Archive (
reflect_archive_mode): Document lessons learned and create final project archives
File Management: Automatically creates and manages project files like tasks.md, progress.md, and project-archive.md in the .memory_bank directory.
Integration: Compatible with Claude Desktop, Cursor IDE, VS Code, and other MCP-compatible applications.
Supports package management, installation, building, and running the server through npm commands
Provides TypeScript configuration for ES modules with proper module resolution to avoid import errors
Click on "Install Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@Memory Bank MCP Serverinitialize a new project with complexity level 3 for building a user authentication system"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
Memory Bank MCP Server
A Model Context Protocol (MCP) server implementing the Memory Bank system based on the cursor-memory-bank custom modes.
Overview
This MCP server provides structured workflow tools for managing software development projects through different complexity levels and phases:
VAN Mode: Project initialization and complexity assessment
PLAN Mode: Detailed implementation planning
CREATIVE Mode: Design and architecture decisions
IMPLEMENT Mode: Code implementation and execution
REFLECT+ARCHIVE Mode: Project reflection and documentation archiving
Related MCP server: MCP Development Server
Features
🎯 VAN Mode (Entry Point)
Initialize new projects with complexity levels 1-4
Set up Memory Bank file structure
Determine appropriate next mode based on complexity
📋 PLAN Mode (Planning)
Generate implementation plans based on complexity level
Create detailed step-by-step approaches
Identify components requiring creative phases
🎨 CREATIVE Mode (Design)
Architecture design with multiple options analysis
Algorithm design with complexity considerations
UI/UX design with accessibility and usability focus
Structured documentation of design decisions
⚒️ IMPLEMENT Mode (Execution)
Phase-based implementation for complex projects
Integration testing and documentation
Progress tracking and status updates
🤔 REFLECT+ARCHIVE Mode (Completion)
Implementation reflection and lessons learned
Complete project archiving
Preparation for next task initialization
Installation
npm install
npm run buildUsage
Running the Server
npm startAvailable Tools
1. van_mode
Initialize a project with complexity assessment.
Parameters:
complexity(required): "1" | "2" | "3" | "4"Level 1: Quick bug fix
Level 2: Simple enhancement
Level 3: Complex feature
Level 4: Major feature/refactor
task_description(optional): Description of the task
Example:
{
"complexity": "3",
"task_description": "Implement user authentication system"
}2. plan_mode
Create detailed implementation plan.
Parameters:
complexity(optional): Complexity level (reads from tasks.md if not provided)
3. creative_mode
Perform design and architecture work.
Parameters:
component_name(required): Name of component requiring designcreative_type(required): "architecture" | "algorithm" | "uiux"requirements(required): Requirements and constraints
Example:
{
"component_name": "user_auth_system",
"creative_type": "architecture",
"requirements": "Secure authentication with JWT tokens, OAuth integration, and role-based access control"
}4. implement_mode
Execute implementation based on plan.
Parameters:
phase(optional): Implementation phase for complex projectscomplexity(optional): Complexity level (reads from tasks.md if not provided)
5. reflect_archive_mode
Reflect on implementation and archive documentation.
Parameters:
action(required): "reflect" | "archive""reflect": Review and document implementation experience
"archive": Create final documentation archive
Memory Bank Files
The server creates and manages several files in the .memory_bank directory:
tasks.md: Main task tracking and statusactiveContext.md: Current context and focusprogress.md: Implementation progress trackingimplementation-plan.md: Detailed implementation planreflection.md: Post-implementation reflectioncreative-{component}.md: Creative phase documentationdocs/archive/project-archive.md: Final project archive
Workflow Example
# 1. Initialize project
van_mode(complexity="3", task_description="Build REST API")
# 2. Create implementation plan
plan_mode()
# 3. Design complex components (if Level 3-4)
creative_mode(component_name="api_architecture", creative_type="architecture", requirements="...")
# 4. Implement the solution
implement_mode(phase="core_components")
# 5. Reflect and archive
reflect_archive_mode(action="reflect")
reflect_archive_mode(action="archive")Complexity Levels
Level 1: Quick bug fixes - Direct implementation, minimal planning
Level 2: Simple enhancements - Streamlined planning, straightforward implementation
Level 3: Complex features - Comprehensive planning, creative phases may be required
Level 4: Major features/refactors - Detailed architecture, phased implementation, creative design required
Development
# Development mode with auto-reload
npm run dev
# Build TypeScript
npm run build
# Run compiled server
npm startTroubleshooting
Module Resolution Errors
If you encounter ERR_MODULE_NOT_FOUND errors when running the server, ensure:
Build First: Always run
npm run buildbeforenpm startES Module Imports: All imports in source files use
.jsextensionsTypeScript Config: The
tsconfig.jsonis configured for ES modules with"module": "ESNext"
# Clean build if issues persist
rm -rf dist/
npm run build
npm startMemory Bank Directory Permissions
If the server can't create the .memory_bank directory:
# Ensure write permissions in the working directory
chmod 755 .Integration
This MCP server can be integrated with:
Claude Desktop: Add to MCP server configuration
Cursor IDE: Use with MCP client capabilities
VS Code: Through MCP extensions
Custom clients: Any MCP-compatible application
Based On
This implementation is based on the excellent cursor-memory-bank project by vanzan01, adapted for use as an MCP server.
License
MIT
Available Tools
5 toolscreative_modeCREATIVE ModeC
Design and architecture work for complex components
| Name | Required | Description | Default |
|---|---|---|---|
| component_name | Yes | ||
| creative_type | Yes | ||
| requirements | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden of behavioral disclosure. It mentions 'Design and architecture work' which implies a creative/planning operation rather than execution, but doesn't specify whether this is a read-only analysis, a generative process, or something else. No information about permissions, side effects, rate limits, or output format is provided, leaving significant gaps in understanding how the tool behaves.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, efficient sentence that gets straight to the point without unnecessary words. It's appropriately sized for a tool with 3 parameters and no annotations, though it could benefit from being more informative while maintaining brevity.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the complexity (3 required parameters, no annotations, no output schema), the description is incomplete. It doesn't explain what the tool produces, how parameters interact, or what 'creative mode' entails operationally. For a tool that presumably involves significant processing (design/architecture work), more context about the workflow, output expectations, or limitations is needed.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, so the description must compensate but adds no parameter information. It doesn't explain what 'component_name', 'creative_type', or 'requirements' mean or how they should be used. The description's reference to 'complex components' vaguely relates to 'component_name' but provides no practical guidance on parameter usage or relationships.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states 'Design and architecture work for complex components' which provides a general purpose (design/architecture) and target (complex components), but it's somewhat vague about the specific action. It doesn't clearly distinguish from siblings like 'plan_mode' or 'implement_mode' which might also involve design or architecture work. The description is better than a tautology but lacks specificity about what 'creative mode' uniquely does.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides no guidance on when to use this tool versus alternatives like 'plan_mode' or 'implement_mode'. There's no mention of prerequisites, appropriate contexts, or exclusions. The agent must infer usage from the tool name and description alone, which is insufficient for clear decision-making among multiple similar tools.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
implement_modeIMPLEMENT ModeC
Execute the implementation based on plan and creative decisions
| Name | Required | Description | Default |
|---|---|---|---|
| complexity | No | ||
| phase | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden of behavioral disclosure but fails to deliver. 'Execute the implementation' suggests a potentially destructive or state-changing operation, but there's no information about side effects, permissions required, idempotency, error conditions, or what 'execution' entails. The description doesn't mention whether this is a read-only operation, what happens upon completion, or any behavioral constraints. This leaves the agent completely in the dark about how the tool behaves.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is appropriately concise - a single sentence that gets straight to the point without unnecessary words. It's front-loaded with the core action ('Execute the implementation'). While the content is inadequate, the form is efficient with no wasted verbiage. The sentence structure is clear and direct, making good use of limited space.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the complexity of an 'implementation' tool with no annotations, no output schema, and 2 undocumented parameters, the description is woefully incomplete. The agent needs to understand what 'implementation' means in this system, what happens when executed, what the parameters control, and how this differs from related modes. The description provides only the barest hint of functionality without the necessary context for safe and effective tool invocation.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
With 0% schema description coverage for both parameters (complexity and phase), the description must compensate but provides no parameter information whatsoever. The description mentions 'plan and creative decisions' which might relate to parameters, but doesn't map to the actual parameters 'complexity' and 'phase' in the schema. For a tool with 2 undocumented parameters, this represents a significant gap in understanding what inputs are required and what they mean.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description 'Execute the implementation based on plan and creative decisions' is tautological - it essentially restates the tool name 'implement_mode' as 'execute the implementation'. While it mentions 'plan and creative decisions' as inputs, it doesn't specify what resource or system is being implemented, what 'implementation' means in this context, or how it differs from sibling tools like 'creative_mode' or 'plan_mode'. The purpose remains vague rather than specific.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides no guidance on when to use this tool versus alternatives. There's no mention of prerequisites, sequencing (e.g., 'use after plan_mode'), or contextual triggers. With sibling tools like 'creative_mode', 'plan_mode', and 'reflect_archive_mode' available, the agent receives no help in selecting the appropriate tool for a given situation. The phrase 'based on plan and creative decisions' hints at dependencies but doesn't constitute clear usage guidelines.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
plan_modePLAN ModeC
Create detailed implementation plan based on complexity level
| Name | Required | Description | Default |
|---|---|---|---|
| complexity | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden of behavioral disclosure. It states the tool creates a plan, implying a generative or analytical operation, but doesn't describe what 'detailed implementation plan' entails, whether it's a one-time or iterative process, or any constraints like rate limits or permissions needed. This is a significant gap for a tool with no annotation coverage.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, efficient sentence that front-loads the core action ('Create detailed implementation plan') without unnecessary words. However, it could be more structured by explicitly separating purpose from usage context, but it earns high marks for brevity and clarity within its limited scope.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's complexity (generating plans based on input), lack of annotations, no output schema, and incomplete parameter documentation, the description is inadequate. It doesn't explain what the output looks like, how the plan is structured, or any behavioral nuances, making it incomplete for effective agent use.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema has one parameter ('complexity') with 0% description coverage, and the tool description doesn't add any meaning beyond what the schema provides. It mentions 'complexity level' but doesn't explain what values are expected, their format, or how they influence the plan creation. With low schema coverage, the description fails to compensate, leaving the parameter undocumented.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states the tool creates a detailed implementation plan based on complexity level, which is a clear purpose with a verb ('create') and resource ('implementation plan'). However, it doesn't distinguish this from sibling tools like 'creative_mode' or 'implement_mode', leaving ambiguity about how planning differs from implementation or creative tasks.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance is provided on when to use this tool versus alternatives like 'implement_mode' or 'creative_mode'. The description implies usage when a plan is needed based on complexity, but it doesn't specify contexts, prerequisites, or exclusions, leaving the agent to guess about appropriate scenarios.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
reflect_archive_modeREFLECT+ARCHIVE ModeC
Reflect on implementation and archive documentation
| Name | Required | Description | Default |
|---|---|---|---|
| action | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden of behavioral disclosure. The description mentions 'reflect' and 'archive' but doesn't explain what these actions entail—whether they are read-only, destructive, require specific permissions, have side effects, or produce any output. This leaves critical behavioral traits completely unspecified.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, efficient sentence with no wasted words. It's appropriately sized for a simple tool, though it could be more front-loaded with clearer purpose. The brevity is a strength, but it comes at the cost of clarity.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the lack of annotations, no output schema, and a vague description, this tool's definition is incomplete. The description doesn't compensate for the missing structured data—it doesn't explain what happens when the tool is invoked, what results to expect, or how it differs from siblings. This leaves significant gaps for an agent to understand and use the tool effectively.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The description doesn't explicitly mention parameters, but the input schema has one parameter 'action' with enum values 'reflect' and 'archive', which align with the description's verbs. Since schema description coverage is 0%, the description adds minimal value by implying what the parameter might control, but it doesn't explain the semantics or differences between the two actions beyond the schema's enum.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description 'Reflect on implementation and archive documentation' states a vague purpose with two possible actions but doesn't specify what resources are involved or what concrete outcomes occur. It's not tautological (doesn't just repeat the name/title), but it's too abstract to clearly understand what the tool actually does compared to its siblings like creative_mode or implement_mode.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides no guidance on when to use this tool versus alternatives. It doesn't mention any context, prerequisites, or exclusions, leaving the agent with no information about appropriate usage scenarios relative to sibling tools like plan_mode or van_mode.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
van_modeVAN ModeC
Initialize project and determine complexity level. Entry point for the Memory Bank system.
| Name | Required | Description | Default |
|---|---|---|---|
| complexity | Yes | ||
| task_description | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden of behavioral disclosure. It mentions initialization and complexity determination, but doesn't describe what happens during initialization, whether this creates persistent resources, what permissions might be required, or what the expected output looks like. For a tool with zero annotation coverage, this leaves significant behavioral gaps.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is appropriately concise with two clear sentences that efficiently convey the core purpose and context. It's front-loaded with the main function and follows with additional system context without unnecessary elaboration.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a tool with 2 parameters, 0% schema coverage, no annotations, and no output schema, the description is insufficiently complete. It doesn't explain what the tool returns, how parameters affect behavior, or provide enough context about the Memory Bank system to understand the tool's role within it. The description leaves too many unanswered questions for effective tool selection and invocation.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
With 0% schema description coverage for 2 parameters, the description provides no information about what 'complexity' or 'task_description' parameters mean, their expected formats, or how they influence the tool's behavior. The description mentions 'determine complexity level' which hints at the complexity parameter but doesn't explain its semantics or relationship to the tool's function.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states the tool 'Initialize project and determine complexity level' which provides a general purpose, but it's vague about what 'project' refers to and what 'complexity level' means. It mentions being an 'Entry point for the Memory Bank system' which adds some context, but doesn't clearly distinguish this from sibling tools like creative_mode or plan_mode that might also initialize projects.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides no explicit guidance on when to use this tool versus alternatives. While it mentions being an 'entry point', it doesn't specify when to choose van_mode over other entry points or sibling tools, nor does it outline any prerequisites or exclusions for usage.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections. Dates show when Glama detected each change.
5 tool updates
v1.0.0- First observed
creative_mode - First observed
implement_mode - First observed
plan_mode - First observed
reflect_archive_mode - First observed
van_mode
TDQS
Each tool has a clearly distinct purpose in the Memory Bank workflow: creative_mode for design, implement_mode for execution, plan_mode for planning, reflect_archive_mode for reflection/documentation, and van_mode for initialization. There is no overlap or ambiguity between these tools as they represent sequential stages in a project lifecycle.
All tool names follow a consistent pattern of descriptive_verb_mode (e.g., creative_mode, implement_mode, plan_mode). This uniform naming convention makes the tool set predictable and easy to understand, with no deviations in style or structure.
With 5 tools, this server is well-scoped for its purpose of managing a Memory Bank system workflow. Each tool earns its place by covering a distinct phase from initialization to reflection, avoiding bloat while ensuring comprehensive coverage of the project lifecycle.
The tool set provides complete lifecycle coverage for the Memory Bank domain: van_mode initializes projects, plan_mode creates plans, creative_mode handles design, implement_mode executes, and reflect_archive_mode concludes with reflection and archiving. There are no obvious gaps, and the tools support a seamless workflow from start to finish.
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Related MCP Connectors
A comprehensive Model Context Protocol (MCP) server that enables AI assistants to interact with yo…
MCP server for generating rough-draft project plans from natural-language prompts.
A Model Context Protocol (MCP) application for automated GitHub PR analysis and issue management.…
Model Context Protocol server for Studex tools, notifications, and profile integrations
Related MCP Servers
- AlicenseAqualityDmaintenanceFacilitates interactive software development planning by managing tasks, tracking progress, and creating detailed implementation plans through the Model Context Protocol.614396MIT
- FlicenseNot gradedqualityDmaintenanceA Model Context Protocol server that enables Claude to manage software development projects with complete context awareness and code execution through Docker environments.244-
- FlicenseDqualityDmaintenanceA comprehensive Model Context Protocol server for advanced code analysis that provides tools for syntax analysis, dependency visualization, and AI-assisted development workflow support.287-
- AlicenseNot gradedqualityDmaintenanceA Model Context Protocol server providing comprehensive task management capabilities with support for project organization, task tracking, and automatic PRD parsing into actionable items.37MIT
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/nicavcrm/memory-bank-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server