返回市场
Azure开发运营服务器-MCP

Azure开发运营服务器-MCP

作者:Ravio1i2 星标更新:2025-11-12

项目介绍

Azure DevOps Server MCP

Azure DevOps Server(TFS)的模型上下文协议(MCP)服务器。如果您正在寻找Azure DevOps Services的云版本,请参阅Microsoft官方的azure-devops-mcp

功能

  • Git 仓库:列出仓库、浏览文件、获取提交历史记录、管理分支
  • 拉取请求:创建、读取、更新拉取请求,管理评论和评审
  • 团队项目:列出项目、获取项目详情、管理团队
  • 工作项:创建、读取、更新、查询工作项,支持所有字段
  • WIQL 支持:执行自定义的工作项查询语言查询

预备条件

Python 3.10+

确保已安装Python 3.10+:

python --version
python3 --version

使用 uvx(推荐)

安装 uv 以实现快速的Python包管理:

# macOS/Linux
curl -LsSf https://astral.sh/uv/install.sh | sh

# Windows
powershell -ExecutionPolicy ByPass -c "irm https://astral.sh/uv/install.ps1 | iex"

配置

个人访问令牌

要与Azure DevOps Server交互,您需要一个个人访问令牌(PAT)。请注意,仅在MCP服务器中使用此PAT,不要在其他应用程序中使用。

  1. 转到您的Azure DevOps Server Web界面
  2. 点击右上角的用户 -> 安全 -> 个人访问令牌
  3. 创建具有以下范围的新令牌:
    • 工作项:读写
    • 项目和团队:读
    • 代码:读写(用于Git仓库和拉取请求)

MCP配置

如果您希望避免在配置文件中放置敏感信息(如令牌),可以将其设置为环境变量:

Linux / macOS:

您可以将以下变量添加到您的shell配置文件(例如~/.bashrc~/.zshrc)中,以避免在配置文件中包含它们:

export AZURE_DEVOPS_SERVER_URL="https://your-server.company.com/tfs"
export AZURE_DEVOPS_SERVER_TOKEN="your-personal-access-token"
export AZURE_DEVOPS_SERVER_API_VERSION="7.1-preview.3"
export AZURE_DEVOPS_SERVER_COLLECTION="collection-name"

Windows:

您可以将以下变量添加到系统环境或用户环境中,以避免在配置文件中包含它们:

setx AZURE_DEVOPS_SERVER_URL "https://your-server.company.com/tfs"
setx AZURE_DEVOPS_SERVER_TOKEN "your-personal-access-token"
setx AZURE_DEVOPS_SERVER_API_VERSION "7.1-preview.3"
setx AZURE_DEVOPS_SERVER_COLLECTION "collection-name"

设置环境变量后,您可以在MCP配置中这样使用它们:

{
  "mcpServers": {
    "azure-devops-server": {
      "command": "uvx",
      "args": [
        "git+https://github.com/Ravio1i/azure-devops-server-mcp.git"
      ],
    }
  }
}

参见 https://code.visualstudio.com/docs/copilot/customization/mcp-servers 对于GitHub Copilot,它使用servers而不是mcpServers

{
  "servers": {
    "azure-devops-server": {
      "command": "uvx",
      "args": [
        "git+https://github.com/Ravio1i/azure-devops-server-mcp.git"
      ]
    }
  }
}

详细文档请参见:向用户配置添加MCP服务器

GitHub Copilot 许可证

您需要有效的GitHub Copilot或其他Copilot许可证才能使用此集成。

使用方法

配置完成后,您可以使用自然语言与您的Azure DevOps Server进行交互:

Git 仓库

  • "列出项目'MyProject'中的所有仓库"
  • "显示'MyRepo'仓库中的分支"
  • "获取'MyRepo'主分支的最新10个提交"
  • "显示'MyRepo'仓库中'README.md'文件的内容"
  • "列出'MyRepo'仓库'src'文件夹中的文件"

拉取请求

  • "列出'MyRepo'仓库中的活动拉取请求"
  • "从'feature-branch'到'main'创建标题为'添加新功能'的PR"
  • "显示'MyRepo'仓库中拉取请求#42的详细信息"
  • "获取拉取请求#42的评论"
  • "将拉取请求#42的状态更新为已完成"

团队项目

  • "列出所有团队项目"
  • "获取项目'MyProject'的详细信息"
  • "显示'Development'项目中的团队"

工作项

  • "列出项目'MyProject'中的最近工作项"
  • "在项目'WebApp'中创建标题为'登录问题'的错误"
  • "更新工作项1234,设置状态为'正在进行中'"
  • "查询分配给john.doe@company.com的所有任务"

高级查询

  • "查找'MyProject'中所有处于活动状态的高优先级错误"
  • "显示过去一周内更改的工作项"

可用工具

Git 仓库工具

  • list_repositories(project):获取项目中的所有仓库
  • get_repository(project, repository_id):获取特定仓库的详细信息
  • list_branches(project, repository_id, limit?):列出仓库中的分支
  • get_commits(project, repository_id, branch?, limit?):获取提交历史记录
  • get_file_content(project, repository_id, path, branch?):获取文件内容
  • list_repository_items(project, repository_id, path?, branch?, limit?):列出文件/文件夹

拉取请求工具

  • list_pull_requests(project, repository_id, status?, limit?):列出拉取请求
  • get_pull_request(project, repository_id, pull_request_id):获取PR详细信息
  • create_pull_request(project, repository_id, title, description, source_branch, target_branch, reviewers?):创建新的PR
  • get_pull_request_comments(project, repository_id, pull_request_id, limit?):获取PR评论
  • update_pull_request(project, repository_id, pull_request_id, ...):更新PR

团队项目工具

  • list_team_projects():获取集合中的所有项目
  • get_team_project(project_id_or_name):获取特定项目的详细信息
  • list_teams(project_id_or_name):列出项目中的团队

工作项工具

  • list_work_items(project, query?, limit?):根据可选的WIQL查询列出工作项
  • get_work_item(work_item_id):获取特定工作项的详细信息
  • create_work_item(project, work_item_type, title, ...):创建新的工作项
  • update_work_item(work_item_id, ...):更新现有工作项
  • query_work_items(project, filters...):使用字段过滤器查询

开发设置

克隆仓库

git clone https://github.com/Ravio1i/azure-devops-server-mcp
echo $PWD

使用uv直接从克隆的目录运行MCP服务器:

  • env中编辑您的环境变量
  • 调整args部分中的路径指向您的克隆仓库
{
  "mcpServers": {
    "azure-devops-server": {
      "command": "uv",
      "args": [
        "--directory",
        "/path/to/azure-devops-server-mcp",
        "run", 
        "azure-devops-server-mcp"
      ],
      "env": {
        "AZURE_DEVOPS_SERVER_URL": "https://your-server.company.com/tfs",
        "AZURE_DEVOPS_SERVER_TOKEN": "your-personal-access-token",
        "AZURE_DEVOPS_SERVER_API_VERSION": "7.1-preview.3",
        "AZURE_DEVOPS_SERVER_COLLECTION": "collection-name"
      }
    }
  }
}