aliyun/alibaba-cloud-ops-mcp-server
alibaba-cloud-ops-mcp-server is hosted online, so all tools can be tested directly either in theInspector tabor in theOnline Client.
If you are the rightful owner of alibaba-cloud-ops-mcp-server and would like to certify it and/or have it hosted online, please leave a comment on the right or send an email to dayong@mcphub.com.
Alibaba Cloud Ops MCP Server is a Model Context Protocol server that integrates with Alibaba Cloud APIs to manage cloud resources.
Try alibaba-cloud-ops-mcp-server with chat:
Tools
Functions exposed to the LLM to take actions
OOS_RunCommand
批量在多台ECS实例上运行云助手命令,适用于需要同时管理多台ECS实例的场景,如应用程序管理和资源标记操作等。
OOS_StartInstances
批量启动ECS实例,适用于需要同时管理和启动多台ECS实例的场景,例如应用部署和高可用性场景。
OOS_StopInstances
批量停止ECS实例,适用于需要同时管理和停止多台ECS实例的场景。
OOS_RebootInstances
批量重启ECS实例,适用于需要同时管理和重启多台ECS实例的场景。
OOS_RunInstances
批量创建ECS实例,适用于需要同时创建多台ECS实例的场景,例如应用部署和高可用性场景。
OOS_ResetPassword
批量修改ECS实例的密码,请注意,本操作将会重启ECS实例
OOS_ReplaceSystemDisk
批量替换ECS实例的系统盘,更换操作系统
OOS_StartRDSInstances
批量启动RDS实例,适用于需要同时管理和启动多台RDS实例的场景,例如应用部署和高可用性场景。
OOS_StopRDSInstances
批量停止RDS实例,适用于需要同时管理和停止多台RDS实例的场景。
OOS_RebootRDSInstances
批量重启RDS实例,适用于需要同时管理和重启多台RDS实例的场景。
OOS_CodeDeploy
将应用部署到阿里云ECS实例。使用阿里云OOS(运维编排服务)的CodeDeploy功能实现自动化部署。
## 前置条件(调用此工具前需完成)
1. **识别项目类型**:读取项目配置文件(package.json、pom.xml、requirements.txt等),确定技术栈和部署语言(通过deploy_language参数传入)
2. **构建部署产物**:执行构建命令生成压缩包(tar.gz、zip等),保存到 `.code_deploy/release` 目录
3. **准备ECS实例**:确保目标ECS实例已创建,获取实例ID列表
## 核心要求
### 1. 防御性命令设计(必须)
启动和停止命令必须包含存在性检查,避免因路径/文件/命令不存在导致失败:
- 压缩包:先检查文件存在再解压 `[ -f app.tar.gz ] && tar -xzf app.tar.gz || exit 1`
- 可执行文件:检查文件存在再执行 `[ -f start.sh ] && chmod +x start.sh && ./start.sh || exit 1`
- 命令可用性:检查命令是否存在 `command -v npm >/dev/null 2>&1 || exit 1`
- 禁止直接使用 `cd`,必须先验证路径存在
### 2. 压缩包处理规范(必须)
如果产物是压缩包,启动命令必须先解压:
- 使用非交互式命令:`tar -xzf`、`unzip -o`(自动覆盖,无需确认)
- 解压后执行启动命令,确保路径对应
- 示例:`tar -xzf app.tar.gz && nohup java -jar app.jar > /root/app.log 2>&1 &`
### 3. 后台运行与日志(必须)
启动命令必须使用后台运行并重定向日志:
- 格式:`nohup <command> > /root/app.log 2>&1 &`
- 说明:nohup保持后台运行,`>` 重定向标准输出,`2>&1` 合并错误输出,`&` 后台执行
### 4. 停止命令规范
停止命令需检查服务/进程是否存在:
- systemctl服务:`systemctl list-units | grep -q "service" && systemctl stop service`
- 进程名:`pkill -f "process_pattern" || true`
## 注意事项
- 应用和应用分组会自动检查,已存在则跳过创建
- 未提供ECS实例ID时,工具会返回创建引导链接
- 部署信息自动保存到 `.code_deploy/.application.json`
- project_path未提供时,会从file_path推断或使用当前目录
- 部署完成后,以markdown格式展示service_link供用户跳转
OOS_GetLastDeploymentInfo
获取上次部署的应用信息
OOS_GetDeployStatus
查询应用分组的部署状态
CMS_GetCpuUsageData
获取ECS实例的CPU使用率数据
CMS_GetCpuLoadavgData
获取CPU一分钟平均负载指标数据
CMS_GetCpuloadavg5mData
获取CPU五分钟平均负载指标数据
CMS_GetCpuloadavg15mData
获取CPU十五分钟平均负载指标数据
CMS_GetMemUsedData
获取内存使用量指标数据
CMS_GetMemUsageData
获取内存利用率指标数据
CMS_GetDiskUsageData
获取磁盘利用率指标数据
CMS_GetDiskTotalData
获取磁盘分区总容量指标数据
CMS_GetDiskUsedData
获取磁盘分区使用量指标数据
OSS_ListBuckets
列出指定区域的所有OSS存储空间。
OSS_ListObjects
获取指定OSS存储空间中的所有文件信息。
OSS_PutBucket
创建一个新的OSS存储空间。
OSS_DeleteBucket
删除指定的OSS存储空间。
ECS_DescribeInstances
本接口支持根据不同请求条件查询实例列表,并关联查询实例的详细信息。
ECS_DescribeRegions
根据计费方式、资源类型等参数查询地域信息列表。
ECS_DescribeZones
根据地域ID、计费方式等参数查询可用区信息列表。
ECS_DescribeAccountAttributes
查询您在一个阿里云地域下能创建的ECS资源配额。包括您能创建的安全组数量、弹性网卡数量、按量付费vCPU核数、抢占式实例vCPU核数、按量付费云盘总容量配额、专用宿主机数量、网络类型以及账号是否已完成实名认证。
ECS_DescribeAvailableResource
查询指定可用区的资源库存状态。该接口主要用于在创建实例(RunInstances)或修改实例规格(ModifyInstanceSpec)前,确认目标资源(如实例规格、系统盘类型)在特定可用区是否库存充足。
ECS_DescribeImages
指定ImageId、镜像被使用场景、Filter过滤等参数,查询您可以使用的镜像资源列表。
ECS_DescribeSecurityGroups
本接口用于查询安全组基本信息列表,支持您通过地域、安全组ID、安全组类型等不同参数查询。
ECS_DeleteInstances
本接口用于批量删除或者释放按量付费实例或者到期的包年包月实例,支持通过参数设置决定云盘是否释放或转换为按量付费保留。
VPC_DescribeVpcs
查询已创建的VPC。
VPC_DescribeVSwitches
查询可组网的信息,内网按vswitch进行组网。
RDS_DescribeDBInstances
该接口用于查询RDS的实例列表。
LOCAL_ListDirectory
列出指定目录中的文件和子目录。返回包含名称、类型和大小等信息的目录和文件列表。
LOCAL_RunShellScript
执行 shell 脚本或命令。返回命令输出、错误信息和退出代码。注意:执行任意命令可能存在安全风险,请谨慎使用。
LOCAL_AnalyzeDeployStack
识别项目部署方式和技术栈。支持识别 npm、Python、Java、Go、Docker 等部署方式。
Prompts
Interactive templates invoked by user choice
No prompts
Resources
Contextual data attached and managed by the client