使用说明

项目简介: dotcontext 是一个用于构建和管理项目上下文的工具,它实现了 Model Context Protocol (MCP) 服务器,旨在帮助 AI 编码助手更好地理解项目,从而提供更智能的代码辅助。通过结构化的 '.context' 目录,开发者可以向 AI 提供项目的架构、设计决策、技术栈等关键信息。

主要功能点:

  • 结构化项目上下文: 通过 '.context' 目录组织项目文档、架构图等信息,为 AI 提供结构化的项目知识库。
  • MCP 服务器功能: 实现 MCP 协议,提供工具 (Tools) 供 MCP 客户端调用,例如获取项目上下文信息、验证上下文结构、列出架构图等。
  • 内置工具: 提供 'init', 'validate', 'context', 'diagrams' 等工具,方便用户管理和使用项目上下文。
    • 'init': 初始化 '.context' 目录,创建默认的 'index.md' 和 '.contextignore' 文件。
    • 'validate': 验证 '.context' 目录结构和 'index.md' 内容是否符合规范。
    • 'context': 获取 'index.md' 中定义的项目上下文信息,包括模块描述、架构、技术栈等。
    • 'diagrams': 列出 '.context/diagrams' 目录下的 Mermaid 架构图文件。
  • 标准输出: MCP 服务器通过标准输入输出 (stdio) 与客户端通信,使用 JSON-RPC 协议进行请求和响应。

安装步骤:

  1. 确保你的开发环境中已安装 Node.js 和 npm。
  2. 克隆 dotcontext 仓库到本地:
    git clone https://github.com/Agentic-Insights/dotcontext.git
  3. 进入项目根目录:
    cd dotcontext
  4. 安装项目依赖:
    npm install
  5. 构建项目:
    npm run build

服务器配置: MCP 客户端需要配置 MCP 服务器的启动命令,以便与 dotcontext 服务器建立连接。以下是一个典型的 MCP 服务器配置示例,客户端需要配置 'command' 和 'args' 字段:

{
  "mcpServers": {
    "dotcontext": {
      "command": "npx",
      "args": ["dotcontext-mcp"],
      "disabled": false,
      "alwaysAllow": []
    }
  }
}

配置参数说明:

  • 'server name': 'dotcontext' (服务器的名称,可以自定义,客户端通过此名称引用服务器)
  • 'command': 'npx' (执行命令,'npx' 用于运行本地安装的 npm 包的可执行文件)
  • 'args': '["dotcontext-mcp"]' (传递给 'npx' 的参数,'dotcontext-mcp' 是 package.json 中定义的执行入口,实际会执行 'dist/mcp/index.js' 文件)
  • 'disabled': 'false' (布尔值,'false' 表示启用该服务器配置,'true' 表示禁用)
  • 'alwaysAllow': '[]' (可选,字符串数组,列出始终允许客户端调用的工具名称,默认为空数组)

基本使用方法:

  1. 初始化上下文目录: 在你的项目根目录下,打开终端并执行 'npx dotcontext init' 命令。这会在项目根目录下创建一个 '.context' 目录,并包含 'index.md' (项目上下文描述文件) 和 '.contextignore' (忽略文件)。
  2. 编辑 'index.md': 打开 '.context/index.md' 文件,根据模板填写你的项目信息,包括模块名称、版本、描述、技术栈、架构设计等。你可以参考 'src/lib/ContextGenerator.ts' 文件中的 'defaultIndexContent' 了解 'index.md' 的内容结构。
  3. 验证上下文配置: 运行 'npx dotcontext validate' 命令,检查 '.context' 目录和 'index.md' 文件是否符合规范。如有错误,终端会显示错误信息。
  4. 启动 MCP 服务器: 当 MCP 客户端需要使用 dotcontext 服务器时,客户端会根据配置启动 'npx dotcontext-mcp' 命令,dotcontext 服务器开始运行并通过 stdio 监听客户端请求。
  5. 客户端调用工具: MCP 客户端可以向 dotcontext 服务器发送 JSON-RPC 请求,调用服务器提供的工具,例如 'context' 工具获取项目上下文信息,'diagrams' 工具获取架构图列表。

注意: dotcontext MCP 服务器需要在项目根目录下运行,以便正确读取 '.context' 目录中的上下文信息。

信息

分类

开发者工具