Memory Bank Mcp Server

Memory Bank Mcp Server

🚀 Memory Bank MCP Server

Memory Bank MCP Server是一个基于MCP协议的内存银行服务器,支持多项目隔离和Markdown格式文档管理,适用于大型语言模型(LLM)工具调用。它能有效解决多项目管理难题,为大型语言模型提供便捷的数据调用和管理方式。

🚀 快速开始

Memory Bank MCP Server是一个强大的工具,以下将为你介绍如何快速启动并使用它。

前提条件

  • Node.js 16+ (推荐18+)
  • npm 7+ 或 yarn 1.22+

安装步骤

  1. 克隆代码库
git clone https://github.com/your-username/memory-bank-mcp-server.git
cd memory-bank-mcp-server
  1. 安装依赖
npm install
  1. 构建项目
npm run build
  1. 启动服务器
# 同时启动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+

安装步骤

  1. 克隆代码库
git clone https://github.com/your-username/memory-bank-mcp-server.git
cd memory-bank-mcp-server
  1. 安装依赖
npm install
  1. 构建项目
npm run build
  1. 启动服务器
# 同时启动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,可以按照以下步骤进行配置:

  1. 启动MCP服务器
npm start -- mcp
  1. 在Cursor中打开设置,找到"AI设置"
  2. 在Tool Providers部分添加自定义工具提供商:
    • 名称: Memory Bank
    • 描述: 多项目Markdown文档管理工具
    • 命令: node [你的安装路径]/memory-bank-mcp-server/dist/index.js mcp
    • 勾选"启用"
  3. 保存设置并重启Cursor
  4. 现在你可以在Cursor中使用像这样的命令调用Memory Bank:
使用Memory Bank创建一个新项目,名称为"我的项目",描述为"这是我的第一个项目"

📚 详细文档

数据存储

服务器采用文件系统进行数据存储,主要包含以下文件和目录:

data/
├── projects.json           # 项目元数据
├── documents.json          # 文档元数据
├── rules.json              # 规则元数据
├── projects/               # 项目文件目录
│   ├── {project-id}/       # 单个项目目录
│   │   ├── projectbrief.md # 项目概述
│   │   ├── activeContext.md # 当前上下文
│   │   ├── tasks.md        # 任务清单
│   │   └── ...             # 其他文档
├── templates/              # 文档模板目录

Markdown文件格式

项目文档采用Markdown格式存储,以下是几种主要文档类型:

  1. projectbrief.md - 项目概述
# 项目概述

## 项目名称

## 目标

## 需求

## 技术栈

## 时间线
  1. 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配合使用

配置步骤

  1. 启动MCP服务器
npm start -- mcp
  1. 在Cursor中打开设置,找到"AI设置"
  2. 在Tool Providers部分添加自定义工具提供商:
    • 名称: Memory Bank
    • 描述: 多项目Markdown文档管理工具
    • 命令: node [你的安装路径]/memory-bank-mcp-server/dist/index.js mcp
    • 勾选"启用"
  3. 保存设置并重启Cursor
  4. 现在你可以在Cursor中使用像这样的命令调用Memory Bank:
使用Memory Bank创建一个新项目,名称为"我的项目",描述为"这是我的第一个项目"

与cursor-memory-bank的区别与改进

与原始的cursor-memory-bank项目相比,本项目的主要区别和改进包括:

  1. MCP协议支持:实现了完整的MCP协议,可以被大模型直接调用
  2. 多项目隔离:支持管理多个项目,每个项目拥有独立的文档和规则
  3. Web界面:提供了可视化的Web管理界面
  4. 规则系统:支持全局规则和项目特定规则设置
  5. 更灵活的文档管理:支持自定义文档类型和模板
  6. 模块化设计:采用模块化架构,易于扩展和维护

最佳实践

  • 文档命名:为每个文档使用清晰、一致的命名约定
  • 项目结构:为每个项目创建一致的文档结构
  • 规则管理:在全局规则中设置通用规则,在项目规则中设置特定项目的规则
  • 定期备份:定期导出项目数据进行备份
  • Markdown格式:利用Markdown的格式特性,如标题层级、列表和表格,使文档更有结构

注意事项

⚠️ 重要提示

  • 文件修改是立即生效的,无需重启服务器
  • 删除项目将删除该项目的所有文档和规则,此操作不可撤销
  • 项目ID在创建后不可更改
  • 文档内容使用UTF-8编码存储

故障排除

  • MCP服务器连接失败:检查命令路径是否正确,确保服务器已启动
  • Web界面访问失败:检查端口是否被占用,确保服务器已启动
  • 文档保存失败:检查文件系统权限,确保目录可写
  • 导入项目失败:检查导入文件格式是否正确

未来计划

  • 添加用户认证系统
  • 支持实时协作编辑
  • 增加更多文档类型模板
  • 支持文档版本历史
  • 添加搜索功能
  • 支持更多导入/导出格式

📄 许可证

本项目采用MIT许可证,详见LICENSE文件。

贡献

欢迎提交问题报告、功能建议和代码贡献。请先创建issue讨论您要进行的更改。

  • 0 关注
  • 0 收藏,31 浏览
  • system 提出于 2025-09-20 03:33

相似服务问题

相关AI产品