软件开发的复杂性不仅在于编写代码本身,更在于持续维护对项目结构、组件关系、决策背景和任务进度的清晰认知。每次长假归来、切换到新需求,甚至只是隔了一天再打开项目,我们常常会陷入“我当时做到哪了?这个组件为什么这样设计?”的迷茫中。Developer Context MCP Server 正是为解决这一核心痛点而生——它是一个专为开发团队设计的持久化上下文管理系统,让你和 AI 助手在每一次编码会话中都能精确回忆起项目的全貌。

项目基本信息

信息项详情
项目名称Developer Context MCP Server
GitHub 地址https://github.com/tejpalvirk/contextmanager
项目描述高性能上下文管理系统,在编码会话之间保持持久化上下文,跟踪项目结构、依赖关系和开发进度
作者tejpalvirk
开源协议MIT License
开源状态公开状态
LanguagesTypeScript
支持平台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_PATHSESSIONS_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_PATHSESSIONS_FILE_PATH 即可共享。但要注意文件级别的并发写入问题,建议通过流程约定避免同时修改。

问:知识图谱会不会变得很臃肿?

答:随着时间推移,存储的信息确实会增加。但 JSON 格式的存储量远小于数据库,正常开发项目的知识图谱通常只有几 MB。如果需要清理,可以使用 deletecontext 工具删除不再相关的实体和关系。

问:这个工具和普通的笔记工具(如 Notion、Obsidian)有什么区别?

答:它的核心优势在于结构化查询AI 集成。笔记工具通常是非结构化的自由文本,难以自动查询“所有依赖于 X 的组件”。而 Developer Context MCP Server 将所有信息建模为实体和关系,AI 可以通过 advancedcontext 进行精确的图查询和关联分析。

问:如何迁移数据到另一台电脑?

答:直接复制 memory.jsonsessions.json 两个文件到新电脑,然后在 MCP 客户端配置中指定相同的数据路径即可。

七、总结

Developer Context MCP Server 补上了软件开发中一块关键的拼图——跨会话的持久化上下文和结构化记忆。它不生成代码,也不执行命令,但它确保你和你的 AI 助手在任何时候都清楚项目的全貌、当前的进展和历史的决策。

对于个人开发者,它如同一个随身携带的项目管家;对于团队,它像一个无言的架构师,默默记录和传递着项目知识。花十分钟完成初始配置,并在几个开发周期中养成“启动会话-记录进度-结束会话”的习惯,你会发现管理复杂项目从未如此清晰。

标签: 开发者工具

已有 30 条评论

    1. WillZhang WillZhang

      知识图谱文件不小心被格式化了,还好有Git历史恢复。

    2. XenaLi XenaLi

      这个工具+一个任务管理MCP+一个文件编辑MCP,构成了我日常开发的“铁三角”。

    3. YaleSun YaleSun

      如果能自动从代码中提取组件关系(比如通过import分析)会更强,目前是纯手动维护。

    4. ZoeChen ZoeChen

      手动维护也有好处——只有你意识到重要的关系才会被记录,不会被自动生成的无用信息淹没。

    5. AlexBrown AlexBrown

      总体评价:非常轻量,但解决了一个普遍而深刻的痛点——开发上下文的丢失。