关于 DevContext: Autonomous Context Awareness Model-Context-Protocol (MCP) Server
DevContext 是一个 MCP 服务,为开发者提供面向项目的上下文感知能力。它通过关键词分析、关系图和结构化元数据进行检索,而非使用向量嵌入,每个服务实例专用于单个项目。项目以 Cursor 规则系统作为推荐的使用方式。
主要功能
- 01面向单个项目的专用数据库实例
- 02基于关键词与关系图的非向量检索
- 03代码实体索引与关系追踪
- 04对话上下文的初始化、更新与结束管理
- 05里程碑记录与模式提取
适用场景
- 01在 Cursor 中为 AI 助手保持项目上下文
- 02跨会话记录开发里程碑与决策
- 03结合 Context7 获取外部库文档后再编写代码
MCP 相关
该项目是一个 MCP 服务,向 Cursor 等 IDE 客户端暴露 initialize_conversation_context、update_conversation_context、retrieve_relevant_context、record_milestone_context 和 finalize_conversation_context 等工具。
配置
本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。
工具
5收录的工具列表 · 更新于 3 周前
| 参数 | 类型 | 必填 | 说明 |
|---|---|---|---|
| focusHint | object | 否 | |
| focusHint.type | string | 是 | |
| focusHint.identifier | string | 是 | |
| tokenBudget | number | 否 | |
| contextDepth | enum | 否 | minimal | standard | comprehensive |
| initialQuery | string | 否 | |
| maxRecentChanges | number | 否 | |
| includeArchitecture | boolean | 否 | |
| maxCodeContextItems | number | 否 | |
| includeRecentConversations | boolean | 否 |
详细介绍
DevContext:自主上下文感知 Model-Context-Protocol(MCP)服务
借助智能上下文感知,提升开发工作流——DevContext 能够理解你的代码库、对话和开发模式,在你需要时提供相关上下文。
简介
DevContext 是一款先进的 Model Context Protocol(MCP)服务,旨在为开发者提供持续、以项目为中心的上下文感知。与传统上下文系统不同,DevContext 会持续学习并适应你的开发模式。DevContext 运用先进的检索方法,专注于关键词分析、关系图谱和结构化元数据,在开发过程中提供高度相关的上下文,并深入理解你的对话和代码库。
该服务使用专用于单个项目的数据库实例,消除了跨项目的复杂性,并以最低的资源需求确保性能。DevContext 能够全面理解你的代码库——从仓库结构到单个函数——同时持续学习并适应你的开发模式。
使用此 MCP 服务的最佳方式是按照以下指南实施提供的 Cursor Rules 系统,从而实现:
- 完全自主的上下文管理
- 自主管理外部文档上下文及其使用
- 完整集成任务管理工作流
核心技术
- Node.js:运行环境(Node.js 18+)
- TursoDB:针对边缘部署优化的 SQL 数据库(兼容 SQLite)
- Model Context Protocol SDK:用于与 IDE 客户端进行标准化通信
- Cursor Rules:自主开发环境和工作流管理
- JavaScript/TypeScript:纯 JavaScript 实现,无外部机器学习依赖
安装指南
前提条件
- Node.js 18.0.0 或更高版本
- 支持 MCP 的 Cursor IDE
- TursoDB 账户(用于数据库)
步骤 1:设置 TursoDB 数据库
-
注册 TursoDB:
- 访问 Turso 并创建账户
- 免费套餐足以满足大多数项目的需求
-
安装 Turso CLI(可选,但推荐):
curl -sSfL https://get.turso.tech/install.sh | bash -
通过 Turso 进行身份验证:
turso auth login -
创建项目数据库:
turso db create devcontext -
获取数据库凭据:
# Get database URL turso db show devcontext --url # Create auth token turso db tokens create devcontext保存 URL 和令牌,以便在下一步使用。
步骤 2:在 Cursor 中配置 MCP(也可用于其他 IDE)
在项目目录中创建或编辑 .cursor/mcp.json:
{
"mcpServers": {
"devcontext": {
"command": "npx",
"args": ["-y", "devcontext@latest"],
"enabled": true,
"env": {
"TURSO_DATABASE_URL": "your-turso-database-url",
"TURSO_AUTH_TOKEN": "your-turso-auth-token"
}
}
}
}
将 your-turso-database-url 和 your-turso-auth-token 替换为步骤 1 中获取的值。
Cursor Rules 实施
DevContext 实现了一套先进的 Cursor Rules,可创建自主开发环境。这些规则将指导 Cursor 的 AI 助手保持项目范围一致、纳入最新文档,并实现高级任务工作流。
敬请期待即将推出的 DevContext Project Generator,它将为你的项目创建一套完整的配置,让你的开发工作流效率提升 10 倍。
关键规则组件
1. DevContext MCP 工具使用指南
核心规则定义了工具执行的精确顺序:
1. FIRST: Call initialize_conversation_context EXACTLY ONCE at START
2. AS NEEDED: Call update_conversation_context for code changes/new messages
3. AS NEEDED: Call retrieve_relevant_context when specific context is required
4. OCCASIONALLY: Call record_milestone_context for significant achievements
5. LAST: Call finalize_conversation_context EXACTLY ONCE at END
此工作流可确保在整个开发过程中全面管理上下文。
2. 外部库文档要求
使用任何外部库之前,都必须先正确检索相关文档:
- 使用 Context7 进行两步文档检索
- 对于 Context7 中没有的文档,使用网络搜索作为回退方案
- 使用多来源文档综合分析,以获得全面理解
这样可以避免 API 使用错误、版本不兼容或缺少依赖项等常见问题。
3. 任务工作流系统
任务工作流系统支持:
- 在
tasks.md中进行结构化任务管理 - 基于任务 ID 的实现顺序
- 使用完成元数据跟踪状态
- 集成项目蓝图,提供架构背景
设置 Cursor 规则
-
创建规则目录:
mkdir -p .cursor/rules -
下载/复制并粘贴规则:
将 .cursor/rules 目录下载或复制并粘贴到项目中。接下来,将项目根目录中 .cursorrules 文件的内容复制并粘贴到 Cursor 设置中的规则里(Cursor Settings -> Rules -> User Rules)。还应将 .cursorrules 文件复制并粘贴到主目录中。
- 自定义任务工作流(可选): 实施 Cursor 规则后,重启 Cursor,然后根据你的项目构想,让它为你创建任务。
配置示例
下面是一个完整的 mcp.json 文件示例,用于配置 DevContext 和 Context7 MCP 服务:
{
"mcpServers": {
"devcontext": {
"command": "npx",
"args": ["-y", "devcontext@latest"],
"enabled": true,
"env": {
"TURSO_DATABASE_URL": "libsql://your-project-db-name.turso.io",
"TURSO_AUTH_TOKEN": "your_turso_auth_token_here"
}
},
"context7": {
"command": "npx",
"args": ["-y", "@upstash/context7-mcp@latest"]
}
}
}
重要参数
| 参数 | 描述 | 默认值 |
|---|---|---|
TURSO_DATABASE_URL | TursoDB 实例的 URL | 无(必填) |
TURSO_AUTH_TOKEN | TursoDB 的身份验证令牌 | 无(必填) |
目录
系统概览
DevContext 是一款先进的软件开发上下文管理系统,采用模型上下文协议(MCP),并实现了高级上下文检索技术。
该系统以 Node.js 应用的形式运行,采用模块化 JavaScript 代码库,并使用 esbuild 打包为单个 .js 文件。它使用 TursoDB(或类似的 SQL 数据库)作为持久化存储,用于存储特定项目的所有上下文、元数据和可选日志。
主要特点:
- 非向量检索:上下文检索采用复杂的关键词分析、关系图和结构化元数据,而非向量嵌入
- 以项目为中心的设计:每个服务实例专用于单个项目,简化数据管理
- 最少依赖项:仅限核心必需项——MCP SDK、TursoDB 客户端和轻量级 AST 解析
- 分层理解:从代码库结构到函数/变量级别理解上下文
- 智能上下文优先级排序:根据近期性、重要性、关联关系和开发者关注点进行多因素相关性评分
核心组件
文本处理
- 支持语言感知分词,并针对 JavaScript/TypeScript、Python、Java、C#、Ruby 和 Go 进行专门处理
- 关键词提取,并采用特定于语言的加权方式
- 尊重语义边界的 n 元语法
- 特定于语言的惯用表达检测
上下文管理
- 代码实体索引和关系跟踪
- 对话主题分段和目的检测
- 时间线事件记录和里程碑快照
- 根据开发者活动预测关注区域
模式识别
- 代码模式识别和存储
- 根据示例自动学习模式
- 跨会话模式提升
- 设计模式检测
意图与相关性分析
- 查询意图预测
- 多因素上下文优先级排序
- Token 预算管理
- 跨主题转换的上下文整合
MCP 工具
DevContext 实现了以下可由 Cursor IDE 调用的 MCP 工具:
initialize_conversation_context
使用全面的项目上下文初始化新的对话会话。
使用时机:每次对话开始时调用,且只调用一次。
主要参数:
initialQuery:用户的第一条消息或问题contextDepth:最小、标准或全面的上下文深度includeArchitecture:是否包含架构上下文focusHint:可选,指定要关注的代码实体
返回:对话 ID 和初始上下文摘要
update_conversation_context
使用新消息和代码变更更新当前上下文。
使用时机:代码发生变更或交流新消息后。
主要参数:
conversationId:来自 initialize_conversation_context 的 IDnewMessages:上次更新以来交流的新消息codeChanges:新建或修改的代码文件preserveContextOnTopicShift:主题切换时是否保留上下文
返回:更新后的关注点和上下文连续性信息
retrieve_relevant_context
检索与特定查询相关的上下文片段。
使用时机:需要特定项目上下文时。
主要参数:
conversationId:来自 initialize_conversation_context 的 IDquery:关于项目的具体问题constraints:可选,用于筛选实体类型、文件路径等的条件weightingStrategy:结果的优先级排序方式
返回:相关上下文片段及其说明
record_milestone_context
记录重要的开发里程碑,供日后参考。
使用时机:完成重要功能、修复关键 Bug 或做出架构决策后。
主要参数:
conversationId:来自 initialize_conversation_context 的 IDname:简短且能描述里程碑的名称description:详细说明milestoneCategory:类别(功能、Bug 修复、重构等)assessImpact:是否分析影响
返回:里程碑 ID 和影响评估
finalize_conversation_context
结束对话、提取经验并建议后续步骤。
使用时机:每次对话结束时调用,且只调用一次。
主要参数:
conversationId:来自 initialize_conversation_context 的 IDextractLearnings:是否识别并提取经验promotePatterns:是否将模式提升至全局仓库generateNextSteps:是否建议后续操作
返回:对话摘要、提取的经验和后续步骤
数据架构
DevContext 使用 SQL 数据库(TursoDB),包含以下核心表:
- code_entities:存储从文件、函数、类等索引的代码。
- entity_keywords:将关键词映射到代码实体,以便搜索。
- code_relationships:跟踪代码实体之间的关系。
- conversation_history:存储对话消息。
- conversation_topics:将对话划分为连贯的主题。
- timeline_events:记录重要的开发事件。
- project_patterns:存储识别出的代码模式。
- focus_areas:跟踪开发者的关注点和意图。
数据库架构由服务自动创建和维护。
技术规格
- Node.js:要求版本 18.0.0 或更高
- 数据库:TursoDB(或兼容的 SQLite)
- 打包:使用 ESBuild 进行单文件部署
- 协议:通过 @modelcontextprotocol/sdk 使用 Model Context Protocol
- 解析:轻量级 JavaScript AST 解析(acorn)
- 操作系统:跨平台(Windows、macOS、Linux)
性能注意事项
DevContext 针对以下方面进行了性能优化:
- 高效 SQL 查询,并配有适当的索引
- 内存缓存,用于频繁访问的数据
- 增量更新,以尽量减少处理量
- 异步操作,实现非阻塞执行
- 根据令牌预算自适应检索上下文
- 在空闲时段执行计划的后台任务
对于大型代码库(>100,000 行代码),初始索引可能需要几分钟,但后续操作仍能保持快速、灵敏。
安全性
- 隔离的数据库:每个项目使用专用数据库实例
- 安全凭据:通过环境变量管理 TursoDB 凭据
- 输入验证:使用 Zod 架构验证所有输入
- 参数化查询:防止 SQL 注入
- 无外部 API:所有处理均在本地进行
故障排查
常见问题和解决方案:
- 连接错误:检查 TursoDB 凭据和数据库 URL
- 初始启动缓慢:大型代码库出现此情况属正常;后续启动会更快
- 缺少上下文:检查令牌预算;必要时增加预算
- 工具错误:确保在工具之间传递了正确的对话 ID
- 性能问题:考虑缩小索引文件范围或增大缓存
许可证
本项目采用 MIT 许可证授权,详情请参阅 LICENSE 文件。
DevContext:持续上下文,助力持续进步
评论
一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。