使用说明
项目简介
Dev Memory Server 是一个基于 Model Context Protocol (MCP) 构建的后端服务,专注于为开发者提供跨项目持久化的开发记忆管理。它可以自动捕获和组织开发上下文、代码变更以及用户交互信息,并以结构化的方式提供给LLM客户端,从而增强LLM在开发辅助场景下的能力。
主要功能点
- 存储开发上下文 (store_context): 允许客户端将各种开发相关的上下文信息(如代码片段、用户操作、会议记录等)存储到服务器。
- 检索开发上下文 (get_context): 允许客户端根据查询语句检索相关的开发上下文记忆,以便LLM更好地理解当前开发状态和历史信息。
- 优化记忆 (optimize_memory): 提供多种策略(如压缩、修剪)来优化存储的开发记忆,保持上下文信息的有效性和降低冗余。
- 基于文件的持久化存储: 使用文件系统作为存储后端,将开发记忆持久化保存。
- Stdio传输协议: 通过标准输入输出 (stdio) 与MCP客户端进行JSON-RPC通信。
- 声明工具和资源能力: 服务器声明支持工具 (tools) 和资源 (resources) 功能。
安装步骤
- 安装 Node.js 和 npm: 确保你的开发环境中已安装 Node.js 和 npm 包管理器。
- 克隆仓库: 将仓库 'https://github.com/TrackerXXX23/dev_memory_mcp' 克隆到本地。
git clone https://github.com/TrackerXXX23/dev_memory_mcp cd dev_memory_mcp - 安装依赖: 在项目根目录下运行以下命令安装项目依赖。
npm install - 构建项目: 运行以下命令构建项目。
npm run build - 启动服务器: 运行以下命令启动 Dev Memory MCP 服务器。
启动成功后,服务器将通过 stdio 监听来自 MCP 客户端的请求。npm start
服务器配置
MCP客户端需要配置以下信息以连接到 Dev Memory MCP 服务器。以下为 JSON 格式的配置信息示例,请根据实际情况进行配置。
{ "serverName": "dev-memory", // MCP服务器名称,与server info中的name一致 "command": "npm", // 启动服务器的命令,这里使用 npm "args": ["start"], // 启动命令的参数,这里使用 "start" 运行 npm start 脚本 "transport": "stdio" // 使用 stdio 传输协议 }
配置参数说明:
- 'serverName': 服务器名称,必须与 'src/index.ts' 中 'Server' 构造函数中 'name' 属性的值 '"dev-memory"' 一致。
- 'command': 启动服务器的可执行命令。由于项目使用了 'npm start' 脚本启动服务器,因此这里配置为 '"npm"'。
- 'args': 启动命令的参数。'npm start' 实际上是运行 'npm' 命令并执行 'start' 脚本,因此参数配置为 '["start"]'。
- 'transport': 传输协议,Dev Memory Server 使用 stdio 传输,因此配置为 '"stdio"'。
请注意: MCP客户端需要能够执行 'npm' 命令,并确保当前工作目录是 'dev_memory_mcp' 项目的根目录,或者命令路径配置正确,以便 'npm start' 能够正确执行并启动服务器。
基本使用方法
Dev Memory Server 通过 JSON-RPC 协议与客户端通信。客户端需要按照 MCP 协议规范构造 JSON-RPC 请求,并通过 stdio 发送给服务器。服务器接收请求后,会根据请求的方法名调用相应的处理函数,并将结果以 JSON-RPC 响应的形式通过 stdio 返回给客户端。
示例请求 (存储上下文):
{ "jsonrpc": "2.0", "method": "tool:store_context", "params": { "arguments": { "context_type": "development", "content": "用户在代码编辑器中打开了文件 src/index.ts", "metadata": { "file_path": "src/index.ts", "action": "open_file" } } }, "id": "1" }
示例请求 (检索上下文):
{ "jsonrpc": "2.0", "method": "tool:get_context", "params": { "arguments": { "query": "最近打开的文件", "context_type": "development", "max_results": 3 } }, "id": "2" }
示例请求 (优化记忆):
{ "jsonrpc": "2.0", "method": "tool:optimize_memory", "params": { "arguments": { "strategy": "compress" } }, "id": "3" }
请参考 MCP 协议文档和 'src/sdk/types.ts' 文件,了解更多请求和响应的格式细节。
注意: 根据 'README.md' 描述,该项目目前状态为 "BLOCKED",可能存在文件系统访问和 JSON 响应处理方面的问题。使用时请注意潜在的错误和不稳定性。
信息
分类
开发者工具