alibabacloud-devops-mcp-server
Version:
MCP Server for using the alibabacloud-devops API: allows AI assistants to directly participate in development collaboration, helping teams optimize development processes and improve efficiency.
310 lines (262 loc) • 13.1 kB
Markdown
<p align="center"><a href="README.md">English</a> | 中文<br></p>
# alibabacloud-devops-mcp-server
[云效](https://www.aliyun.com/product/yunxiao)mcp-server工具为 AI 助手提供了与云效平台交互的能力,能够让 AI 助手可以读取项目中工作项的内容,在理解需求后自动编写代码,并提交代码合并请求。企业研发团队可以使用它协助代码审查、优化任务管理、完成构建、部署等任务,从而专注于更重要的创新和产品交付。
## 功能特性
alibabacloud-devops-mcp-server提供了以下功能,让AI助手能够:
* **代码仓库管理**:查询代码仓库及其分支、创建分支
* **文件操作**:创建、更新、删除和获取代码文件内容
* **代码评审**:创建和管理代码评审流程
* **项目管理**:搜索项目、获取项目详情
* **流水线管理**:获取流水线详情、获取流水线列表、运行流水线、获取最近一次流水线运行信息、获取流水线运行实例、获取流水线运行实例列表、查询/运行流水线部署任务
* **制品仓库管理**:查看制品仓库信息、查询制品信息、查看单个制品信息
* **应用交付**:创建和管理部署单、应用、编排、变量组、模板、标签、全局变量和部署资源
## 工具列表
alibabacloud-devops-mcp-server集成了多种工具,包括:
### 组织管理
- `get_current_organization_Info`: 获取当前用户所在组织信息
- `get_user_organizations`: 获取当前用户加入的组织列表
- `get_organization_role`: 获取组织角色信息
- `get_organization_departments`: 获取组织中的部门列表
- `get_organization_department_info`: 获取组织中某个部门的信息
- `get_organization_department_ancestors`: 获取组织中部门的上级部门
- `get_organization_members`: 获取组织成员列表
- `get_organization_member_info`: 获取组织成员信息
- `get_organization_member_info_by_user_id`: 通过用户ID获取组织成员信息
- `search_organization_members`: 搜索组织成员
- `list_organization_roles`: 列出组织角色
- `get_organization_role`: 获取组织角色信息
### 代码管理工具
- `create_branch`: 创建分支
- `delete_branch`: 删除分支
- `get_branch`: 获取分支信息
- `list_branches`: 获取分支列表
- `create_file`: 创建文件
- `delete_file`: 删除文件
- `get_file_blobs`: 获取文件内容
- `list_files`: 查询文件树
- `update_file`: 更新文件内容
- `create_change_request`: 创建合并请求
- `create_change_request_comment`: 创建合并请求评论
- `get_change_request`: 查询合并请求
- `list_change_request_patch_sets`: 查询合并请求版本列表
- `list_change_request`: 查询合并请求列表
- `list_change_request_comments`: 查询合并请求评论列表
- `get_compare`: 代码比较
- `get_repository`: 获取仓库详情
- `list_repositories`: 获取仓库列表
### 项目管理工具
- `get_project`: 获取项目详情
- `search_projects`: 搜索项目
- `get_sprint`: 获取迭代详情
- `list_sprints`: 获取项目中的迭代列表
- `get_work_item`: 获取工作项详情
- `search_workitems`: 搜索工作项
- `get_work_item_types`: 获取工作项类型
- `create_work_item`: 创建工作项
- `list_all_work_item_types`: 列出组织中所有工作项类型
- `list_work_item_types`: 列出项目空间中工作项类型
- `get_work_item_type`: 获取特定工作项类型的详细信息
- `list_work_item_relation_work_item_types`: 列出可关联到特定工作项的工作项类型
- `get_work_item_type_field_config`: 获取工作项类型的字段配置
- `get_work_item_workflow`: 获取工作项类型的工作流信息
- `list_work_item_comments`: 列出特定工作项的评论
- `create_work_item_comment`: 为特定工作项创建评论
- `list_current_user_effort_records`: [项目管理] 获取用户的实际工时明细,结束时间和开始时间的间隔不能大于6个月
- `list_effort_records`: [项目管理] 获取实际工时明细
- `create_effort_record`: [项目管理] 登记实际工时
- `list_estimated_efforts`: [项目管理] 获取预计工时明细
- `create_estimated_effort`: [项目管理] 登记预计工时
- `update_effort_record`: [项目管理] 更新登记实际工时
- `update_estimated_effort`: [项目管理] 更新登记预计工时
### 流水线工具
- `get_pipeline` - 获取流水线详情
- `list_pipelines` - 获取流水线列表
- `smart_list_pipelines` - 智能查询流水线(支持自然语言时间)
- `create_pipeline_run` - 运行流水线
- `get_latest_pipeline_run` - 获取最新运行信息
- `get_pipeline_run` - 获取运行详情
- `list_pipeline_runs` - 获取运行历史
- `list_pipeline_jobs_by_category` - 获取流水线任务
- `list_pipeline_job_historys` - 获取任务历史
- `execute_pipeline_job_run` - 手动运行任务
- `get_pipeline_job_run_log` - 获取任务日志
- `list_service_connections` - 获取服务连接列表
- `create_pipeline_from_description`: 根据自然语言描述生成流水线 YAML 并创建流水线
- `update_pipeline`: 更新流水线YAML内容
#### 资源成员管理工具
- `create_resource_member`: 创建资源成员
- `delete_resource_member`: 删除资源成员
- `list_resource_members`: 获取资源成员列表
- `update_resource_member`: 更新资源成员
- `update_resource_owner`: 移交资源对象拥有者
#### 标签管理工具
- `create_tag`: 创建标签
- `create_tag_group`: 创建标签分类
- `list_tag_groups`: 获取流水线分类列表
- `delete_tag_group`: 删除标签分类
- `update_tag_group`: 更新标签分类
- `get_tag_group`: 获取标签分类
- `delete_tag`: 删除标签
- `update_tag`: 更新标签
#### VM部署单管理工具
- `stop_vm_deploy_order`: 终止机器部署
- `skip_vm_deploy_machine`: 跳过机器部署
- `retry_vm_deploy_machine`: 重试机器部署
- `resume_vm_deploy_order`: 继续部署单运行
- `get_vm_deploy_order`: 获取部署单详情
- `get_vm_deploy_machine_log`: 查询机器部署日志
### 制品仓库工具
- `list_package_repositories`: 查看制品仓库信息
- `list_artifacts`: 查询制品信息
- `get_artifact`: 查看单个制品信息
### 应用交付工具
- `create_change_order`: [应用交付] 创建部署单
- `list_change_order_versions`: [应用交付] 查看部署单版本列表
- `get_change_order`: [应用交付] 读取部署单使用的物料和工单状态
- `list_change_order_job_logs`: [应用交付] 查询环境部署单日志
- `find_task_operation_log`: [应用交付] 查询部署任务执行日志,其中通常包含下游部署引擎的调度细节信息
- `execute_job_action`: [应用交付] 操作环境部署单
- `list_change_orders_by_origin`: [应用交付] 根据创建来源查询部署单
- `list_applications`: [应用交付] 分页获取组织中的应用列表
- `get_application`: [应用交付] 根据应用名获取应用详情
- `create_application`: [应用交付] 创建应用
- `update_application`: [应用交付] 更新应用
- `get_latest_orchestration`: [应用交付] 获取环境的最新编排
- `list_app_orchestration`: [应用交付] 列出应用编排
- `create_app_orchestration`: [应用交付] 创建应用编排
- `delete_app_orchestration`: [应用交付] 删除应用编排
- `get_app_orchestration`: [应用交付] 获取应用编排
- `update_app_orchestration`: [应用交付] 更新应用编排
- `get_env_variable_groups`: [应用交付] 获取环境的变量组
- `create_variable_group`: [应用交付] 创建变量组
- `delete_variable_group`: [应用交付] 删除变量组
- `get_variable_group`: [应用交付] 获取变量组
- `update_variable_group`: [应用交付] 更新变量组
- `get_app_variable_groups`: [应用交付] 获取应用的变量组
- `get_app_variable_groups_revision`: [应用交付] 获取应用变量组的版本
- `search_app_templates`: [应用交付] 搜索应用模板
- `create_app_tag`: [应用交付] 创建应用标签
- `update_app_tag`: [应用交付] 更新应用标签
- `search_app_tags`: [应用交付] 搜索应用标签
- `update_app_tag_bind`: [应用交付] 更新应用标签绑定
- `create_global_var`: [应用交付] 创建全局变量组
- `get_global_var`: [应用交付] 获取全局变量组
- `update_global_var`: [应用交付] 更新全局变量组
- `list_global_vars`: [应用交付] 列出全局变量组
- `get_machine_deploy_log`: [应用交付] 获取机器部署日志
- `add_host_list_to_host_group`: [应用交付] 添加主机列表到主机组
- `add_host_list_to_deploy_group`: [应用交付] 添加主机列表到部署组
## 用法
### 先决条件
* node 版本 >= 18.0.0
* 阿里云[云效](https://www.aliyun.com/product/yunxiao)个人访问令牌,[点击前往](https://help.aliyun.com/zh/yunxiao/developer-reference/obtain-personal-access-token),授予组织管理、项目协作、代码管理、流水线、制品仓库、应用交付、测试管理下所有api的读写权限。令牌的到期时间注意选择一个长期有效的时间。

### 在 Smithery.ai 中使用云效 MCP 服务
云效 MCP 服务已部署到 Smithery.ai 中,可以按照下列命令安装使用 [Smithery](https://smithery.ai/server/@aliyun/alibabacloud-devops-mcp-server):
```bash
npx -y @smithery/cli install @aliyun/alibabacloud-devops-mcp-server --client claude
```
### 通过 MCP市场 安装[云效](https://www.aliyun.com/product/yunxiao) MCP 服务
通义灵码内置的MCP市场中已经提供了云效的MCP服务,在通义灵码中进入MCP市场并且找到「云效DevOps」,直接安装即可。

### 在Cursor、Claude code/iFlow等终端中配置mcp server。通过npx的方式来运行mcp server。
```json
{
"mcpServers": {
"yunxiao": {
"command": "npx",
"args": [
"-y",
"alibabacloud-devops-mcp-server"
],
"env": {
"YUNXIAO_ACCESS_TOKEN": "<YOUR_TOKEN>"
}
}
}
}
```
### 通过 Docker 容器运行 MCP 服务器
1.Docker build
```shell
docker build -t alibabacloud/alibabacloud-devops-mcp-server .
```
2.配置 MCP 服务器
```json
{
"mcpServers": {
"yunxiao": {
"command": "docker",
"args": [
"run",
"-i",
"--rm",
"-e",
"YUNXIAO_ACCESS_TOKEN",
"alibabacloud/alibabacloud-devops-mcp-server"
],
"env": {
"YUNXIAO_ACCESS_TOKEN": "<YOUR_TOKEN>"
}
}
}
}
```
### 通过 docker compose 运行MCP 服务器
1. 环境设置
```shell
cd alibabacloud-devops-mcp-server
cp .env.example
```
2. Docker Compose构建
```shell
docker compose up -d
```
3. 配置 MCP 服务器
```json
{
"mcpServers": {
"yunxiao": {
"url":"http://localhost:3000/sse"
}
}
}
```
### SSE 模式下使用独立令牌
在 SSE 模式下运行时,每个用户都可以通过查询参数或请求头传递自己的令牌:
1. 通过查询参数:
```
http://localhost:3000/sse?yunxiao_access_token=USER_SPECIFIC_TOKEN
```
2. 通过请求头:
```
x-yunxiao-token: USER_SPECIFIC_TOKEN
```
这允许多个用户共享同一个 SSE 服务,同时使用各自独立的令牌进行身份验证。
### 工具集(Toolsets)
服务器现在支持工具集功能,允许您只启用需要的工具。这可以减少提供给AI助手的工具数量,提高性能。
可用的工具集:
- `base`: 基础工具集,总是被加载(get_current_user, get_current_organization_info, get_user_organizations)
- `code-management`: 代码仓库管理工具(包含提交管理工具)
- `organization-management`: 组织管理工具(不包含基础工具)
- `project-management`: 项目管理工具(包含工时管理工具)
- `pipeline-management`: 流水线管理工具(包含服务连接、资源成员和虚拟机部署单工具)
- `packages-management`: 制品仓库管理工具
- `application-delivery`: 应用交付工具
要使用工具集,您可以通过命令行参数或环境变量来指定:
1. 通过命令行参数:
```bash
npx -y alibabacloud-devops-mcp-server --toolsets=code-management,project-management
```
2. 通过环境变量:
```bash
DEVOPS_TOOLSETS=code-management,project-management npx -y alibabacloud-devops-mcp-server
```
如果没有指定工具集,将默认启用所有工具。
## 联系我们
如有任何疑问或疑虑,请通过钉钉群联系我们:134400004101

## 相关链接
- [阿里云云效](https://www.aliyun.com/product/yunxiao)
- [MCP 市场](https://modelscope.cn/mcp/servers/@aliyun/alibabacloud-devops-mcp-server)
- [使用场景示例](https://mp.weixin.qq.com/s/KQsN6dQlnNeCNATC-QD7pg)