I craft unique cereal names, stories, and ridiculously cute Cereal Baby images.

MCP-MEMORY银行
大型语言模型(LLMS)的强大的,可以生产的上下文管理系统。它是由Chromadb和现代嵌入技术建立的,提供了持久的,特定于项目的内存功能,可增强您的AI理解和响应质量。
1
Github Watches
1
Github Forks
3
Github Stars
# MCP Memory Bank Server 🧠
A powerful, context management system for Large Language Models (LLMs). Built with ChromaDB and modern embedding technologies, it provides persistent, project-specific memory capabilities that enhance your AI's understanding and response quality.
✨ Key Features
- 🚀 High Performance: Optimized vector storage with ChromaDB
- 🔒 Project Isolation: Separate context spaces for different projects
- 🔍 Smart Search: Both semantic and keyword-based search capabilities
- 🔄 Real-time Updates: Dynamic content management with automatic chunking
- 🎯 Precise Recall: Advanced embedding generation via @xenova/transformers
- 🐳 Easy Deployment: Docker-ready with persistent storage
🏗️ System Architecture
graph TB
Client[Client Application]
MCP[MCP Protocol Layer]
Tools[Tool Registration]
PS[Project Service]
ES[Embedding Service]
SS[Search Service]
DS[Database Service]
ChromaDB[(ChromaDB)]
Client -->|API Calls| MCP
MCP -->|Register| Tools
Tools -->|Project Ops| PS
Tools -->|Search Ops| SS
PS -->|Store/Retrieve| DS
SS -->|Query| DS
SS -->|Generate| ES
DS -->|Vector Ops| ChromaDB
subgraph Core Services
PS
ES
SS
DS
end
subgraph External Dependencies
ChromaDB
end
style Client fill:#f9f,stroke:#333,stroke-width:2px
style MCP fill:#bbf,stroke:#333,stroke-width:2px
style ChromaDB fill:#bfb,stroke:#333,stroke-width:2px
style Core Services fill:#fff,stroke:#333,stroke-width:2px,stroke-dasharray: 5 5
🚀 Quick Start
Prerequisites
- Node.js (v18+ LTS recommended)
- npm (v9+ recommended)
- Docker Desktop (latest stable)
- 2GB+ free RAM
- 1GB+ free disk space
One-Command Setup
# Clone, install, and run in development mode
git clone https://github.com/your-org/mcp-memory-bank.git && cd mcp-memory-bank && npm install && docker-compose up -d && npm run dev
🔄 Project Lifecycle
stateDiagram-v2
[*] --> ProjectCreation: memoryBank_createProject
ProjectCreation --> Initialization: memoryBank_initializeProject
state Initialization {
[*] --> CreateStandardFiles
CreateStandardFiles --> ProjectBrief: projectbrief.md
CreateStandardFiles --> ActiveContext: activeContext.md
CreateStandardFiles --> ProductContext: productContext.md
CreateStandardFiles --> SystemPatterns: systemPatterns.md
CreateStandardFiles --> TechContext: techContext.md
CreateStandardFiles --> Progress: progress.md
}
Initialization --> ContentManagement
state ContentManagement {
[*] --> FileOperations
FileOperations --> UpdateFile: memoryBank_updateFile
FileOperations --> GetFile: memoryBank_getFile
FileOperations --> ListFiles: memoryBank_listFiles
FileOperations --> DeleteFile: memoryBank_deleteFile
state Search {
[*] --> SemanticSearch
[*] --> KeywordSearch
}
FileOperations --> Search: memoryBank_search
}
ContentManagement --> ProjectDeletion: memoryBank_deleteProject
ProjectDeletion --> [*]
📚 API Documentation
Core Tools
Project Management
-
memoryBank_createProject
: Create isolated project spaces -
memoryBank_initializeProject
: Create standard Memory Bank files in a project -
memoryBank_deleteProject
: Clean up project data -
memoryBank_listProjects
: View all projects -
memoryBank_getProjectByName
: Fetch project details
Content Management
-
memoryBank_updateFile
: Store/update content with auto-chunking -
memoryBank_getFile
: Retrieve full content -
memoryBank_listFiles
: View stored files -
memoryBank_deleteFile
: Remove content -
memoryBank_search
: Semantic/keyword search
🔧 Configuration
Environment Variables
CHROMADB_URL=http://localhost:8000
MCP_MEMBANK_EMBEDDING_MODEL=Xenova/all-MiniLM-L6-v2
# Optional: Controls the logging verbosity. Defaults to 'info'.
# Possible values: 'debug', 'info', 'warn', 'error'
LOG_LEVEL=info
🐛 Troubleshooting
Common Issues
-
ChromaDB Connection Failed
# Check if container is running docker ps | grep chroma # Restart if needed docker-compose restart
-
Memory Issues
- Ensure Docker has sufficient memory allocation
- Consider reducing batch sizes in heavy operations
🤝 Contributing
- Fork the repository
- Create your feature branch (
git checkout -b feature/AmazingFeature
) - Commit your changes (
git commit -m 'Add some AmazingFeature'
) - Push to the branch (
git push origin feature/AmazingFeature
) - Open a Pull Request
📈 Performance Considerations
- Vector operations scale with embedding dimensions
- Batch operations for better throughput
- Use appropriate chunk sizes (default: 512 tokens)
- Consider index optimization for large datasets
📄 License
This project is licensed under the MIT License - see the LICENSE file for details.
Built with ❤️ by the bsmi021
相关推荐
Confidential guide on numerology and astrology, based of GG33 Public information
Emulating Dr. Jordan B. Peterson's style in providing life advice and insights.
Your go-to expert in the Rust ecosystem, specializing in precise code interpretation, up-to-date crate version checking, and in-depth source code analysis. I offer accurate, context-aware insights for all your Rust programming questions.
Take an adjectivised noun, and create images making it progressively more adjective!
Reviews

user_EXWkdIqA
I've been using the mcp-memory-bank by bsmi021, and it's exceeded all my expectations. The interface is user-friendly and the memory management is incredibly efficient. I highly recommend this to anyone looking for a reliable memory bank solution. The GitHub repository is well-documented, making it easy to integrate and use. Great job, bsmi021!