Back to MCP directory
publicPublicdnsLocal runtime

AzureDevOps-MCP

Azure DevOps的MCP集成服务,提供对工作项、代码库、项目、看板和迭代的标准化访问接口。

article

README

🚀 Azure DevOps MCP 服务器指南

本指南聚焦于Azure DevOps MCP服务器,借助MCP(机器类协议)与Azure DevOps服务交互,可自动化并管理各类开发任务,提升开发效率。

🚀 快速开始

身份验证设置

要连接到Azure DevOps,身份验证配置必不可少,支持以下两种方法:

  1. 个人访问令牌(PAT)
az devops login --organization https://dev.azure.com/your-org --username your-username --password your-pat
  1. OAuth2.0
    • 登录Azure DevOps
    • 生成新的访问令牌。
    • 使用生成的令牌进行身份验证。

连接到Azure DevOps组织

在项目配置文件中明确指定目标组织:

export const config = {
  organization: 'your-org',
  project: 'your-project',
  // 其他配置...
};

✨ 主要特性

  • 借助MCP协议与Azure DevOps服务交互,实现开发任务自动化与管理。
  • 支持多种身份验证方式,保障连接安全。
  • 具备完善的服务层和工具层,涵盖工作项操作、代码仓库管理、构建与发布管理等功能。

📦 安装指南

本部分主要涉及身份验证和组织连接的配置,按上述快速开始部分的步骤操作即可完成项目的初步配置。

💻 使用示例

基础用法

以下是WorkItemService类的基础使用示例,用于获取工作项:

// src/Services/WorkItemService.ts
export class WorkItemService {
  private client: WorkItemHttpClient;

  constructor() {
    this.client = new WorkItemHttpClient();
  }

  public async getWorkItems(query: string): Promise<WorkItem[]> {
    return await this.client.queryWorkItems(query);
  }
}

📚 详细文档

项目结构

项目主要分为以下几个部分:

  • src/
    • Interfaces/:负责定义参数和响应的类型。
    • Services/:处理与Azure DevOps API的通信。
    • Tools/:提供MCP协议接口的功能实现。
    • index.ts:服务器启动的入口点。
    • config.ts:进行配置管理。

服务层

核心服务类

  • WorkItemService:处理工作项操作,如创建、更新和查询。
  • GitService:管理代码仓库,涵盖分支、标签和提交操作。
  • BuildService:控制构建过程,监控构建状态。
  • ReleaseService:管理发布管道,执行环境配置。

工具层

工具实现

  • GitTools:提供代码仓库操作接口,如listRepositoriesgetBranches等。
  • BuildTools:封装构建相关功能,如queueBuildgetBuildStatus等。

配置管理

项目配置存储在config.ts文件中:

export const config = {
  organizationUrl: 'https://dev.azure.com/your-org',
  projectId: 'your-project-id',
  authentication: {
    type: 'pat', // 可选:'oauth2'
    token: 'your-personal-access-token'
  }
};

身份验证流程

  1. 初始化身份验证提供程序
const authProvider = new AzureAuthProvider(config.authentication);
  1. 获取访问令牌
async function getAccessToken(): Promise<string> {
  return await authProvider.getAccessToken();
}

🔧 技术细节

核心服务类功能

  • WorkItemService:借助WorkItemHttpClient与Azure DevOps的工作项API进行交互,实现工作项的创建、更新和查询等操作。
  • GitService:管理代码仓库的分支、标签和提交等操作,确保代码版本的有效管理。
  • BuildService:控制构建过程,通过与Azure DevOps的构建API通信,监控构建状态。
  • ReleaseService:管理发布管道,执行环境配置,保障软件的顺利发布。

工具层实现

  • GitTools:封装了代码仓库的常见操作,提供简洁的接口供开发者使用,提高开发效率。
  • BuildTools:将构建相关的功能进行封装,如排队构建、获取构建状态等,方便开发者进行构建管理。

📄 许可证

项目遵循MIT许可证,具体内容可查看LICENSE文件。

❗ 故障排除

常见问题

1. 认证错误

  • 确保个人访问令牌有效且具有正确的权限。
  • 检查组织URL是否正确。

2. TypeScript编译错误

  • 使用npm run build:ignore-errors跳过类型检查。
  • 检查是否有缺失或错误的类型定义。

👏 贡献指南

欢迎大家为项目贡献力量,按以下步骤操作:

  1. Fork仓库
  2. 创建功能分支
git checkout -b feature/amazing-feature
  1. 提交更改
git add .
git commit -m "添加新功能"
  1. 推送到GitHub
git push origin feature/amazing-feature

通过以上指南,您能够成功配置和使用Azure DevOps MCP服务器,实现开发流程的自动化管理。

help

Runtime guide

cloud

Hosted runtime

Hosted servers run from a provider-managed environment. You usually connect the MCP client to the hosted endpoint or follow the provider's authorization flow, without keeping a local process alive

  1. Open provider connection page
  2. Authorize or copy endpoint
  3. Connect from your MCP client
terminal

Local runtime / other methods

Local servers run on your own machine or infrastructure. You normally copy the server_config into your MCP client, install the required package, and provide env variables from env_schema when needed

  1. Copy server_config
  2. Install required package
  3. Fill env variables and restart client