记忆库 MCP
Memory Bank 是一个 MCP 服务器,可帮助团队创建、管理和访问结构化的项目文档。它生成并维护一组相互关联的 Markdown 文档,这些文档涵盖项目知识的各个方面,从总体目标到技术细节,再到日常进度。
特征
- AI 生成的文档:利用 Gemini API 自动生成全面的项目文档
- 结构化知识系统:以分层结构维护六种核心文档类型
- MCP 集成:实现模型上下文协议,实现与 AI 助手的无缝集成
- 可定制的位置:指定您想要创建记忆库目录的位置
- 文档模板:项目简介、产品背景、系统模式等的预定义模板。
- 人工智能辅助更新:手动更新文档或在人工智能的帮助下重新生成文档
- 高级查询:使用上下文感知相关性排名搜索所有文档
安装
# Clone the repository
git clone https://github.com/tuncer-byte/memory-bank-mcp.git
cd memory-bank-mcp
# Install dependencies
npm install
# Create .env file with your Gemini API key (optional)
echo "GEMINI_API_KEY=your_api_key_here" > .env
用法
开发模式
# Start in development mode
npm run dev
生产模式
# Build the project
npm run build
# Start in production mode
npm run start
MCP 配置
要将 Memory Bank 与模型上下文协议 (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
替换为您构建的 index.js 文件的绝对路径,并添加您的 Gemini API 密钥(如果适用)。
例子:
{
"memoryBank": {
"command": "node",
"args": ["/Users/username/memory-bank-mcp/dist/index.js"],
"env": {
"GEMINI_API_KEY": "AIzaSyXXXXXXXXXXXXXXXXXXXXXXXX"
}
}
}
MCP 工具
记忆库 MCP 通过模型上下文协议提供以下工具:
initialize_memory_bank
创建包含所有文档模板的新存储库结构。
参数:
goal
(字符串):项目目标描述(至少 10 个字符)geminiApiKey
(字符串,可选):用于文档生成的 Gemini API 密钥location
(字符串,可选):将创建存储库文件夹的绝对路径
例子:
await callTool({
name: "initialize_memory_bank",
arguments: {
goal: "Building a self-documenting AI-powered software development assistant",
location: "/Users/username/Documents/projects/ai-assistant"
}
});
update_document
更新存储库中的特定文档。
参数:
documentType
(枚举):以下之一: projectbrief
、 productContext
、 systemPatterns
、 techContext
、 activeContext
、 progress
content
(字符串,可选):文档的新内容regenerate
(布尔值,默认值:false):是否使用 AI 重新生成文档
例子:
await callTool({
name: "update_document",
arguments: {
documentType: "projectbrief",
content: "# Project Brief\n\n## Purpose\nTo develop an advanced and user-friendly AI..."
}
});
query_memory_bank
使用上下文感知相关性排名搜索所有文档。
参数:
query
(字符串):搜索查询(至少 5 个字符)
例子:
await callTool({
name: "query_memory_bank",
arguments: {
query: "system architecture components"
}
});
export_memory_bank
导出所有存储库文档。
参数:
format
(枚举,默认值:“folder”):导出格式,可以是“json”或“folder”outputPath
(字符串,可选):导出的自定义输出路径
例子:
await callTool({
name: "export_memory_bank",
arguments: {
format: "json",
outputPath: "/Users/username/Documents/exports"
}
});
文档类型
记忆库将项目知识组织成六种核心文档类型:
- 项目简介(
projectbrief.md
):定义项目目标、范围和愿景的核心文件 - 产品上下文(
productContext.md
):从用户角度记录产品功能 - 系统模式(
systemPatterns.md
):建立系统架构和组件关系 - 技术背景(
techContext.md
):指定技术堆栈和实现细节 - 活动上下文(
activeContext.md
):跟踪当前任务、未解决的问题和开发重点 - 进度(
progress.md
):记录已完成的工作、里程碑和项目历史
执照
麻省理工学院