使用说明
项目简介
Azure Revisor MCP Server 是一个基于 Model Context Protocol (MCP) 的服务器实现,专注于为 Azure DevOps 平台上的代码 Pull Request (PR) 提供代码评审辅助功能。它通过 MCP 协议向 LLM 客户端暴露工具,使得 LLM 能够理解代码变更内容,并在 PR 上进行评论,从而提升代码评审的效率和智能化水平。
主要功能点
- 获取Pull Request代码差异 (Get pull request diff): 允许 LLM 获取指定 Azure DevOps Pull Request 的代码变更内容 (diff),为代码理解和分析提供上下文信息。
- 创建评论 (Create thread comment): 允许 LLM 在指定的 Azure DevOps Pull Request 的特定文件和行号上创建评论,方便 LLM 将评审意见反馈到代码变更中。
安装步骤
-
克隆仓库:
git clone [email protected]:mikhael-abdallah/mcp-revisor-server.git cd mcp-revisor-server -
安装依赖: 确保你已安装 Node.js (v18 或更高版本) 和 pnpm。然后运行:
pnpm install -
配置 Azure PAT: 在项目根目录下创建 '.env' 文件,并设置 'AZURE_PAT' 环境变量为你的 Azure DevOps Personal Access Token。你需要创建一个具有 'vso.code_full' 权限的 PAT。
AZURE_PAT=你的Azure_PAT
服务器配置
MCP 客户端需要配置以下 JSON 以连接到 Azure Revisor MCP Server。
{ "mcpServers": { "azure-revisor": { // server name,客户端可以自定义,用于标识该服务器 "url": "http://localhost:3000/sse" // MCP服务器的SSE endpoint URL } } }
配置参数说明:
- 'azure-revisor': 服务器名称,可以自定义,在客户端用于唯一标识此 MCP 服务器连接配置。
- 'url': MCP 服务器的 SSE (Server-Sent Events) 端点 URL。默认情况下,Azure Revisor MCP Server 运行在 'http://localhost:3000',并提供 '/sse' 作为 SSE 端点。
MCP客户端启动命令和参数 (仅供参考): 由于 MCP 客户端通常内置了对 MCP 服务器的集成,用户一般无需手动配置启动命令和参数。但为了完整性,如果需要手动配置,以下是可能的参考:
- command: 'node' (假设 Node.js 可执行文件在 PATH 环境变量中)
- args: 'dist/index.js' (假设你已经使用 'pnpm run build' 构建了项目,并且 'index.js' 文件位于 'dist' 目录下)
请注意: 实际 MCP 客户端的配置方式可能有所不同,请参考你使用的 MCP 客户端的文档。通常只需要配置 'mcpServers' 中的 JSON 即可。
基本使用方法
-
启动服务器: 首先构建项目:
pnpm run build然后启动服务器:
pnpm start服务器成功启动后,会监听 'http://localhost:3000' 端口。
-
配置 MCP 客户端: 将上述提供的服务器配置 JSON 添加到你的 MCP 客户端配置中 (例如 Cursor IDE 的 'settings.json' 文件)。确保将 'url' 配置为 'http://localhost:3000/sse'。
-
在 MCP 客户端中使用: 在 MCP 客户端中,你可以通过 Prompt 模板或者直接调用 Tool 的方式来使用 Azure Revisor MCP Server 提供的功能。例如,你可以使用 README.md 中提供的 'SuggestedPrompt' 作为 Prompt 模板,并指示 LLM 使用 'Get pull request diff' 和 'Create thread comment' 工具来辅助代码评审。
示例 Prompt:
You are a senior code reviewer... (完整 Prompt 内容参考 README.md 中的 SuggestedPrompt) ...在 Prompt 中,你可以指示 LLM 调用 'Get pull request diff' 工具来获取指定 Pull Request 的代码变更,然后分析代码并使用 'Create thread comment' 工具在 PR 上添加评论。
工具调用示例 (在 Prompt 中指示 LLM 使用):
// 获取 Pull Request 代码差异 call_tool("Get pull request diff", { "pullRequestUrl": "https://dev.azure.com/organization/project/_git/repository/pullrequest/pullRequestNumber" }) // 创建评论 call_tool("Create thread comment", { "pullRequestUrl": "https://dev.azure.com/organization/project/_git/repository/pullrequest/pullRequestNumber", "filePath": "src/index.ts", "lineNumber": 10, "commentContent": "这里代码可以优化一下..." })请注意: 'call_tool' 语法仅为示例,实际 MCP 客户端的工具调用方式可能有所不同,请参考你使用的 MCP 客户端的文档。
信息
分类
开发者工具