Supports configuration through .env files or environment variables for settings like port, data directory, and session keys.
Repository hosting for cloning the codebase, with contribution workflow for submitting issues and code changes.
Supports storing and managing all project documents in Markdown format, making them easy to edit and maintain.
Memory Bank MCP Server
基于MCP协议的内存银行服务器,支持多项目隔离和Markdown格式文档管理,适用于大型语言模型(LLM)工具调用。
功能特点
- 符合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+
安装步骤
- 克隆代码库
- 安装依赖
- 构建项目
- 启动服务器
环境变量
可以通过创建.env
文件或设置环境变量来配置服务器:
数据存储
服务器采用文件系统进行数据存储,主要包含以下文件和目录:
Markdown文件格式
项目文档采用Markdown格式存储,以下是几种主要文档类型:
- projectbrief.md - 项目概述
- tasks.md - 任务跟踪
API参考
服务器提供以下主要API接口:
REST 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服务器
- 在Cursor中打开设置,找到"AI设置"
- 在Tool Providers部分添加自定义工具提供商:
- 名称: Memory Bank
- 描述: 多项目Markdown文档管理工具
- 命令:
node [你的安装路径]/memory-bank-mcp-server/dist/index.js mcp
- 勾选"启用"
- 保存设置并重启Cursor
- 现在你可以在Cursor中使用像这样的命令调用Memory Bank:
与cursor-memory-bank的区别与改进
与原始的cursor-memory-bank项目相比,本项目的主要区别和改进包括:
- MCP协议支持: 实现了完整的MCP协议,可以被大模型直接调用
- 多项目隔离: 支持管理多个项目,每个项目拥有独立的文档和规则
- Web界面: 提供了可视化的Web管理界面
- 规则系统: 支持全局规则和项目特定规则设置
- 更灵活的文档管理: 支持自定义文档类型和模板
- 模块化设计: 采用模块化架构,易于扩展和维护
最佳实践
- 文档命名: 为每个文档使用清晰、一致的命名约定
- 项目结构: 为每个项目创建一致的文档结构
- 规则管理: 在全局规则中设置通用规则,在项目规则中设置特定项目的规则
- 定期备份: 定期导出项目数据进行备份
- Markdown格式: 利用Markdown的格式特性,如标题层级、列表和表格,使文档更有结构
注意事项
- 文件修改是立即生效的,无需重启服务器
- 删除项目将删除该项目的所有文档和规则,此操作不可撤销
- 项目ID在创建后不可更改
- 文档内容使用UTF-8编码存储
故障排除
- MCP服务器连接失败: 检查命令路径是否正确,确保服务器已启动
- Web界面访问失败: 检查端口是否被占用,确保服务器已启动
- 文档保存失败: 检查文件系统权限,确保目录可写
- 导入项目失败: 检查导入文件格式是否正确
未来计划
- 添加用户认证系统
- 支持实时协作编辑
- 增加更多文档类型模板
- 支持文档版本历史
- 添加搜索功能
- 支持更多导入/导出格式
许可证
本项目采用MIT许可证,详见LICENSE文件。
贡献
欢迎提交问题报告、功能建议和代码贡献。请先创建issue讨论您要进行的更改。
API参考
项目管理
获取所有项目
请求示例:
响应示例:
创建新项目
请求示例:
响应示例:
获取项目详情
请求示例:
响应示例:
更新项目
请求示例:
响应示例:
删除项目
请求示例:
响应示例:
文档管理
获取项目文档列表
请求示例:
响应示例:
获取文档内容
请求示例:
响应示例:
更新文档内容
请求示例:
响应示例:
规则管理
获取项目规则列表
请求示例:
响应示例:
获取规则内容
请求示例:
响应示例:
创建规则
请求示例:
响应示例:
更新规则
请求示例:
响应示例:
删除规则
请求示例:
响应示例:
MCP工具接口
Memory Bank 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
- 删除规则
工作流模式工具
VAN模式 - 项目验证与初始化
van_init
- 初始化项目,如不提供项目名称则使用默认名称van_verify
- 验证项目状态和文件完整性
PLAN模式 - 计划制定与任务分解
plan_get_tasks
- 获取当前任务列表plan_add_task
- 添加新任务到任务列表plan_update_tasks
- 更新任务规划文档
CREATIVE模式 - 创意构思与方案设计
creative_add_idea
- 创建创意记录creative_get_ideas
- 获取创意列表creative_update_design
- 更新系统设计文档
IMPLEMENT模式 - 实施执行与开发
implement_update_progress
- 更新开发进度implement_add_note
- 记录实现细节implement_update_context
- 更新活动上下文文档
REFLECT模式 - 回顾反思与改进
reflect_create
- 创建项目反思记录reflect_get_history
- 获取历史反思记录reflect_update_progress
- 更新进度文档
ARCHIVE模式 - 归档整理与知识沉淀
archive_completed_tasks
- 归档已完成任务archive_generate_summary
- 生成项目总结报告archive_export_project
- 导出项目文档
有关每个工具接口的详细使用方法和参数说明,请参阅使用教程。
许可证
MIT
You must be authenticated.
Tools
MCP protocol server for managing multi-project Markdown documents, supporting project isolation and LLM tool integration.
Related MCP Servers
- AsecurityAlicenseAqualityMCP server for collecting code from files and directories into a single markdown document.Last updated -24PythonMIT License
- AsecurityFlicenseAqualityA powerful Model Context Protocol (MCP) server enabling seamless Vercel project management, including deployments, domains, environment variables, and team configurations through Cursor's Composer or Codeium's Cascade.Last updated -6517TypeScript
- -securityAlicense-qualityAn MCP server that assists with the orchestration of new software projects by applying standardized templates and best practices in design patterns and software architecture.Last updated -3PythonMIT License
- AsecurityAlicenseAqualityAn MCP server implementation that integrates with Backlog API, enabling project management operations including issues, projects, and wikis through natural language interactions.Last updated -12533TypeScriptMIT License