返回市场
内存库-MCP

内存库-MCP

作者:tuncer-byte105 星标更新:2025-06-13

项目介绍

内存银行MCP

<div align="center"> <img src="https://github.com/tuncer-byte/byte/blob/main/media/icons/icon-white.png" height="128"> <h1>内存银行MCP</h1> <p> <b>通过模型上下文协议(MCP)对LLMs进行结构化的项目知识管理</b> </p> </div> <a href="https://glama.ai/mcp/servers/@tuncer-byte/memory-bank-MCP"> <img width="380" height="200" src="https://gips1.baidu.com/it/u=1814386115,2607715646&fm=3081&app=3081&f=PNG?w=760&h=400" alt="内存银行MCP服务器" /> </a>

注意: 这不是一个传统的Node.js应用程序。内存银行MCP是一个MCP服务器——它是模型上下文协议生态系统中的一个组件。它使用标准化的协议向LLM驱动的代理和工具提供项目知识,从而实现与AI客户端(如Claude Desktop、IDE或自定义LLM代理)的无缝集成。


模型上下文协议(MCP)是什么?

MCP是一种开放协议,用于标准化应用程序如何向LLMs提供上下文。可以将MCP想象成AI的USB-C端口:它提供了一种通用的方式来连接AI模型到数据源和工具,无论是本地还是远程。MCP使以下成为可能:

  • 即插即用集成:在LLMs、数据和工具之间
  • 无摩擦切换LLM提供商
  • 安全、模块化架构:用于构建AI工作流

了解更多:MCP介绍

关于内存银行MCP

内存银行MCP是一个MCP服务器,帮助团队创建、管理和访问结构化的项目文档。它生成并维护相互关联的Markdown文档,捕捉项目知识的所有方面,从高层次目标到技术细节和日常进展。它设计为由兼容MCP的客户端和LLM代理访问。

特性

  • AI生成文档:使用Gemini API生成和更新项目文档
  • 结构化知识系统:以分层结构维护六种核心文档类型
  • MCP服务器:实现模型上下文协议,以便与LLM代理和工具集成
  • 可定制存储:选择你的内存银行目录创建位置
  • 文档模板:预定义的项目简介、产品背景、系统模式等模板
  • AI辅助更新:手动更新文档或使用AI重新生成
  • 高级查询:根据相关性排名跨所有文档搜索

安装

# 克隆仓库
git clone https://github.com/tuncer-byte/memory-bank-mcp.git
cd memory-bank-mcp

# 安装依赖
npm install

# (可选)创建包含你的Gemini API密钥的.env文件
echo "GEMINI_API_KEY=your_api_key_here" > .env

使用

注意: 内存银行MCP旨在作为MCP服务器运行,而不是独立应用。通常将其作为MCP工作流程的一部分启动,并从兼容MCP的客户端(如Claude Desktop或自己的LLM代理)连接到它。

开发模式

npm run dev

生产模式

npm run build
npm run start

MCP集成

要将内存银行MCP连接到你的MCP客户端,请在你的mcp.json配置中添加以下内容:

{
  "memoryBank": {
    "command": "node",
    "args": ["/path/to/memory-bank-mcp/dist/index.js"],
    "env": {
      "GEMINI_API_KEY": "your_gemini_api_key_here"
    }
  }
}

/path/to/memory-bank-mcp/dist/index.js替换为你构建文件的绝对路径,并根据需要添加你的Gemini API密钥。


内存银行提供的MCP工具

内存银行MCP通过模型上下文协议提供了以下工具:

initialize_memory_bank

创建一个新的内存银行结构,包括所有文档模板。

参数:

  • goal(字符串):项目目标描述(至少10个字符)
  • geminiApiKey(字符串,可选):用于文档生成的Gemini API密钥
  • location(字符串,可选):内存银行文件夹将被创建的绝对路径

示例:

await callTool({
  name: "initialize_memory_bank",
  arguments: {
    goal: "构建一个自我记录的AI驱动的软件开发助手",
    location: "/Users/username/Documents/projects/ai-assistant"
  }
});

update_document

更新内存银行中的特定文档。

参数:

  • documentType(枚举):其中之一:projectbriefproductContextsystemPatternstechContextactiveContextprogress
  • content(字符串,可选):文档的新内容
  • regenerate(布尔,默认:false):是否使用AI重新生成文档

示例:

await callTool({
  name: "update_document",
  arguments: {
    documentType: "projectbrief",
    content: "# 项目简介\n\n## 目的\n开发一个先进且用户友好的AI..."
  }
});

query_memory_bank

根据相关性排名跨所有文档搜索。

参数:

  • query(字符串):搜索查询(至少5个字符)

示例:

await callTool({
  name: "query_memory_bank",
  arguments: {
    query: "系统架构组件"
  }
});

export_memory_bank

导出所有内存银行文档。

参数:

  • format(枚举,默认:“folder”):导出格式,要么“json”要么“folder”
  • outputPath(字符串,可选):导出的自定义输出路径

示例:

await callTool({
  name: "export_memory_bank",
  arguments: {
    format: "json",
    outputPath: "/Users/username/Documents/exports"
  }
});

文档类型

内存银行将项目知识组织成六种核心文档类型:

  1. 项目简介projectbrief.md):定义项目目标、范围和愿景的核心文档
  2. 产品背景productContext.md):从用户角度记录产品的功能
  3. 系统模式systemPatterns.md):建立系统架构和组件关系
  4. 技术背景techContext.md):指定技术栈和实施细节
  5. 活动背景activeContext.md):跟踪当前任务、开放问题和开发重点
  6. 进度progress.md):记录已完成的工作、里程碑和项目历史

许可证

MIT