项目简介
'azure-devops-mcp-server' 是一个基于 .NET 的 MCP 服务器,旨在将 Azure DevOps 的核心操作(如工作项管理、代码仓库、构建管道、构件、测试计划、项目设置和搜索)封装为标准的 Model Context Protocol (MCP) 工具。它使得 AI 代理能够通过统一的 MCP 端点直接访问和执行 Azure DevOps 任务,从而简化并自动化复杂的 DevOps 工作流。
主要功能点
- 工作项管理: 支持创建、更新史诗(Epics)、特性(Features)、用户故事(Stories)和任务(Tasks);可查询工作项,管理其评论、附件和链接;提供批量更新和导出功能;列出看板、列和迭代;以及获取工作项计数。
- 代码仓库管理: 能够创建、完成和列出带有标签和评论的拉取请求;创建标签,列出分支和差异;创建和删除代码仓库;更新拉取请求迭代并搜索提交历史。
- CI/CD 管道操作: 允许队列、取消和重试构建;列出运行和下载日志;检索变更、日志和构建报告;列出定义并支持完整的管道创建、读取、更新、删除 (CRUD) 操作。
- 构件管理: 支持创建、更新、列出和删除构件源;列出包、查看权限和保留策略;管理构件源视图并尝试包和上游操作。
- 测试计划管理: 可创建、读取、列出和删除测试计划和测试套件;创建测试用例并将其添加到套件中;获取测试结果。
- 项目设置: 提供创建、更新和删除团队的功能;检索看板设置和迭代;创建和删除继承过程。
- 搜索功能: 能够对 Wiki 页面和工作项进行高效搜索。
安装步骤
前提条件
- 安装最新版 .NET 9。
- 克隆此仓库到您的本地机器。
快速启动 (本地运行)
- 在仓库根目录打开终端。
- 执行 'dotnet build' 命令构建项目。
- 执行 'dotnet run --project src/Dotnet.AzureDevOps.Mcp.Server' 命令启动服务器。
快速启动 (Docker 容器)
- 在仓库根目录打开终端。
- 执行 'docker build -t azure-devops-mcp-server .' 命令构建 Docker 镜像。
- 执行 'docker run -p 5050:5050 azure-devops-mcp-server' 命令启动 Docker 容器。
服务器配置
MCP 服务器启动后,其 MCP 端点默认在 'http://localhost:5050/mcp' 可访问。您的 MCP 客户端需要配置此 URL,以及用于连接 Azure DevOps 的组织信息和个人访问令牌(PAT)。
MCP 客户端的配置示例如下:
{ "server_name": "AzureDevOpsMcpServer", "command": "dotnet", "args": ["run", "--project", "src/Dotnet.AzureDevOps.Mcp.Server"], "env": { "MCP_McpServer__Port": "5050", "AZURE_DEVOPS_ORG": "您的Azure DevOps组织名称,例如 'mycompany'", "AZURE_DEVOPS_PAT": "您的Azure DevOps个人访问令牌,需要适当权限", "AZURE_DEVOPS_SEARCH_ENDPOINT": "可选:自定义搜索端点URL" } }
请根据您的实际 Azure DevOps 环境替换 'AZURE_DEVOPS_ORG' 和 'AZURE_DEVOPS_PAT' 的值。服务器启动后,您可以通过访问 'http://localhost:5050/health' 来检查其运行状态。
基本使用方法
一旦 MCP 服务器启动并运行,AI 代理(如使用 Semantic Kernel 的客户端)可以通过连接到 '/mcp' 端点来发现并调用暴露的 Azure DevOps 工具。例如,您可以使用 'ModelContextProtocol-SemanticKernel' 扩展包来集成您的 Semantic Kernel 代理。在客户端代码中,将 'MCP_SERVER_URL' 配置为服务器的 '/mcp' 地址,代理即可自动识别并利用这些工具执行 Azure DevOps 任务。
具体的客户端集成示例代码(C#)在仓库的 'README.md' 中有提供,演示了如何让 Semantic Kernel 代理调用 MCP 服务器暴露的 'echo' 工具。
信息
分类
开发者工具