调用阿里云OpenAPI时,需要查找API名称、拼装请求参数、处理分页和跨地域调用。OpenAPI MCP Server Core版(以下简称“Core版”)提供15个内置工具,通过自然语言即可完成API调用、多步编排、Terraform资源管理、帮助文档检索。可用于常见的AI Agent(例如:Qoder、Claude Code、CodeX等)。以下逐一说明每个工具的功能、参数和使用方式。
前提条件
已完成Core版MCP Server的配置和接入。具体操作,参见OpenAPI MCP Server 使用指南。
确认MCP连接。在AI Agent对话中输入“列出阿里云有哪些计算相关的产品”,如果返回产品列表则连接正常。
工具总览
Core版包含15个工具,按功能分为以下五个类别:
类别 | 工具 | 用途 |
API发现与探索 | 列出所有阿里云产品及元信息 | |
列出指定产品的所有API | ||
获取API的完整参数定义 | ||
基于自然语言描述推荐匹配的OpenAPI | ||
列出产品支持的地域 | ||
API执行 | 生成CLI命令(不执行) | |
执行阿里云CLI命令 | ||
高级编排 | 执行Python脚本,支持多API编排 | |
轮询异步任务状态 | ||
基础设施即代码 | 生成OSS预签名URL | |
执行Terraform HCL代码 | ||
文档检索 | 搜索帮助文档 | |
获取文档Markdown正文 | ||
浏览产品文档目录树 | ||
按关键词匹配文档内容 |
工具详情
API发现与探索
ListProducts
当需要了解阿里云有哪些产品时,AI Agent通过此工具查询产品目录。例如输入“阿里云有哪些计算的产品”,AI Agent会提取关键词并筛选出计算相关的产品列表。
使用指导
描述中明确产品关键字,例如“阿里云有哪些计算的产品”优于“阿里云有哪些产品”。
查询结果可作为后续对话的上下文,例如先问“有哪些数据库产品”,再针对具体产品追问操作细节。
ListApis
当用户的操作意图涉及某个产品但AI Agent需要确认具体的API操作时,会通过此工具浏览该产品的API列表。例如输入“帮我给ECS实例分配公网IP”,AI Agent可能先查询ECS有哪些相关API,再选择合适的接口执行。
使用指导
描述操作意图时尽量明确产品和动作,例如“给ECS实例分配公网IP”优于“分配IP”。
GetApiDefinition
当用户的操作请求涉及API调用时,AI Agent通常先通过SearchApis或ListApis找到目标API,再通过此工具获取该API的参数定义,最后构造正确的调用。例如输入“查询杭州地域的ECS实例”,AI Agent会先定位到DescribeInstances接口,再通过此工具确认需要哪些参数后执行。
使用指导
描述操作意图时尽量具体,AI Agent定位到正确的API后会自动确认参数并执行。
SearchApis
当不确定具体API名称时,AI Agent通过此工具根据自然语言描述匹配对应的阿里云OpenAPI。例如输入“怎么查看ECS实例的监控数据”,AI Agent会搜索并找到相关的监控类API。
使用指导
描述中包含产品名称,例如“查询ECS安全组规则”优于“查询安全组”。
复杂需求拆分为多个独立问题分别提问,每个问题对应一个API操作。
已明确API名称时直接告知AI Agent(如“用DescribeInstances查询”),可跳过搜索步骤。
ListProductRegions
当操作涉及地域选择时,AI Agent通过此工具确认目标地域是否支持该产品。例如输入“ECS在乌兰察布能用吗”或“帮我在新加坡创建一台ECS”,AI Agent会先确认地域可用性。
使用指导
提问中明确产品名称和目标地域,例如“ECS在乌兰察布能用吗”优于“乌兰察布能用吗”。
涉及多个地域时逐一说明,例如“帮我确认ECS在杭州、上海、新加坡是否都能用”。
API执行
GenerateCLICommand
当用户要求“只生成命令不执行”或AI Agent需要预览命令时,通过此工具生成CLI命令字符串。AI Agent通常先通过GetApiDefinition确认参数,再通过此工具生成命令,最后由CallCLI执行。例如输入“帮我生成查询杭州ECS实例的命令”,AI Agent会返回可在本地终端执行的完整命令。
使用指导
如果需要在本地终端手动执行命令,可要求AI Agent“只生成命令不执行”,生成的命令可直接复制使用。
CallCLI
当AI Agent明确知道要执行哪个API操作时,通过此工具直接调用。这是Core版中调用API的主要工具(Primary tool)。例如输入“查询杭州地域运行中的ECS实例”,AI Agent会构造CLI命令并执行查询。
使用指导
此工具执行的CLI命令在远程服务器运行,无法读取本地文件。
写操作(创建、修改、删除资源)可能产生费用,建议要求AI Agent执行前先确认操作内容。
高级编排
RunScript
当单次API调用无法满足需求时,AI Agent通过此工具编写脚本完成批量操作。例如输入“统计所有地域的ECS实例数量”或“检查所有安全组是否有高风险规则”,AI Agent会编写并发脚本同时查询多个资源。
使用指导
需要汇总、对比或批量操作时,描述清楚范围和目标,例如“统计所有地域的ECS实例数量”“检查所有安全组是否有高风险规则”。
脚本执行可能需要数秒到数十秒,耐心等待结果返回即可。
GetTask
当RunScript或RunIaC的任务执行时间较长时,AI Agent通过此工具等待任务完成并获取结果。执行耗时较长的操作(如跨地域巡检、Terraform部署)时可能触发此工具。
使用指导
执行耗时较长的操作(如跨地域巡检、批量查询)时,耐心等待结果返回即可。
如果涉及人工审批,按提示完成审批流程后结果会继续返回。
基础设施即代码
GetPresignedUrl
当RunIaC或RunScript工具需要引用外部文件时,AI Agent通过此工具生成临时上传链接。例如Terraform代码超过64 KB,或脚本需要处理预上传的数据文件时,AI Agent会先通过此工具上传文件再执行后续操作。
使用指导
涉及大文件上传时,可能需要等待上传完成后再执行后续操作。
RunIaC
当需要创建、变更或销毁云资源时,AI Agent可能通过此工具以Terraform方式管理基础设施。例如输入“在杭州创建一个VPC,CIDR为172.16.0.0/16”,AI Agent会先生成资源配置并预览变更,确认后再执行创建。
使用指导
描述资源需求时明确地域、规格和命名,例如“在杭州创建一个VPC,CIDR为172.16.0.0/16,名称为mcp-demo-vpc”。
涉及资源变更时可能需要人工审批,按提示完成审批流程即可。
文档检索
SearchDocuments
当用户提出产品使用、配置方法、报错排查等知识性问题时,AI Agent通过此工具搜索阿里云官方帮助文档。例如输入“函数计算冷启动怎么优化”或“OSS Bucket Policy怎么配置”,AI Agent会检索匹配的官方文档。
使用指导
提问中包含产品名称可提高搜索结果的相关性,例如“OSS跨域配置”优于“跨域配置”。
需要查看特定产品的文档时指明产品名,例如“函数计算的冷启动优化文档”优于“冷启动优化”。
GetDocument
AI Agent通过SearchDocuments找到相关文档后,通过此工具读取完整内容以回答用户问题。例如输入“函数计算冷启动怎么优化?”,AI Agent会先搜索定位文档,再读取全文后组织答案。
使用指导
AI Agent在搜索到文档后会自动读取内容并整理回答,整个过程对用户透明。
GetDocumentTree
当用户想了解某个产品的文档结构时,AI Agent通过此工具浏览文档目录树。例如输入“OSS的文档目录是怎样的”或“ECS有哪些用户指南”。
使用指导
提问时指明产品名称,例如“OSS有哪些文档分类”“ECS的用户指南下有哪些章节”。
GrepDocuments
当用户的问题涉及特定术语、配置项或错误码时,AI Agent通过此工具在指定产品文档中精确匹配关键词。例如输入“ECS文档里InstanceChargeType有哪些取值”或“帮我在OSS文档中查一下CORS相关的内容”。
使用指导
提问时同时指明产品和关键词,例如“在ECS文档中搜索DescribeInstanceAttribute”。
关键词越精确匹配结果越相关,多个关键词之间是AND关系。
典型使用场景
以下场景展示多个工具协作完成复杂任务的完整链路。
查询安全组规则
用户输入:
帮我查一下杭州地域的安全组有哪些规则AI Agent可能的工具调用链路:
通过
SearchApis工具搜索“查询ECS实例关联的安全组规则”,定位到DescribeSecurityGroupAttribute接口(置信度0.98)。通过
GetApiDefinition工具确认该接口需要SecurityGroupId和RegionId两个必填参数。通过
CallCLI工具执行查询,返回安全组规则列表(包含方向、协议、端口范围、源地址等信息)。
涉及的工具:SearchApis、GetApiDefinition、CallCLI
跨地域批量巡检
用户输入:
统计杭州、上海、北京三个地域各有多少台ECS实例AI Agent可能的工具调用链路:
通过
RunScript工具编写并发脚本,同时查询三个地域的实例数量。脚本执行超时(超过20秒),返回processID。
通过
GetTask工具轮询任务状态,等待脚本执行完成后获取结果。
涉及的工具:RunScript、GetTask
基于文档解决问题
用户输入:
函数计算冷启动延迟很高,有什么优化方案?AI Agent可能的工具调用链路:
通过
SearchDocuments工具搜索“函数计算冷启动优化”,找到《函数计算冷启动优化最佳实践》文档(doc_id: 2513659)。通过
GetDocument工具读取该文档全文,获取冷启动定义和优化方案。通过
GetDocumentTree工具浏览函数计算的文档目录,了解还有哪些性能相关的文档章节。
涉及的工具:SearchDocuments、GetDocument、GetDocumentTree