Azure DevOps集成服务器

一个与Azure DevOps集成的Model Context Protocol (MCP)服务器,允许Claude Desktop/Cline与Azure DevOps服务交互。

  • by RainyCodeWizard
  • TypeScript
  • 本地部署
  • 1 星标
  • 更新于
在 GitHub 查看 rainycodewizard/azure-devops-mcp-server

使用说明

Azure DevOps MCP服务器

此模型上下文协议(MCP)服务器提供与Azure DevOps的集成,允许Claude Desktop/Cline与Azure DevOps服务进行交互。

先决条件

  • Node.js(v20 LTS或更高版本)
  • npm(附带Node.js)
  • MCP兼容客户端
  • 带有访问令牌的Azure DevOps帐户

安装

通过Smithery安装

通过以下方式自动安装Azure DevOps Server for Claude Desktop 史密瑟里:

npx -y @smithery/cli install @RainyCodeWizard/azure-devops-mcp-server --client claude

手动安装

  1. 克隆此存储库:
git clone https://github.com/RainyCodeWizard/azure-devops-mcp-server.git
cd azure-devops-mcp-server
  1. 安装依赖项:
npm install
  1. 构建服务器:
npm run build

注:构建输出(build/ 目录)不包含在版本控制中。克隆存储库后,必须运行build命令。

配置

1.获取Azure DevOps个人访问令牌(PAT)

  1. 转到Azure DevOps并登录
  2. 点击右上角的个人资料图片
  3. 选择“安全”
  4. 点击“新建令牌”
  5. 为您的令牌命名并选择所需的范围:
    • Code (read, write) -用于Pull Request操作
    • Work Items (read, write) -用于工作项管理
    • Build (read, execute) -用于管道操作
    • Wiki (read, write) -用于Wiki操作
    • Project and Team (read) -项目和董事会信息
  6. 复制生成的令牌

2.配置客户端应用程序的MCP设置

将服务器配置添加到Cline MCP设置文件中:

  • 对于Cline VSCode扩展: %APPDATA%/Code/User/globalStorage/rooveterinaryinc.roo-cline/settings/cline_mcp_settings.json
  • 对于Claude桌面应用程序: %LOCALAPPDATA%/Claude/claude_desktop_config.json

将以下配置添加到 mcpServers 对象:

{
  "mcpServers": {
    "azure-devops": {
      "command": "node",
      "args": ["/absolute/path/to/azure-devops-server/build/index.js"],
      "env": {
        "AZURE_DEVOPS_ORG": "your-organization",
        "AZURE_DEVOPS_PAT": "your-personal-access-token",
        "AZURE_DEVOPS_PROJECT_ID": "your-project-id"
      },
      "disabled": false,
      "autoApprove": []
    }
  }
}

替换以下值:

  • /absolute/path/to/azure-devops-server:克隆此存储库的绝对路径
  • your-organization:您的Azure DevOps组织名称
  • your-project-id:您的Azure DevOps项目ID
  • your-personal-access-token:您在步骤1中生成的PAT

可用工具

工作项

  • get_work_item:按ID获取工作项
  • list_work_items:使用WIQL查询工作项
  • create_work_item:创建新的工作项(Bug、任务、用户故事)
  • update_work_item:更新现有工作项

板子

  • get_boards:在项目中获取可用板

Git

  • list_repositories:列出项目中的所有Git存储库
    • 返回:包含ID、名称、默认分支、大小和URL的存储库列表
  • get_file:从存储库获取特定文件的内容
    • 参数:
      • repositoryId:存储库的ID
      • path:存储库中文件的路径(例如“src/index.ts”)
      • branch:从中获取文件的分支名称(可选,默认为main)
      • version:从中获取文件的特定版本(提交ID)(可选)
    • 返回:包含元数据的文件内容,包括:
      • 文件路径
      • 文件大小
      • 文件内容
      • 上次提交ID
      • 上次修改日期
  • compare_branches:比较两个分支并获取它们之间的提交历史记录
    • 参数:
      • repositoryId:用于比较中分支的存储库ID
      • sourceBranch:源分支名称(例如“开发”)
      • targetBranch:目标分支名称(例如“main”)
      • maxCommits:要返回的最大提交数(可选,默认为100)
      • historyMode:要使用的Git历史模式(可选,默认为“简化”)
        • simplified:标准git日志行为(默认)
        • first-parent:仅显示合并提交的第一个父级
        • full:显示所有提交,包括合并提交
        • full-simplify-merges:显示所有提交,但简化合并历史记录
      • includeDetails:包括详细的提交信息(可选,默认为false)
        • 如果为真,则包括:
          • 完整提交消息
          • 已更改文件列表,包括:
            • 文件路径
            • 更改类型(添加、编辑、删除)
            • 添加/删除的行数
    • 返回:包含提交ID、作者、日期和消息的提交列表

管道

  • list_pipelines:列出项目中的所有管道
  • trigger_pipeline:执行管道

拉取请求

  • list_pull_requests:列出拉取请求
  • create_pull_request:创建新的pull请求
  • update_pull_request:更新拉取请求
  • get_pull_request:获取拉取请求详细信息

维基

  • get_wikis:列出项目中的所有Wiki
  • get_wiki_page:获取wiki页面
  • create_wiki:创建新wiki
  • update_wiki_page:创建或更新wiki页面

项目

  • list_projects:列出Azure DevOps组织中的所有项目

验证

  1. 添加配置后重新启动Cline(或VSCode)
  2. Azure DevOps MCP服务器现在应该列在Cline的功能中
  3. 您可以使用MCP检查器验证安装:
npm run inspector

故障排除

  1. 如果服务器未连接:

    • 检查MCP设置中的路径是否正确
    • 验证您的Azure DevOps凭据
    • 检查Cline日志中是否有任何错误消息
  2. 如果您遇到身份验证错误:

    • 验证您的PAT是否未过期
    • 确保PAT具有所有必要的范围
    • 仔细检查组织和项目ID
  3. 关于其他问题:

    • 运行检查器工具以验证服务器是否正常工作
    • 检查服务器日志中是否有任何错误消息

发展

要修改或扩展服务器,请执行以下操作:

  1. 在中进行更改 src 目录
  2. 跑 npm run watch 为了发展
  3. 建立 npm run build 准备好后
  4. 使用检验员进行测试: npm run inspector

许可证

MIT许可证-请参阅 许可证 详见