开发上下文管理服务器

DevContext是一款先进的模型上下文协议(MCP)服务器,通过智能上下文感知技术为开发者提供项目相关的代码库、对话和开发模式理解,实现自主上下文管理。

  • by aiurda
  • HTML
  • 本地部署
  • 49 星标
  • 更新于
在 GitHub 查看 aurda012/devcontext

使用说明

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数据库

  1. 注册TursoDB:

    • 访问 杜尔索 并创建一个帐户
    • 免费版对于大多数项目来说已经足够了
  2. 安装Turso CLI (可选但推荐):

    curl -sSfL https://get.turso.tech/install.sh | bash
    
  3. 与Turso进行身份验证:

    turso auth login
    
  4. 创建项目数据库:

    turso db create devcontext
    
  5. 获取数据库凭据:

    # 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的执行顺序
  • 使用完成元数据进行状态跟踪
  • 建筑背景下的项目蓝图集成

设置光标规则

  1. 创建规则目录:

    mkdir -p .cursor/rules
    
  2. 下载/复制和粘贴规则:

下载或复制并粘贴.cursor/rules目录到您的项目中。接下来,复制并粘贴 .cursorrules 在项目根目录中创建文件,并将其粘贴到光标设置规则中(光标设置->规则->用户规则)。您还应该复制并粘贴 .cursorrules 也将文件保存到主目录中。

  1. 自定义任务工作流 (可选): 一旦实现了游标规则,重新启动游标,并继续要求它根据您可能有的任何项目想法为您创建任务。

配置示例

下面是一个完整的例子 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的ID
  • newMessages:自上次更新以来交换的新消息
  • codeChanges:创建或修改的代码文件
  • preserveContextOnTopicShift:在主题更改期间是否保持上下文

退货:更新重点和背景连续性信息

检索相关文本

检索与特定查询相关的上下文片段。

何时使用:需要特定项目背景时。

关键参数:

  • conversationId:来自initialize_conversation_context的ID
  • query:关于项目的具体问题
  • constraints:实体类型、文件路径等的可选过滤器。
  • weightingStrategy:如何确定结果的优先顺序

退货:带解释的相关上下文片段

record_milestone_context

记录重要的开发里程碑,以供将来参考。

何时使用:完成重要功能、修复关键错误或做出架构决策后。

关键参数:

  • conversationId:来自initialize_conversation_context的ID
  • name:简短的描述性里程碑名称
  • description:详细说明
  • milestoneCategory:类别(功能、错误修复、重构等)
  • assessImpact:是否分析影响

退货:里程碑ID和影响评估

finalize_conversation_context

结束对话,总结经验教训并建议下一步行动。

何时使用:每次谈话结束时,就一次。

关键参数:

  • conversationId:来自initialize_conversation_context的ID
  • extractLearnings:是否识别和提取学习成果
  • 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:持续进步的持续环境