mcpField
A
alibabacloud-devops-mcp-server

alibabacloud-devops-mcp-server

本地服务
devops.aliyun.com云与基础设施1793 周前更新

关于 alibabacloud-devops-mcp-server

alibabacloud-devops-mcp-server 是云效(Yunxiao)平台的 MCP 服务,使 AI 助手能够访问代码库、项目、流水线、制品库等资源。适合使用阿里云云效的企业研发团队,可用于代码评审辅助和任务管理。

主要功能

  1. 01覆盖组织、代码、项目、流水线等 7 个工具集
  2. 02支持 Codeup 仓库、分支与合并请求操作
  3. 03支持项目工作项、字段与评论管理
  4. 04支持 stdio、SSE 与 Streamable HTTP 传输
  5. 05可通过工具集参数限制启用的工具

适用场景

  1. 01AI 助手读取工作项内容并提交合并请求
  2. 02查询流水线配置与部署状态
  3. 03按需启用代码管理工具以减少工具数量

MCP 相关

该项目是 MCP 服务,向 MCP 客户端暴露云效的组织、代码、项目、流水线、应用交付、制品库和测试管理等接口。官方还提供托管的远程 MCP 端点。

配置

本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。

mcp.json · 通用配置
{
"mcpServers": {
"alibabacloud-devops": {
"command": "npx",
"args": [
"-y",
"alibabacloud-devops-mcp-server"
],
"env": {
"YUNXIAO_ACCESS_TOKEN": "<YUNXIAO_ACCESS_TOKEN>"
}
}
}
}
启动命令npx -y alibabacloud-devops-mcp-server
需要配置的环境变量
YUNXIAO_ACCESS_TOKEN密钥

本地服务需要在你的电脑上安装运行环境(如 Node.js 18+)。各客户端的配置文件位置不同,请参考客户端文档。

安装包
npmalibabacloud-devops-mcp-server

工具

199

收录的工具列表 · 更新于 3 周前

此工具无需参数。

详细介绍

English | 中文

alibabacloud-devops-mcp-server

AlibabaCloud Devops MCP 服务为 AI 助手提供与云效平台交互的能力,使其能够读取项目中的工作项内容、理解需求后自动编写代码,并提交代码合并请求。企业开发团队可以利用它辅助代码审查、优化任务管理、减少重复操作,从而专注于更重要的创新和产品交付。

功能

alibabacloud-devops-mcp-server 为 AI 助手提供以下能力:

  • organization-management:组织管理工具(组织列表、组织详情、部门信息、组织角色、成员信息等)
  • code-management:代码仓库管理工具(仓库管理、分支管理、合并请求管理、文件树等)
  • project-management:项目管理工具(项目管理、工作项管理、工作项字段、工作项评论、工时跟踪等)
  • pipeline-management:流水线管理工具(流水线列表、流水线配置、资源管理、标签管理、部署管理等)
  • application-delivery:应用交付工具(部署单管理、应用管理、应用标签、变量组管理等)
  • packages-management:制品仓库管理工具(制品仓库、制品列表等)
  • test-management:测试管理工具(测试用例管理、测试用例目录、测试计划、测试结果等)

使用方法

区域版支持

此工具支持云效中央站和区域版两种部署模式:

  • 中央站:使用 https://openapi-rdc.aliyuncs.com 作为 API 域名
  • 区域版:使用组织专属域名,例如 https://your-org.devops.aliyuncs.com
自动模式检测

工具会根据配置的 API 基础 URL 自动判断部署模式:

  • 如果 URL 包含 openapi-rdc.aliyuncs.com,则以中央站模式运行
  • 否则,以区域版模式运行
配置区域版

使用区域版时,请设置 YUNXIAO_API_BASE_URL 环境变量:

{
  "mcpServers": {
    "yunxiao": {
      "command": "npx",
      "args": ["-y", "alibabacloud-devops-mcp-server"],
      "env": {
        "YUNXIAO_ACCESS_TOKEN": "<YOUR_TOKEN>",
        "YUNXIAO_API_BASE_URL": "https://your-org.devops.aliyuncs.com"
      }
    }
  }
}
前置条件
  • node 版本 >= 18.0.0

  • AlibabaCloud Devops 个人访问令牌,点击此处获取。授予组织管理、项目协作、代码管理、流水线管理、制品仓库管理、应用交付和测试管理下所有 API 的读写权限。

    个人令牌授权页面

官方托管 MCP 服务(无需安装)

云效提供官方托管的 MCP 端点,无需本地安装或 Docker。只需将客户端指向该端点,并使用云效令牌进行身份验证。

  • 中央站:https://openapi-rdc.aliyuncs.com/ai/mcp
  • 区域版:所在组织的区域域名 + /ai/mcp,例如 https://<your-org>.devops.aliyuncs.com/ai/mcp——即在所在区域访问云效时使用的同一域名。
  • 传输方式:Streamable HTTP(无状态)
  • 身份验证:Authorization: Bearer <YOUR_TOKEN>(或使用请求头 X-Yunxiao-Token: <YOUR_TOKEN>)

客户端配置——中央站(支持原生远程连接的客户端,例如 Cursor):

{
  "mcpServers": {
    "yunxiao": {
      "url": "https://openapi-rdc.aliyuncs.com/ai/mcp",
      "headers": { "Authorization": "Bearer <YOUR_TOKEN>" }
    }
  }
}

客户端配置——区域版(将 URL 替换为你自己的区域域名):

{
  "mcpServers": {
    "yunxiao": {
      "url": "https://<your-org>.devops.aliyuncs.com/ai/mcp",
      "headers": { "Authorization": "Bearer <YOUR_TOKEN>" }
    }
  }
}

提示:仅请求所需的工具集,以减少上下文用量——?toolsets=code-management,project-management 或请求头 X-Devops-Toolsets。请参阅完整指南:docs/hosted-mcp-guide.zh-CN.md。


快速开始(自托管,使用 Stdio 模式)

Stdio 模式是最简单的自托管方式,适用于大多数 MCP 客户端(如 Cursor、Claude Desktop、iFlow 等)。无需安装 Docker,只需通过 npx 运行。

选项 1:通过 NPX 直接使用(最简单)

将以下配置添加到 MCP 客户端配置文件中:

{
  "mcpServers": {
    "yunxiao": {
      "command": "npx",
      "args": [
        "-y",
        "alibabacloud-devops-mcp-server"
      ],
      "env": {
        "YUNXIAO_ACCESS_TOKEN": "<YOUR_TOKEN>"
      }
    }
  }
}

注意:

  • 将 <YOUR_TOKEN> 替换为你的云效访问令牌
  • -y 标志会自动确认安装,无需手动确认
  • 默认情况下,工具会调用云效中央站 OpenAPI(https://openapi-rdc.aliyuncs.com),无需额外配置
  • 如果你使用的是地域版(组织专属域名),请额外设置环境变量 YUNXIAO_API_BASE_URL,将其设为你的云效实例 URL,例如 https://your-org.devops.aliyuncs.com。详情请参阅上文的配置地域版部分
  • 此方式使用 stdio 模式,通过标准输入/输出与 MCP 客户端通信

使用 Docker(可选)

传输模式
模式CLI 标志环境变量端点
Stdio(默认)—stdin/stdout
SSE--sseMCP_TRANSPORT=sse/sse + /messages
Streamable HTTP--streamable-httpMCP_TRANSPORT=streamable-http/mcp
两者--sse --streamable-httpMCP_TRANSPORT=both/sse + /mcp

Streamable HTTP 是 MCP 规范推荐的远程传输方式。SSE 已过时;迁移期间请使用 both。

1. 拉取镜像
docker pull build-steps-public-registry.cn-beijing.cr.aliyuncs.com/build-steps/alibabacloud-devops-mcp-server:latest

自行构建:docker build -t alibabacloud/alibabacloud-devops-mcp-server .

2. 启动服务

Stdio:

docker run -i --rm -e YUNXIAO_ACCESS_TOKEN \
  build-steps-public-registry.cn-beijing.cr.aliyuncs.com/build-steps/alibabacloud-devops-mcp-server:latest

SSE / Streamable HTTP / 两者 — 设置 MCP_TRANSPORT 并公开 PORT:

docker run -d --name yunxiao-mcp -p 3000:3000 \
  -e YUNXIAO_ACCESS_TOKEN="your_token" -e PORT=3000 \
  -e MCP_TRANSPORT=streamable-http \   # sse | streamable-http | both
  build-steps-public-registry.cn-beijing.cr.aliyuncs.com/build-steps/alibabacloud-devops-mcp-server:latest

可选的 Streamable HTTP 环境变量:

  • MCP_STREAMABLE_PATH:MCP 端点路径(默认值为 /mcp)
  • MCP_HTTP_HOST:绑定主机(默认值为 0.0.0.0)
  • MCP_ALLOWED_HOSTS:允许的 Host 标头值(以逗号分隔)
3. 配置 MCP 客户端

Stdio:

{
  "mcpServers": {
    "yunxiao": {
      "command": "docker",
      "args": ["run", "-i", "--rm", "-e", "YUNXIAO_ACCESS_TOKEN", "build-steps-public-registry.cn-beijing.cr.aliyuncs.com/build-steps/alibabacloud-devops-mcp-server:latest"],
      "env": { "YUNXIAO_ACCESS_TOKEN": "<YOUR_TOKEN>" }
    }
  }
}

SSE: http://localhost:3000/sse

Streamable HTTP: http://localhost:3000/mcp

通过查询参数或标头传递凭据:

http://localhost:3000/mcp?yunxiao_access_token=YOUR_TOKEN_HERE

或使用请求标头:x-yunxiao-token: YOUR_TOKEN_HERE

地域版 / 实例 OpenAPI 基础 URL:

http://localhost:3000/mcp?yunxiao_access_token=TOKEN&yunxiao_api_base_url=https%3A%2F%2Fyour-org.devops.aliyuncs.com

或使用请求标头:x-yunxiao-api-base-url: https://your-org.devops.aliyuncs.com

Docker Compose
cp .env.example .env   # set YUNXIAO_ACCESS_TOKEN
docker compose up -d

客户端 URL:http://localhost:3000/sse(SSE)或 http://localhost:3000/mcp(Streamable HTTP)

工具集

服务现在支持工具集,可让你仅启用所需的工具。这可以减少呈现给 AI 助手的工具数量并提升性能。

可用工具集:

  • organization-management:组织管理工具(组织列表、组织详情、部门信息、组织角色、成员信息等)
  • code-management:代码仓库管理工具(仓库管理、分支管理、合并请求管理、文件树等)
  • project-management:项目管理工具(项目管理、工作项管理、工作项字段、工作项评论、工时记录等)
  • pipeline-management:流水线管理工具(流水线列表、流水线配置、资源管理、标签管理、部署管理等)
  • packages-management:制品仓库管理工具(制品仓库、制品列表等)
  • application-delivery:应用交付工具(部署单管理、应用管理、应用标签、变量组管理等)
  • test-management:测试管理工具(测试用例管理、测试用例目录、测试计划、测试结果等)

你可以通过命令行参数或环境变量指定要使用的工具集:

  1. 通过命令行参数:
npx -y alibabacloud-devops-mcp-server --toolsets=code-management,project-management
  1. 通过环境变量:
DEVOPS_TOOLSETS=code-management,project-management npx -y alibabacloud-devops-mcp-server

如果未指定工具集,默认会启用所有工具。

工具

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:创建合并请求
  • update_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:获取代码库列表
  • list_commits:[代码管理] 列出代码库中的提交
  • get_commit:[代码管理] 获取提交详情
  • create_commit_comment:[代码管理] 对提交发表评论
项目管理工具
  • get_project:获取项目详情
  • search_projects:搜索项目
  • get_sprint:获取迭代详情
  • list_sprints:列出项目中的迭代
  • create_sprint:[项目管理] 创建迭代
  • update_sprint:[项目管理] 更新迭代
  • search_programs:[项目管理] 搜索计划
  • list_program_versions:[项目管理] 列出计划版本
  • list_versions:[项目管理] 列出项目版本
  • create_version:[项目管理] 创建版本
  • update_version:[项目管理] 更新版本
  • delete_version:[项目管理] 删除版本
  • get_work_item:获取工作项详情
  • update_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:列出可与特定工作项建立关联的工作项类型
  • list_workitem_relation_records:列出工作项的关联记录
  • create_workitem_relation_record:将一个工作项与另一个工作项关联
  • delete_workitem_relation_record:删除工作项关联
  • get_work_item_type_field_config:获取特定工作项类型的字段配置
  • get_work_item_workflow:获取特定工作项类型的工作流信息
  • list_work_item_comments:列出特定工作项的评论
  • create_work_item_comment:为特定工作项创建评论;可选的 formatType:RICHTEXT(默认)或 MARKDOWN
  • list_workitem_attachments:列出特定工作项的附件
  • get_workitem_file:获取特定工作项附件的文件信息
  • create_workitem_attachment:将本地文件上传为工作项附件
  • list_workitem_activities:列出工作项的活动历史(字段变更、状态转换、关联变更)
  • 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:使用自然语言时间描述智能搜索流水线
  • generate_pipeline_yaml:[流水线管理] 生成流水线 YAML 配置
  • create_pipeline_from_description:根据自然语言描述创建流水线
  • update_pipeline:[流水线管理] 更新流水线 YAML 内容
  • 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:通过 pipelineId 更新云效中的现有流水线。用于更新流水线 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:更新标签
  • stop_vm_deploy_order:停止 VM 部署单
  • skip_vm_deploy_machine:跳过 VM 部署机器
  • retry_vm_deploy_machine:重试 VM 部署机器
  • resume_vm_deploy_order:恢复 VM 部署单
  • get_vm_deploy_order:获取 VM 部署单详情
  • get_vm_deploy_machine_log:获取 VM 部署机器日志
应用交付工具
  • create_change_order:[application delivery] 创建部署单
  • list_change_order_versions:[application delivery] 查看部署单版本列表
  • get_change_order:[application delivery] 读取部署单使用的物料和工单状态
  • list_change_order_job_logs:[application delivery] 查询环境部署单日志
  • find_task_operation_log:[application delivery] 查询部署任务执行日志,其中通常包含下游部署引擎的调度细节信息
  • execute_job_action:[application delivery] 操作环境部署单
  • list_change_orders_by_origin:[application delivery] 根据创建来源查询部署单
  • create_appstack_change_request:[application delivery] 创建变更请求
  • get_appstack_change_request_audit_items:[application delivery] 获取变更请求的审批项
  • list_appstack_change_request_executions:[application delivery] 列出变更请求的执行记录
  • list_appstack_change_request_work_items:[application delivery] 列出变更请求的工作项
  • cancel_appstack_change_request:[application delivery] 取消变更请求
  • close_appstack_change_request:[application delivery] 关闭变更请求
  • list_applications:[application delivery] 分页列出组织中的应用
  • get_application:[application delivery] 根据名称获取应用详情
  • create_application:[application delivery] 创建新应用
  • update_application:[application delivery] 更新现有应用
  • get_latest_orchestration:[application delivery] 获取环境的最新编排
  • list_app_orchestration:[application delivery] 列出应用编排
  • create_app_orchestration:[application delivery] 创建应用编排
  • delete_app_orchestration:[application delivery] 删除应用编排
  • get_app_orchestration:[application delivery] 获取应用编排
  • update_app_orchestration:[application delivery] 更新应用编排
  • get_env_variable_groups:[application delivery] 获取环境的变量组
  • create_variable_group:[application delivery] 创建变量组
  • delete_variable_group:[application delivery] 删除变量组
  • get_variable_group:[application delivery] 获取变量组
  • update_variable_group:[application delivery] 更新变量组
  • get_app_variable_groups:[application delivery] 获取应用的变量组
  • get_app_variable_groups_revision:[application delivery] 获取应用变量组的修订版本
  • search_app_templates:[application delivery] 搜索应用模板
  • create_app_tag:[application delivery] 创建应用标签
  • update_app_tag:[application delivery] 更新应用标签
  • search_app_tags:[application delivery] 搜索应用标签
  • update_app_tag_bind:[application delivery] 更新应用标签绑定
  • create_global_var:[application delivery] 创建全局变量组
  • get_global_var:[application delivery] 获取全局变量组
  • update_global_var:[application delivery] 更新全局变量组
  • list_global_vars:[application delivery] 列出全局变量组
  • get_machine_deploy_log:[application delivery] 获取机器部署日志
  • add_host_list_to_host_group:[application delivery] 将主机列表添加到主机组
  • add_host_list_to_deploy_group:[application delivery] 将主机列表添加到部署组
  • list_app_release_workflows:[application delivery] 列出应用的所有发布工作流
  • list_app_release_workflow_briefs:[application delivery] 列出应用的发布工作流摘要
  • list_system_release_workflows:[application delivery] 列出所有系统发布工作流
  • create_system_release_workflow:[application delivery] 创建系统发布工作流
  • update_system_release_stage:[application delivery] 更新系统发布工作流阶段
  • execute_system_release_stage:[application delivery] 执行系统发布工作流阶段
  • get_app_release_workflow_stage:[application delivery] 获取发布工作流阶段详情
  • list_app_release_stage_briefs:[application delivery] 列出发布阶段摘要
  • update_app_release_stage:[application delivery] 更新应用发布工作流阶段
  • list_app_release_stage_runs:[application delivery] 列出发布阶段执行记录
  • execute_app_release_stage:[application delivery] 执行变更请求的发布工作流阶段
  • cancel_app_release_stage_execution:[application delivery] 取消发布工作流阶段执行
  • retry_app_release_stage_pipeline:[application delivery] 重试发布工作流阶段流水线
  • skip_app_release_stage_pipeline:[application delivery] 跳过发布工作流阶段流水线
  • list_app_release_stage_metadata:[application delivery] 列出阶段执行的集成元数据
  • get_app_release_stage_pipeline_run:[application delivery] 获取发布阶段流水线运行实例
  • pass_app_release_stage_validate:[application delivery] 通过发布工作流阶段验证
  • get_app_release_stage_job_log:[application delivery] 获取流水线作业执行日志
  • refuse_app_release_stage_validate:[application delivery] 拒绝发布工作流阶段验证
软件包管理工具
  • list_package_repositories:获取软件包仓库详情列表
  • list_artifacts:获取制品详情列表
  • get_artifact:获取单个制品详情
测试管理工具
  • list_testcase_directories:[测试管理] 获取测试用例目录列表
  • create_testcase_directory:[测试管理] 创建测试用例目录
  • get_testcase_field_config:[测试管理] 获取测试用例字段配置
  • create_testcase:[测试管理] 创建测试用例
  • search_testcases:[测试管理] 搜索测试用例
  • get_testcase:[测试管理] 获取测试用例信息
  • delete_testcase:[测试管理] 删除测试用例
  • list_test_plans:[测试管理] 获取测试计划列表
  • get_test_result_list:[测试管理] 获取测试计划中的测试用例列表
  • update_test_result:[测试管理] 更新测试结果

联系我们

如有任何问题,请加入钉钉群“云效mcp server&智能化用户沟通2群”(ID:177120034028)。

阿里云云效 MCP 服务钉钉群

相关链接

为区域 IP 允许列表转发客户端 IP

向区域 OpenAPI 发送的 HTTP 请求会将入口提供的 X-Real-IP 作为单个经过验证的地址转发到 X-Forwarded-For 和 X-Real-IP,包括令牌检查和附件上传。该地址仅限于当前请求,不会存储在 MCP 会话中。如果缺少 X-Real-IP 或其无效,则会回退到套接字对端地址;MCP 不会从传入的 X-Forwarded-For 链中选择地址。Stdio 和中心 OpenAPI 请求不会添加这些请求头。

托管部署依赖入口将 X-Real-IP 覆盖为实际客户端地址,并限制对 MCP 的直接访问。无需配置代理地址列表或 Express trust proxy。使用此功能的自托管 HTTP 部署必须遵循相同的入口约定;该请求头本身不能验证地址。入口观察到的客户端可能是远程 AI 提供商的出口 IP,而非人类用户的工作站 IP。

评论

支持 Markdown

第一次接触 MCP?

从协议是什么,到在客户端里装上第一个服务,这几条回答覆盖了大多数入门问题。

一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。