
Memory Bank MCP
Memory Bank is an MCP server that helps teams create, manage, and access structured project documentation. It generates and maintains a set of interconnected Markdown documents that capture different aspects of project knowledge, from high-level goals to technical details and day-to-day progress.
what is Memory Bank MCP?
Memory Bank MCP is a structured documentation system that helps teams create, manage, and access project knowledge through interconnected Markdown documents.
how to use Memory Bank MCP?
To use Memory Bank MCP, clone the repository, install dependencies, and configure the MCP settings. You can run it in development or production mode based on your needs.
key features of Memory Bank MCP?
- AI-Generated Documentation using Gemini API
- Structured Knowledge System with six core document types
- MCP Integration for seamless AI assistant functionality
- Customizable directory location for Memory Bank
- Pre-defined Document Templates for various project aspects
- AI-Assisted Updates for document management
- Advanced Querying for context-aware document searches
use cases of Memory Bank MCP?
- Managing project documentation for software development teams.
- Creating structured knowledge bases for research projects.
- Facilitating collaboration and knowledge sharing among team members.
FAQ from Memory Bank MCP?
- Can Memory Bank MCP integrate with other tools?
Yes! It is designed to work with AI assistants and can be integrated with various tools via the Model Context Protocol.
- Is there a cost associated with using Memory Bank MCP?
Memory Bank MCP is open-source and free to use.
- What types of documents can be created?
You can create project briefs, product contexts, system patterns, tech contexts, active contexts, and progress documents.
Memory Bank MCP

Memory Bank MCP
A structured documentation system for project knowledge management via Model Context Protocol (MCP)
Memory Bank is an MCP server that helps teams create, manage, and access structured project documentation. It generates and maintains a set of interconnected Markdown documents that capture different aspects of project knowledge, from high-level goals to technical details and day-to-day progress.
Features
- AI-Generated Documentation: Leverages Gemini API to automatically generate comprehensive project documentation
- Structured Knowledge System: Maintains six core document types in a hierarchical structure
- MCP Integration: Implements the Model Context Protocol for seamless integration with AI assistants
- Customizable Location: Specify where you want your Memory Bank directory created
- Document Templates: Pre-defined templates for project brief, product context, system patterns, etc.
- AI-Assisted Updates: Update documents manually or regenerate them with AI assistance
- Advanced Querying: Search across all documents with context-aware relevance ranking
Installation
# Clone the repository
git clone https://github.com/yourusername/memory-bank-mcp.git
cd memory-bank-mcp
# Install dependencies
npm install
# Create .env file with your Gemini API key (optional)
echo "GEMINI_API_KEY=your_api_key_here" > .env
Usage
Development Mode
# Start in development mode
npm run dev
Production Mode
# Build the project
npm run build
# Start in production mode
npm run start
MCP Configuration
To integrate Memory Bank with the Model Context Protocol (MCP), add the following configuration to your mcp.json
file:
{
"memoryBank": {
"command": "node",
"args": ["/path/to/memory-bank-mcp/dist/index.js"],
"env": {
"GEMINI_API_KEY": "your_gemini_api_key_here"
}
}
}
Replace /path/to/memory-bank-mcp/dist/index.js
with the absolute path to your built index.js file, and add your Gemini API key (if applicable).
Example:
{
"memoryBank": {
"command": "node",
"args": ["/Users/username/memory-bank-mcp/dist/index.js"],
"env": {
"GEMINI_API_KEY": "AIzaSyXXXXXXXXXXXXXXXXXXXXXXXX"
}
}
}
MCP Tools
Memory Bank MCP provides the following tools via the Model Context Protocol:
initialize_memory_bank
Creates a new Memory Bank structure with all document templates.
Parameters:
goal
(string): Project goal description (min 10 characters)geminiApiKey
(string, optional): Gemini API key for document generationlocation
(string, optional): Absolute path where memory-bank folder will be created
Example:
await callTool({
name: "initialize_memory_bank",
arguments: {
goal: "Building a self-documenting AI-powered software development assistant",
location: "/Users/username/Documents/projects/ai-assistant"
}
});
update_document
Updates a specific document in the Memory Bank.
Parameters:
documentType
(enum): One of:projectbrief
,productContext
,systemPatterns
,techContext
,activeContext
,progress
content
(string, optional): New content for the documentregenerate
(boolean, default: false): Whether to regenerate the document using AI
Example:
await callTool({
name: "update_document",
arguments: {
documentType: "projectbrief",
content: "# Project Brief\n\n## Purpose\nTo develop an advanced and user-friendly AI..."
}
});
query_memory_bank
Searches across all documents with context-aware relevance ranking.
Parameters:
query
(string): Search query (min 5 characters)
Example:
await callTool({
name: "query_memory_bank",
arguments: {
query: "system architecture components"
}
});
export_memory_bank
Exports all Memory Bank documents.
Parameters:
format
(enum, default: "folder"): Export format, either "json" or "folder"outputPath
(string, optional): Custom output path for the export
Example:
await callTool({
name: "export_memory_bank",
arguments: {
format: "json",
outputPath: "/Users/username/Documents/exports"
}
});
Document Types
Memory Bank organizes project knowledge into six core document types:
- Project Brief (
projectbrief.md
): Core document defining project objectives, scope, and vision - Product Context (
productContext.md
): Documents product functionality from a user perspective - System Patterns (
systemPatterns.md
): Establishes system architecture and component relationships - Tech Context (
techContext.md
): Specifies technology stack and implementation details - Active Context (
activeContext.md
): Tracks current tasks, open issues, and development focus - Progress (
progress.md
): Documents completed work, milestones, and project history
License
MIT