项目简介
Azure DevOps MCP 服务器是一个基于 Model Context Protocol (MCP) 构建的后端服务,旨在将 Azure DevOps 的丰富上下文信息和操作能力无缝地集成到您的 LLM 客户端(如 GitHub Copilot Chat)中。它允许 LLM 代理通过标准化的协议(JSON-RPC)与 Azure DevOps 进行交互,从而能够理解项目状态、执行开发任务和自动化工作流程。该服务器提供了一层薄抽象,让 LLM 可以专注于更高级的推理和决策。
主要功能点
- 上下文信息获取: LLM 客户端可以请求并获取 Azure DevOps 中的各种信息,包括但不限于:
- 组织下的所有项目列表。
- 特定项目的团队列表。
- 个人相关的工作项列表,或根据查询条件获取工作项。
- 代码仓库、拉取请求、分支及其详细信息。
- 构建定义、构建历史、日志和更改。
- 测试计划、测试用例和测试结果。
- Wiki 页面列表和页面内容。
- 高级安全警报信息。
- 开发任务自动化: LLM 客户端可以调用各种工具来执行 Azure DevOps 中的操作,例如:
- 创建、更新工作项或为其添加评论。
- 创建新的拉取请求或分支。
- 更新拉取请求的状态或添加/移除评审者。
- 在拉取请求中回复评论或解决评论线程。
- 创建或更新 Wiki 页面。
- 创建构建管道。
- 搜索代码、Wiki 和工作项。
- 能力声明与过滤: 支持通过配置“域”来选择性地暴露特定的 Azure DevOps 功能工具集,从而优化 LLM 客户端的工具加载和性能。
- 标准化通信: 通过 'stdio' 等多种传输协议,以 JSON-RPC 格式与 LLM 客户端进行高效通信。
安装步骤
为了获得最佳体验,推荐在 Visual Studio Code (VS Code) 中配合 GitHub Copilot Chat 使用。
-
准备环境:
- 安装 Visual Studio Code 或 VS Code Insiders。
- 安装 Node.js 20 或更高版本。
- 在 VS Code 中打开一个空的本地文件夹。
-
配置 MCP 服务器: 在您打开的 VS Code 文件夹根目录中,创建一个名为 '.vscode/mcp.json' 的文件,并添加以下内容:
{ "inputs": [ { "id": "ado_org", "type": "promptString", "description": "您的 Azure DevOps 组织名称(例如 'contoso')" } ], "servers": { "ado": { "type": "stdio", "command": "npx", "args": ["-y", "@azure-devops/mcp", "${input:ado_org}"] } } }- 更新到最新版本: 如果您希望使用最新的功能或修复,可以将 '"@azure-devops/mcp"' 替换为 '"@azure-devops/mcp@next"'。
-
启动服务器: 保存 '.vscode/mcp.json' 文件后,VS Code 通常会自动检测到 MCP 配置。您会在 VS Code 界面底部状态栏或输出面板中看到启动 MCP 服务器的提示。点击 'Start' 按钮以启动服务器。
- 认证: 首次运行 Azure DevOps 相关工具时,浏览器会弹出窗口提示您使用 Microsoft 帐户登录。请确保使用与您的 Azure DevOps 组织关联的正确凭据进行登录。
-
配置 LLM 客户端: 在您的 LLM 客户端(例如 GitHub Copilot Chat)中,切换到“Agent Mode”(代理模式),然后点击“Select Tools”(选择工具),并从列表中勾选可用的 Azure DevOps MCP 服务器工具。
服务器配置示例(用于MCP客户端集成)
MCP 客户端需要确切的服务器启动信息来建立连接。以下是 MCP 客户端集成时,您需要提供给它的配置详情:
- MCP服务器名称: 'ado'
- 传输协议类型: 'stdio' (标准输入输出)
- 启动命令 (command): 'npx'
- 命令参数 (args):
- '"-y"': 确认安装 '@azure-devops/mcp' 包。
- '"@azure-devops/mcp"': 指定要运行的 Azure DevOps MCP 服务器包。
- '"您AzureDevOps组织名称"': 替换为您的 Azure DevOps 组织名称,例如 'contoso'。
- 可选参数 - 域过滤 ('-d'): 如果您希望仅加载特定功能区域的工具,可以在参数中添加 '-d' 和一个或多个域名称。
- 示例:'["-y", "@azure-devops/mcp", "contoso", "-d", "core", "work", "work-items"]'
- 可用域包括:'core', 'work', 'work-items', 'search', 'test-plans', 'repositories', 'wiki', 'pipelines', 'advanced-security'。默认情况下,所有域都会被加载。
基本使用方法
当 Azure DevOps MCP 服务器成功启动并工具配置到您的 LLM 客户端后,您可以在聊天界面中尝试以下自然语言提示来与其交互:
- "列出我的 Azure DevOps 项目。"
- "获取 'Contoso' 项目中所有的团队。"
- "在 'MyProject' 项目中,创建一个标题为 '修复登录错误' 的新 Bug 工作项。"
- "列出仓库 'MyRepo' 中所有状态为 'Active' 的拉取请求。"
- "获取 Wiki 'Documentation' 中 '/API/Authentication' 页面的内容。"
- "更新 Wiki 页面 '/Getting Started',添加关于新用户入职流程的详细说明。"
- "在项目 'Development' 的仓库 'FrontendApp' 中创建一个名为 'feature/dark-mode' 的新分支,基于 'main' 分支。"
- "搜索所有包含 'deployment failure' 关键字的工作项。"
信息
分类
开发者工具