README.md•4.96 kB
# Memory Bank MCP
> A guided Memory Bank plugin for AI-assisted development
[](./README_CN.md)
Memory Bank MCP is a Model Context Protocol (MCP) plugin that helps AI assistants maintain persistent project context through structured markdown files. It provides a systematic approach to tracking project goals, decisions, progress, and patterns through guided instructions rather than direct operations.
## Features
- **Guided Operations**: Provides instructions for AI assistants to perform operations themselves
- **Structured Context Management**: Organize project information across 5 core files
- **Intelligent Guidance**: Step-by-step instructions for initialization and updates
- **Flexible Updates**: Smart update guidance based on different change types
- **Cross-Platform Support**: Automatic path normalization for Windows/macOS/Linux
### MCP Configuration
Using the published npm package:
```json
{
"mcpServers": {
"memory-bank": {
"command": "npx",
"args": ["@neko0721/memory-bank-mcp"],
"timeout": 600
}
}
}
```
## Quick Start
1. **Initialize Memory Bank**
```
Use init-memory-bank to create the memory-bank directory and core files
```
2. **Read Memory Bank**
```
Use get-memory-bank-info to view all Memory Bank content
```
3. **Update Memory Bank**
```
Use update-memory-bank to get guidance on updating specific files
```
## Core Files
### 1. productContext.md (Product Context)
- High-level project overview
- Goals and key features
- Overall architecture
- Automatically incorporates projectBrief.md if available
### 2. activeContext.md (Active Context)
- Current work status
- Recent changes
- Open questions and issues
- Focus areas
### 3. progress.md (Progress)
- Task tracking in checklist format
- Completed, current, and planned tasks
- Progress timeline
### 4. decisionLog.md (Decision Log)
- Architectural and implementation decisions
- Rationale and implications
- Decision history
### 5. systemPatterns.md (System Patterns)
- Recurring patterns and standards
- Coding conventions
- Architectural patterns
- Testing strategies
## Usage Guidelines
### For AI Assistants
1. **Start Every Session**: Check if memory-bank directory exists, then use `get-memory-bank-info` to understand project state
2. **Initialize When Needed**: Use `init-memory-bank` for new projects
3. **Read Context**: Use `get-memory-bank-info` to understand project state
4. **Update Guidance**: Use `update-memory-bank` to get update instructions
5. **Follow Instructions**: Execute the provided guidance to maintain Memory Bank
### Update Triggers
- **Architecture Changes**: Major structural decisions
- **Feature Completion**: New features or capabilities
- **Bug Fixes**: Significant issue resolutions
- **Refactoring**: Code structure improvements
- **Decisions**: Any important technical choices
- **Progress Updates**: Task status changes
## Tool Reference
### init-memory-bank
Initializes Memory Bank with all core files.
**Parameters:**
- `rootPath`: Project root directory path
- `force` (optional): Force re-initialization
**Returns:** Created files list and next steps guidance
### get-memory-bank-info
Reads and returns all Memory Bank content (similar to codelf's get-project-info).
**Parameters:**
- `rootPath`: Project root directory path
**Returns:** Formatted Memory Bank content for AI context
### update-memory-bank
Provides guidance for updating Memory Bank files.
**Parameters:**
- `rootPath`: Project root directory path
- `changeType`: Type of change (architecture/feature/bugfix/refactor/decision/progress)
- `description`: Brief description of the change
**Returns:** Detailed update instructions with templates and timestamps
## Integration Tips
### Cursor Setup
Add to Settings → Rules → User Rules:
```
Before starting any task, check if memory-bank directory exists in the project. If not, run the MCP command init-memory-bank.
Use the MCP command get-memory-bank-info to read Memory Bank content at session start.
After completing tasks or conversations, you must use the MCP command update-memory-bank to update Memory Bank content.
Follow the MCP guidance to maintain Memory Bank files.
```
### Windsurf Setup
Add to Settings → Cascade → Memories and Rules → Global Rules:
```
Before starting any task, check if memory-bank directory exists in the project. If not, run the MCP command init-memory-bank.
Use the MCP command get-memory-bank-info to read Memory Bank content at session start.
After completing tasks or conversations, you must use the MCP command update-memory-bank to update Memory Bank content.
Follow the MCP guidance to maintain Memory Bank files.
```
## Contributing
Contributions are welcome! Please feel free to submit issues or pull requests.
## License
MIT
## Acknowledgments
Inspired by the SPARC methodology and codelf.