Ado Mcp

Ado Mcp

🚀 Azure DevOps 多租户控制平面(MCP)

Azure DevOps 多租户控制平面(MCP)为 Azure DevOps 提供了强大的管理和控制能力,通过直观的架构设计和丰富的功能组件,帮助用户高效管理组织、项目、仓库等资源。

🚀 快速开始

环境变量配置

  • ADO_ORGANIZATION: Azure DevOps 组织名称(必填)
  • ADO_PROJECT: 默认项目名称(可选)
  • ADO_PAT: 个人访问令牌用于身份验证(必填)
  • ADO_API_URL: API 基 URL(可选,默认为 https://dev.azure.com)
  • ADO_API_VERSION: API 版本(可选,默认为 7.0)
  • ADO_API_MAX_RETRIES: API 调用的最大重试次数(可选,默认为 3)
  • ADO_API_DELAY_MS: 重试之间的延迟时间(以毫秒为单位)(可选,默认为 1000)
  • ADO_API_USE_KERBEROS: 是否启用 Kerberos 认证(可选,默认为 false)

配置文件示例

# 配置文件路径:config/azure-devops-mcp.properties

# Azure DevOps 组织名称
organization.name = my_organization

# 默认项目 ID
project.id = 12345678-9abc-defg-1234-56789abcdef

# API 基 URL
api.url = https://dev.azure.com

# 个人访问令牌
pat.token = your_personal_access_token_here

# 最大重试次数
max.retries = 3

# 重试延迟(毫秒)
retry.delay.ms = 1000

✨ 主要特性

  • 可视化架构:通过项目结构图和类图,清晰展示 Azure DevOps MCP 的整体架构和组件关系。
  • 多资源管理:支持对组织、项目、仓库、管道等资源的管理和操作。
  • 灵活配置:可通过环境变量和配置文件进行灵活配置。

📦 安装指南

构建项目

mvn clean install -DskipTests

运行服务器

mvn spring-boot:run

Docker 镜像构建

# 基础镜像
FROM openjdk:jdk17

# 设置工作目录
WORKDIR /app

# 复制项目文件
COPY . .

# 打包应用
RUN mvn clean install -DskipTests && \
cp target/azure-devops-mcp.jar .

# 运行应用
CMD ["java", "-jar", "target/azure-devops-mcp.jar"]

💻 使用示例

基础用法

列出所有项目

{
"id": "12345678-9abc-defg-1234-56789abcdef",
"name": "MyProject",
"description": "This is my project description.",
"state": "active"
}

获取仓库信息

{
"id": "repo_123",
"name": "my_repository",
"branches": [
{
"name": "main",
"commit": {
"sha": "abc123def456789",
"message": "Initial commit"
}
}
],
"pullRequests": [
{
"id": 1,
"title": "Add feature X",
"status": "open"
}
]
}

📚 详细文档

项目结构图

下图展示了 Azure DevOps MCP 项目的整体架构:

类图

以下是 Azure DevOps MCP 的类图,展示了各个组件之间的关系和交互:

classDiagram

class ADOrganization {
string name
string description
void addProject()
void removeProject()
ProjectsList projects
}

class ADProject {
string id
string name
string state
Repository[] repositories
Pipeline[] pipelines
}

class ProjectManager {
ADProject currentProject
void switchProject(string projectId)
void createProject(ADProject project)
void deleteProject(string projectId)
ProjectsList listProjects()
}

class ADOrganization {
<>
string name
string description
ADProject[] projects
}

class ADUser {
string id
string email
string firstName
string lastName
Role role
}

class Repository {
string id
string name
Branch[] branches
PullRequest[] pullRequests
}

class Pipeline {
string id
string name
string state
Job[] jobs
}

class ADOrganizationRepository {
void save(ADOrganization org)
ADOrganization findById(string id)
List findAll()
}

ProjectManager o -> ADOrganizationRepository: findCurrentOrganization()

ProjectManager --> ADProject: CurrentProject

ADUser --> Role: hasRole()

ADProject --> Repository: getRepositories()

ADProject --> Pipeline: getPipelines()

Repository --> Branch: getBranches()

Repository --> PullRequest: getPullRequests()

Pipeline --> Job: getJobs()

📄 许可证

MIT 许可证

版权所有 (c) 2024 Azure DevOps MCP 开发团队。

特此免费授予任何获得本软件及相关文档文件(“软件”)副本的人,允许其无限制地处理本软件,包括但不限于使用、复制、修改、合并、发布、分发、再许可和/或出售软件副本的权利,并允许向其提供软件的人这样做,但须遵守以下条件:

上述版权声明和本许可声明应包含在所有软件副本或重要部分中。

软件按“原样”提供,不附带任何形式的明示或暗示保证,包括但不限于适销性、特定用途适用性和不侵权的保证。在任何情况下,作者或版权持有人均不对因合同、侵权或其他方式引起的任何索赔、损害或其他责任负责,无论是在与软件或软件的使用或其他交易有关的任何行动中。

⚠️ 重要提示

如需商业用途,请联系开发团队获取授权。

  • 0 关注
  • 0 收藏,28 浏览
  • system 提出于 2025-09-27 14:18

相似服务问题

相关AI产品