mcpField
C
Cline Memory Bank

Cline Memory Bank

本地服务
github.com/dazeb记忆与知识6167 周前更新

关于 Cline Memory Bank

Cline Memory Bank 是为 Cline VS Code 扩展设计的 MCP 服务,用于在多次对话之间保存项目上下文、会话状态、进度和技术决策。它将信息写入项目内的 Markdown 文件,适合需要长期跟踪同一项目的开发者。项目仍在开发中,README 注明目前大体可用。

主要功能

  1. 01初始化项目内的 memory-bank 文件结构
  2. 02更新当前会话的上下文与任务状态
  3. 03记录带理由和备选方案的技术决策
  4. 04跟踪项目进度、里程碑与阻塞项
  5. 05通过 memory:// 资源读取项目上下文

适用场景

  1. 01在多天或多周的项目中延续上下文,无需重复说明
  2. 02记录架构决策及其理由,供之后查阅
  3. 03在 Cline 中跟踪任务进度与阻塞项

MCP 相关

该服务以 MCP 服务形式运行,向 Cline 等客户端提供 initialize_memory_bank、update_context、record_decision、track_progress 等工具,以及 memory:// 资源。

配置

本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。

暂未收录安装方式

我们还没有获取到这个服务的安装包或远程地址,请按项目 README 中的说明安装。

代码仓库

工具

还没有获取到工具列表

本地服务需要在你的电脑上运行后才能读取工具,维护者暂未提供工具列表。

详细介绍

Cline Memory Bank

灵感来自 roo-code-memory-bank

此项目仍在开发中,但大部分功能已可正常使用。

一个 Model Context Protocol 服务,可为 AI 辅助开发提供持久化项目上下文管理,专为与 Cline VSCode 扩展协同工作而设计。

目录

概述

Memory Bank MCP 服务通过提供用于管理以下内容的结构化工具和资源,帮助在不同开发会话中保持一致的项目上下文:

  • 项目上下文和技术细节
  • 当前会话状态和任务
  • 进度跟踪和里程碑
  • 技术决策及其依据
graph LR
    VSCode[VS Code + Cline] --> MemBank[Memory Bank Server]
    MemBank --> Files[Markdown Files]
    Files --> Context[Project Context]
    Files --> Progress[Progress Tracking]
    Files --> Decisions[Decision Log]
    AI[AI Assistant] --> Files
    VSCode --> AI
    AI --> MemBank

持久记忆系统

此项目最强大的功能之一,是能够在不同编码会话之间保持上下文。可以把它想象成让 AI 助手拥有一种“记忆”:即使你关闭 VSCode,之后再回来,它也不会忘记你一直在做什么。

工作原理

想象一下,你正在开发一个需要数天甚至数周才能完成的复杂项目。通常,每次开始新的编码会话时,你都需要向 AI 助手重新说明项目背景。使用 Memory Bank 后:

graph LR
    Session[New Session] --> Load[Load Context]
    Load --> Read[Read Files]
    Read --> Update[Update Context]
    Update --> Write[Write Changes]
    Write --> Track[Track Progress]
    Track --> Record[Record Decisions]
    Record --> Ready[Ready for Tasks]
  • AI 助手会记住之前的讨论和决策
  • 保持对项目架构和目标的理解
  • 跟踪正在进行的任务和进度
  • 记住你的编码偏好和项目约定
主要优势
  1. 跨会话保持连续性

    • 无需每次都重新说明项目背景
    • 可以从上次中断的地方准确继续
    • 对代码库保持一致的理解
  2. 智能上下文管理

    • 自动跟踪重要的技术决策
    • 记录项目进度和里程碑
    • 保留开发历程文档
  3. 提高工作效率

    • 每次会话都能更快地熟悉项目
    • 提供更一致、更贴合上下文的 AI 协助
    • 减少重复说明
  4. 项目历史记录

    • 跟踪做出特定决策的原因
    • 记录已完成的功能和更改
    • 帮助新团队成员了解项目的发展历程

Memory Bank 与 Cline VSCode 扩展无缝集成,配置完成后无需你进行其他设置。它会在后台静默运行,确保 AI 助手始终拥有提供相关且有用协助所需的上下文。

安装

先决条件
  • Node.js(v16 或更高版本)
  • 已安装 Cline 扩展的 VS Code
  • TypeScript(用于开发)
设置步骤
  1. 克隆并构建服务:
# Clone the repository
git clone https://github.com/dazeb/cline-mcp-memory-bank
cd cline-mcp-memory-bank

# Install dependencies (using pnpm as recommended)
pnpm install

# Build the server
pnpm run build

# Make globally available (optional, requires pnpm setup for global linking)
# pnpm link --global 
  1. 配置 Cline 扩展(推荐:使用初始化命令):

    推荐方法: 构建完成后,在项目根目录运行初始化命令。该命令会自动创建记忆库文件,并为你配置 Cline MCP 设置:

    node build/index.js initialize_memory_bank . 
    

    手动方法(如有需要): 将以下内容添加到 Cline MCP 设置文件中。文件路径因操作系统而异:

    • Linux: ~/.config/Code - Insiders/User/globalStorage/saoudrizwan.claude-dev/settings/cline_mcp_settings.json
    • macOS: ~/Library/Application Support/Code - Insiders/User/globalStorage/saoudrizwan.claude-dev/settings/cline_mcp_settings.json
    • Windows: %APPDATA%\Code - Insiders\User\globalStorage\saoudrizwan.claude-dev\settings\cline_mcp_settings.json

    添加此 JSON 对象:

{
  "mcpServers": {
    "memory-bank": {
      "command": "node",
      "args": [
        "/path/to/cline-memory-bank/build/index.js"
      ],
      "disabled": false,
      "autoApprove": []
    }
  }
}

将 /path/to/cline-memory-bank 替换为服务器安装目录的实际绝对路径(例如,在 Windows 上为 C:\Users\YourUser\Projects\cline-mcp-memory-bank)。注意: 使用上述初始化命令即可自动完成此操作。

功能

工具

安装并构建后,在项目根目录运行以下命令,为项目初始化记忆库:

node /path/to/cline-mcp-memory-bank/build/index.js initialize_memory_bank .

(将 /path/to/cline-memory-bank 替换为你克隆并构建服务器的实际路径)。

或者,如果已在 Cline 中配置服务器,你可以让 Cline 运行此工具:initialize the memory bank。

初始化后,你可以让 Cline 使用以下工具更新记忆库上下文、记录决策或跟踪进度,也可以通过 .clinerules 或系统提示词进行配置。

  1. initialize_memory_bank

    • 为新项目创建记忆库结构
    • 创建带有初始模板的必需 Markdown 文件
    use_mcp_tool('memory-bank', 'initialize_memory_bank', {
      projectPath: '/path/to/project'
    });
    
  2. update_context

    • 使用当前会话信息更新活跃上下文
    • 跟踪模式、任务和会话状态
    use_mcp_tool('memory-bank', 'update_context', {
      projectPath: '/path/to/project',
      content: {
        currentSession: {
          date: '2025-03-13',
          mode: 'development',
          task: 'Implementing new feature'
        }
      }
    });
    
  3. record_decision

    • 记录技术决策及其依据
    • 保存架构选择的历史记录
    use_mcp_tool('memory-bank', 'record_decision', {
      projectPath: '/path/to/project',
      decision: {
        title: 'Authentication System',
        description: 'Implementing JWT-based authentication',
        rationale: 'Better scalability and stateless operation',
        alternatives: [
          'Session-based auth',
          'OAuth only'
        ]
      }
    });
    
  4. track_progress

    • 更新项目进度和里程碑
    • 管理任务状态和阻碍事项
    use_mcp_tool('memory-bank', 'track_progress', {
      projectPath: '/path/to/project',
      progress: {
        completed: ['Setup project', 'Initialize database'],
        inProgress: ['Implement auth', 'Create API routes'],
        blocked: ['Deploy to production']
      }
    });
    
资源
  1. memory://project/context

    • 项目概览和技术栈
    • 架构原则和指南
  2. memory://active/context

    • 当前会话状态和任务
    • 活跃的考量事项和笔记
  3. memory://progress

    • 项目里程碑和任务跟踪
    • 工作状态和阻碍事项
  4. memory://decisions

    • 技术决策及其依据
    • 架构选择和备选方案
系统提示词建议

将以下内容添加到 Cline 系统提示词或设置目录下的 .clinerules 文件中。

Memory Bank Integration Rules:

CRITICAL: Before ANY task or response:
1. ALWAYS check active context (memory://active/context):
   - Current project state and mode
   - Ongoing tasks and their status
   - Recent decisions and updates
   - Open questions and concerns

2. ALWAYS review project context (memory://project/context):
   - Technical stack and dependencies
   - Project guidelines and standards
   - Architecture principles
   - Development workflow

3. ALWAYS consult decision log (memory://decisions) for:
   - Previous architectural choices
   - Established patterns
   - Technical rationales
   - Related decisions

4. ALWAYS check progress tracking (memory://progress):
   - Current phase and milestones
   - Completed work
   - In-progress tasks
   - Known blockers

After EVERY task:
1. Update active context with:
   - Task completion status
   - New information learned
   - Changes made

2. Record any technical decisions with:
   - Clear rationale
   - Considered alternatives
   - Impact assessment

3. Update progress tracking:
   - Mark completed items
   - Add new tasks identified
   - Note any blockers found

Key Guidelines:
- NEVER proceed without checking memory bank context
- ALWAYS maintain consistent project state
- Record ALL significant technical decisions
- Track progress in real-time
- Keep context updated with EVERY change

文件结构

初始化后,记忆库会在项目中创建以下结构:

graph LR
    Root[Project Root] --> Bank[memory-bank]
    Bank --> PC[projectContext.md]
    Bank --> AC[activeContext.md]
    Bank --> P[progress.md]
    Bank --> DL[decisionLog.md]
    PC --> Stack[Technical Stack]
    AC --> Tasks[Active Tasks]
    P --> Status[Project Status]
    DL --> History[Decision History]
初始文件内容

初始化时,每个文件都会填入结构化内容:

  1. activeContext.md:

    • 带时间戳的当前会话信息
    • 初始任务(项目初始化、环境设置)
    • 关于项目目标和需求的未决问题
    • 最近更新部分
  2. progress.md:

    • 当前阶段(初始化)
    • 初始已完成任务(仓库设置、基本结构)
    • 进行中的任务(环境配置、文档)
    • 后续任务部分
    • 阻碍事项跟踪
  3. decisionLog.md:

    • 初始项目结构决策
    • 开发工作流选择及备选方案
    • 文档策略决策
    • 待定决策部分
  4. projectContext.md:

    • 项目概览和版本
    • 检测到的技术栈和依赖项
    • 配置文件列表
    • 架构原则
    • 开发环境设置说明
    • 项目工作流指南

与 Cline 搭配使用

graph LR
    Start[Start] --> Init[Initialize]
    Init --> Context[Load Context]
    Context --> Update[Make Changes]
    Update --> Progress[Track Progress]
    Progress --> Record[Record Decisions]
    Record --> Sync[Auto Sync]
    Sync --> Context

只需让 Cline 初始化记忆库即可。

  1. 初始化新的记忆库:

    use_mcp_tool('memory-bank', 'initialize_memory_bank', {
      projectPath: process.cwd()  // or specific path
    });
    
  2. 访问项目上下文:

    access_mcp_resource('memory-bank', 'memory://project/context');
    
  3. 更新会话上下文:

    use_mcp_tool('memory-bank', 'update_context', {
      projectPath: process.cwd(),
      content: {
        currentSession: {
          date: new Date().toISOString().split('T')[0],
          mode: 'development',
          task: 'Current task description'
        }
      }
    });
    
  4. 记录技术决策:

    use_mcp_tool('memory-bank', 'record_decision', {
      projectPath: process.cwd(),
      decision: {
        title: 'Decision Title',
        description: 'What was decided',
        rationale: 'Why it was decided'
      }
    });
    

开发

要修改或增强服务:

  1. 更新 src/index.ts 中的源代码
  2. 运行测试:npm test
  3. 构建:npm run build
  4. 重启 Cline 扩展以加载更改

贡献

欢迎贡献!请:

  1. Fork 此仓库
  2. 创建功能分支
  3. 进行更改
  4. 提交拉取请求

许可证

MIT © dazeb

评论

支持 Markdown

第一次接触 MCP?

从协议是什么,到在客户端里装上第一个服务,这几条回答覆盖了大多数入门问题。

一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。