项目简介
DocGen MCP服务器是DocGen项目的核心后端组件,它基于Model Context Protocol (MCP) 标准构建,旨在为LLM客户端提供结构化的上下文信息和功能,以支持AI辅助的软件开发流程。该服务器作为DocGen文档生成系统的基础设施,负责资源管理、工具执行和Prompt模板渲染,并通过JSON-RPC协议与客户端进行标准化通信。
主要功能点
- 资源管理: 托管和管理软件开发过程中的各种资源,例如项目文件、代码库信息等,并提供标准化的数据访问能力。
- 工具注册与执行: 集成并管理多种实用工具,包括代码测试工具、GitHub问题跟踪工具和TODO扫描工具,允许LLM客户端通过MCP协议调用这些工具,实现自动化任务执行。
- Prompt模板渲染: 支持定义和渲染Prompt模板,允许开发者自定义与LLM交互的方式,优化LLM在不同开发场景下的表现。
- 工作流编排: 内置“get-to-work”工作流,协调多个MCP服务器协同工作,自动化执行测试、问题跟踪和TODO管理等开发流程,提升开发效率。
- 安全与可扩展性: 采用API密钥认证和速率限制机制,保障服务安全;支持多种传输协议(如Stdio, SSE, WebSocket),提供可扩展的上下文服务框架。
- 健康检查与监控: 提供健康检查接口,监控服务器及依赖服务的运行状态,确保系统稳定可靠。
安装步骤
- 安装 Node.js 和 npm: 确保你的开发环境中安装了 Node.js (>= 14.0.0) 和 npm (>= 6.0.0)。
- 安装 Docker 和 Docker Compose: DocGen MCP服务器以Docker容器形式部署,需要安装 Docker 和 Docker Compose。
- 克隆仓库: 使用 Git 克隆 DocGen 仓库到本地:
git clone https://github.com/mprestonsparks/DocGen cd DocGen - 安装依赖: 在项目根目录下运行 'npm install' 安装项目依赖。
- 构建项目: 运行 'npm run build' 构建 TypeScript 代码。
- 部署 MCP 服务器: 运行 'python scripts/deploy_mcp.py' 部署 MCP 服务器,该脚本会自动构建 Docker 镜像并启动容器。
服务器配置 (Windsurf 客户端)
DocGen MCP 服务器可以与 Windsurf 等 MCP 客户端集成,以下是 Windsurf 客户端的 MCP 服务器配置示例 (json 格式):
{ "mcpServers": { "docgen-mcp-bridge": { "command": "node", "args": [ "/path/to/DocGen/src/mcp/bridge/dist/mcp-bridge.js" // 请替换为实际路径 ], "env": { "MCP_ORCHESTRATOR_URL": "http://localhost:8080/mcp", "MCP_API_KEY": "development_key", "GITHUB_TOKEN": "YOUR_GITHUB_TOKEN", // 可选,如果需要 GitHub 功能 "ANTHROPIC_API_KEY": "YOUR_ANTHROPIC_API_KEY" // 可选,如果需要 Anthropic 功能 } } } }
配置参数说明:
- 'server name': 'docgen-mcp-bridge' (服务器名称,Windsurf 客户端内部标识)
- 'command': 'node' (MCP 服务器的启动命令,这里使用 Node.js 运行 JavaScript 文件)
- 'args':
- '/path/to/DocGen/src/mcp/bridge/dist/mcp-bridge.js': [请务必替换为实际路径] MCP Bridge 脚本的绝对路径,用于连接 Windsurf 客户端和 DocGen MCP 服务器。
- 'env': 环境变量配置
- 'MCP_ORCHESTRATOR_URL': 'http://localhost:8080/mcp' (MCP Orchestrator 服务器的 URL,客户端通过此地址与服务器通信)
- 'MCP_API_KEY': 'development_key' (开发环境默认API密钥,生产环境请配置更安全的密钥)
- 'GITHUB_TOKEN': 'YOUR_GITHUB_TOKEN' [可选] (GitHub API Token,如果 Windsurf 客户端需要使用 GitHub 相关功能,请配置)
- 'ANTHROPIC_API_KEY': 'YOUR_ANTHROPIC_API_KEY' [可选] (Anthropic API Key,如果 Windsurf 客户端需要使用 Anthropic Claude 模型相关功能,请配置)
注意: 请将 '/path/to/DocGen/src/mcp/bridge/dist/mcp-bridge.js' 替换为你的 DocGen 仓库中 'src/mcp/bridge/dist/mcp-bridge.js' 文件的实际绝对路径。在部署 MCP 服务器后,Windsurf 客户端需要重启才能加载新的配置。
基本使用方法
DocGen MCP 服务器主要通过命令行脚本 'scripts/get_to_work.py' 进行交互,执行 "get-to-work" 工作流。
示例命令:
python scripts/get_to_work.py --directory . --owner your_github_username --repo your_github_repo
参数说明:
- '--directory .': 指定工作目录为当前目录,用于扫描测试和 TODO。
- '--owner your_github_username': GitHub 仓库所有者用户名,请替换为你的 GitHub 用户名。
- '--repo your_github_repo': GitHub 仓库名称,请替换为你的 GitHub 仓库名称。
该命令会启动 "get-to-work" 工作流,自动执行以下阶段:
- 测试阶段 (TESTING PHASE): 运行项目中的测试,分析测试结果。
- 问题阶段 (ISSUES PHASE): 分析 GitHub 仓库中的 Issues,进行优先级排序。
- TODO 阶段 (TODOS PHASE): 扫描代码中的 TODO 注释,并生成 GitHub Issues (默认行为)。
工作流执行结果和详细信息将输出到终端,并生成工作流总结报告。
更多高级用法和配置选项,请参考仓库 'README.md' 文档。
信息
分类
开发者工具