Dependency Context

Dependency Context

site icon
2025.05.07 1
TypeScript依赖管理文档搜索开发辅助开发效率
Dependency Context 是一个 MCP 服务器,旨在为 AI 助手提供对项目依赖文档的上下文访问,从而能够更准确地回答关于代码库中使用的库和框架的问题。它通过索引项目的依赖文档并支持语义搜索,帮助开发者快速获取相关依赖的文档信息。
View on GitHub

Overview

基本能力

产品定位

Dependency Context 是一个专注于为开发者提供项目依赖文档上下文访问的工具,旨在提升开发效率和代码理解能力。

核心功能

  1. 依赖索引初始化(InitializeDependencyIndex):分析项目的依赖关系并创建可搜索的文档索引。
  2. 依赖文档搜索(searchDependencyDocs):通过语义搜索从索引的依赖文档中获取相关信息。
  3. 多语言支持:支持从 package.json(Node.js)和 requirements.txt(Python)等文件中解析依赖。
  4. 自定义配置:支持通过 dependency-context.json 文件自定义需要索引的依赖。
  5. 语义搜索:使用本地嵌入模型(如 Xenova/all-MiniLM-L6-v2)进行文档的语义搜索。

适用场景

  1. 开发辅助:在编写代码时快速获取依赖库的使用方法和文档。
  2. 代码审查:帮助审查代码时理解第三方库的功能和最佳实践。
  3. 学习新库:快速了解项目中新引入的库的功能和用法。
  4. 故障排查:查找依赖库中可能的问题和解决方案。

工具列表

  1. InitializeDependencyIndex:初始化依赖索引,支持自定义依赖文件和环境变量配置。
  2. searchDependencyDocs:执行语义搜索,返回最相关的文档片段和来源信息。

常见问题解答

  1. GitHub API 速率限制:通过设置 GITHUB_TOKEN 环境变量提高 API 调用限制。
  2. 空搜索结果:检查索引是否完成,查询是否相关,或尝试更通用的查询。
  3. 权限问题:确保服务器对项目目录有读写权限。

使用教程

使用依赖

  1. 确保已安装 Node.js 和 npm。
  2. 可选:创建 GitHub 个人访问令牌以解决 API 速率限制问题。

安装教程

  1. 在项目根目录创建 dependency-context.json 文件(推荐)或使用 package.json/requirements.txt
  2. 在编辑器中添加 MCP 配置(以 Cursor 为例):
{
  "mcpServers": {
    "dependency-context": {
      "command": "npx",
      "args": ["-y", "--package=dependency-context", "dependency-context"],
      "env": {
        "GITHUB_TOKEN": "YOUR_GITHUB_TOKEN_HERE",
        "MODEL_NAME": "Xenova/all-MiniLM-L6-v2"
      }
    }
  }
}
  1. 启用 MCP 并初始化依赖上下文。

调试方式

  1. 运行测试:
npm test
  1. 手动测试:
npx fastmcp dev src/index.ts
  1. 初始化索引和搜索文档:
tool(InitializeDependencyIndex)
tool(searchDependencyDocs)

许可证

该项目遵循 Other 开源许可条款,请参阅 Other 了解完整条款。