使用说明
DevContext:自主上下文感知模型上下文协议(MCP)服务器
通过智能上下文感知增强您的开发工作流程 -DevContext了解你的代码库、对话和开发模式,以便在你需要的时候提供相关的上下文。
引言
DevContext是一个先进的模型上下文协议(MCP)服务器,旨在为开发人员提供持续的、以项目为中心的上下文感知。与传统的上下文系统不同,DevContext不断学习并适应您的开发模式。DevContext利用复杂的检索方法,专注于关键字分析、关系图和结构化元数据,在开发过程中提供高度相关的上下文,在更深层次上理解您的对话和代码库。
服务器使用专用于单个项目的数据库实例进行操作,消除了跨项目的复杂性,并以最低的资源要求确保了性能。DevContext构建了对代码库的全面理解——从存储库结构到单个函数——同时不断学习和适应您的开发模式。
最好的办法 要使用此MCP服务器,请按照以下指南实施提供的游标规则系统,该系统反过来为您提供:
- 完全自主的上下文管理
- 自主 外部文档上下文和使用
- 完成 任务管理 工作流集成
核心技术
- Node.js:运行时环境(Node.js 18+)
- TursoDB:针对边缘部署优化的SQL数据库(与SQLite兼容)
- 模型上下文协议SDK:用于与IDE客户端进行标准化通信
- 光标规则:自主开发环境和工作流管理
- JavaScript/TypeScript:纯JavaScript实现,无外部机器学习依赖
安装指南
先决条件
- Node.js 18.0.0或更高版本
- 支持MCP的游标IDE
- TursoDB帐户(用于数据库)
步骤1:设置TursoDB数据库
-
注册TursoDB:
- 访问 杜尔索 并创建一个帐户
- 免费版对于大多数项目来说已经足够了
-
安装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中获得的值。
游标规则实现
DevContext实现了一组复杂的游标规则,创建了一个自主开发环境。这些规则指导Cursor的AI助手保持项目范围的一致性,整合最新文档,并实施高级任务工作流。
密切留意 DevContext项目生成器即将推出,它将为您的项目创建一个完整的设置,使您的开发工作流程增加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的执行顺序
- 使用完成元数据进行状态跟踪
- 建筑背景下的项目蓝图集成
设置光标规则
-
创建规则目录:
mkdir -p .cursor/rules -
下载/复制和粘贴规则:
下载或复制并粘贴.cursor/rules目录到您的项目中。接下来,复制并粘贴 .cursorrules 在项目根目录中创建文件,并将其粘贴到光标设置规则中(光标设置->规则->用户规则)。您还应该复制并粘贴 .cursorrules 也将文件保存到主目录中。
- 自定义任务工作流 (可选): 一旦实现了游标规则,重新启动游标,并继续要求它根据您可能有的任何项目想法为您创建任务。
配置示例
下面是一个完整的例子 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代码库,捆绑在一个单一的 .js 文件使用 esbuild它利用TursoDB(或类似的SQL数据库)作为特定项目的所有上下文、元数据和可选日志的持久存储。
主要区别:
- 非矢量检索:上下文检索使用复杂的关键字分析、关系图和结构化元数据,而不是向量嵌入
- 以项目为中心的设计:每个服务器实例都专用于一个项目,简化了数据管理
- 最小依赖性:仅限于核心要素-MCP SDK、TursoDB客户端和轻量级AST解析
- 分层理解:上下文从存储库结构向下理解到功能/变量级别
- 智能上下文优先级:基于新近度、重要性、关系和开发人员关注度的多因素相关性评分
核心组件
文本处理
- 语言感知标记化 对JavaScript/TypeScript、Python、Java、C#、Ruby和Go进行专门处理
- 关键词提取 具有特定语言的权重
- 关于n元语法的语义边界
- 特定语言习语检测
上下文管理
- 代码实体索引 关系跟踪
- 会话主题分割 目的检测
- 时间线事件记录 以及里程碑快照
- 重点领域预测 基于开发人员活动
模式识别
- 代码模式识别 和存储
- 自动模式学习 从示例中
- 跨时段模式推广
- 设计模式检测
意图与相关性分析
- 查询意图预测
- 多因素上下文优先级
- 代币预算管理
- 跨主题转换的上下文集成
MCP工具
DevContext实现了以下可由Cursor IDE调用的MCP工具:
初始化对话文本
使用全面的项目上下文初始化新的对话会话。
何时使用:每次谈话开始时,就一次。
关键参数:
initialQuery:用户的第一条消息或问题contextDepth:最小、标准或全面的上下文深度includeArchitecture:是否包括建筑背景focusHint:可选择关注特定代码实体
退货:对话ID和初始上下文摘要
update_conversation_context
用新消息和代码更改更新活动上下文。
何时使用:代码更改或交换新消息后。
关键参数:
conversationId:来自initialize_conversation_context的IDnewMessages:自上次更新以来交换的新消息codeChanges:创建或修改的代码文件preserveContextOnTopicShift:在主题更改期间是否保持上下文
退货:更新重点和背景连续性信息
检索相关文本
检索与特定查询相关的上下文片段。
何时使用:需要特定项目背景时。
关键参数:
conversationId:来自initialize_conversation_context的IDquery:关于项目的具体问题constraints:实体类型、文件路径等的可选过滤器。weightingStrategy:如何确定结果的优先顺序
退货:带解释的相关上下文片段
record_milestone_context
记录重要的开发里程碑,以供将来参考。
何时使用:完成重要功能、修复关键错误或做出架构决策后。
关键参数:
conversationId:来自initialize_conversation_context的IDname:简短的描述性里程碑名称description:详细说明milestoneCategory:类别(功能、错误修复、重构等)assessImpact:是否分析影响
退货:里程碑ID和影响评估
finalize_conversation_context
结束对话,总结经验教训并建议下一步行动。
何时使用:每次谈话结束时,就一次。
关键参数:
conversationId:来自initialize_conversation_context的IDextractLearnings:是否识别和提取学习成果promotePatterns:是否将模式推广到全球存储库generateNextSteps:是否建议采取后续行动
退货:对话总结、摘录的学习内容和下一步行动
数据架构
DevContext使用具有以下核心表的SQL数据库(TursoDB):
- code_entities:存储来自文件、函数、类等的索引代码。
- 实体_关键字:将关键字映射到代码实体以进行搜索
- 代码关系:跟踪代码实体之间的关系
- 对话_历史:存储对话消息
- 对话主题:将对话分割成连贯的主题
- 时间线_事件:记录重大发展事件
- 项目模式:存储已识别的代码模式
- 焦点_区域:跟踪开发人员的注意力和意图
数据库模式由服务器自动创建和维护。
技术规格
- Node.js:需要18.0.0或更高版本
- 数据库:TursoDB(或兼容的SQLite)
- 捆绑:ESBuild用于单文件部署
- 协议:通过@modelcontextprotocol/sdk实现模型上下文协议
- 解析:轻量级JavaScript AST解析(橡子)
- 操作系统:跨平台(Windows、macOS、Linux)
性能注意事项
DevContext针对性能进行了优化,包括:
- 高效的SQL查询 有适当的索引
- 内存缓存 用于频繁访问的数据
- 增量更新 尽量减少处理
- 异步操作 用于非阻塞执行
- 自适应上下文检索 基于代币预算
- 计划后台任务 在空闲期间
对于大型代码库(>100000 LOC),初始索引可能需要几分钟,但后续操作仍然快速响应。
安全
- 独立数据库:每个项目都使用一个专用的数据库实例
- 安全凭据:通过环境变量管理TursoDB凭据
- 输入验证:所有输入均已Zod模式验证
- 参数化查询:SQL注入保护
- 无外部API:所有处理都在本地进行
故障排除
常见问题和解决方案:
- 连接错误:验证TursoDB凭据和数据库URL
- 初始启动缓慢:大型代码库正常;后续的初创公司速度更快
- 缺少上下文:检查代币预算;必要时增加
- 工具错误:确保在工具之间传递正确的对话ID
- 性能问题:考虑减小索引文件的范围或增加缓存大小
许可证
此项目根据MIT许可证获得许可-请参阅 许可证 文件以获取详细信息。
DevContext:持续进步的持续环境