软件开发的复杂性不仅在于编写代码本身,更在于持续维护对项目结构、组件关系、决策背景和任务进度的清晰认知。每次长假归来、切换到新需求,甚至只是隔了一天再打开项目,我们常常会陷入“我当时做到哪了?这个组件为什么这样设计?”的迷茫中。Developer Context MCP Server 正是为解决这一核心痛点而生——它是一个专为开发团队设计的持久化上下文管理系统,让你和 AI 助手在每一次编码会话中都能精确回忆起项目的全貌。
项目基本信息
| 信息项 | 详情 |
|---|---|
| 项目名称 | Developer Context MCP Server |
| GitHub 地址 | https://github.com/tejpalvirk/contextmanager |
| 项目描述 | 高性能上下文管理系统,在编码会话之间保持持久化上下文,跟踪项目结构、依赖关系和开发进度 |
| 作者 | tejpalvirk |
| 开源协议 | MIT License |
| 开源状态 | 公开状态 |
| Languages | TypeScript |
| 支持平台 | Windows / macOS / Linux |
| 最后更新 | 2025-06-06 |
一、项目介绍
Developer Context MCP Server 可以理解为一个“开发团队的集体记忆系统”。它通过构建一张知识图谱,将项目中的各种实体以及它们之间复杂的关系结构化地存储起来。这些实体包括:
- 项目:整体软件项目或产品
- 组件:模块、服务、包等逻辑单元
- 特性:正在开发的特定功能
- 问题:需要解决的错误或缺陷
- 任务:开发工作项或活动
- 开发者:参与的团队成员
- 技术:使用的语言、框架或工具
- 决策:重要的技术或架构决策
- 里程碑:关键项目截止日期或阶段
这不仅仅是静态的清单。该服务器模拟了超过20种实体关系,例如 depends_on(依赖)、implements(实现)、blocked_by(阻塞)、assigned_to(分配)、uses(使用技术)等,真实反映了软件开发中的动态联系。
核心工具集
服务器提供了 6 个核心 MCP 工具,用于与这张知识图谱交互:
| 工具 | 功能 | 典型使用时机 |
|---|---|---|
startsession | 启动新会话,回顾最近会话、活跃项目和高优先级任务 | 每天开始工作时 |
loadcontext | 加载任意实体的详细上下文(项目、组件、任务等) | 需要了解某个具体模块时 |
endsession | 通过结构化复盘结束会话,记录成就、任务更新和项目状态 | 每天结束工作时 |
buildcontext | 创建新的实体、关系或观察记录 | 项目结构变更、新决策产生时 |
deletecontext | 删除实体、关系或观察记录 | 清理过时信息时 |
advancedcontext | 使用多种查询类型(图、搜索、节点、关联、决策、里程碑)灵活检索 | 需要深入分析时 |
通过这些工具,你的 AI 助手可以在每次对话开始时自动回顾昨天的进展,在每次对话结束时帮你记录完成的任务和产生的决策,并在任何时刻回答有关项目状态、组件依赖和历史背景的查询。
二、核心优势
真正持久的开发上下文
与其他仅在单次会话中有效的信息不同,Developer Context MCP Server 将所有上下文持久化存储在 JSON 文件中。这意味着你关闭电脑、休假一周回来后,AI 助手仍能精确告诉你“这周我们需要完成哪个里程碑”“这个组件为什么选用了这个技术方案”。这种跨会话的连续性,是提升开发效率的关键。
结构化的决策历史
项目中最容易丢失的往往是“为什么这么做”。通过 buildcontext 记录的“决策”实体,你可以关联时间、参与者、相关会议和影响范围,形成可追溯的决策历史。再也不用靠翻聊天记录或凭借模糊记忆来理解当初的选择。
灵活的查询与分析
advancedcontext 工具提供了 6 种查询模式:
- 图查询:可视化实体之间的关系网络
- 搜索:按关键词查找实体
- 节点:查看单个实体的完整信息
- 关联:找出与某个实体相关的所有其他实体
- 决策:筛选和回顾所有决策记录
- 里程碑:监控项目关键节点的进度
这让 AI 助手不仅能“记住”信息,还能“分析”信息。
轻量级与可配置
所有数据存储在本地 JSON 文件中,无需额外数据库。通过环境变量 MEMORY_FILE_PATH 和 SESSIONS_FILE_PATH,你可以灵活控制这些文件的存储位置,适合个人使用和团队共享。
MIT 开源协议
采用商业友好的 MIT 协议,可自由使用、修改和分发。
三、适用场景
每日工作启动与收尾
- 早上: AI 助手运行
startsession,告诉你今天的待办任务、最近的工作上下文和即将到来的里程碑。 - 晚上: AI 助手引导你运行
endsession,结构性记录今天完成了什么、遇到了哪些问题、项目状态有什么变更。
新人入职与知识传递
新成员加入团队时,让 AI 加载项目核心组件的上下文,快速了解架构、关键依赖和历史决策——“给我概述 ProjectX 的架构和组件结构。”
依赖关系影响分析
在修改核心组件前,询问 AI:“如果我修改认证服务,会影响哪些其他组件和特性?”AI 通过查询知识图谱中的 depends_on 关系,给出影响范围。
项目进度监控
项目负责人可以随时询问:“我们在 Q2 发布里程碑方面的进展如何?”AI 会检索所有关联的任务和特性状态,识别潜在的风险项。
架构决策回顾
当团队成员对某个设计产生疑问时,可以查询:“为什么 API 层选择了 GraphQL 而不是 REST?”AI 会检索到记录此决策的会议、参与者和背景。
四、安装教程
环境要求
| 工具 | 用途 | 下载/安装方式 |
|---|---|---|
| Node.js | 运行环境 | >= 16.x |
| Claude Desktop 等 MCP 客户端 | AI 交互界面 | 已安装 |
安装方式一:通过 npx 直接使用(推荐)
在 Claude Desktop 的配置文件中添加:
{
"mcpServers": {
"developer": {
"command": "npx",
"args": ["-y", "github:tejpalvirk/developer"]
}
}
}安装方式二:全局安装
npm install -g github:tejpalvirk/contextmanager/developer然后配置:
{
"mcpServers": {
"developer": {
"command": "contextmanager-developer"
}
}
}安装方式三:Docker
{
"mcpServers": {
"developer": {
"command": "docker",
"args": ["run", "--rm", "-i", "mcp/developer"]
}
}
}自定义数据存储路径
你可以通过环境变量自定义知识图谱和会话记录的存储位置:
{
"mcpServers": {
"developer": {
"command": "npx",
"args": ["-y", "github:tejpalvirk/developer"],
"env": {
"MEMORY_FILE_PATH": "/path/to/your/memory.json",
"SESSIONS_FILE_PATH": "/path/to/your/sessions.json"
}
}
}
}默认存储路径为 ./developer/memory.json 和 ./developer/sessions.json。
从源代码构建
git clone https://github.com/tejpalvirk/contextmanager.git
cd contextmanager
npm install
npm run build
cd developer
node developer_index.js五、使用示例
示例一:启动新的一天
用户:为我启动一个新的开发会话。
AI 调用 startsession 工具,返回昨天结束时的任务状态、当前活跃的项目和本周即将截止的里程碑。
示例二:加载特定组件的上下文
用户:显示 AuthService 组件的当前状态,包括它的依赖、实现的功能和分配的任务。
AI 调用 loadcontext 工具,加载 AuthService 实体的完整上下文,返回它的技术栈、关联功能、待解决问题和处理人员。
示例三:结束会话并记录进度
用户:结束今天的开发会话。今天我在 AuthService 上工作了 4 小时,完成了用户认证流的实现,遇到了一个关于 token 刷新机制的未解决问题。
AI 调用 endsession 工具,引导你完成成就记录、任务状态更新、新问题创建,并保存会话摘要。
示例四:查询依赖关系
用户:显示所有依赖于 DatabaseService 的组件和特性。
AI 调用 advancedcontext 工具,使用“关联”查询模式,返回所有与 DatabaseService 有 depends_on 关系的实体列表。
示例五:回顾历史决策
用户:关于 API 层的技术选型,当初团队做出了哪些决策?
AI 调用 advancedcontext 工具,使用“决策”查询模式,返回与 API 层相关的所有决策记录,包括时间、参与者和背景说明。
六、常见问题
问:我的数据存储在哪里?会不会丢失?
答:数据默认存储在当前工作目录下的 ./developer/memory.json 和 ./developer/sessions.json 文件中,为纯 JSON 格式。你可以通过环境变量自定义路径。只要文件不被删除,数据就会持久保留。建议定期备份这些文件。
问:可以多人共享同一个知识图谱吗?
答:可以。将数据文件放在共享目录(如团队 NAS、同步云盘)中,多个开发者通过配置相同的 MEMORY_FILE_PATH 和 SESSIONS_FILE_PATH 即可共享。但要注意文件级别的并发写入问题,建议通过流程约定避免同时修改。
问:知识图谱会不会变得很臃肿?
答:随着时间推移,存储的信息确实会增加。但 JSON 格式的存储量远小于数据库,正常开发项目的知识图谱通常只有几 MB。如果需要清理,可以使用 deletecontext 工具删除不再相关的实体和关系。
问:这个工具和普通的笔记工具(如 Notion、Obsidian)有什么区别?
答:它的核心优势在于结构化查询和AI 集成。笔记工具通常是非结构化的自由文本,难以自动查询“所有依赖于 X 的组件”。而 Developer Context MCP Server 将所有信息建模为实体和关系,AI 可以通过 advancedcontext 进行精确的图查询和关联分析。
问:如何迁移数据到另一台电脑?
答:直接复制 memory.json 和 sessions.json 两个文件到新电脑,然后在 MCP 客户端配置中指定相同的数据路径即可。
七、总结
Developer Context MCP Server 补上了软件开发中一块关键的拼图——跨会话的持久化上下文和结构化记忆。它不生成代码,也不执行命令,但它确保你和你的 AI 助手在任何时候都清楚项目的全貌、当前的进展和历史的决策。
对于个人开发者,它如同一个随身携带的项目管家;对于团队,它像一个无言的架构师,默默记录和传递着项目知识。花十分钟完成初始配置,并在几个开发周期中养成“启动会话-记录进度-结束会话”的习惯,你会发现管理复杂项目从未如此清晰。
这个工具和其他项目管理工具不冲突,它更偏向于“上下文记录”而不是“任务分配”。
作为Tech Lead,终于有了一个能系统记录架构决策过程的工具。
有些关系类型我暂时用不上,但不妨碍整体体验。
相比传统的README或Confluence文档,这个的优势是结构化且可以通过AI自然语言查询。
对于经常多项目并行的开发者,不同项目的数据文件分开管理是最佳实践。