README
🚀 Memory Bank MCP Server
Memory Bank MCP Server是一个基于MCP协议的内存银行服务器,支持多项目隔离和Markdown格式文档管理,适用于大型语言模型(LLM)工具调用。它能有效解决多项目管理难题,为大型语言模型提供便捷的数据调用和管理方式。
🚀 快速开始
Memory Bank MCP Server是一个强大的工具,以下将为你介绍如何快速启动并使用它。
前提条件
- Node.js 16+ (推荐18+)
- npm 7+ 或 yarn 1.22+
安装步骤
- 克隆代码库
git clone https://github.com/your-username/memory-bank-mcp-server.git
cd memory-bank-mcp-server
- 安装依赖
npm install
- 构建项目
npm run build
- 启动服务器
# 同时启动Web和MCP服务器
npm start
# 仅启动Web服务器
npm start -- web
# 仅启动MCP服务器
npm start -- mcp
环境变量
可以通过创建.env文件或设置环境变量来配置服务器:
PORT=3000 # Web服务器端口
ROOT_DIR=/app/data # 数据存储根目录
SESSION_SECRET=your-secret-key # 会话密钥
✨ 主要特性
- 符合MCP协议:完全符合Model Context Protocol规范,可被大模型直接调用。
- 多项目隔离:支持多个项目隔离管理,各项目任务及进度等信息分开存储。
- Markdown格式:所有项目文档使用Markdown格式存储,易于编辑和维护。
- Web界面:提供直观的Web管理界面,可以查看和编辑项目文档。
- 灵活规则系统:支持全局规则和项目特定规则设置,项目规则优先于全局规则。
- 导入导出功能:支持项目级别的数据导入和导出。
- 无需数据库:使用文件系统进行存储,降低部署门槛。
🔧 技术细节
Memory Bank MCP Server采用了模块化设计,主要包含以下组件:
- MCP服务器:实现MCP协议,提供工具接口给LLM调用
- Web服务器:提供REST API和前端界面
- 文件存储系统:使用JSON文件和Markdown文件进行数据持久化
- 项目管理系统:隔离不同项目的数据和规则
📦 安装指南
前提条件
- Node.js 16+ (推荐18+)
- npm 7+ 或 yarn 1.22+
安装步骤
- 克隆代码库
git clone https://github.com/your-username/memory-bank-mcp-server.git
cd memory-bank-mcp-server
- 安装依赖
npm install
- 构建项目
npm run build
- 启动服务器
# 同时启动Web和MCP服务器
npm start
# 仅启动Web服务器
npm start -- web
# 仅启动MCP服务器
npm start -- mcp
环境变量
可以通过创建.env文件或设置环境变量来配置服务器:
PORT=3000 # Web服务器端口
ROOT_DIR=/app/data # 数据存储根目录
SESSION_SECRET=your-secret-key # 会话密钥
💻 使用示例
基础用法
以下是一个简单的示例,展示如何在命令行中启动MCP服务器:
npm start -- mcp
高级用法
如果你想在Cursor中使用Memory Bank MCP Server,可以按照以下步骤进行配置:
- 启动MCP服务器
npm start -- mcp
- 在Cursor中打开设置,找到"AI设置"
- 在Tool Providers部分添加自定义工具提供商:
- 名称: Memory Bank
- 描述: 多项目Markdown文档管理工具
- 命令:
node [你的安装路径]/memory-bank-mcp-server/dist/index.js mcp - 勾选"启用"
- 保存设置并重启Cursor
- 现在你可以在Cursor中使用像这样的命令调用Memory Bank:
使用Memory Bank创建一个新项目,名称为"我的项目",描述为"这是我的第一个项目"
📚 详细文档
数据存储
服务器采用文件系统进行数据存储,主要包含以下文件和目录:
data/
├── projects.json # 项目元数据
├── documents.json # 文档元数据
├── rules.json # 规则元数据
├── projects/ # 项目文件目录
│ ├── {project-id}/ # 单个项目目录
│ │ ├── projectbrief.md # 项目概述
│ │ ├── activeContext.md # 当前上下文
│ │ ├── tasks.md # 任务清单
│ │ └── ... # 其他文档
├── templates/ # 文档模板目录
Markdown文件格式
项目文档采用Markdown格式存储,以下是几种主要文档类型:
- projectbrief.md - 项目概述
# 项目概述
## 项目名称
## 目标
## 需求
## 技术栈
## 时间线
- tasks.md - 任务跟踪
# 任务
## 待办任务
- [ ] 任务1
- [ ] 任务2
## 进行中任务
- [ ] 任务3
## 已完成任务
- [x] 任务4
API参考
项目管理
GET /api/projects- 获取所有项目GET /api/projects/:id- 获取项目详情POST /api/projects- 创建新项目PUT /api/projects/:id- 更新项目DELETE /api/projects/:id- 删除项目
文档管理
GET /api/projects/:projectId/documents- 获取项目文档列表GET /api/projects/:projectId/documents/:type- 获取文档内容PUT /api/projects/:projectId/documents/:type- 更新文档内容
规则管理
GET /api/projects/:projectId/rules- 获取项目规则列表GET /api/rules/:id- 获取规则内容POST /api/rules- 创建规则PUT /api/rules/:id- 更新规则DELETE /api/rules/:id- 删除规则
MCP工具接口
服务器提供以下MCP工具接口供大模型调用:
list_projects- 获取所有项目create_project- 创建新项目update_project- 更新项目delete_project- 删除项目list_documents- 获取项目文档列表get_document- 获取文档内容update_document- 更新文档内容list_rules- 获取项目规则列表get_rule- 获取规则内容create_rule- 创建规则update_rule- 更新规则delete_rule- 删除规则
与Cursor配合使用
配置步骤
- 启动MCP服务器
npm start -- mcp
- 在Cursor中打开设置,找到"AI设置"
- 在Tool Providers部分添加自定义工具提供商:
- 名称: Memory Bank
- 描述: 多项目Markdown文档管理工具
- 命令:
node [你的安装路径]/memory-bank-mcp-server/dist/index.js mcp - 勾选"启用"
- 保存设置并重启Cursor
- 现在你可以在Cursor中使用像这样的命令调用Memory Bank:
使用Memory Bank创建一个新项目,名称为"我的项目",描述为"这是我的第一个项目"
与cursor-memory-bank的区别与改进
与原始的cursor-memory-bank项目相比,本项目的主要区别和改进包括:
- MCP协议支持:实现了完整的MCP协议,可以被大模型直接调用
- 多项目隔离:支持管理多个项目,每个项目拥有独立的文档和规则
- Web界面:提供了可视化的Web管理界面
- 规则系统:支持全局规则和项目特定规则设置
- 更灵活的文档管理:支持自定义文档类型和模板
- 模块化设计:采用模块化架构,易于扩展和维护
最佳实践
- 文档命名:为每个文档使用清晰、一致的命名约定
- 项目结构:为每个项目创建一致的文档结构
- 规则管理:在全局规则中设置通用规则,在项目规则中设置特定项目的规则
- 定期备份:定期导出项目数据进行备份
- Markdown格式:利用Markdown的格式特性,如标题层级、列表和表格,使文档更有结构
注意事项
⚠️ 重要提示
- 文件修改是立即生效的,无需重启服务器
- 删除项目将删除该项目的所有文档和规则,此操作不可撤销
- 项目ID在创建后不可更改
- 文档内容使用UTF-8编码存储
故障排除
- MCP服务器连接失败:检查命令路径是否正确,确保服务器已启动
- Web界面访问失败:检查端口是否被占用,确保服务器已启动
- 文档保存失败:检查文件系统权限,确保目录可写
- 导入项目失败:检查导入文件格式是否正确
未来计划
- 添加用户认证系统
- 支持实时协作编辑
- 增加更多文档类型模板
- 支持文档版本历史
- 添加搜索功能
- 支持更多导入/导出格式
📄 许可证
本项目采用MIT许可证,详见LICENSE文件。
贡献
欢迎提交问题报告、功能建议和代码贡献。请先创建issue讨论您要进行的更改。
Scan to join WeChat group