From 1c7f908ce09f98fdcbf79ed2a8ae21be60eaa634 Mon Sep 17 00:00:00 2001 From: Zhineng Li Date: Sun, 12 Jul 2026 17:11:17 +0800 Subject: update APIs 20260712 --- data/zh_cn/openapiexplorer/2024-11-30/api-docs.php | 5257 +++++++------------- 1 file changed, 1833 insertions(+), 3424 deletions(-) (limited to 'data/zh_cn/openapiexplorer/2024-11-30/api-docs.php') diff --git a/data/zh_cn/openapiexplorer/2024-11-30/api-docs.php b/data/zh_cn/openapiexplorer/2024-11-30/api-docs.php index 3f48be3..8aa46fb 100644 --- a/data/zh_cn/openapiexplorer/2024-11-30/api-docs.php +++ b/data/zh_cn/openapiexplorer/2024-11-30/api-docs.php @@ -1,54 +1,36 @@ '1.0', - 'info' => [ - 'style' => 'ROA', - 'product' => 'OpenAPIExplorer', - 'version' => '2024-11-30', - ], + 'info' => ['style' => 'ROA', 'product' => 'OpenAPIExplorer', 'version' => '2024-11-30'], 'directories' => [ [ - 'children' => [ - 'UpdateApiMcpServerUserConfig', - 'GetApiMcpServerUserConfig', - ], + 'children' => ['UpdateApiMcpServerCore', 'ListApiMcpServerCores', 'GetApiMcpServerCore', 'DeleteApiMcpServerCore', 'CreateApiMcpServerCore'], 'type' => 'directory', - 'title' => 'ApiMcpServer全局配置', - 'id' => 251985, + 'title' => 'ApiMcpServerCore', + 'id' => 451760, ], [ - 'children' => [ - 'GetApiDefinition', - 'ListApiDefinitions', - 'GetProductEndpoints', - 'GenerateCLICommand', - ], + 'children' => ['UpdateApiMcpServerUserConfig', 'GetApiMcpServerUserConfig'], + 'type' => 'directory', + 'title' => 'ApiMcpServer 全局配置', + 'id' => 451761, + ], + [ + 'children' => ['ListApiDefinitions', 'GetProductEndpoints', 'GetApiDefinition', 'GenerateCLICommand', 'ListProducts', 'GetCodeSample', 'GetSdkDependencies'], 'type' => 'directory', 'title' => '开放元数据', - 'id' => 248636, + 'id' => 451762, ], [ - 'children' => [ - 'CreateApiMcpServer', - 'UpdateApiMcpServer', - 'GetApiMcpServer', - 'DeleteApiMcpServer', - 'ListApiMcpServers', - 'ApiMcpServerValidateHcl', - 'ListApiMcpServerSystemTools', - ], + 'children' => ['CreateApiMcpServer', 'UpdateApiMcpServer', 'GetApiMcpServer', 'DeleteApiMcpServer', 'ListApiMcpServers', 'ApiMcpServerValidateHcl', 'ListApiMcpServerSystemTools'], 'type' => 'directory', 'title' => 'ApiMcpServer', - 'id' => 247902, + 'id' => 451763, ], [ - 'children' => [ - 'GetErrorCodeSolutions', - 'GetRequestLog', - 'GetOwnRequestLog', - ], + 'children' => ['GetErrorCodeSolutions', 'GetRequestLog', 'GetOwnRequestLog'], 'type' => 'directory', 'title' => '诊断', - 'id' => 247910, + 'id' => 451764, ], ], 'components' => [ @@ -57,31 +39,21 @@ 'apis' => [ 'ApiMcpServerValidateHcl' => [ 'path' => '/terraform/validate', - 'methods' => [ - 'post', - ], - 'schemes' => [ - 'https', - ], + 'methods' => ['post'], + 'schemes' => ['https'], 'security' => [ [ 'AK' => [], ], ], - 'consumes' => [ - 'application/json', - ], - 'produces' => [ - 'application/json', - ], + 'consumes' => ['application/json'], + 'produces' => ['application/json'], 'operationType' => 'read', 'systemTags' => [ 'operationType' => 'none', 'riskType' => 'none', 'chargeType' => 'free', - 'abilityTreeNodes' => [ - 'FEATUREopenapiexplorer7MPML0', - ], + 'abilityTreeNodes' => ['FEATUREopenapiexplorer7MPML0'], 'tenantRelevance' => 'publicInformation', ], 'parameters' => [ @@ -93,26 +65,21 @@ 'description' => '请求 body。', 'type' => 'object', 'properties' => [ - 'code' => [ - 'description' => 'Terraform HCL 代码内容。[HCL 语言概述](https://help.aliyun.com/zh/terraform/terraform-configuration-and-hcl-language-overview)', - 'type' => 'string', - 'required' => false, - 'example' => 'variable "name" {'."\n" - .' default = "terraform-example"'."\n" - .'}'."\n" - ."\n" - .'provider "alicloud" {'."\n" - .' region = "cn-beijing"'."\n" - .'}'."\n" - ."\n" - .'resource "alicloud_vpc" "default" {'."\n" - .' ipv6_isp = "BGP"'."\n" - .' description = "test"'."\n" - .' cidr_block = "10.0.0.0/8"'."\n" - .' vpc_name = var.name'."\n" - .' enable_ipv6 = true'."\n" - .'}', - ], + 'code' => ['description' => 'Terraform HCL 代码内容。[HCL 语言概述](https://help.aliyun.com/zh/terraform/terraform-configuration-and-hcl-language-overview)', 'type' => 'string', 'required' => false, 'example' => 'variable "name" {'."\n" + .' default = "terraform-example"'."\n" + .'}'."\n" + ."\n" + .'provider "alicloud" {'."\n" + .' region = "cn-beijing"'."\n" + .'}'."\n" + ."\n" + .'resource "alicloud_vpc" "default" {'."\n" + .' ipv6_isp = "BGP"'."\n" + .' description = "test"'."\n" + .' cidr_block = "10.0.0.0/8"'."\n" + .' vpc_name = var.name'."\n" + .' enable_ipv6 = true'."\n" + .'}'], ], 'required' => false, ], @@ -124,91 +91,51 @@ 'description' => '请求结果。', 'type' => 'object', 'properties' => [ - 'requestId' => [ - 'description' => '请求ID。', - 'type' => 'string', - 'example' => ' '."\n" - .'9BFC4AC1-6BE4-5405-BDEC-CA288D404812'."\n", - ], - 'hash' => [ - 'description' => 'Terraform HCL 代码的唯一标识。', - 'type' => 'string', - 'example' => '0628e13692023222bef9d6377dd03da3304b689e1b2df60f584ea27b4163bf07', - ], - 'isValid' => [ - 'description' => '代码内容是否有效。', - 'type' => 'boolean', - 'example' => 'true', - ], + 'requestId' => ['description' => '请求ID。', 'type' => 'string', 'example' => ' '."\n" + .'9BFC4AC1-6BE4-5405-BDEC-CA288D404812'."\n"], + 'hash' => ['description' => 'Terraform HCL 代码的唯一标识。', 'type' => 'string', 'example' => '0628e13692023222bef9d6377dd03da3304b689e1b2df60f584ea27b4163bf07'], + 'isValid' => ['description' => '代码内容是否有效。', 'type' => 'boolean', 'example' => 'true'], 'errors' => [ 'description' => '错误信息列表。', 'type' => 'array', - 'items' => [ - 'description' => '错误信息内容。', - 'type' => 'string', - 'example' => 'Unclosed configuration block: There is no closing brace for this block before the end of the file. This may be caused by incorrect brace nesting elsewhere in this file.', - ], + 'items' => ['description' => '错误信息内容。', 'type' => 'string', 'example' => 'Unclosed configuration block: There is no closing brace for this block before the end of the file. This may be caused by incorrect brace nesting elsewhere in this file.'], ], 'warnings' => [ 'description' => '警告信息列表。', 'type' => 'array', - 'items' => [ - 'description' => '警告信息内容。', - 'type' => 'string', - 'example' => 'Warning.', - ], + 'items' => ['description' => '警告信息内容。', 'type' => 'string', 'example' => 'Warning.'], ], 'parameters' => [ 'description' => '参数列表。', 'type' => 'array', - 'items' => [ - 'description' => '参数内容。', - 'type' => 'any', - 'example' => '{'."\n" - .' "schema": {'."\n" - .' "writeOnly": false,'."\n" - .' "nullable": false,'."\n" - .' "description": "要修改的VPC名称。\\n\\n名称长度为1~128个字符,不能以`http://`或`https://`开头。",'."\n" - .' "readOnly": false,'."\n" - .' "type": "string",'."\n" - .' "required": false'."\n" - .' },'."\n" - .' "deprecated": false,'."\n" - .' "allowEmptyValue": false,'."\n" - .' "name": "name",'."\n" - .' "required": false,'."\n" - .' "example": "terraform-example"'."\n" - .' }', - ], - ], - 'diagnosticReport' => [ - 'description' => '代码内容的诊断报告。', - 'type' => 'any', - 'example' => 'Argument or block definition required: An argument or block definition is required here.', - ], + 'items' => ['description' => '参数内容。', 'type' => 'any', 'example' => '{'."\n" + .' "schema": {'."\n" + .' "writeOnly": false,'."\n" + .' "nullable": false,'."\n" + .' "description": "要修改的VPC名称。\\n\\n名称长度为1~128个字符,不能以`http://`或`https://`开头。",'."\n" + .' "readOnly": false,'."\n" + .' "type": "string",'."\n" + .' "required": false'."\n" + .' },'."\n" + .' "deprecated": false,'."\n" + .' "allowEmptyValue": false,'."\n" + .' "name": "name",'."\n" + .' "required": false,'."\n" + .' "example": "terraform-example"'."\n" + .' }'], + ], + 'diagnosticReport' => ['description' => '代码内容的诊断报告。', 'type' => 'any', 'example' => 'Argument or block definition required: An argument or block definition is required here.'], ], ], ], ], 'errorCodes' => [ 400 => [ - [ - 'errorCode' => 'InvalidParam.Code', - 'errorMessage' => 'Empty code is not valid.', - 'description' => 'Code参数为无效的空字符串。', - ], - [ - 'errorCode' => 'Missing.Code', - 'errorMessage' => 'Code is mandatory for this action.', - 'description' => '缺少必填参数Code。', - ], + ['errorCode' => 'InvalidParam.Code', 'errorMessage' => 'Empty code is not valid.', 'description' => 'Code参数为无效的空字符串。'], + ['errorCode' => 'Missing.Code', 'errorMessage' => 'Code is mandatory for this action.', 'description' => '缺少必填参数Code。'], ], 500 => [ - [ - 'errorCode' => 'InternalServerError', - 'errorMessage' => 'The request has failed due to a temporary failure of the server.', - 'description' => '由于服务器暂时故障,请求失败。', - ], + ['errorCode' => 'InternalServerError', 'errorMessage' => 'The request has failed due to a temporary failure of the server.', 'description' => '由于服务器暂时故障,请求失败。'], ], ], 'title' => '验证 Terraform 的 HCL 语法', @@ -225,12 +152,7 @@ 'authLevel' => 'operate', 'actionConditions' => [], 'resources' => [ - [ - 'validationType' => 'always', - 'product' => 'OpenAPIExplorer', - 'resourceType' => '全部资源', - 'arn' => '*', - ], + ['validationType' => 'always', 'product' => 'OpenAPIExplorer', 'resourceType' => '全部资源', 'arn' => '*'], ], ], ], @@ -238,32 +160,23 @@ 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"requestId\\": \\"\\\\t\\\\n9BFC4AC1-6BE4-5405-BDEC-CA288D404812\\\\n\\",\\n \\"hash\\": \\"0628e13692023222bef9d6377dd03da3304b689e1b2df60f584ea27b4163bf07\\",\\n \\"isValid\\": true,\\n \\"errors\\": [\\n \\"Unclosed configuration block: There is no closing brace for this block before the end of the file. This may be caused by incorrect brace nesting elsewhere in this file.\\"\\n ],\\n \\"warnings\\": [\\n \\"Warning.\\"\\n ],\\n \\"parameters\\": [\\n \\"{\\\\n \\\\\\"schema\\\\\\": {\\\\n \\\\\\"writeOnly\\\\\\": false,\\\\n \\\\\\"nullable\\\\\\": false,\\\\n \\\\\\"description\\\\\\": \\\\\\"要修改的VPC名称。\\\\\\\\n\\\\\\\\n名称长度为1~128个字符,不能以`http://`或`https://`开头。\\\\\\",\\\\n \\\\\\"readOnly\\\\\\": false,\\\\n \\\\\\"type\\\\\\": \\\\\\"string\\\\\\",\\\\n \\\\\\"required\\\\\\": false\\\\n },\\\\n \\\\\\"deprecated\\\\\\": false,\\\\n \\\\\\"allowEmptyValue\\\\\\": false,\\\\n \\\\\\"name\\\\\\": \\\\\\"name\\\\\\",\\\\n \\\\\\"required\\\\\\": false,\\\\n \\\\\\"example\\\\\\": \\\\\\"terraform-example\\\\\\"\\\\n }\\"\\n ],\\n \\"diagnosticReport\\": \\"Argument or block definition required: An argument or block definition is required here.\\"\\n}","type":"json"}]', ], 'CreateApiMcpServer' => [ + 'summary' => '创建 API MCP 服务。', 'path' => '/apimcpserver', - 'methods' => [ - 'post', - ], - 'schemes' => [ - 'https', - ], + 'methods' => ['post'], + 'schemes' => ['https'], 'security' => [ [ 'AK' => [], ], ], - 'consumes' => [ - 'application/json', - ], - 'produces' => [ - 'application/json', - ], + 'consumes' => ['application/json'], + 'produces' => ['application/json'], 'operationType' => 'write', 'systemTags' => [ 'operationType' => 'create', 'riskType' => 'none', 'chargeType' => 'free', - 'abilityTreeNodes' => [ - 'FEATUREopenapiexplorer7MPML0', - ], + 'abilityTreeNodes' => ['FEATUREopenapiexplorer7MPML0'], 'tenantRelevance' => 'publicInformation', ], 'parameters' => [ @@ -275,27 +188,14 @@ 'description' => '创建API MCP服务。', 'type' => 'object', 'properties' => [ - 'clientToken' => [ - 'description' => '保证请求幂等性。从您的客户端生成一个参数值,确保不同请求间该参数值唯一。ClientToken 只支持 ASCII 字符,且不能超过 64 个字符,建议使用UUID。过期时间为3天。', - 'type' => 'string', - 'required' => false, - 'example' => '123e4567-e89b-12d3-a456-426655440000', - ], - 'description' => [ - 'description' => 'API MCP服务的描述信息。', - 'type' => 'string', - 'required' => false, - 'example' => '这是一个API MCP服务。', - ], + 'clientToken' => ['description' => '保证请求幂等性。从您的客户端生成一个参数值,确保不同请求间该参数值唯一。ClientToken 只支持 ASCII 字符,且不能超过 64 个字符,建议使用UUID。过期时间为3天。', 'type' => 'string', 'required' => false, 'example' => '123e4567-e89b-12d3-a456-426655440000'], + 'description' => ['description' => 'API MCP服务的描述信息。', 'type' => 'string', 'required' => false, 'example' => '这是一个API MCP服务。'], 'language' => [ 'description' => 'API MCP服务的文档语言。支持选择中文或英文API文档,不同的语言提示词对AI的回复效果可能产生差异。', 'type' => 'string', 'required' => false, 'example' => 'ZH_CN', - 'enum' => [ - 'EN_US', - 'ZH_CN', - ], + 'enum' => ['EN_US', 'ZH_CN'], ], 'apis' => [ 'description' => '添加的API列表。不可为空。', @@ -304,32 +204,17 @@ 'description' => 'API列表。', 'type' => 'object', 'properties' => [ - 'product' => [ - 'description' => '产品CODE。'."\n" - ."\n" - .'- 调用GetRequestLog接口,从返回结果中获取产品CODE。'."\n" - ."\n" - .'- 通过OpenAPI门户的URL,找到对应的产品CODE。例如,短信服务的OpenAPI门户URL为https://api.aliyun.com/product/Dysmsapi,根据该URL获取短信服务的产品CODE为Dysmsapi。'."\n" - .'短信服务的OpenAPI门户URL为https://api.alibabacloud.com/product/Dysmsapi,根据该URL获取短信服务的产品CODE为Dysmsapi。', - 'type' => 'string', - 'required' => true, - 'example' => 'Ecs', - ], - 'apiVersion' => [ - 'description' => '透出到 MCP SERVER 的 API 所属的 POP version。', - 'type' => 'string', - 'required' => true, - 'example' => '2014-05-26', - ], + 'product' => ['description' => '产品CODE。'."\n" + ."\n" + .'- 调用GetRequestLog接口,从返回结果中获取产品CODE。'."\n" + ."\n" + .'- 通过OpenAPI门户的URL,找到对应的产品CODE。例如,短信服务的OpenAPI门户URL为https://api.aliyun.com/product/Dysmsapi,根据该URL获取短信服务的产品CODE为Dysmsapi。'."\n" + .'短信服务的OpenAPI门户URL为https://api.alibabacloud.com/product/Dysmsapi,根据该URL获取短信服务的产品CODE为Dysmsapi。', 'type' => 'string', 'required' => true, 'example' => 'Ecs'], + 'apiVersion' => ['description' => '透出到 MCP SERVER 的 API 所属的 POP version。', 'type' => 'string', 'required' => true, 'example' => '2014-05-26'], 'selectors' => [ 'description' => 'API名称匹配规则列表。不可为空。', 'type' => 'array', - 'items' => [ - 'description' => 'API名称匹配规则。', - 'type' => 'string', - 'required' => true, - 'example' => '*Bucket', - ], + 'items' => ['description' => 'API名称匹配规则。', 'type' => 'string', 'required' => true, 'example' => '*Bucket'], 'required' => true, ], ], @@ -344,49 +229,20 @@ 'description' => '补充的API描述信息。', 'type' => 'object', 'properties' => [ - 'product' => [ - 'description' => '产品CODE。'."\n" - ."\n" - .'- 调用GetRequestLog接口,从返回结果中获取产品CODE。'."\n" - ."\n" - .'- 通过OpenAPI门户的URL,找到对应的产品CODE。例如,短信服务的OpenAPI门户URL为https://api.aliyun.com/product/Dysmsapi,根据该URL获取短信服务的产品CODE为Dysmsapi。'."\n" - .'短信服务的OpenAPI门户URL为https://api.alibabacloud.com/product/Dysmsapi,根据该URL获取短信服务的产品CODE为Dysmsapi。', - 'type' => 'string', - 'required' => false, - 'example' => 'Ecs', - ], - 'apiVersion' => [ - 'description' => '透出到 MCP SERVER 的 API 所属的 POP version。', - 'type' => 'string', - 'required' => false, - 'example' => '2014-05-26', - ], - 'apiName' => [ - 'description' => 'API名称。', - 'type' => 'string', - 'required' => false, - 'example' => 'DescribeRegions', - ], - 'apiOverrideJson' => [ - 'description' => 'API元数据JSON 格式,参考格式 https://api.aliyun.com/meta/v1/products/Ecs/versions/2014-05-26/apis/DescribeInstances/api.json,支持覆盖其中的summary、parameters。', - 'type' => 'string', - 'required' => false, - 'example' => '{'."\n" - .' "summary": "本接口支持根据不同请求条件查询实例列表,并关联查询实例的详细信息。"'."\n" - .'}', - ], - 'executeCliCommand' => [ - 'description' => '是否返回CLI的执行命令,这个模式下,不真实执行API调用,返回对应的CLI命令,适用于长耗时的任务,需要搭配使用阿里云CLI执行。', - 'type' => 'boolean', - 'required' => false, - 'example' => 'true', - ], - 'enableOutputSchema' => [ - 'description' => '是否返回出参的schema,返回出参schema时会增加整个API MCP SERVER的体积。默认值为 null,表示不返回出参的schema。', - 'type' => 'boolean', - 'required' => false, - 'example' => 'true', - ], + 'product' => ['description' => '产品CODE。'."\n" + ."\n" + .'- 调用GetRequestLog接口,从返回结果中获取产品CODE。'."\n" + ."\n" + .'- 通过OpenAPI门户的URL,找到对应的产品CODE。例如,短信服务的OpenAPI门户URL为https://api.aliyun.com/product/Dysmsapi,根据该URL获取短信服务的产品CODE为Dysmsapi。'."\n" + .'短信服务的OpenAPI门户URL为https://api.alibabacloud.com/product/Dysmsapi,根据该URL获取短信服务的产品CODE为Dysmsapi。', 'type' => 'string', 'required' => false, 'example' => 'Ecs'], + 'apiVersion' => ['description' => '透出到 MCP SERVER 的 API 所属的 POP version。', 'type' => 'string', 'required' => false, 'example' => '2014-05-26'], + 'apiName' => ['description' => 'API名称。', 'type' => 'string', 'required' => false, 'example' => 'DescribeRegions'], + 'apiOverrideJson' => ['description' => 'API元数据JSON 格式,参考格式 https://api.aliyun.com/meta/v1/products/Ecs/versions/2014-05-26/apis/DescribeInstances/api.json,支持覆盖其中的summary、parameters。', 'type' => 'string', 'required' => false, 'example' => '{'."\n" + .' "summary": "本接口支持根据不同请求条件查询实例列表,并关联查询实例的详细信息。"'."\n" + .'}'], + 'executeCliCommand' => ['description' => '是否返回CLI的执行命令,这个模式下,不真实执行API调用,返回对应的CLI命令,适用于长耗时的任务,需要搭配使用阿里云CLI执行。', 'type' => 'boolean', 'required' => false, 'example' => 'true'], + 'enableOutputSchema' => ['description' => '是否返回出参的schema,返回出参schema时会增加整个API MCP SERVER的体积。默认值为 null,表示不返回出参的schema。', 'type' => 'boolean', 'required' => false, 'example' => 'true'], + 'toolAlias' => ['description' => '工具别名,修改为自定义名称,例如list_ecs_regions,支持英文字符、数字、-、_组成,不同别名不允许重复。', 'type' => 'string', 'required' => false, 'example' => 'list_ecs_regions'], 'constParameters' => [ 'description' => '常量入参列表,在API参数解析时,不再输出这部分参数。', 'type' => 'array', @@ -394,18 +250,8 @@ 'description' => '常量入参。', 'type' => 'object', 'properties' => [ - 'key' => [ - 'description' => '参数名称。仅支持一级参数名称,对于ROA风格的API,支持设置到body.xx,不允许设置超出顶级参数的值。', - 'type' => 'string', - 'required' => false, - 'example' => 'InstanceId', - ], - 'value' => [ - 'description' => '参数的值。', - 'type' => 'any', - 'required' => false, - 'example' => '1234', - ], + 'key' => ['description' => '参数名称。仅支持一级参数名称,对于ROA风格的API,支持设置到body.xx,不允许设置超出顶级参数的值。', 'type' => 'string', 'required' => false, 'example' => 'InstanceId'], + 'value' => ['description' => '参数的值。', 'type' => 'any', 'required' => false, 'example' => '1234'], ], 'required' => false, ], @@ -423,24 +269,9 @@ 'description' => 'prompt配置', 'type' => 'object', 'properties' => [ - 'name' => [ - 'description' => 'prompt名称。', - 'type' => 'string', - 'required' => false, - 'example' => 'test', - ], - 'description' => [ - 'description' => '描述信息。', - 'type' => 'string', - 'required' => false, - 'example' => 'prompt description', - ], - 'content' => [ - 'description' => 'prompt 的内容信息,其变量通过 {{xxx}} 格式指定。xxx为变量,需要从 arguments 参数中定义。', - 'type' => 'string', - 'required' => false, - 'example' => 'prompt正文,{{name}}', - ], + 'name' => ['description' => 'prompt名称。', 'type' => 'string', 'required' => false, 'example' => 'test'], + 'description' => ['description' => '描述信息。', 'type' => 'string', 'required' => false, 'example' => 'prompt description'], + 'content' => ['description' => 'prompt 的内容信息,其变量通过 {{xxx}} 格式指定。xxx为变量,需要从 arguments 参数中定义。', 'type' => 'string', 'required' => false, 'example' => 'prompt正文,{{name}}'], 'arguments' => [ 'description' => 'prompt支持的参数列表。', 'type' => 'array', @@ -448,24 +279,9 @@ 'description' => 'prompt支持的参数。', 'type' => 'object', 'properties' => [ - 'name' => [ - 'description' => '参数名称。', - 'type' => 'string', - 'required' => false, - 'example' => 'test', - ], - 'description' => [ - 'description' => '参数的描述信息。', - 'type' => 'string', - 'required' => false, - 'example' => 'argument description', - ], - 'required' => [ - 'description' => '参数是否必填。', - 'type' => 'boolean', - 'required' => false, - 'example' => 'true', - ], + 'name' => ['description' => '参数名称。', 'type' => 'string', 'required' => false, 'example' => 'test'], + 'description' => ['description' => '参数的描述信息。', 'type' => 'string', 'required' => false, 'example' => 'argument description'], + 'required' => ['description' => '参数是否必填。', 'type' => 'boolean', 'required' => false, 'example' => 'true'], ], 'required' => false, ], @@ -476,85 +292,41 @@ ], 'required' => false, ], - 'name' => [ - 'description' => 'MCP SERVER 名称信息,由 a-z0-9 组成,3-64 位,不以数字开头,同主账号下必须唯一。', - 'type' => 'string', - 'required' => true, - 'example' => 'mcp-demo', - ], + 'name' => ['description' => 'MCP SERVER 名称信息,由 a-z0-9 组成,3-64 位,不以数字开头,同主账号下必须唯一。', 'type' => 'string', 'required' => true, 'example' => 'mcp-demo'], 'systemTools' => [ 'description' => '系统工具列表。', 'type' => 'array', - 'items' => [ - 'description' => '系统工具。', - 'type' => 'string', - 'required' => false, - 'example' => 'FetchRamActionDetails', - ], - 'required' => false, - ], - 'oauthClientId' => [ - 'description' => '选择自定义OAuth配置时的自定义OAuth Client ID。'."\n" - ."\n" - .'`仅支持 Web/Native 应用,且 OAuth 范围必须包含 /acs/mcp-server`', - 'type' => 'string', - 'required' => false, - 'example' => '403*************370', - ], - 'instructions' => [ - 'description' => 'MCP 指令,用于提示大模型如何使用该 MCP,需要客户端支持 MCP 标准协议的 Instructions 字段。', - 'type' => 'string', - 'required' => false, - 'example' => 'test', - ], - 'enableAssumeRole' => [ - 'description' => '是否开启多账号访问。', - 'type' => 'boolean', - 'required' => false, - 'example' => 'true', - ], - 'assumeRoleName' => [ - 'description' => '开启多账号访问进行跨账号操作时,扮演的目标账号 RAM角色名称。', - 'type' => 'string', - 'required' => false, - 'example' => 'test', - ], - 'assumeRoleExtraPolicy' => [ - 'description' => '开启多账号访问时,角色扮演额外的策略,该策略存在时,角色扮演的权限以当前值为准,覆盖角色本身的权限定义。', - 'type' => 'string', + 'items' => ['description' => '系统工具。', 'type' => 'string', 'required' => false, 'example' => 'FetchRamActionDetails'], 'required' => false, - 'example' => '{'."\n" - .' "Version": "1",'."\n" - .' "Statement": ['."\n" - .' {'."\n" - .' "Effect": "Allow",'."\n" - .' "Action": ['."\n" - .' "ecs:Describe*",'."\n" - .' "vpc:Describe*",'."\n" - .' "vpc:List*"'."\n" - .' ],'."\n" - .' "Resource": "*"'."\n" - .' }'."\n" - .' ]'."\n" - .'}', ], + 'oauthClientId' => ['description' => '选择自定义OAuth配置时的自定义OAuth Client ID。'."\n" + ."\n" + .'`仅支持 Web/Native 应用,且 OAuth 范围必须包含 /acs/mcp-server`', 'type' => 'string', 'required' => false, 'example' => '403*************370'], + 'instructions' => ['description' => 'MCP 指令,用于提示大模型如何使用该 MCP,需要客户端支持 MCP 标准协议的 Instructions 字段。', 'type' => 'string', 'required' => false, 'example' => 'test'], + 'enableAssumeRole' => ['description' => '是否开启多账号访问。', 'type' => 'boolean', 'required' => false, 'example' => 'true'], + 'assumeRoleName' => ['description' => '开启多账号访问进行跨账号操作时,扮演的目标账号 RAM角色名称。', 'type' => 'string', 'required' => false, 'example' => 'test'], + 'assumeRoleExtraPolicy' => ['description' => '开启多账号访问时,角色扮演额外的策略,该策略存在时,角色扮演的权限以当前值为准,覆盖角色本身的权限定义。', 'type' => 'string', 'required' => false, 'example' => '{'."\n" + .' "Version": "1",'."\n" + .' "Statement": ['."\n" + .' {'."\n" + .' "Effect": "Allow",'."\n" + .' "Action": ['."\n" + .' "ecs:Describe*",'."\n" + .' "vpc:Describe*",'."\n" + .' "vpc:List*"'."\n" + .' ],'."\n" + .' "Resource": "*"'."\n" + .' }'."\n" + .' ]'."\n" + .'}'], 'publicAccess' => [ 'description' => '是否开启公网。', 'type' => 'string', 'required' => false, 'example' => 'on', - 'enum' => [ - 'on', - 'off', - 'follow', - ], - ], - 'enableCustomVpcWhitelist' => [ - 'description' => '是否开启自定义VPC白名单,不开启则跟随账户级别的配置。', - 'type' => 'boolean', - 'required' => false, - 'example' => 'true', + 'enum' => ['on', 'off', 'follow'], ], + 'enableCustomVpcWhitelist' => ['description' => '是否开启自定义VPC白名单,不开启则跟随账户级别的配置。', 'type' => 'boolean', 'required' => false, 'example' => 'true'], 'terraformTools' => [ 'description' => 'Terraform Tool 列表。', 'type' => 'array', @@ -562,44 +334,24 @@ 'description' => 'Terraform Tool。', 'type' => 'object', 'properties' => [ - 'code' => [ - 'description' => 'Terraform Tool 代码。[HCL 语言概述](https://help.aliyun.com/zh/terraform/terraform-configuration-and-hcl-language-overview)', - 'type' => 'string', - 'required' => false, - 'example' => 'variable "name" {'."\n" - .' default = "terraform-example"'."\n" - .'}'."\n" - ."\n" - .'provider "alicloud" {'."\n" - .' region = "cn-beijing"'."\n" - .'}'."\n" - ."\n" - .'resource "alicloud_vpc" "default" {'."\n" - .' ipv6_isp = "BGP"'."\n" - .' description = "test"'."\n" - .' cidr_block = "10.0.0.0/8"'."\n" - .' vpc_name = var.name'."\n" - .' enable_ipv6 = true'."\n" - .'}', - ], - 'name' => [ - 'description' => 'Terraform Tool 名称。', - 'type' => 'string', - 'required' => false, - 'example' => 'test', - ], - 'description' => [ - 'description' => 'Terraform Tool 描述信息。', - 'type' => 'string', - 'required' => false, - 'example' => 'terraform tool description', - ], - 'async' => [ - 'description' => '是否为异步执行,即发起一个任务执行之后会立即处理下一个任务,而不等待每个资源操作完成。', - 'type' => 'boolean', - 'required' => false, - 'example' => 'true', - ], + 'code' => ['description' => 'Terraform Tool 代码。[HCL 语言概述](https://help.aliyun.com/zh/terraform/terraform-configuration-and-hcl-language-overview)', 'type' => 'string', 'required' => false, 'example' => 'variable "name" {'."\n" + .' default = "terraform-example"'."\n" + .'}'."\n" + ."\n" + .'provider "alicloud" {'."\n" + .' region = "cn-beijing"'."\n" + .'}'."\n" + ."\n" + .'resource "alicloud_vpc" "default" {'."\n" + .' ipv6_isp = "BGP"'."\n" + .' description = "test"'."\n" + .' cidr_block = "10.0.0.0/8"'."\n" + .' vpc_name = var.name'."\n" + .' enable_ipv6 = true'."\n" + .'}'], + 'name' => ['description' => 'Terraform Tool 名称。', 'type' => 'string', 'required' => false, 'example' => 'test'], + 'description' => ['description' => 'Terraform Tool 描述信息。', 'type' => 'string', 'required' => false, 'example' => 'terraform tool description'], + 'async' => ['description' => '是否为异步执行,即发起一个任务执行之后会立即处理下一个任务,而不等待每个资源操作完成。', 'type' => 'boolean', 'required' => false, 'example' => 'true'], 'destroyPolicy' => [ 'description' => '删除策略,任务执行完成后,系统根据任务执行状态对临时资源采取以下清理策略。'."\n" ."\n" @@ -609,11 +361,7 @@ 'type' => 'string', 'required' => false, 'example' => 'ON_FAILURE', - 'enum' => [ - 'NEVER', - 'ALWAYS', - 'ON_FAILURE', - ], + 'enum' => ['NEVER', 'ALWAYS', 'ON_FAILURE'], ], ], 'required' => false, @@ -623,12 +371,7 @@ 'vpcWhitelists' => [ 'description' => '关闭公网访问后,限定来源的VPC白名单,不设置或为空表示不限制来源。', 'type' => 'array', - 'items' => [ - 'description' => '每一个限定的VPC白名单,值为来源VPC ID。', - 'type' => 'string', - 'required' => false, - 'example' => 'vpc-j6cgd2if5lg**0xs6m5se', - ], + 'items' => ['description' => '每一个限定的VPC白名单,值为来源VPC ID。', 'type' => 'string', 'required' => false, 'example' => 'vpc-j6cgd2if5lg**0xs6m5se'], 'required' => false, ], ], @@ -642,41 +385,17 @@ 'description' => '请求结果。', 'type' => 'object', 'properties' => [ - 'requestId' => [ - 'description' => '请求ID。', - 'type' => 'string', - 'example' => ' '."\n" - .'9BFC4AC1-6BE4-5405-BDEC-CA288D404812'."\n", - ], - 'id' => [ - 'description' => '创建成功的 API MCP 服务 ID。', - 'type' => 'string', - 'example' => 'v6ZZ7ftCzEILW***', - ], + 'requestId' => ['description' => '请求ID。', 'type' => 'string', 'example' => ' '."\n" + .'9BFC4AC1-6BE4-5405-BDEC-CA288D404812'."\n"], + 'id' => ['description' => '创建成功的 API MCP 服务 ID。', 'type' => 'string', 'example' => 'v6ZZ7ftCzEILW***'], 'urls' => [ 'description' => 'API MCP 服务连接信息。', 'type' => 'object', 'properties' => [ - 'sse' => [ - 'description' => 'SSE 协议连接信息。', - 'type' => 'string', - 'example' => 'https://mcpserverinner-pre.cn-zhangjiakou.aliyuncs.com/accounts/xxxx/custom/xxx/id/xxxx/sse', - ], - 'mcp' => [ - 'description' => 'streamable HTTP 协议连接信息,推荐使用。', - 'type' => 'string', - 'example' => 'https://mcpserverinner-pre.cn-zhangjiakou.aliyuncs.com/accounts/xxxx/custom/xxx/id/xxxx/mcp', - ], - 'vpcSse' => [ - 'description' => 'VPC 下 SSE 协议连接地址。', - 'type' => 'string', - 'example' => 'https://openapi-mcp-cn.vpc-proxy.aliyuncs.com/accounts/xxxx/custom/xxx/id/xxxx/sse', - ], - 'vpcMcp' => [ - 'description' => 'VPC 下 streamable HTTP 协议连接地址。', - 'type' => 'string', - 'example' => 'https://openapi-mcp-cn.vpc-proxy.aliyuncs.com/accounts/xxxx/custom/xxx/id/xxxx/mcp', - ], + 'sse' => ['description' => 'SSE 协议连接信息。', 'type' => 'string', 'example' => 'https://openapi-mcp.cn-hangzhou.aliyuncs.com/accounts/xxxx/custom/xxx/id/xxxx/sse'], + 'mcp' => ['description' => 'streamable HTTP 协议连接信息,推荐使用。', 'type' => 'string', 'example' => 'https://openapi-mcp.cn-hangzhou.aliyuncs.com/accounts/xxxx/custom/xxx/id/xxxx/mcp'], + 'vpcSse' => ['description' => 'VPC 下 SSE 协议连接地址。', 'type' => 'string', 'example' => 'https://openapi-mcp-cn.vpc-proxy.aliyuncs.com/accounts/xxxx/custom/xxx/id/xxxx/sse'], + 'vpcMcp' => ['description' => 'VPC 下 streamable HTTP 协议连接地址。', 'type' => 'string', 'example' => 'https://openapi-mcp-cn.vpc-proxy.aliyuncs.com/accounts/xxxx/custom/xxx/id/xxxx/mcp'], ], ], ], @@ -685,139 +404,41 @@ ], 'errorCodes' => [ 400 => [ - [ - 'errorCode' => 'InvalidParam.Name', - 'errorMessage' => 'Name must be 3 to 64 characters long and can only contain lowercase letters, numbers, underscore, and hyphens.', - 'description' => '名称长度必须为 3 到 64 个字符,并且只能包含小写字母、数字、下划线和连字符。', - ], - [ - 'errorCode' => 'InvalidParam.Apis.PopVersion', - 'errorMessage' => 'Unsupported product version: %s of product code: %s.', - 'description' => '产品%s不支持%s版本。', - ], - [ - 'errorCode' => 'IdempotentParameterMismatch', - 'errorMessage' => 'The request uses the same client token as a previous request but with different parameters. Client tokens should not be reused across non-identical requests. Each unique request must have a distinct client token.', - 'description' => '请求使用了与之前请求相同的客户端令牌,但参数不同。请勿在参数不同的请求中重复使用同一令牌,每个独立请求必须使用唯一的令牌。 ', - ], - [ - 'errorCode' => 'Missing.Apis.PopCode', - 'errorMessage' => 'Apis.PopCode is mandatory for this action.', - 'description' => 'Apis参数中缺少必填参数popCode。', - ], - [ - 'errorCode' => 'Missing.Apis.PopVersion', - 'errorMessage' => 'Apis.PopVersion is mandatory for this action.', - 'description' => '缺少必填参数Apis.PopVersion。', - ], - [ - 'errorCode' => 'InvalidParam.Apis.PopCode', - 'errorMessage' => 'Unsupported product code: %s.', - 'description' => '指定的产品名称不存在。', - ], - [ - 'errorCode' => 'Missing.Apis.Selectors', - 'errorMessage' => 'Apis.Selectors is mandatory for this action.', - 'description' => 'Apis.Selectors是必填参数', - ], - [ - 'errorCode' => 'Missing.Name', - 'errorMessage' => 'Name is mandatory for this action.', - 'description' => 'Name是必填参数', - ], - [ - 'errorCode' => 'Missing.Apis', - 'errorMessage' => 'Apis is mandatory for this action.', - 'description' => '缺少必填参数Apis', - ], - [ - 'errorCode' => 'InvalidParam.Language', - 'errorMessage' => 'Unsupported language: %s.', - 'description' => '指定多语言无效。', - ], - [ - 'errorCode' => 'InvalidParam.AdditionalApiDescription.PopVersion', - 'errorMessage' => 'Unsupported product version: %s of product code: %s.', - 'description' => '产品%s不支持%s版本。 ', - ], - [ - 'errorCode' => 'InvalidParam.AdditionalApiDescription.PopCode', - 'errorMessage' => 'Unsupported product code: %s.', - 'description' => '指定的产品名称不存在', - ], - [ - 'errorCode' => 'InvalidParam.SystemTools', - 'errorMessage' => 'System tool %s is not supported.', - 'description' => '指定的系统工具无效。', - ], - [ - 'errorCode' => 'Missing.TerraformTools.Description', - 'errorMessage' => 'TerraformTools.Description is mandatory for this action.', - 'description' => '缺少必填参数TerraformTools.Description', - ], - [ - 'errorCode' => 'Missing.TerraformTools.Code', - 'errorMessage' => 'TerraformTools.Code is mandatory for this action.', - 'description' => '缺少必填参数TerraformTools.Code。', - ], - [ - 'errorCode' => 'Missing.TerraformTools.Name', - 'errorMessage' => 'TerraformTools.Name is mandatory for this action.', - 'description' => 'Terraform工具名称是必填参数。', - ], - [ - 'errorCode' => 'InvalidParam.TerraformTools.Name', - 'errorMessage' => 'TerraformTools.Name: %s must be 3 to 64 characters long and can only contain lowercase letters, numbers, underscores, and hyphens.', - 'description' => 'Terraform工具名称长度必须为 3 到 63 个字符,并且只能包含小写字母、数字、下划线和连字符。', - ], - [ - 'errorCode' => 'Missing.AccountId', - 'errorMessage' => 'x-acs-account-id is mandatory in request header for this action.', - 'description' => '请求头中缺少必填参数x-acs-account-id。', - ], - [ - 'errorCode' => 'Missing.CallerUid', - 'errorMessage' => 'x-acs-caller-uid is mandatory in request header for this action.', - 'description' => '请求头中缺少必填参数x-acs-caller-uid。', - ], - [ - 'errorCode' => 'Missing.PrincipalId', - 'errorMessage' => 'x-acs-sts-token-principal-id is mandatory in request header in STS assumeRole scenario for this action.', - 'description' => 'STS角色扮演场景下,请求头中缺少必填参数x-acs-sts-token-principal-id。', - ], - [ - 'errorCode' => 'InvalidParam.TerraformTools.Code', - 'errorMessage' => 'The Terraform tool code is not valid: %s. Please check the syntax and try again.', - 'description' => '指定的TerraformTools.Code参数无效。', - ], - [ - 'errorCode' => 'InvalidParam.ClientToken', - 'errorMessage' => 'The specified client token is not valid.', - 'description' => '该幂等参数有误,请检查。', - ], + ['errorCode' => 'InvalidParam.Name', 'errorMessage' => 'Name must be 3 to 64 characters long and can only contain lowercase letters, numbers, underscore, and hyphens.', 'description' => '名称长度必须为 3 到 64 个字符,并且只能包含小写字母、数字、下划线和连字符。'], + ['errorCode' => 'InvalidParam.Apis.PopVersion', 'errorMessage' => 'Unsupported product version: %s of product code: %s.', 'description' => '产品%s不支持%s版本。'], + ['errorCode' => 'IdempotentParameterMismatch', 'errorMessage' => 'The request uses the same client token as a previous request but with different parameters. Client tokens should not be reused across non-identical requests. Each unique request must have a distinct client token.', 'description' => '请求使用了与之前请求相同的客户端令牌,但参数不同。请勿在参数不同的请求中重复使用同一令牌,每个独立请求必须使用唯一的令牌。 '], + ['errorCode' => 'Missing.Apis.PopCode', 'errorMessage' => 'Apis.PopCode is mandatory for this action.', 'description' => 'Apis参数中缺少必填参数popCode。'], + ['errorCode' => 'Missing.Apis.PopVersion', 'errorMessage' => 'Apis.PopVersion is mandatory for this action.', 'description' => '缺少必填参数Apis.PopVersion。'], + ['errorCode' => 'InvalidParam.Apis.PopCode', 'errorMessage' => 'Unsupported product code: %s.', 'description' => '指定的产品名称不存在。'], + ['errorCode' => 'Missing.Apis.Selectors', 'errorMessage' => 'Apis.Selectors is mandatory for this action.', 'description' => 'Apis.Selectors是必填参数'], + ['errorCode' => 'Missing.Name', 'errorMessage' => 'Name is mandatory for this action.', 'description' => 'Name是必填参数'], + ['errorCode' => 'Missing.Apis', 'errorMessage' => 'Apis is mandatory for this action.', 'description' => '缺少必填参数Apis'], + ['errorCode' => 'InvalidParam.Language', 'errorMessage' => 'Unsupported language: %s.', 'description' => '指定多语言无效。'], + ['errorCode' => 'InvalidParam.AdditionalApiDescription.PopVersion', 'errorMessage' => 'Unsupported product version: %s of product code: %s.', 'description' => '产品%s不支持%s版本。 '], + ['errorCode' => 'InvalidParam.AdditionalApiDescription.PopCode', 'errorMessage' => 'Unsupported product code: %s.', 'description' => '指定的产品名称不存在'], + ['errorCode' => 'InvalidParam.SystemTools', 'errorMessage' => 'System tool %s is not supported.', 'description' => '指定的系统工具无效。'], + ['errorCode' => 'Missing.TerraformTools.Description', 'errorMessage' => 'TerraformTools.Description is mandatory for this action.', 'description' => '缺少必填参数TerraformTools.Description'], + ['errorCode' => 'Missing.TerraformTools.Code', 'errorMessage' => 'TerraformTools.Code is mandatory for this action.', 'description' => '缺少必填参数TerraformTools.Code。'], + ['errorCode' => 'Missing.TerraformTools.Name', 'errorMessage' => 'TerraformTools.Name is mandatory for this action.', 'description' => 'Terraform工具名称是必填参数。'], + ['errorCode' => 'InvalidParam.TerraformTools.Name', 'errorMessage' => 'TerraformTools.Name: %s must be 3 to 64 characters long and can only contain lowercase letters, numbers, underscores, and hyphens.', 'description' => 'Terraform工具名称长度必须为 3 到 63 个字符,并且只能包含小写字母、数字、下划线和连字符。'], + ['errorCode' => 'Missing.AccountId', 'errorMessage' => 'x-acs-account-id is mandatory in request header for this action.', 'description' => '请求头中缺少必填参数x-acs-account-id。'], + ['errorCode' => 'Missing.CallerUid', 'errorMessage' => 'x-acs-caller-uid is mandatory in request header for this action.', 'description' => '请求头中缺少必填参数x-acs-caller-uid。'], + ['errorCode' => 'Missing.PrincipalId', 'errorMessage' => 'x-acs-sts-token-principal-id is mandatory in request header in STS assumeRole scenario for this action.', 'description' => 'STS角色扮演场景下,请求头中缺少必填参数x-acs-sts-token-principal-id。'], + ['errorCode' => 'InvalidParam.TerraformTools.Code', 'errorMessage' => 'The Terraform tool code is not valid: %s. Please check the syntax and try again.', 'description' => '指定的TerraformTools.Code参数无效。'], + ['errorCode' => 'InvalidParam.ClientToken', 'errorMessage' => 'The specified client token is not valid.', 'description' => '该幂等参数有误,请检查。'], + ['errorCode' => 'InvalidParam.AdditionalApiDescription.ToolAlias', 'errorMessage' => 'ToolAlias \'%s\' is invalid. It must be 1-64 characters, start with a letter, and contain only letters, digits, underscores, and hyphens.', 'description' => ''], ], 409 => [ - [ - 'errorCode' => 'Exists.Name', - 'errorMessage' => 'The MCP server name already exists.', - 'description' => '同一个主账号ID下已存在该名称。', - ], - [ - 'errorCode' => 'Exists.TerraformTools.Name', - 'errorMessage' => 'The Terraform tool name already exists.', - 'description' => '指定的Terraform 工具名称已经存在。', - ], + ['errorCode' => 'Exists.Name', 'errorMessage' => 'The MCP server name already exists.', 'description' => '同一个主账号ID下已存在该名称。'], + ['errorCode' => 'Exists.TerraformTools.Name', 'errorMessage' => 'The Terraform tool name already exists.', 'description' => '指定的Terraform 工具名称已经存在。'], + ['errorCode' => 'Exists.ToolAlias', 'errorMessage' => 'Duplicate tool alias \'%s\' found. Each tool alias must be unique within an MCP server.', 'description' => ''], + ['errorCode' => 'Conflict.ToolAlias', 'errorMessage' => 'Tool alias \'%s\' conflicts with an existing tool name in this MCP server.', 'description' => ''], ], 429 => [ - [ - 'errorCode' => 'QuotaExceeded', - 'errorMessage' => 'The number of MCP server created by the user has reached the upper limit.', - 'description' => '用户创建的MCP服务器数量已达到上限。', - ], + ['errorCode' => 'QuotaExceeded', 'errorMessage' => 'The number of MCP server created by the user has reached the upper limit.', 'description' => '用户创建的MCP服务器数量已达到上限。'], ], ], 'title' => '创建 API MCP 服务', - 'summary' => '创建 API MCP 服务。', 'changeSet' => [], 'flowControl' => [ 'flowControlList' => [], @@ -830,67 +451,131 @@ 'authLevel' => 'resource', 'actionConditions' => [], 'resources' => [ - [ - 'validationType' => 'always', - 'product' => 'OpenAPIExplorer', - 'resourceType' => 'ApiMcpServer', - 'arn' => 'acs:openapiexplorer::{#accountId}:apimcpserver/*', + ['validationType' => 'always', 'product' => 'OpenAPIExplorer', 'resourceType' => 'ApiMcpServer', 'arn' => 'acs:openapiexplorer::{#accountId}:apimcpserver/*'], + ], + ], + ], + ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"requestId\\": \\"\\\\t\\\\n9BFC4AC1-6BE4-5405-BDEC-CA288D404812\\\\n\\",\\n \\"id\\": \\"v6ZZ7ftCzEILW***\\",\\n \\"urls\\": {\\n \\"sse\\": \\"https://openapi-mcp.cn-hangzhou.aliyuncs.com/accounts/xxxx/custom/xxx/id/xxxx/sse\\",\\n \\"mcp\\": \\"https://openapi-mcp.cn-hangzhou.aliyuncs.com/accounts/xxxx/custom/xxx/id/xxxx/mcp\\",\\n \\"vpcSse\\": \\"https://openapi-mcp-cn.vpc-proxy.aliyuncs.com/accounts/xxxx/custom/xxx/id/xxxx/sse\\",\\n \\"vpcMcp\\": \\"https://openapi-mcp-cn.vpc-proxy.aliyuncs.com/accounts/xxxx/custom/xxx/id/xxxx/mcp\\"\\n }\\n}","type":"json"}]', + ], + 'CreateApiMcpServerCore' => [ + 'summary' => '创建ApiMcpServerCore。', + 'path' => '/apimcpservercore', + 'methods' => ['post'], + 'schemes' => ['https'], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'consumes' => ['application/json'], + 'produces' => ['application/json'], + 'operationType' => 'write', + 'systemTags' => [ + 'operationType' => 'create', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeNodes' => ['FEATUREopenapiexplorer7MPML0'], + 'tenantRelevance' => 'publicInformation', + ], + 'parameters' => [ + [ + 'name' => 'body', + 'in' => 'body', + 'style' => 'json', + 'schema' => [ + 'description' => '创建 API MCP Core服务', + 'type' => 'object', + 'properties' => [ + 'clientToken' => ['description' => '幂等校验TOKEN。', 'type' => 'string', 'required' => false, 'example' => '123e4567-e89b-12d3-a456-426655440000'], + 'oauthClientId' => ['description' => '选择自定义OAuth配置时的自定义OAuth Client ID。'."\n" + ."\n" + .'`仅支持 Web/Native 应用,且 OAuth 范围必须包含 /acs/mcp-server`。', 'type' => 'string', 'required' => false, 'example' => '403*************370'], + 'vpcWhitelists' => [ + 'description' => '每一个限定的VPC白名单,值为来源VPC ID。', + 'type' => 'array', + 'items' => ['description' => '关闭公网访问后,限定来源的VPC白名单,不设置或为空表示不限制来源。', 'type' => 'string', 'required' => false, 'example' => 'vpc-j6cgd2if5lg**0xs6m5se'], + 'required' => false, + ], + 'enableAssumeRole' => ['description' => '是否开启多账号访问。', 'type' => 'boolean', 'required' => false, 'example' => 'true'], + 'assumeRoleOverridePolicy' => ['description' => '开启多账号访问时,角色扮演额外的策略,该策略存在时,角色扮演的权限以当前值为准,覆盖角色本身的权限定义。', 'type' => 'string', 'required' => false, 'example' => '{"Version":"1","Statement":[{"Effect":"Allow","Action":["ecs:Describe*"],"Resource":"*"}]}'], + 'assumeRoleName' => ['description' => '开启多账号访问进行跨账号操作时,扮演的目标账号 RAM角色名称。', 'type' => 'string', 'required' => false, 'example' => 'test'], + 'publicAccessType' => [ + 'description' => '公网访问类型:允许公网访问、不允许公网访问、继承账号配置。'."\n" + .'`public`(开启), `private`(关闭), `inherit`(跟随账号配置)', + 'type' => 'string', + 'required' => false, + 'enumValueTitles' => ['private' => '关闭', 'public' => '开启', 'inherit' => '跟随账号配置'], + 'example' => 'public', ], + 'enableCustomVpcWhitelist' => ['description' => '是否开启自定义VPC白名单,不开启则跟随账户级别的配置。', 'type' => 'boolean', 'required' => false, 'example' => 'true'], ], + 'required' => false, + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'type' => 'object', + 'properties' => [ + 'requestId' => ['description' => '请求ID。', 'type' => 'string', 'example' => 'A707AFA8-1A4C-5B2A-A165-8436C1EA38DB'], + 'id' => ['description' => '创建成功的 API MCP Core 服务 ID。', 'type' => 'string', 'example' => 'v6ZZ7ftCzEILW***'], + ], + 'description' => '', ], ], ], - 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"requestId\\": \\"\\\\t\\\\n9BFC4AC1-6BE4-5405-BDEC-CA288D404812\\\\n\\",\\n \\"id\\": \\"v6ZZ7ftCzEILW***\\",\\n \\"urls\\": {\\n \\"sse\\": \\"https://mcpserverinner-pre.cn-zhangjiakou.aliyuncs.com/accounts/xxxx/custom/xxx/id/xxxx/sse\\",\\n \\"mcp\\": \\"https://mcpserverinner-pre.cn-zhangjiakou.aliyuncs.com/accounts/xxxx/custom/xxx/id/xxxx/mcp\\",\\n \\"vpcSse\\": \\"https://openapi-mcp-cn.vpc-proxy.aliyuncs.com/accounts/xxxx/custom/xxx/id/xxxx/sse\\",\\n \\"vpcMcp\\": \\"https://openapi-mcp-cn.vpc-proxy.aliyuncs.com/accounts/xxxx/custom/xxx/id/xxxx/mcp\\"\\n }\\n}","type":"json"}]', + 'errorCodes' => [ + 400 => [ + ['errorCode' => 'IdempotentParameterMismatch', 'errorMessage' => 'The request uses the same client token as a previous request but with different parameters. Client tokens should not be reused across non-identical requests. Each unique request must have a distinct client token.', 'description' => '请求使用了与之前请求相同的客户端令牌,但参数不同。请勿在参数不同的请求中重复使用同一令牌,每个独立请求必须使用唯一的令牌。 '], + ['errorCode' => 'Missing.AccountId', 'errorMessage' => 'x-acs-account-id is mandatory in request header for this action.', 'description' => '请求头中缺少必填参数x-acs-account-id。'], + ['errorCode' => 'Missing.CallerUid', 'errorMessage' => 'x-acs-caller-uid is mandatory in request header for this action.', 'description' => '请求头中缺少必填参数x-acs-caller-uid。'], + ['errorCode' => 'Missing.PrincipalId', 'errorMessage' => 'x-acs-sts-token-principal-id is mandatory in request header in STS assumeRole scenario for this action.', 'description' => 'STS角色扮演场景下,请求头中缺少必填参数x-acs-sts-token-principal-id。'], + ['errorCode' => 'InvalidParam.ClientToken', 'errorMessage' => 'The specified client token is not valid.', 'description' => '该幂等参数有误,请检查。'], + ], + 429 => [ + ['errorCode' => 'QuotaExceeded', 'errorMessage' => 'The number of MCP server created by the user has reached the upper limit.', 'description' => '用户创建的MCP服务器数量已达到上限。'], + ], + ], + 'title' => '创建 API MCP Core服务', + 'description' => '该接口查询的是公开信息,不涉及账号特殊归属等信息,故不支持授权。', + 'changeSet' => [], + 'flowControl' => [ + 'flowControlList' => [], + ], + 'ramActions' => [], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"requestId\\": \\"A707AFA8-1A4C-5B2A-A165-8436C1EA38DB\\",\\n \\"id\\": \\"v6ZZ7ftCzEILW***\\"\\n}","type":"json"}]', ], 'DeleteApiMcpServer' => [ 'summary' => '删除单个API MCP服务。', 'path' => '/apimcpserver', - 'methods' => [ - 'delete', - ], - 'schemes' => [ - 'https', - ], + 'methods' => ['delete'], + 'schemes' => ['https'], 'security' => [ [ 'AK' => [], ], ], - 'consumes' => [ - 'application/json', - ], - 'produces' => [ - 'application/json', - ], + 'consumes' => ['application/json'], + 'produces' => ['application/json'], 'operationType' => 'write', 'systemTags' => [ 'operationType' => 'delete', 'riskType' => 'none', 'chargeType' => 'free', - 'abilityTreeNodes' => [ - 'FEATUREopenapiexplorer7MPML0', - ], + 'abilityTreeNodes' => ['FEATUREopenapiexplorer7MPML0'], ], 'parameters' => [ [ 'name' => 'clientToken', 'in' => 'query', - 'schema' => [ - 'description' => '保证请求幂等性。从您的客户端生成一个参数值,确保不同请求间该参数值唯一。ClientToken 只支持 ASCII 字符,且不能超过 64 个字符,建议使用UUID。过期时间为3天。', - 'type' => 'string', - 'required' => false, - 'example' => '123e4567-e89b-12d3-a456-426655440000', - ], + 'schema' => ['description' => '保证请求幂等性。从您的客户端生成一个参数值,确保不同请求间该参数值唯一。ClientToken 只支持 ASCII 字符,且不能超过 64 个字符,建议使用UUID。过期时间为3天。', 'type' => 'string', 'required' => false, 'example' => '123e4567-e89b-12d3-a456-426655440000'], ], [ 'name' => 'id', 'in' => 'query', - 'schema' => [ - 'description' => 'API MCP 服务的 ID。', - 'type' => 'string', - 'required' => true, - 'example' => 'v6ZZ7ftCzEILW***', - ], + 'schema' => ['description' => 'API MCP 服务的 ID。', 'type' => 'string', 'required' => true, 'example' => 'v6ZZ7ftCzEILW***'], ], ], 'responses' => [ @@ -899,46 +584,22 @@ 'description' => '请求结果。', 'type' => 'object', 'properties' => [ - 'requestId' => [ - 'description' => '请求ID。', - 'type' => 'string', - 'example' => '9BFC4AC1-6BE4-5405-BDEC-CA288D404812', - ], + 'requestId' => ['description' => '请求ID。', 'type' => 'string', 'example' => '9BFC4AC1-6BE4-5405-BDEC-CA288D404812'], ], ], ], ], 'errorCodes' => [ 400 => [ - [ - 'errorCode' => 'Missing.Id', - 'errorMessage' => 'Id is mandatory for this action.', - 'description' => '缺少必填参数Id。', - ], - [ - 'errorCode' => 'IdempotentParameterMismatch', - 'errorMessage' => 'The request uses the same client token as a previous request but with different parameters. Client tokens should not be reused across non-identical requests. Each unique request must have a distinct client token.', - 'description' => '请求使用了与之前请求相同的客户端令牌,但参数不同。请勿在参数不同的请求中重复使用同一令牌,每个独立请求必须使用唯一的令牌。 ', - ], - [ - 'errorCode' => 'InvalidParam.ClientToken', - 'errorMessage' => 'The specified client token is not valid.', - 'description' => '该幂等参数有误,请检查。', - ], + ['errorCode' => 'Missing.Id', 'errorMessage' => 'Id is mandatory for this action.', 'description' => '缺少必填参数Id。'], + ['errorCode' => 'IdempotentParameterMismatch', 'errorMessage' => 'The request uses the same client token as a previous request but with different parameters. Client tokens should not be reused across non-identical requests. Each unique request must have a distinct client token.', 'description' => '请求使用了与之前请求相同的客户端令牌,但参数不同。请勿在参数不同的请求中重复使用同一令牌,每个独立请求必须使用唯一的令牌。 '], + ['errorCode' => 'InvalidParam.ClientToken', 'errorMessage' => 'The specified client token is not valid.', 'description' => '该幂等参数有误,请检查。'], ], 403 => [ - [ - 'errorCode' => 'OperationNotAllowed.SystemServer', - 'errorMessage' => 'System type servers are not allowed to be updated or deleted.', - 'description' => '系统级别的服务不允许更新或删除操作。', - ], + ['errorCode' => 'OperationNotAllowed.SystemServer', 'errorMessage' => 'System type servers are not allowed to be updated or deleted.', 'description' => '系统级别的服务不允许更新或删除操作。'], ], [ - [ - 'errorCode' => 'NotFound.ApiMcpServer', - 'errorMessage' => 'Specified MCP server not found.', - 'description' => '指定id的MCP服务不存在。', - ], + ['errorCode' => 'NotFound.ApiMcpServer', 'errorMessage' => 'Specified MCP server not found.', 'description' => '指定id的MCP服务不存在。'], ], ], 'title' => '删除 API MCP 服务', @@ -954,46 +615,91 @@ 'authLevel' => 'resource', 'actionConditions' => [], 'resources' => [ - [ - 'validationType' => 'always', - 'product' => 'OpenAPIExplorer', - 'resourceType' => 'ApiMcpServer', - 'arn' => 'acs:openapiexplorer::{#accountId}:apimcpserver/{#id}', - ], + ['validationType' => 'always', 'product' => 'OpenAPIExplorer', 'resourceType' => 'ApiMcpServer', 'arn' => 'acs:openapiexplorer::{#accountId}:apimcpserver/{#id}'], ], ], ], ], 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"requestId\\": \\"9BFC4AC1-6BE4-5405-BDEC-CA288D404812\\"\\n}","type":"json"}]', ], - 'GenerateCLICommand' => [ - 'summary' => '动态生成Aliyun CLI命令。', - 'path' => '/api/cli/makeCode', - 'methods' => [ - 'post', - ], - 'schemes' => [ - 'https', - ], + 'DeleteApiMcpServerCore' => [ + 'path' => '/apimcpservercore', + 'methods' => ['delete'], + 'schemes' => ['https'], 'security' => [ [ 'AK' => [], ], ], - 'consumes' => [ - 'application/json', + 'consumes' => ['application/json'], + 'produces' => ['application/json'], + 'operationType' => 'write', + 'systemTags' => [ + 'operationType' => 'delete', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeNodes' => ['FEATUREopenapiexplorer7MPML0'], + ], + 'parameters' => [ + [ + 'name' => 'clientToken', + 'in' => 'query', + 'schema' => ['description' => '用于保证请求幂等性的唯一标识。在创建或更新资源时,如果多次使用相同的 ClientToken 发起请求,系统会将其视为同一次操作,从而避免重复创建或更新。ClientToken 由客户端生成,建议在重试场景中使用相同的 ClientToken。', 'type' => 'string', 'required' => false, 'example' => '123e4567-e89b-12d3-a456-426655440000'], + ], + [ + 'name' => 'id', + 'in' => 'query', + 'schema' => ['description' => '唯一 id', 'type' => 'string', 'required' => true, 'example' => 'v6ZZ7ftCzEILW***'], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'type' => 'object', + 'properties' => [ + 'requestId' => ['description' => '请求ID。', 'type' => 'string', 'example' => 'A707AFA8-1A4C-5B2A-A165-8436C1EA38DB'], + ], + 'description' => '', + ], + ], + ], + 'errorCodes' => [ + 400 => [ + ['errorCode' => 'Missing.Id', 'errorMessage' => 'Id is mandatory for this action.', 'description' => '缺少必填参数Id。'], + ['errorCode' => 'IdempotentParameterMismatch', 'errorMessage' => 'The request uses the same client token as a previous request but with different parameters. Client tokens should not be reused across non-identical requests. Each unique request must have a distinct client token.', 'description' => '请求使用了与之前请求相同的客户端令牌,但参数不同。请勿在参数不同的请求中重复使用同一令牌,每个独立请求必须使用唯一的令牌。 '], + ['errorCode' => 'InvalidParam.ClientToken', 'errorMessage' => 'The specified client token is not valid.', 'description' => '该幂等参数有误,请检查。'], + ], + 404 => [ + ['errorCode' => 'NotFound.ApiMcpServer', 'errorMessage' => 'Specified MCP server not found.', 'description' => '指定id的MCP服务不存在。'], + ], + ], + 'title' => '删除ApiMcpServerCore', + 'summary' => '删除ApiMcpServerCore。', + 'description' => '该接口查询的是公开信息,不涉及账号特殊归属等信息,故不支持授权。', + 'changeSet' => [], + 'flowControl' => [ + 'flowControlList' => [], ], - 'produces' => [ - 'application/json', + 'ramActions' => [], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"requestId\\": \\"A707AFA8-1A4C-5B2A-A165-8436C1EA38DB\\"\\n}","type":"json"}]', + ], + 'GenerateCLICommand' => [ + 'path' => '/api/cli/makeCode', + 'methods' => ['post'], + 'schemes' => ['https'], + 'security' => [ + [ + 'AK' => [], + ], ], + 'consumes' => ['application/json'], + 'produces' => ['application/json'], 'operationType' => 'read', 'systemTags' => [ 'operationType' => 'none', 'riskType' => 'none', 'chargeType' => 'free', - 'abilityTreeNodes' => [ - 'FEATUREopenapiexplorerCHYMZJ', - ], + 'abilityTreeNodes' => ['FEATUREopenapiexplorerCHYMZJ'], 'autoTest' => true, 'tenantRelevance' => 'publicInformation', ], @@ -1001,47 +707,27 @@ [ 'name' => 'product', 'in' => 'formData', - 'schema' => [ - 'description' => '产品CODE。'."\n" - ."\n" - .'- 调用GetRequestLog接口,从返回结果中获取产品CODE。'."\n" - ."\n" - .'- 通过OpenAPI门户的URL,找到对应的产品CODE。例如,短信服务的OpenAPI门户URL为https://api.aliyun.com/product/Dysmsapi,根据该URL获取短信服务的产品CODE为Dysmsapi。'."\n" - .'短信服务的OpenAPI门户URL为https://api.alibabacloud.com/product/Dysmsapi,根据该URL获取短信服务的产品CODE为Dysmsapi。', - 'type' => 'string', - 'required' => true, - 'example' => 'Ecs', - ], + 'schema' => ['description' => '产品CODE。'."\n" + ."\n" + .'- 调用GetRequestLog接口,从返回结果中获取产品CODE。'."\n" + ."\n" + .'- 通过OpenAPI门户的URL,找到对应的产品CODE。例如,短信服务的OpenAPI门户URL为https://api.aliyun.com/product/Dysmsapi,根据该URL获取短信服务的产品CODE为Dysmsapi。'."\n" + .'短信服务的OpenAPI门户URL为https://api.alibabacloud.com/product/Dysmsapi,根据该URL获取短信服务的产品CODE为Dysmsapi。', 'type' => 'string', 'required' => true, 'example' => 'Ecs'], ], [ 'name' => 'apiVersion', 'in' => 'formData', - 'schema' => [ - 'description' => 'API的版本。', - 'type' => 'string', - 'required' => true, - 'example' => '2014-05-26', - ], + 'schema' => ['description' => 'API的版本。', 'type' => 'string', 'required' => true, 'example' => '2014-05-26'], ], [ 'name' => 'api', 'in' => 'formData', - 'schema' => [ - 'description' => 'API的名称。', - 'type' => 'string', - 'required' => true, - 'example' => 'DescribeRegions', - ], + 'schema' => ['description' => 'API的名称。', 'type' => 'string', 'required' => true, 'example' => 'DescribeRegions'], ], [ 'name' => 'regionId', 'in' => 'formData', - 'schema' => [ - 'description' => '服务区域ID。', - 'type' => 'string', - 'required' => false, - 'example' => 'cn-hangzhou', - ], + 'schema' => ['description' => '服务区域ID。', 'type' => 'string', 'required' => false, 'example' => 'cn-hangzhou'], ], [ 'name' => 'apiParams', @@ -1052,45 +738,31 @@ 'type' => 'object', 'deprecated' => true, 'required' => false, - 'additionalProperties' => [ - 'type' => 'any', - 'description' => '请求参数。', - 'example' => '{'."\n" - .' "InstanceChargeType": "PostPaid",'."\n" - .' "ResourceType": "instance",'."\n" - .' "AcceptLanguage": "en-US"'."\n" - .'}', - ], + 'additionalProperties' => ['type' => 'any', 'description' => '请求参数。', 'example' => '{'."\n" + .' "InstanceChargeType": "PostPaid",'."\n" + .' "ResourceType": "instance",'."\n" + .' "AcceptLanguage": "en-US"'."\n" + .'}'], ], ], [ 'name' => 'jsonApiParams', 'in' => 'formData', - 'schema' => [ - 'description' => 'JSON格式的API入参,优先级低于apiParams,当apiParams设置时,此参数无效。', - 'type' => 'string', - 'required' => false, - 'example' => '{'."\n" - .' "InstanceChargeType": "PostPaid",'."\n" - .' "ResourceType": "instance",'."\n" - .' "AcceptLanguage": "en-US"'."\n" - .'}', - ], + 'schema' => ['description' => 'JSON格式的API入参,优先级低于apiParams,当apiParams设置时,此参数无效。', 'type' => 'string', 'required' => false, 'example' => '{'."\n" + .' "InstanceChargeType": "PostPaid",'."\n" + .' "ResourceType": "instance",'."\n" + .' "AcceptLanguage": "en-US"'."\n" + .'}'], ], [ 'name' => 'aggregatePagination', 'in' => 'formData', - 'schema' => [ - 'description' => '是否使用聚合能力,若开启,CLI会自动以分页的方式读取全量数据并对结果聚合。'."\n" - ."\n" - .'只有支持分页的List类型的接口才能使用这个开关。'."\n" - ."\n" - .'- true:开启'."\n" - .'- false:关闭', - 'type' => 'boolean', - 'required' => false, - 'example' => 'true', - ], + 'schema' => ['description' => '是否使用聚合能力,若开启,CLI会自动以分页的方式读取全量数据并对结果聚合。'."\n" + ."\n" + .'只有支持分页的List类型的接口才能使用这个开关。'."\n" + ."\n" + .'- true:开启'."\n" + .'- false:关闭', 'type' => 'boolean', 'required' => false, 'example' => 'true'], ], ], 'responses' => [ @@ -1100,44 +772,23 @@ 'description' => '请求结果。', 'type' => 'object', 'properties' => [ - 'cli' => [ - 'title' => 'command of the request', - 'description' => 'CLI指令。', - 'type' => 'string', - 'example' => 'aliyun ecs DescribeRegions --ResourceType instance', - ], - 'requestId' => [ - 'description' => '请求ID。', - 'type' => 'string', - 'example' => 'A707AFA8-1A4C-5B2A-A165-8436C1EA38DB', - ], + 'cli' => ['title' => 'command of the request', 'description' => 'CLI指令。', 'type' => 'string', 'example' => 'aliyun ecs DescribeRegions --ResourceType instance'], + 'requestId' => ['description' => '请求ID。', 'type' => 'string', 'example' => 'A707AFA8-1A4C-5B2A-A165-8436C1EA38DB'], + 'unifiedCli' => ['type' => 'string'], ], ], ], ], 'errorCodes' => [ 400 => [ - [ - 'errorCode' => 'InvalidParam.Product', - 'errorMessage' => 'Product name is required and cannot be null or empty.', - 'description' => '', - ], - [ - 'errorCode' => 'InvalidParam.ApiVersion', - 'errorMessage' => 'API version is required and cannot be null or empty.', - 'description' => '', - ], - [ - 'errorCode' => 'InvalidParam.ApiName', - 'errorMessage' => 'API name is required and cannot be null or empty.', - 'description' => '', - ], + ['errorCode' => 'InvalidParam.Product', 'errorMessage' => 'Product name is required and cannot be null or empty.', 'description' => ''], + ['errorCode' => 'InvalidParam.ApiVersion', 'errorMessage' => 'API version is required and cannot be null or empty.', 'description' => ''], + ['errorCode' => 'InvalidParam.ApiName', 'errorMessage' => 'API name is required and cannot be null or empty.', 'description' => ''], ], ], - 'staticInfo' => [ - 'returnType' => 'synchronous', - ], + 'staticInfo' => ['returnType' => 'synchronous'], 'title' => '动态生成Aliyun CLI命令', + 'summary' => '动态生成Aliyun CLI命令。', 'changeSet' => [], 'flowControl' => [ 'flowControlList' => [], @@ -1150,45 +801,30 @@ 'authLevel' => 'operate', 'actionConditions' => [], 'resources' => [ - [ - 'validationType' => 'always', - 'product' => 'OpenAPIExplorer', - 'resourceType' => '全部资源', - 'arn' => '*', - ], + ['validationType' => 'always', 'product' => 'OpenAPIExplorer', 'resourceType' => '全部资源', 'arn' => '*'], ], ], ], ], - 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"cli\\": \\"aliyun ecs DescribeRegions --ResourceType instance\\",\\n \\"requestId\\": \\"A707AFA8-1A4C-5B2A-A165-8436C1EA38DB\\"\\n}","type":"json"}]', + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"cli\\": \\"aliyun ecs DescribeRegions --ResourceType instance\\",\\n \\"requestId\\": \\"A707AFA8-1A4C-5B2A-A165-8436C1EA38DB\\",\\n \\"unifiedCli\\": \\"\\"\\n}","type":"json"}]', ], 'GetApiDefinition' => [ 'path' => '/api/definition', - 'methods' => [ - 'get', - ], - 'schemes' => [ - 'https', - ], + 'methods' => ['get'], + 'schemes' => ['https'], 'security' => [ [ 'AK' => [], ], ], - 'consumes' => [ - 'application/json', - ], - 'produces' => [ - 'application/json', - ], + 'consumes' => ['application/json'], + 'produces' => ['application/json'], 'operationType' => 'read', 'systemTags' => [ 'operationType' => 'get', 'riskType' => 'none', 'chargeType' => 'free', - 'abilityTreeNodes' => [ - 'FEATUREopenapiexplorerY5UU1D', - ], + 'abilityTreeNodes' => ['FEATUREopenapiexplorerY5UU1D'], 'autoTest' => true, 'tenantRelevance' => 'publicInformation', ], @@ -1196,37 +832,22 @@ [ 'name' => 'product', 'in' => 'query', - 'schema' => [ - 'description' => '产品CODE。'."\n" - ."\n" - .'- 调用GetRequestLog接口,从返回结果中获取产品CODE。'."\n" - ."\n" - .'- 通过OpenAPI门户的URL,找到对应的产品CODE。例如,短信服务的OpenAPI门户URL为https://api.aliyun.com/product/Dysmsapi,根据该URL获取短信服务的产品CODE为Dysmsapi。'."\n" - .'短信服务的OpenAPI门户URL为https://api.alibabacloud.com/product/Dysmsapi,根据该URL获取短信服务的产品CODE为Dysmsapi。', - 'type' => 'string', - 'required' => true, - 'example' => 'Ecs', - ], + 'schema' => ['description' => '产品CODE。'."\n" + ."\n" + .'- 调用GetRequestLog接口,从返回结果中获取产品CODE。'."\n" + ."\n" + .'- 通过OpenAPI门户的URL,找到对应的产品CODE。例如,短信服务的OpenAPI门户URL为https://api.aliyun.com/product/Dysmsapi,根据该URL获取短信服务的产品CODE为Dysmsapi。'."\n" + .'短信服务的OpenAPI门户URL为https://api.alibabacloud.com/product/Dysmsapi,根据该URL获取短信服务的产品CODE为Dysmsapi。', 'type' => 'string', 'required' => true, 'example' => 'Ecs'], ], [ 'name' => 'apiVersion', 'in' => 'query', - 'schema' => [ - 'description' => 'API的版本。', - 'type' => 'string', - 'required' => true, - 'example' => '2014-05-26', - ], + 'schema' => ['description' => 'API的版本。', 'type' => 'string', 'required' => true, 'example' => '2014-05-26'], ], [ 'name' => 'api', 'in' => 'query', - 'schema' => [ - 'description' => 'API的名称。', - 'type' => 'string', - 'required' => true, - 'example' => 'DescribeRegions', - ], + 'schema' => ['description' => 'API的名称。', 'type' => 'string', 'required' => true, 'example' => 'DescribeRegions'], ], ], 'responses' => [ @@ -1239,9 +860,7 @@ ], ], 'errorCodes' => [], - 'staticInfo' => [ - 'returnType' => 'synchronous', - ], + 'staticInfo' => ['returnType' => 'synchronous'], 'title' => '获取产品相关接口的开放元数据', 'summary' => '获取产品相关接口的开放元数据。', 'changeSet' => [], @@ -1254,42 +873,27 @@ 'GetApiMcpServer' => [ 'summary' => '查询API MCP服务详细信息。', 'path' => '/apimcpserver', - 'methods' => [ - 'get', - ], - 'schemes' => [ - 'https', - ], + 'methods' => ['get'], + 'schemes' => ['https'], 'security' => [ [ 'AK' => [], ], ], - 'consumes' => [ - 'application/json', - ], - 'produces' => [ - 'application/json', - ], + 'consumes' => ['application/json'], + 'produces' => ['application/json'], 'operationType' => 'read', 'systemTags' => [ 'operationType' => 'get', 'riskType' => 'none', 'chargeType' => 'free', - 'abilityTreeNodes' => [ - 'FEATUREopenapiexplorer7MPML0', - ], + 'abilityTreeNodes' => ['FEATUREopenapiexplorer7MPML0'], ], 'parameters' => [ [ 'name' => 'id', 'in' => 'query', - 'schema' => [ - 'description' => 'API MCP 服务 ID。', - 'type' => 'string', - 'required' => true, - 'example' => 'v6ZZ7ftCzEILW***', - ], + 'schema' => ['description' => 'API MCP 服务 ID。', 'type' => 'string', 'required' => true, 'example' => 'v6ZZ7ftCzEILW***'], ], ], 'responses' => [ @@ -1298,22 +902,10 @@ 'description' => '请求结果。', 'type' => 'object', 'properties' => [ - 'requestId' => [ - 'description' => '请求ID。', - 'type' => 'string', - 'example' => ' '."\n" - .'9BFC4AC1-6BE4-5405-BDEC-CA288D404812'."\n", - ], - 'id' => [ - 'description' => 'API MCP 服务 ID。', - 'type' => 'string', - 'example' => 'v6ZZ7ftCzEILW***', - ], - 'description' => [ - 'description' => 'API MCP服务器的描述信息。', - 'type' => 'string', - 'example' => '这是一个API MCP 服务器', - ], + 'requestId' => ['description' => '请求ID。', 'type' => 'string', 'example' => ' '."\n" + .'9BFC4AC1-6BE4-5405-BDEC-CA288D404812'."\n"], + 'id' => ['description' => 'API MCP 服务 ID。', 'type' => 'string', 'example' => 'v6ZZ7ftCzEILW***'], + 'description' => ['description' => 'API MCP服务器的描述信息。', 'type' => 'string', 'example' => '这是一个API MCP 服务器'], 'apis' => [ 'description' => 'API信息列表。', 'type' => 'array', @@ -1321,29 +913,17 @@ 'description' => 'API信息。', 'type' => 'object', 'properties' => [ - 'product' => [ - 'description' => '产品CODE。'."\n" - ."\n" - .'- 调用GetRequestLog接口,从返回结果中获取产品CODE。'."\n" - ."\n" - .'- 通过OpenAPI门户的URL,找到对应的产品CODE。例如,短信服务的OpenAPI门户URL为https://api.aliyun.com/product/Dysmsapi,根据该URL获取短信服务的产品CODE为Dysmsapi。'."\n" - .'短信服务的OpenAPI门户URL为https://api.alibabacloud.com/product/Dysmsapi,根据该URL获取短信服务的产品CODE为Dysmsapi。', - 'type' => 'string', - 'example' => 'Ecs', - ], - 'apiVersion' => [ - 'description' => '透出到 MCP SERVER 的 API 所属的 POP version。', - 'type' => 'string', - 'example' => '2014-05-26', - ], + 'product' => ['description' => '产品CODE。'."\n" + ."\n" + .'- 调用GetRequestLog接口,从返回结果中获取产品CODE。'."\n" + ."\n" + .'- 通过OpenAPI门户的URL,找到对应的产品CODE。例如,短信服务的OpenAPI门户URL为https://api.aliyun.com/product/Dysmsapi,根据该URL获取短信服务的产品CODE为Dysmsapi。'."\n" + .'短信服务的OpenAPI门户URL为https://api.alibabacloud.com/product/Dysmsapi,根据该URL获取短信服务的产品CODE为Dysmsapi。', 'type' => 'string', 'example' => 'Ecs'], + 'apiVersion' => ['description' => '透出到 MCP SERVER 的 API 所属的 POP version。', 'type' => 'string', 'example' => '2014-05-26'], 'selectors' => [ 'description' => 'API名称匹配规则列表。', 'type' => 'array', - 'items' => [ - 'description' => 'API名称匹配规则。', - 'type' => 'string', - 'example' => '*Bucket', - ], + 'items' => ['description' => 'API名称匹配规则。', 'type' => 'string', 'example' => '*Bucket'], ], ], ], @@ -1355,43 +935,20 @@ 'description' => '补充的API描述信息。', 'type' => 'object', 'properties' => [ - 'apiVersion' => [ - 'description' => '透出到 MCP SERVER 的 API 所属的 POP version。', - 'type' => 'string', - 'example' => '2014-05-26', - ], - 'product' => [ - 'description' => '产品CODE。'."\n" - ."\n" - .'- 调用GetRequestLog接口,从返回结果中获取产品CODE。'."\n" - ."\n" - .'- 通过OpenAPI门户的URL,找到对应的产品CODE。例如,短信服务的OpenAPI门户URL为https://api.aliyun.com/product/Dysmsapi,根据该URL获取短信服务的产品CODE为Dysmsapi。'."\n" - .'短信服务的OpenAPI门户URL为https://api.alibabacloud.com/product/Dysmsapi,根据该URL获取短信服务的产品CODE为Dysmsapi。', - 'type' => 'string', - 'example' => 'Ecs', - ], - 'apiName' => [ - 'description' => 'API名称。', - 'type' => 'string', - 'example' => 'DescribeRegions', - ], - 'apiOverrideJson' => [ - 'description' => 'API元数据JSON 格式,参考格式 https://api.aliyun.com/meta/v1/products/Ecs/versions/2014-05-26/apis/DescribeInstances/api.json,支持覆盖其中的summary、parameters。', - 'type' => 'string', - 'example' => '{'."\n" - .' "summary": "本接口支持根据不同请求条件查询实例列表,并关联查询实例的详细信息。"'."\n" - .'}', - ], - 'executeCliCommand' => [ - 'description' => '是否返回CLI的执行命令,这个模式下,不真实执行API调用,返回对应的CLI命令,适用于长耗时的任务,需要搭配使用阿里云CLI执行。', - 'type' => 'boolean', - 'example' => 'true', - ], - 'enableOutputSchema' => [ - 'description' => '是否返回出参的schema,返回出参schema时会增加整个API MCP SERVER的体积。默认值为 null,表示不返回出参的schema。', - 'type' => 'boolean', - 'example' => 'true', - ], + 'apiVersion' => ['description' => '透出到 MCP SERVER 的 API 所属的 POP version。', 'type' => 'string', 'example' => '2014-05-26'], + 'product' => ['description' => '产品CODE。'."\n" + ."\n" + .'- 调用GetRequestLog接口,从返回结果中获取产品CODE。'."\n" + ."\n" + .'- 通过OpenAPI门户的URL,找到对应的产品CODE。例如,短信服务的OpenAPI门户URL为https://api.aliyun.com/product/Dysmsapi,根据该URL获取短信服务的产品CODE为Dysmsapi。'."\n" + .'短信服务的OpenAPI门户URL为https://api.alibabacloud.com/product/Dysmsapi,根据该URL获取短信服务的产品CODE为Dysmsapi。', 'type' => 'string', 'example' => 'Ecs'], + 'apiName' => ['description' => 'API名称。', 'type' => 'string', 'example' => 'DescribeRegions'], + 'apiOverrideJson' => ['description' => 'API元数据JSON 格式,参考格式 https://api.aliyun.com/meta/v1/products/Ecs/versions/2014-05-26/apis/DescribeInstances/api.json,支持覆盖其中的summary、parameters。', 'type' => 'string', 'example' => '{'."\n" + .' "summary": "本接口支持根据不同请求条件查询实例列表,并关联查询实例的详细信息。"'."\n" + .'}'], + 'executeCliCommand' => ['description' => '是否返回CLI的执行命令,这个模式下,不真实执行API调用,返回对应的CLI命令,适用于长耗时的任务,需要搭配使用阿里云CLI执行。', 'type' => 'boolean', 'example' => 'true'], + 'enableOutputSchema' => ['description' => '是否返回出参的schema,返回出参schema时会增加整个API MCP SERVER的体积。默认值为 null,表示不返回出参的schema。', 'type' => 'boolean', 'example' => 'true'], + 'toolAlias' => ['description' => '工具别名,修改为自定义名称,例如 list_ecs_regions,支持英文字符、数字、-、_组成,不同别名不允许重复。', 'type' => 'string', 'example' => 'list_ecs_regions'], 'constParameters' => [ 'description' => '常量入参列表,在API参数解析时,不再输出这部分参数。', 'type' => 'array', @@ -1399,32 +956,16 @@ 'description' => '常量入参。', 'type' => 'object', 'properties' => [ - 'key' => [ - 'description' => '参数名称。仅支持一级参数名称,对于ROA风格的API,支持设置到body.xx,不允许设置超出顶级参数的值。', - 'type' => 'string', - 'example' => 'InstanceId', - ], - 'value' => [ - 'description' => '参数的值。', - 'type' => 'any', - 'example' => '1234', - ], + 'key' => ['description' => '参数名称。仅支持一级参数名称,对于ROA风格的API,支持设置到body.xx,不允许设置超出顶级参数的值。', 'type' => 'string', 'example' => 'InstanceId'], + 'value' => ['description' => '参数的值。', 'type' => 'any', 'example' => '1234'], ], ], ], ], ], ], - 'createTime' => [ - 'description' => 'API MCP服务器的创建时间。', - 'type' => 'string', - 'example' => '2025-02-07T02:17:46Z', - ], - 'updateTime' => [ - 'description' => 'API MCP服务器的修改时间。', - 'type' => 'string', - 'example' => '2025-02-05T02:26:04Z', - ], + 'createTime' => ['description' => 'API MCP服务器的创建时间。', 'type' => 'string', 'example' => '2025-02-07T02:17:46Z'], + 'updateTime' => ['description' => 'API MCP服务器的修改时间。', 'type' => 'string', 'example' => '2025-02-05T02:26:04Z'], 'prompts' => [ 'description' => 'prompt配置列表。', 'type' => 'array', @@ -1432,21 +973,9 @@ 'description' => 'prompt配置', 'type' => 'object', 'properties' => [ - 'name' => [ - 'description' => 'prompt名称。', - 'type' => 'string', - 'example' => 'test', - ], - 'description' => [ - 'description' => '描述信息。', - 'type' => 'string', - 'example' => 'prompt description', - ], - 'content' => [ - 'description' => 'prompt 的内容信息,其变量通过 {{xxx}} 格式指定。xxx为变量,需要从 arguments 参数中定义。', - 'type' => 'string', - 'example' => 'prompt正文,{{name}}', - ], + 'name' => ['description' => 'prompt名称。', 'type' => 'string', 'example' => 'test'], + 'description' => ['description' => '描述信息。', 'type' => 'string', 'example' => 'prompt description'], + 'content' => ['description' => 'prompt 的内容信息,其变量通过 {{xxx}} 格式指定。xxx为变量,需要从 arguments 参数中定义。', 'type' => 'string', 'example' => 'prompt正文,{{name}}'], 'arguments' => [ 'description' => 'prompt支持的参数列表。', 'type' => 'array', @@ -1454,20 +983,9 @@ 'description' => 'prompt支持的参数。', 'type' => 'object', 'properties' => [ - 'name' => [ - 'description' => '参数名称。', - 'type' => 'string', - 'example' => 'test', - ], - 'description' => [ - 'description' => '参数的描述信息。', - 'type' => 'string', - 'example' => 'argument description', - ], - 'required' => [ - 'description' => '该参数是否必填。', - 'type' => 'boolean', - ], + 'name' => ['description' => '参数名称。', 'type' => 'string', 'example' => 'test'], + 'description' => ['description' => '参数的描述信息。', 'type' => 'string', 'example' => 'argument description'], + 'required' => ['description' => '该参数是否必填。', 'type' => 'boolean'], ], ], ], @@ -1477,70 +995,39 @@ 'language' => [ 'description' => 'API MCP服务的文档语言。支持选择中文或英文API文档,不同的语言提示词对AI的回复效果可能产生差异。', 'type' => 'string', - 'enumValueTitles' => [ - 'EN_US' => 'EN_US', - 'ZH_CN' => 'ZH_CN', - ], + 'enumValueTitles' => ['EN_US' => 'EN_US', 'ZH_CN' => 'ZH_CN'], 'example' => 'ZH_CN', ], 'urls' => [ 'description' => 'MCP SERVER 连接信息。', 'type' => 'object', 'properties' => [ - 'sse' => [ - 'description' => 'SSE 协议连接信息。', - 'type' => 'string', - 'example' => 'https://openapi-mcp.cn-hangzhou.aliyuncs.com/accounts/xxxx/custom/xxx/id/xxxx/sse', - ], - 'vpcSse' => [ - 'description' => 'VPC 下 SSE 协议连接地址。', - 'type' => 'string', - 'example' => 'https://openapi-mcp-cn.vpc-proxy.aliyuncs.com/accounts/xxxx/custom/xxx/id/xxxx/sse', - ], - 'mcp' => [ - 'description' => 'streamable HTTP 协议连接信息,推荐使用。', - 'type' => 'string', - 'example' => 'https://openapi-mcp.cn-hangzhou.aliyuncs.com/accounts/xxxx/custom/xxx/id/xxxx/mcp', - ], - 'vpcMcp' => [ - 'description' => 'VPC 下 streamable HTTP 协议连接地址。', - 'type' => 'string', - 'example' => 'https://openapi-mcp-cn.vpc-proxy.aliyuncs.com/accounts/xxxx/custom/xxx/id/xxxx/mcp', - ], + 'sse' => ['description' => 'SSE 协议连接信息。', 'type' => 'string', 'example' => 'https://openapi-mcp.cn-hangzhou.aliyuncs.com/accounts/xxxx/custom/xxx/id/xxxx/sse'], + 'vpcSse' => ['description' => 'VPC 下 SSE 协议连接地址。', 'type' => 'string', 'example' => 'https://openapi-mcp-cn.vpc-proxy.aliyuncs.com/accounts/xxxx/custom/xxx/id/xxxx/sse'], + 'mcp' => ['description' => 'streamable HTTP 协议连接信息,推荐使用。', 'type' => 'string', 'example' => 'https://openapi-mcp.cn-hangzhou.aliyuncs.com/accounts/xxxx/custom/xxx/id/xxxx/mcp'], + 'vpcMcp' => ['description' => 'VPC 下 streamable HTTP 协议连接地址。', 'type' => 'string', 'example' => 'https://openapi-mcp-cn.vpc-proxy.aliyuncs.com/accounts/xxxx/custom/xxx/id/xxxx/mcp'], ], ], 'systemTools' => [ 'description' => '系统工具列表。', 'type' => 'array', - 'items' => [ - 'description' => '系统工具名称。', - 'type' => 'string', - 'example' => 'FetchRamActionDetails', - ], - ], - 'name' => [ - 'description' => 'MCP SERVER 名称信息,由 a-z0-9 组成,3-64 位,不以数字开头,同主账号下必须唯一。', - 'type' => 'string', - 'example' => 'mcp-demo', - ], - 'requiredRAMPolicy' => [ - 'description' => '该 API MCP 服务需要的 RAM 权限策略。', - 'type' => 'string', - 'example' => '{'."\n" - .' "Version": "1",'."\n" - .' "Statement": ['."\n" - .' {'."\n" - .' "Effect": "Allow",'."\n" - .' "Action": ['."\n" - .' "ecs:Describe*",'."\n" - .' "vpc:Describe*",'."\n" - .' "vpc:List*"'."\n" - .' ],'."\n" - .' "Resource": "*"'."\n" - .' }'."\n" - .' ]'."\n" - .'}', - ], + 'items' => ['description' => '系统工具名称。', 'type' => 'string', 'example' => 'FetchRamActionDetails'], + ], + 'name' => ['description' => 'MCP SERVER 名称信息,由 a-z0-9 组成,3-64 位,不以数字开头,同主账号下必须唯一。', 'type' => 'string', 'example' => 'mcp-demo'], + 'requiredRAMPolicy' => ['description' => '该 API MCP 服务需要的 RAM 权限策略。', 'type' => 'string', 'example' => '{'."\n" + .' "Version": "1",'."\n" + .' "Statement": ['."\n" + .' {'."\n" + .' "Effect": "Allow",'."\n" + .' "Action": ['."\n" + .' "ecs:Describe*",'."\n" + .' "vpc:Describe*",'."\n" + .' "vpc:List*"'."\n" + .' ],'."\n" + .' "Resource": "*"'."\n" + .' }'."\n" + .' ]'."\n" + .'}'], 'apiInfos' => [ 'description' => 'API MCP 服务的 API 信息列表。', 'type' => 'array', @@ -1548,66 +1035,38 @@ 'description' => 'API MCP 服务的 API 信息。', 'type' => 'object', 'properties' => [ - 'product' => [ - 'description' => '产品CODE。'."\n" - ."\n" - .'- 调用GetRequestLog接口,从返回结果中获取产品CODE。'."\n" - ."\n" - .'- 通过OpenAPI门户的URL,找到对应的产品CODE。例如,短信服务的OpenAPI门户URL为https://api.aliyun.com/product/Dysmsapi,根据该URL获取短信服务的产品CODE为Dysmsapi。'."\n" - .'短信服务的OpenAPI门户URL为https://api.alibabacloud.com/product/Dysmsapi,根据该URL获取短信服务的产品CODE为Dysmsapi。', - 'type' => 'string', - 'example' => 'Ecs', - ], - 'apiVersion' => [ - 'description' => '透出到 MCP SERVER 的 API 所属的 POP version。', - 'type' => 'string', - 'example' => '2014-05-26', - ], - 'apiName' => [ - 'description' => 'API名称。', - 'type' => 'string', - 'example' => 'DescribeRegions', - ], + 'product' => ['description' => '产品CODE。'."\n" + ."\n" + .'- 调用GetRequestLog接口,从返回结果中获取产品CODE。'."\n" + ."\n" + .'- 通过OpenAPI门户的URL,找到对应的产品CODE。例如,短信服务的OpenAPI门户URL为https://api.aliyun.com/product/Dysmsapi,根据该URL获取短信服务的产品CODE为Dysmsapi。'."\n" + .'短信服务的OpenAPI门户URL为https://api.alibabacloud.com/product/Dysmsapi,根据该URL获取短信服务的产品CODE为Dysmsapi。', 'type' => 'string', 'example' => 'Ecs'], + 'apiVersion' => ['description' => '透出到 MCP SERVER 的 API 所属的 POP version。', 'type' => 'string', 'example' => '2014-05-26'], + 'apiName' => ['description' => 'API名称。', 'type' => 'string', 'example' => 'DescribeRegions'], ], ], ], - 'sourceType' => [ - 'description' => 'API MCP 服务类型。'."\n" - ."\n" - .'- custom 自定义服务'."\n" - ."\n" - .'- system 系统服务', - 'type' => 'string', - 'example' => 'system', - ], + 'sourceType' => ['description' => 'API MCP 服务类型。'."\n" + ."\n" + .'- custom 自定义服务'."\n" + ."\n" + .'- system 系统服务', 'type' => 'string', 'example' => 'system'], 'systemMcpServerInfo' => [ 'description' => '系统 MCP 服务列表。', 'type' => 'object', 'properties' => [ - 'product' => [ - 'description' => '产品CODE。'."\n" - ."\n" - .'- 调用GetRequestLog接口,从返回结果中获取产品CODE。'."\n" - ."\n" - .'- 通过OpenAPI门户的URL,找到对应的产品CODE。例如,短信服务的OpenAPI门户URL为https://api.aliyun.com/product/Dysmsapi,根据该URL获取短信服务的产品CODE为Dysmsapi。'."\n" - .'短信服务的OpenAPI门户URL为https://api.alibabacloud.com/product/Dysmsapi,根据该URL获取短信服务的产品CODE为Dysmsapi。', - 'type' => 'string', - 'example' => 'Ecs', - ], - 'name' => [ - 'description' => '系统 MCP 服务名称。', - 'type' => 'string', - 'example' => 'mcp-system', - ], + 'product' => ['description' => '产品CODE。'."\n" + ."\n" + .'- 调用GetRequestLog接口,从返回结果中获取产品CODE。'."\n" + ."\n" + .'- 通过OpenAPI门户的URL,找到对应的产品CODE。例如,短信服务的OpenAPI门户URL为https://api.aliyun.com/product/Dysmsapi,根据该URL获取短信服务的产品CODE为Dysmsapi。'."\n" + .'短信服务的OpenAPI门户URL为https://api.alibabacloud.com/product/Dysmsapi,根据该URL获取短信服务的产品CODE为Dysmsapi。', 'type' => 'string', 'example' => 'Ecs'], + 'name' => ['description' => '系统 MCP 服务名称。', 'type' => 'string', 'example' => 'mcp-system'], ], ], - 'oauthClientId' => [ - 'description' => '选择自定义OAuth配置时的自定义OAuth Client ID。'."\n" - ."\n" - .'`仅支持 Web/Native 应用,且 OAuth 范围必须包含 /acs/mcp-server`', - 'type' => 'string', - 'example' => '403*************370', - ], + 'oauthClientId' => ['description' => '选择自定义OAuth配置时的自定义OAuth Client ID。'."\n" + ."\n" + .'`仅支持 Web/Native 应用,且 OAuth 范围必须包含 /acs/mcp-server`', 'type' => 'string', 'example' => '403*************370'], 'terraformTools' => [ 'description' => 'Terraform Tool 列表。', 'type' => 'array', @@ -1615,40 +1074,24 @@ 'description' => 'Terraform Tool。', 'type' => 'object', 'properties' => [ - 'code' => [ - 'description' => 'Terraform Tool 代码。[HCL 语言概述](https://help.aliyun.com/zh/terraform/terraform-configuration-and-hcl-language-overview)', - 'type' => 'string', - 'example' => 'variable "name" {'."\n" - .' default = "terraform-example"'."\n" - .'}'."\n" - ."\n" - .'provider "alicloud" {'."\n" - .' region = "cn-beijing"'."\n" - .'}'."\n" - ."\n" - .'resource "alicloud_vpc" "default" {'."\n" - .' ipv6_isp = "BGP"'."\n" - .' description = "test"'."\n" - .' cidr_block = "10.0.0.0/8"'."\n" - .' vpc_name = var.name'."\n" - .' enable_ipv6 = true'."\n" - .'}', - ], - 'name' => [ - 'description' => 'Terraform Tool 名称。', - 'type' => 'string', - 'example' => 'test', - ], - 'description' => [ - 'description' => 'Terraform Tool 描述信息。', - 'type' => 'string', - 'example' => 'Terraform Tool description', - ], - 'async' => [ - 'description' => '是否为异步执行,即发起一个任务执行之后会立即处理下一个任务,而不等待每个资源操作完成。', - 'type' => 'boolean', - 'example' => 'true', - ], + 'code' => ['description' => 'Terraform Tool 代码。[HCL 语言概述](https://help.aliyun.com/zh/terraform/terraform-configuration-and-hcl-language-overview)', 'type' => 'string', 'example' => 'variable "name" {'."\n" + .' default = "terraform-example"'."\n" + .'}'."\n" + ."\n" + .'provider "alicloud" {'."\n" + .' region = "cn-beijing"'."\n" + .'}'."\n" + ."\n" + .'resource "alicloud_vpc" "default" {'."\n" + .' ipv6_isp = "BGP"'."\n" + .' description = "test"'."\n" + .' cidr_block = "10.0.0.0/8"'."\n" + .' vpc_name = var.name'."\n" + .' enable_ipv6 = true'."\n" + .'}'], + 'name' => ['description' => 'Terraform Tool 名称。', 'type' => 'string', 'example' => 'test'], + 'description' => ['description' => 'Terraform Tool 描述信息。', 'type' => 'string', 'example' => 'Terraform Tool description'], + 'async' => ['description' => '是否为异步执行,即发起一个任务执行之后会立即处理下一个任务,而不等待每个资源操作完成。', 'type' => 'boolean', 'example' => 'true'], 'destroyPolicy' => [ 'description' => '删除策略,任务执行完成后,系统根据任务执行状态对临时资源采取以下清理策略。'."\n" ."\n" @@ -1656,72 +1099,40 @@ .'- ALWAYS 总是删除:无论任务执行成功或失败,执行完成立即销毁所有相关资源'."\n" .'- ON_FAILURE 失败时删除:仅当任务执行失败时,删除相关资源;当任务执行成功时,则保留这些资源', 'type' => 'string', - 'enumValueTitles' => [ - 'ON_FAILURE' => 'ON_FAILURE', - 'NEVER' => 'NEVER', - 'ALWAYS' => 'ALWAYS', - ], + 'enumValueTitles' => ['ON_FAILURE' => 'ON_FAILURE', 'NEVER' => 'NEVER', 'ALWAYS' => 'ALWAYS'], 'example' => 'ON_FAILURE', ], ], ], ], - 'instructions' => [ - 'description' => 'MCP 指令,用于提示大模型如何使用该 MCP,需要客户端支持 MCP 标准协议的 Instructions 字段。', - 'type' => 'string', - 'example' => 'test', - ], - 'enableAssumeRole' => [ - 'description' => '是否开启多账号访问。', - 'type' => 'boolean', - 'example' => 'true', - ], - 'assumeRoleName' => [ - 'description' => '开启多账号访问进行跨账号操作时,扮演的目标账号 RAM角色名称。', - 'type' => 'string', - 'example' => 'test', - ], - 'assumeRoleExtraPolicy' => [ - 'description' => '开启多账号访问时,角色扮演额外的策略,该策略存在时,角色扮演的权限以当前值为准,覆盖角色本身的权限定义。', - 'type' => 'string', - 'example' => '{'."\n" - .' "Version": "1",'."\n" - .' "Statement": ['."\n" - .' {'."\n" - .' "Effect": "Allow",'."\n" - .' "Action": ['."\n" - .' "ecs:Describe*",'."\n" - .' "vpc:Describe*",'."\n" - .' "vpc:List*"'."\n" - .' ],'."\n" - .' "Resource": "*"'."\n" - .' }'."\n" - .' ]'."\n" - .'}', - ], + 'instructions' => ['description' => 'MCP 指令,用于提示大模型如何使用该 MCP,需要客户端支持 MCP 标准协议的 Instructions 字段。', 'type' => 'string', 'example' => 'test'], + 'enableAssumeRole' => ['description' => '是否开启多账号访问。', 'type' => 'boolean', 'example' => 'true'], + 'assumeRoleName' => ['description' => '开启多账号访问进行跨账号操作时,扮演的目标账号 RAM角色名称。', 'type' => 'string', 'example' => 'test'], + 'assumeRoleExtraPolicy' => ['description' => '开启多账号访问时,角色扮演额外的策略,该策略存在时,角色扮演的权限以当前值为准,覆盖角色本身的权限定义。', 'type' => 'string', 'example' => '{'."\n" + .' "Version": "1",'."\n" + .' "Statement": ['."\n" + .' {'."\n" + .' "Effect": "Allow",'."\n" + .' "Action": ['."\n" + .' "ecs:Describe*",'."\n" + .' "vpc:Describe*",'."\n" + .' "vpc:List*"'."\n" + .' ],'."\n" + .' "Resource": "*"'."\n" + .' }'."\n" + .' ]'."\n" + .'}'], 'publicAccess' => [ 'description' => '是否开启公网。', 'type' => 'string', 'example' => 'on', - 'enum' => [ - 'on', - 'off', - 'follow', - ], - ], - 'enableCustomVpcWhitelist' => [ - 'description' => '是否开启自定义VPC白名单,不开启则跟随账户级别的配置。', - 'type' => 'boolean', - 'example' => 'true', + 'enum' => ['on', 'off', 'follow'], ], + 'enableCustomVpcWhitelist' => ['description' => '是否开启自定义VPC白名单,不开启则跟随账户级别的配置。', 'type' => 'boolean', 'example' => 'true'], 'vpcWhitelists' => [ 'description' => '关闭公网访问后,限定来源的VPC白名单,不设置或为空表示不限制来源。', 'type' => 'array', - 'items' => [ - 'description' => '每一个限定的VPC白名单,值为来源VPC ID。', - 'type' => 'string', - 'example' => 'vpc-j6cgd2if5lg**0xs6m5se', - ], + 'items' => ['description' => '每一个限定的VPC白名单,值为来源VPC ID。', 'type' => 'string', 'example' => 'vpc-j6cgd2if5lg**0xs6m5se'], ], ], ], @@ -1729,25 +1140,13 @@ ], 'errorCodes' => [ 400 => [ - [ - 'errorCode' => 'Missing.Id', - 'errorMessage' => 'Id is mandatory for this action.', - 'description' => '缺少必填参数Id。', - ], + ['errorCode' => 'Missing.Id', 'errorMessage' => 'Id is mandatory for this action.', 'description' => '缺少必填参数Id。'], ], 404 => [ - [ - 'errorCode' => 'NotFound.ApiMcpServer', - 'errorMessage' => 'Specified MCP server not found.', - 'description' => '指定id的MCP服务不存在。', - ], + ['errorCode' => 'NotFound.ApiMcpServer', 'errorMessage' => 'Specified MCP server not found.', 'description' => '指定id的MCP服务不存在。'], ], 500 => [ - [ - 'errorCode' => 'InternalServerError', - 'errorMessage' => 'The request has failed due to a temporary failure of the server.', - 'description' => '由于服务器暂时故障,请求失败。', - ], + ['errorCode' => 'InternalServerError', 'errorMessage' => 'The request has failed due to a temporary failure of the server.', 'description' => '由于服务器暂时故障,请求失败。'], ], ], 'title' => '查询API MCP服务详细信息', @@ -1763,87 +1162,136 @@ 'authLevel' => 'resource', 'actionConditions' => [], 'resources' => [ - [ - 'validationType' => 'always', - 'product' => 'OpenAPIExplorer', - 'resourceType' => 'ApiMcpServer', - 'arn' => 'acs:openapiexplorer::{#accountId}:apimcpserver/{#id}', - ], + ['validationType' => 'always', 'product' => 'OpenAPIExplorer', 'resourceType' => 'ApiMcpServer', 'arn' => 'acs:openapiexplorer::{#accountId}:apimcpserver/{#id}'], ], ], ], ], - 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"requestId\\": \\"\\\\t\\\\n9BFC4AC1-6BE4-5405-BDEC-CA288D404812\\\\n\\",\\n \\"id\\": \\"v6ZZ7ftCzEILW***\\",\\n \\"description\\": \\"这是一个API MCP 服务器\\",\\n \\"apis\\": [\\n {\\n \\"product\\": \\"Ecs\\",\\n \\"apiVersion\\": \\"2014-05-26\\",\\n \\"selectors\\": [\\n \\"*Bucket\\"\\n ]\\n }\\n ],\\n \\"additionalApiDescriptions\\": [\\n {\\n \\"apiVersion\\": \\"2014-05-26\\",\\n \\"product\\": \\"Ecs\\",\\n \\"apiName\\": \\"DescribeRegions\\",\\n \\"apiOverrideJson\\": \\"{\\\\n \\\\\\"summary\\\\\\": \\\\\\"本接口支持根据不同请求条件查询实例列表,并关联查询实例的详细信息。\\\\\\"\\\\n}\\",\\n \\"executeCliCommand\\": true,\\n \\"enableOutputSchema\\": true,\\n \\"constParameters\\": [\\n {\\n \\"key\\": \\"InstanceId\\",\\n \\"value\\": \\"1234\\"\\n }\\n ]\\n }\\n ],\\n \\"createTime\\": \\"2025-02-07T02:17:46Z\\",\\n \\"updateTime\\": \\"2025-02-05T02:26:04Z\\",\\n \\"prompts\\": [\\n {\\n \\"name\\": \\"test\\",\\n \\"description\\": \\"prompt description\\",\\n \\"content\\": \\"prompt正文,{{name}}\\",\\n \\"arguments\\": [\\n {\\n \\"name\\": \\"test\\",\\n \\"description\\": \\"argument description\\",\\n \\"required\\": true\\n }\\n ]\\n }\\n ],\\n \\"language\\": \\"ZH_CN\\",\\n \\"urls\\": {\\n \\"sse\\": \\"https://openapi-mcp.cn-hangzhou.aliyuncs.com/accounts/xxxx/custom/xxx/id/xxxx/sse\\",\\n \\"vpcSse\\": \\"https://openapi-mcp-cn.vpc-proxy.aliyuncs.com/accounts/xxxx/custom/xxx/id/xxxx/sse\\",\\n \\"mcp\\": \\"https://openapi-mcp.cn-hangzhou.aliyuncs.com/accounts/xxxx/custom/xxx/id/xxxx/mcp\\",\\n \\"vpcMcp\\": \\"https://openapi-mcp-cn.vpc-proxy.aliyuncs.com/accounts/xxxx/custom/xxx/id/xxxx/mcp\\"\\n },\\n \\"systemTools\\": [\\n \\"FetchRamActionDetails\\"\\n ],\\n \\"name\\": \\"mcp-demo\\",\\n \\"requiredRAMPolicy\\": \\"{\\\\n \\\\\\"Version\\\\\\": \\\\\\"1\\\\\\",\\\\n \\\\\\"Statement\\\\\\": [\\\\n {\\\\n \\\\\\"Effect\\\\\\": \\\\\\"Allow\\\\\\",\\\\n \\\\\\"Action\\\\\\": [\\\\n \\\\\\"ecs:Describe*\\\\\\",\\\\n \\\\\\"vpc:Describe*\\\\\\",\\\\n \\\\\\"vpc:List*\\\\\\"\\\\n ],\\\\n \\\\\\"Resource\\\\\\": \\\\\\"*\\\\\\"\\\\n }\\\\n ]\\\\n}\\",\\n \\"apiInfos\\": [\\n {\\n \\"product\\": \\"Ecs\\",\\n \\"apiVersion\\": \\"2014-05-26\\",\\n \\"apiName\\": \\"DescribeRegions\\"\\n }\\n ],\\n \\"sourceType\\": \\"system\\",\\n \\"systemMcpServerInfo\\": {\\n \\"product\\": \\"Ecs\\",\\n \\"name\\": \\"mcp-system\\"\\n },\\n \\"oauthClientId\\": \\"403*************370\\",\\n \\"terraformTools\\": [\\n {\\n \\"code\\": \\"variable \\\\\\"name\\\\\\" {\\\\n default = \\\\\\"terraform-example\\\\\\"\\\\n}\\\\n\\\\nprovider \\\\\\"alicloud\\\\\\" {\\\\n region = \\\\\\"cn-beijing\\\\\\"\\\\n}\\\\n\\\\nresource \\\\\\"alicloud_vpc\\\\\\" \\\\\\"default\\\\\\" {\\\\n ipv6_isp = \\\\\\"BGP\\\\\\"\\\\n description = \\\\\\"test\\\\\\"\\\\n cidr_block = \\\\\\"10.0.0.0/8\\\\\\"\\\\n vpc_name = var.name\\\\n enable_ipv6 = true\\\\n}\\",\\n \\"name\\": \\"test\\",\\n \\"description\\": \\"Terraform Tool description\\",\\n \\"async\\": true,\\n \\"destroyPolicy\\": \\"ON_FAILURE\\"\\n }\\n ],\\n \\"instructions\\": \\"test\\",\\n \\"enableAssumeRole\\": true,\\n \\"assumeRoleName\\": \\"test\\",\\n \\"assumeRoleExtraPolicy\\": \\"{\\\\n \\\\\\"Version\\\\\\": \\\\\\"1\\\\\\",\\\\n \\\\\\"Statement\\\\\\": [\\\\n {\\\\n \\\\\\"Effect\\\\\\": \\\\\\"Allow\\\\\\",\\\\n \\\\\\"Action\\\\\\": [\\\\n \\\\\\"ecs:Describe*\\\\\\",\\\\n \\\\\\"vpc:Describe*\\\\\\",\\\\n \\\\\\"vpc:List*\\\\\\"\\\\n ],\\\\n \\\\\\"Resource\\\\\\": \\\\\\"*\\\\\\"\\\\n }\\\\n ]\\\\n}\\",\\n \\"publicAccess\\": \\"on\\",\\n \\"enableCustomVpcWhitelist\\": true,\\n \\"vpcWhitelists\\": [\\n \\"vpc-j6cgd2if5lg**0xs6m5se\\"\\n ]\\n}","type":"json"}]', + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"requestId\\": \\"\\\\t\\\\n9BFC4AC1-6BE4-5405-BDEC-CA288D404812\\\\n\\",\\n \\"id\\": \\"v6ZZ7ftCzEILW***\\",\\n \\"description\\": \\"这是一个API MCP 服务器\\",\\n \\"apis\\": [\\n {\\n \\"product\\": \\"Ecs\\",\\n \\"apiVersion\\": \\"2014-05-26\\",\\n \\"selectors\\": [\\n \\"*Bucket\\"\\n ]\\n }\\n ],\\n \\"additionalApiDescriptions\\": [\\n {\\n \\"apiVersion\\": \\"2014-05-26\\",\\n \\"product\\": \\"Ecs\\",\\n \\"apiName\\": \\"DescribeRegions\\",\\n \\"apiOverrideJson\\": \\"{\\\\n \\\\\\"summary\\\\\\": \\\\\\"本接口支持根据不同请求条件查询实例列表,并关联查询实例的详细信息。\\\\\\"\\\\n}\\",\\n \\"executeCliCommand\\": true,\\n \\"enableOutputSchema\\": true,\\n \\"toolAlias\\": \\"list_ecs_regions\\",\\n \\"constParameters\\": [\\n {\\n \\"key\\": \\"InstanceId\\",\\n \\"value\\": \\"1234\\"\\n }\\n ]\\n }\\n ],\\n \\"createTime\\": \\"2025-02-07T02:17:46Z\\",\\n \\"updateTime\\": \\"2025-02-05T02:26:04Z\\",\\n \\"prompts\\": [\\n {\\n \\"name\\": \\"test\\",\\n \\"description\\": \\"prompt description\\",\\n \\"content\\": \\"prompt正文,{{name}}\\",\\n \\"arguments\\": [\\n {\\n \\"name\\": \\"test\\",\\n \\"description\\": \\"argument description\\",\\n \\"required\\": true\\n }\\n ]\\n }\\n ],\\n \\"language\\": \\"ZH_CN\\",\\n \\"urls\\": {\\n \\"sse\\": \\"https://openapi-mcp.cn-hangzhou.aliyuncs.com/accounts/xxxx/custom/xxx/id/xxxx/sse\\",\\n \\"vpcSse\\": \\"https://openapi-mcp-cn.vpc-proxy.aliyuncs.com/accounts/xxxx/custom/xxx/id/xxxx/sse\\",\\n \\"mcp\\": \\"https://openapi-mcp.cn-hangzhou.aliyuncs.com/accounts/xxxx/custom/xxx/id/xxxx/mcp\\",\\n \\"vpcMcp\\": \\"https://openapi-mcp-cn.vpc-proxy.aliyuncs.com/accounts/xxxx/custom/xxx/id/xxxx/mcp\\"\\n },\\n \\"systemTools\\": [\\n \\"FetchRamActionDetails\\"\\n ],\\n \\"name\\": \\"mcp-demo\\",\\n \\"requiredRAMPolicy\\": \\"{\\\\n \\\\\\"Version\\\\\\": \\\\\\"1\\\\\\",\\\\n \\\\\\"Statement\\\\\\": [\\\\n {\\\\n \\\\\\"Effect\\\\\\": \\\\\\"Allow\\\\\\",\\\\n \\\\\\"Action\\\\\\": [\\\\n \\\\\\"ecs:Describe*\\\\\\",\\\\n \\\\\\"vpc:Describe*\\\\\\",\\\\n \\\\\\"vpc:List*\\\\\\"\\\\n ],\\\\n \\\\\\"Resource\\\\\\": \\\\\\"*\\\\\\"\\\\n }\\\\n ]\\\\n}\\",\\n \\"apiInfos\\": [\\n {\\n \\"product\\": \\"Ecs\\",\\n \\"apiVersion\\": \\"2014-05-26\\",\\n \\"apiName\\": \\"DescribeRegions\\"\\n }\\n ],\\n \\"sourceType\\": \\"system\\",\\n \\"systemMcpServerInfo\\": {\\n \\"product\\": \\"Ecs\\",\\n \\"name\\": \\"mcp-system\\"\\n },\\n \\"oauthClientId\\": \\"403*************370\\",\\n \\"terraformTools\\": [\\n {\\n \\"code\\": \\"variable \\\\\\"name\\\\\\" {\\\\n default = \\\\\\"terraform-example\\\\\\"\\\\n}\\\\n\\\\nprovider \\\\\\"alicloud\\\\\\" {\\\\n region = \\\\\\"cn-beijing\\\\\\"\\\\n}\\\\n\\\\nresource \\\\\\"alicloud_vpc\\\\\\" \\\\\\"default\\\\\\" {\\\\n ipv6_isp = \\\\\\"BGP\\\\\\"\\\\n description = \\\\\\"test\\\\\\"\\\\n cidr_block = \\\\\\"10.0.0.0/8\\\\\\"\\\\n vpc_name = var.name\\\\n enable_ipv6 = true\\\\n}\\",\\n \\"name\\": \\"test\\",\\n \\"description\\": \\"Terraform Tool description\\",\\n \\"async\\": true,\\n \\"destroyPolicy\\": \\"ON_FAILURE\\"\\n }\\n ],\\n \\"instructions\\": \\"test\\",\\n \\"enableAssumeRole\\": true,\\n \\"assumeRoleName\\": \\"test\\",\\n \\"assumeRoleExtraPolicy\\": \\"{\\\\n \\\\\\"Version\\\\\\": \\\\\\"1\\\\\\",\\\\n \\\\\\"Statement\\\\\\": [\\\\n {\\\\n \\\\\\"Effect\\\\\\": \\\\\\"Allow\\\\\\",\\\\n \\\\\\"Action\\\\\\": [\\\\n \\\\\\"ecs:Describe*\\\\\\",\\\\n \\\\\\"vpc:Describe*\\\\\\",\\\\n \\\\\\"vpc:List*\\\\\\"\\\\n ],\\\\n \\\\\\"Resource\\\\\\": \\\\\\"*\\\\\\"\\\\n }\\\\n ]\\\\n}\\",\\n \\"publicAccess\\": \\"on\\",\\n \\"enableCustomVpcWhitelist\\": true,\\n \\"vpcWhitelists\\": [\\n \\"vpc-j6cgd2if5lg**0xs6m5se\\"\\n ]\\n}","type":"json"}]', ], - 'GetApiMcpServerUserConfig' => [ - 'summary' => '查询用户全局API MCP Server配置,当前能力包含配置是否开启公网访问及配置在VPC下请求的来源VPC ID白名单。', - 'path' => '/userconfig/get', - 'methods' => [ - 'get', - ], - 'schemes' => [ - 'https', - ], + 'GetApiMcpServerCore' => [ + 'path' => '/apimcpservercore', + 'methods' => ['get'], + 'schemes' => ['https'], 'security' => [ [ 'AK' => [], ], ], - 'consumes' => [ - 'application/json', - ], - 'produces' => [ - 'application/json', - ], + 'consumes' => ['application/json'], + 'produces' => ['application/json'], 'operationType' => 'read', 'systemTags' => [ 'operationType' => 'get', 'riskType' => 'none', 'chargeType' => 'free', - 'abilityTreeNodes' => [ - 'FEATUREopenapiexplorer7MPML0', + 'abilityTreeNodes' => ['FEATUREopenapiexplorer7MPML0'], + ], + 'parameters' => [ + [ + 'name' => 'id', + 'in' => 'query', + 'schema' => ['description' => '唯一 id', 'type' => 'string', 'required' => true, 'example' => 'v6ZZ7ftCzEILW***'], ], ], - 'parameters' => [], 'responses' => [ 200 => [ 'schema' => [ 'type' => 'object', 'properties' => [ - 'requestId' => [ - 'description' => '请求ID。', - 'type' => 'string', - 'example' => 'A707AFA8-1A4C-5B2A-A165-8436C1EA38DB', - ], - 'accountId' => [ - 'description' => '您的阿里云账号(主账号)ID。', - 'type' => 'string', - 'example' => '162302724684579*', - ], - 'enablePublicAccess' => [ - 'description' => '是否开启账户下所有API MCP Server(包含系统MCP Server)的公网访问能力,默认为开启,关闭后只能通过VPC域名访问。', - 'type' => 'boolean', - 'example' => 'true', - ], + 'requestId' => ['description' => '请求ID。', 'type' => 'string', 'example' => ' '."\n" + .'9BFC4AC1-6BE4-5405-BDEC-CA288D404812'."\n"], + 'id' => ['description' => 'API MCP Core 服务 ID。', 'type' => 'string', 'example' => 'v6ZZ7ftCzEILW***'], + 'oauthClientId' => ['description' => '选择自定义OAuth配置时的自定义OAuth Client ID。'."\n" + ."\n" + .'`仅支持 Web/Native 应用,且 OAuth 范围必须包含 /acs/mcp-server`', 'type' => 'string', 'deprecated' => false, 'example' => '403*************370', 'pattern' => '', 'readOnly' => false, 'default' => ''], + 'createTime' => ['description' => 'API MCP服务器的创建时间。', 'type' => 'string', 'format' => 'iso8601', 'example' => '2025-02-07T02:17:46Z'], 'vpcWhitelists' => [ - 'description' => '关闭公网访问后,限定来源的VPC白名单,不设置或为空表示不限制来源。', + 'description' => '每一个限定的VPC白名单,值为来源VPC ID。', 'type' => 'array', - 'items' => [ - 'description' => '每一个限定的VPC白名单,值为来源VPC ID。', - 'type' => 'string', - 'example' => 'vpc-j6cgd2if5lg**0xs6m5se', + 'items' => ['description' => '每一个限定的VPC白名单,值为来源VPC ID。', 'type' => 'string', 'deprecated' => false, 'example' => 'vpc-j6cgd2if5lg**0xs6m5se', 'readOnly' => false], + 'deprecated' => false, + 'readOnly' => false, + ], + 'enableAssumeRole' => ['description' => '是否开启多账号访问。', 'type' => 'boolean', 'deprecated' => false, 'example' => 'true', 'readOnly' => false, 'default' => ''], + 'assumeRoleOverridePolicy' => ['description' => '角色扮演时的权限策略', 'type' => 'string', 'format' => 'json', 'deprecated' => false, 'example' => '{\\"Version\\":\\"1\\",\\"Statement\\":[]}', 'pattern' => '', 'readOnly' => false, 'default' => ''], + 'assumeRoleName' => ['description' => '开启多账号访问进行跨账号操作时,扮演的目标账号 RAM角色名称。', 'type' => 'string', 'deprecated' => false, 'example' => 'test', 'pattern' => '', 'readOnly' => false, 'default' => ''], + 'publicAccessType' => ['description' => '公网访问类型:允许公网访问、不允许公网访问、继承账号配置。'."\n" + .'`public`(开启), `private`(关闭), `inherit`(跟随账号配置)', 'type' => 'string', 'deprecated' => false, 'example' => 'public', 'pattern' => '', 'readOnly' => false, 'default' => ''], + 'enableCustomVpcWhitelist' => ['description' => '是否开启自定义VPC白名单,不开启则跟随账户级别的配置。', 'type' => 'boolean', 'deprecated' => false, 'example' => 'true', 'readOnly' => false, 'default' => ''], + 'urls' => [ + 'description' => 'MCP Core 服务 连接信息。', + 'type' => 'object', + 'properties' => [ + 'sse' => ['description' => 'SSE 协议连接信息。', 'type' => 'string', 'deprecated' => false, 'example' => 'https://mcpserverinner-pre.cn-zhangjiakou.aliyuncs.com/accounts/xxxx/custom/xxx/id/xxxx/sse', 'pattern' => '', 'default' => ''], + 'mcp' => ['description' => 'streamable HTTP 协议连接信息,推荐使用。', 'type' => 'string', 'deprecated' => false, 'example' => 'https://mcpserverinner-pre.cn-zhangjiakou.aliyuncs.com/accounts/xxxx/custom/xxx/id/xxxx/mcp', 'pattern' => '', 'default' => ''], + 'vpcSse' => ['description' => 'VPC 下 SSE 协议连接地址。', 'type' => 'string', 'deprecated' => false, 'example' => 'https://openapi-mcp-cn.vpc-proxy.aliyuncs.com/accounts/xxxx/custom/xxx/id/xxxx/sse', 'pattern' => '', 'default' => ''], + 'vpcMcp' => ['description' => 'VPC 下 streamable HTTP 协议连接地址。', 'type' => 'string', 'deprecated' => false, 'example' => 'https://openapi-mcp-cn.vpc-proxy.aliyuncs.com/accounts/xxxx/custom/xxx/id/xxxx/mcp', 'pattern' => '', 'default' => ''], ], + 'deprecated' => false, ], - 'gmtCreate' => [ - 'description' => '创建时间', - 'type' => 'string', - 'example' => '2025-11-10T06:58:39Z', - ], - 'gmtModified' => [ - 'description' => '更新时间', - 'type' => 'string', - 'example' => '2025-11-10T06:58:39Z', + 'requiredRamPolicy' => ['description' => '使用该 MCP Core 服务所需的 RAM 策略。', 'type' => 'string', 'deprecated' => false, 'example' => '{"Version":"1","Statement":[{"Effect":"Allow","Action":["ecs:Describe*"],"Resource":"*"}]}', 'pattern' => '', 'default' => ''], + ], + 'description' => '', + ], + ], + ], + 'errorCodes' => [ + 400 => [ + ['errorCode' => 'Missing.Id', 'errorMessage' => 'Id is mandatory for this action.', 'description' => '缺少必填参数Id。'], + ], + 404 => [ + ['errorCode' => 'NotFound.ApiMcpServer', 'errorMessage' => 'Specified MCP server not found.', 'description' => '指定id的MCP服务不存在。'], + ], + 500 => [ + ['errorCode' => 'InternalServerError', 'errorMessage' => 'The request has failed due to a temporary failure of the server.', 'description' => '由于服务器暂时故障,请求失败。'], + ], + ], + 'title' => '查询 ApiMcpServerCore', + 'summary' => '查询 ApiMcpServerCore。', + 'description' => '该接口查询的是公开信息,不涉及账号特殊归属等信息,故不支持授权。', + 'changeSet' => [], + 'flowControl' => [ + 'flowControlList' => [], + ], + 'ramActions' => [], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"requestId\\": \\"\\\\t\\\\n9BFC4AC1-6BE4-5405-BDEC-CA288D404812\\\\n\\",\\n \\"id\\": \\"v6ZZ7ftCzEILW***\\",\\n \\"oauthClientId\\": \\"403*************370\\",\\n \\"createTime\\": \\"2025-02-07T02:17:46Z\\",\\n \\"vpcWhitelists\\": [\\n \\"vpc-j6cgd2if5lg**0xs6m5se\\"\\n ],\\n \\"enableAssumeRole\\": true,\\n \\"assumeRoleOverridePolicy\\": \\"{\\\\\\\\\\\\\\"Version\\\\\\\\\\\\\\":\\\\\\\\\\\\\\"1\\\\\\\\\\\\\\",\\\\\\\\\\\\\\"Statement\\\\\\\\\\\\\\":[]}\\",\\n \\"assumeRoleName\\": \\"test\\",\\n \\"publicAccessType\\": \\"public\\",\\n \\"enableCustomVpcWhitelist\\": true,\\n \\"urls\\": {\\n \\"sse\\": \\"https://mcpserverinner-pre.cn-zhangjiakou.aliyuncs.com/accounts/xxxx/custom/xxx/id/xxxx/sse\\",\\n \\"mcp\\": \\"https://mcpserverinner-pre.cn-zhangjiakou.aliyuncs.com/accounts/xxxx/custom/xxx/id/xxxx/mcp\\",\\n \\"vpcSse\\": \\"https://openapi-mcp-cn.vpc-proxy.aliyuncs.com/accounts/xxxx/custom/xxx/id/xxxx/sse\\",\\n \\"vpcMcp\\": \\"https://openapi-mcp-cn.vpc-proxy.aliyuncs.com/accounts/xxxx/custom/xxx/id/xxxx/mcp\\"\\n },\\n \\"requiredRamPolicy\\": \\"{\\\\\\"Version\\\\\\":\\\\\\"1\\\\\\",\\\\\\"Statement\\\\\\":[{\\\\\\"Effect\\\\\\":\\\\\\"Allow\\\\\\",\\\\\\"Action\\\\\\":[\\\\\\"ecs:Describe*\\\\\\"],\\\\\\"Resource\\\\\\":\\\\\\"*\\\\\\"}]}\\"\\n}","type":"json"}]', + ], + 'GetApiMcpServerUserConfig' => [ + 'summary' => '查询用户全局API MCP Server配置,当前能力包含配置是否开启公网访问及配置在VPC下请求的来源VPC ID白名单。', + 'path' => '/userconfig/get', + 'methods' => ['get'], + 'schemes' => ['https'], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'consumes' => ['application/json'], + 'produces' => ['application/json'], + 'operationType' => 'read', + 'systemTags' => [ + 'operationType' => 'get', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeNodes' => ['FEATUREopenapiexplorer7MPML0'], + ], + 'parameters' => [], + 'responses' => [ + 200 => [ + 'schema' => [ + 'type' => 'object', + 'properties' => [ + 'requestId' => ['description' => '请求ID。', 'type' => 'string', 'example' => 'A707AFA8-1A4C-5B2A-A165-8436C1EA38DB'], + 'accountId' => ['description' => '您的阿里云账号(主账号)ID。', 'type' => 'string', 'example' => '162302724684579*'], + 'enablePublicAccess' => ['description' => '是否开启账户下所有API MCP Server(包含系统MCP Server)的公网访问能力,默认为开启,关闭后只能通过VPC域名访问。', 'type' => 'boolean', 'example' => 'true'], + 'vpcWhitelists' => [ + 'description' => '关闭公网访问后,限定来源的VPC白名单,不设置或为空表示不限制来源。', + 'type' => 'array', + 'items' => ['description' => '每一个限定的VPC白名单,值为来源VPC ID。', 'type' => 'string', 'example' => 'vpc-j6cgd2if5lg**0xs6m5se'], ], + 'gmtCreate' => ['description' => '创建时间', 'type' => 'string', 'example' => '2025-11-10T06:58:39Z'], + 'gmtModified' => ['description' => '更新时间', 'type' => 'string', 'example' => '2025-11-10T06:58:39Z'], ], 'description' => '', ], @@ -1863,48 +1311,147 @@ 'authLevel' => 'resource', 'actionConditions' => [], 'resources' => [ - [ - 'validationType' => 'always', - 'product' => 'OpenAPIExplorer', - 'resourceType' => '全部资源', - 'arn' => '*', - ], + ['validationType' => 'always', 'product' => 'OpenAPIExplorer', 'resourceType' => '全部资源', 'arn' => '*'], ], ], ], ], 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"requestId\\": \\"A707AFA8-1A4C-5B2A-A165-8436C1EA38DB\\",\\n \\"accountId\\": \\"162302724684579*\\",\\n \\"enablePublicAccess\\": true,\\n \\"vpcWhitelists\\": [\\n \\"vpc-j6cgd2if5lg**0xs6m5se\\"\\n ],\\n \\"gmtCreate\\": \\"2025-11-10T06:58:39Z\\",\\n \\"gmtModified\\": \\"2025-11-10T06:58:39Z\\"\\n}","type":"json"}]', ], - 'GetErrorCodeSolutions' => [ - 'summary' => '根据提供的错误码获取对应的错误诊断解决方案', - 'description' => '该接口查询的是公开信息,不涉及账号特殊归属等信息,故不支持授权。', - 'path' => '/getErrorCodeSolutions', - 'methods' => [ - 'get', + 'GetCodeSample' => [ + 'summary' => '获取SDK代码示例', + 'path' => '/api/product/makeCode', + 'methods' => ['post'], + 'schemes' => ['https'], + 'security' => [ + [ + 'Anonymous' => [], + ], ], - 'schemes' => [ - 'https', + 'consumes' => ['application/json'], + 'produces' => ['application/json'], + 'operationType' => 'read', + 'systemTags' => [ + 'operationType' => 'none', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeNodes' => ['FEATUREopenapiexplorerCHYMZJ'], + 'autoTest' => true, + 'tenantRelevance' => 'publicInformation', ], - 'security' => [ + 'parameters' => [ [ - 'AK' => [], + 'name' => 'body', + 'in' => 'body', + 'style' => 'json', + 'schema' => [ + 'title' => '生成代码示例请求体', + 'description' => '生成代码示例请求体', + 'type' => 'object', + 'properties' => [ + 'callType' => [ + 'title' => 'SDK调用类型,typed为产品专属SDK模式,generic为Common泛化调用模式,默认为typed。', + 'description' => 'SDK调用类型,typed为产品专属SDK模式,generic为Common泛化调用模式,默认为typed。', + 'type' => 'string', + 'required' => false, + 'example' => 'typed', + 'default' => 'typed', + 'enum' => ['typed', 'generic'], + ], + 'product' => ['title' => '云产品Code。', 'description' => '云产品Code。', 'type' => 'string', 'required' => true, 'example' => 'Ecs'], + 'apiVersion' => ['title' => 'OpenAPI版本。', 'description' => 'OpenAPI版本。', 'type' => 'string', 'required' => false, 'example' => '2014-05-26'], + 'apiName' => ['title' => 'OpenAPI名称。', 'description' => 'OpenAPI名称。', 'type' => 'string', 'required' => true, 'example' => 'DescribeInstances'], + 'regionId' => ['title' => '地域ID。', 'description' => '地域ID。', 'type' => 'string', 'required' => false, 'example' => 'cn-hangzhou'], + 'language' => [ + 'title' => '代码示例语言。', + 'description' => '代码示例编程语言。', + 'type' => 'string', + 'required' => true, + 'example' => 'java', + 'enum' => ['java', 'java-async', 'python', 'typescript', 'go', 'php', 'csharp', 'cpp', 'swift', 'nodejs'], + ], + 'params' => ['title' => 'OpenAPI业务请求参数JSON字符串,键为参数名,值为序列化后的参数值。', 'description' => 'OpenAPI业务请求参数JSON字符串,键为参数名,值为序列化后的参数值。', 'type' => 'string', 'required' => false, 'example' => '{"RegionId":"cn-hangzhou"}'], + ], + 'required' => false, + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'type' => 'object', + 'properties' => [ + 'code' => ['title' => '业务状态码,0表示成功,1表示workbench业务异常。', 'description' => '业务状态码,0表示成功,1表示workbench业务异常。', 'type' => 'integer', 'format' => 'int32', 'example' => '0'], + 'message' => ['title' => '业务错误信息,仅当code不为0时返回。', 'description' => '业务错误信息,仅当code不为0时返回。', 'type' => 'string', 'example' => 'SDK 示例生成出错,请联系支持群开发同学解决'], + 'data' => [ + 'title' => '生成的多语言SDK代码示例及依赖信息。', + 'description' => '生成的多语言SDK代码示例及依赖信息。', + 'type' => 'object', + 'properties' => [ + 'demoSdk' => ['title' => '不同语言对应的代码示例内容JSON字符串,key为语言名(如java/python/go等),另包含dependencies依赖配置。', 'description' => '对应的代码示例内容', 'type' => 'string', 'example' => 'package com.aliyun.sample;\\n\\nimport com.aliyun.tea.*;\\n\\npublic class Sample {\\n\\n /**\\n * description :\\n *

使用凭据初始化账号Client

\\n * @return Client\\n * \\n * @throws Exception\\n */\\n public static com.aliyun.teaopenapi.Client createClient() throws Exception {\\n // 工程代码建议使用更安全的无AK方式,凭据配置方式请参见:https://help.aliyun.com/document_detail/378657.html。\\n com.aliyun.credentials.Client credential = new com.aliyun.credentials.Client();\\n com.aliyun.teaopenapi.models.Config config = new com.aliyun.teaopenapi.models.Config()\\n .setCredential(credential);\\n // Endpoint 请参考 https://api.aliyun.com/product/Ecs\\n config.endpoint = \\"ecs.us-west-1.aliyuncs.com\\";\\n return new com.aliyun.teaopenapi.Client(config);\\n }\\n\\n /**\\n * description :\\n *

API 相关

\\n * \\n * @param path string Path parameters\\n * @return OpenApi.Params\\n */\\n public static com.aliyun.teaopenapi.models.Params createApiInfo() throws Exception {\\n com.aliyun.teaopenapi.models.Params params = new com.aliyun.teaopenapi.models.Params()\\n // 接口名称\\n .setAction(\\"DescribeInstances\\")\\n // 接口版本\\n .setVersion(\\"2014-05-26\\")\\n // 接口协议\\n .setProtocol(\\"HTTPS\\")\\n // 接口 HTTP 方法\\n .setMethod(\\"POST\\")\\n .setAuthType(\\"AK\\")\\n .setStyle(\\"RPC\\")\\n // 接口 PATH\\n .setPathname(\\"/\\")\\n // 接口请求体内容格式\\n .setReqBodyType(\\"json\\")\\n // 接口响应体内容格式\\n .setBodyType(\\"json\\");\\n return params;\\n }\\n\\n public static void main(String[] args_) throws Exception {\\n \\n com.aliyun.teaopenapi.Client client = Sample.createClient();\\n com.aliyun.teaopenapi.models.Params params = Sample.createApiInfo();\\n // query params\\n java.util.Map queries = new java.util.HashMap<>();\\n queries.put(\\"RegionId\\", \\"us-west-1\\");\\n // runtime options\\n com.aliyun.teautil.models.RuntimeOptions runtime = new com.aliyun.teautil.models.RuntimeOptions();\\n com.aliyun.teaopenapi.models.OpenApiRequest request = new com.aliyun.teaopenapi.models.OpenApiRequest()\\n .setQuery(com.aliyun.openapiutil.Client.query(queries));\\n // 返回值实际为 Map 类型,可从 Map 中获得三类数据:响应体 body、响应头 headers、HTTP 返回的状态码 statusCode。\\n Object resp = client.callApi(params, request, runtime);\\n System.out.println(new com.google.gson.Gson().toJson(resp));\\n }\\n}\\n'], + 'cost' => ['title' => '生成耗时,单位毫秒。', 'description' => '生成耗时,单位毫秒。', 'type' => 'integer', 'format' => 'int32', 'example' => '100'], + 'sdkDependency' => [ + 'title' => '当前 product+apiVersion+language 对应的 SDK 安装信息(与 GetSdkDependencies 单条结果同结构)。', + 'description' => '当前输入的云产品API版本,编程语言以及调用方式对应的 SDK 安装信息(与 GetSdkDependencies 单条结果同结构)。', + 'type' => 'object', + 'properties' => [ + 'packageName' => ['title' => 'SDK包名称。', 'description' => 'SDK包名称。', 'type' => 'string', 'example' => 'com.aliyun/openapiexplorer20241130'], + 'sdkVersion' => ['title' => 'SDK包版本。', 'description' => 'SDK包版本。', 'type' => 'string', 'example' => '1.3.0'], + 'platform' => ['title' => 'SDK包管理平台,如github/maven/pypi/nuget/npm。', 'description' => 'SDK包管理平台,如github/maven/pypi/nuget/npm。', 'type' => 'string', 'example' => 'maven'], + 'install' => ['title' => 'SDK安装命令。Java 为 Maven XML 块;其他语言为对应包管理器的安装命令。', 'description' => 'SDK安装命令。Java 为 Maven XML 块;其他语言为对应包管理器的安装命令。', 'type' => 'string', 'example' => '\\n com.aliyun\\n openapiexplorer20241130\\n 1.3.0\\n'], + ], + 'example' => '{"packageName":"com.aliyun/openapiexplorer20241130","sdkVersion":"1.3.0","platform":"maven","install":"..."}', + ], + ], + 'example' => '{}', + ], + ], + 'description' => '', + ], + ], + ], + 'errorCodes' => [ + 400 => [ + ['errorCode' => 'InvalidParam.Body', 'errorMessage' => 'Request body is required.', 'description' => ''], + ['errorCode' => 'InvalidParam.Product', 'errorMessage' => 'Product name is required and cannot be null or empty.', 'description' => ''], + ['errorCode' => 'InvalidParam.ApiVersion', 'errorMessage' => 'API version is required and cannot be null or empty.', 'description' => ''], + ['errorCode' => 'InvalidParam.ApiName', 'errorMessage' => 'API name is required and cannot be null or empty.', 'description' => ''], + ['errorCode' => 'InvalidParam.Format', 'errorMessage' => 'Product/apiVersion/apiName format is invalid.', 'description' => ''], + ['errorCode' => 'InvalidParam.Language', 'errorMessage' => 'Language format is invalid.', 'description' => ''], + ['errorCode' => 'InvalidParam.CallType', 'errorMessage' => 'CallType must be typed or generic.', 'description' => ''], + ], + 502 => [ + ['errorCode' => 'WorkbenchProxy.RequestFailed', 'errorMessage' => 'Failed to generate code sample.', 'description' => ''], ], ], - 'consumes' => [ - 'application/json', + 'staticInfo' => ['returnType' => 'synchronous'], + 'title' => '获取代码示例', + 'description' => '该接口查询的是公开信息,不涉及账号特殊归属等信息,故不支持授权。', + 'changeSet' => [], + 'flowControl' => [ + 'flowControlList' => [], ], - 'produces' => [ - 'application/json', + 'ramActions' => [], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"code\\": 0,\\n \\"message\\": \\"SDK 示例生成出错,请联系支持群开发同学解决\\",\\n \\"data\\": {\\n \\"demoSdk\\": \\"package com.aliyun.sample;\\\\\\\\n\\\\\\\\nimport com.aliyun.tea.*;\\\\\\\\n\\\\\\\\npublic class Sample {\\\\\\\\n\\\\\\\\n /**\\\\\\\\n * description :\\\\\\\\n *

使用凭据初始化账号Client

\\\\\\\\n * @return Client\\\\\\\\n * \\\\\\\\n * @throws Exception\\\\\\\\n */\\\\\\\\n public static com.aliyun.teaopenapi.Client createClient() throws Exception {\\\\\\\\n // 工程代码建议使用更安全的无AK方式,凭据配置方式请参见:https://help.aliyun.com/document_detail/378657.html。\\\\\\\\n com.aliyun.credentials.Client credential = new com.aliyun.credentials.Client();\\\\\\\\n com.aliyun.teaopenapi.models.Config config = new com.aliyun.teaopenapi.models.Config()\\\\\\\\n .setCredential(credential);\\\\\\\\n // Endpoint 请参考 https://api.aliyun.com/product/Ecs\\\\\\\\n config.endpoint = \\\\\\\\\\\\\\"ecs.us-west-1.aliyuncs.com\\\\\\\\\\\\\\";\\\\\\\\n return new com.aliyun.teaopenapi.Client(config);\\\\\\\\n }\\\\\\\\n\\\\\\\\n /**\\\\\\\\n * description :\\\\\\\\n *

API 相关

\\\\\\\\n * \\\\\\\\n * @param path string Path parameters\\\\\\\\n * @return OpenApi.Params\\\\\\\\n */\\\\\\\\n public static com.aliyun.teaopenapi.models.Params createApiInfo() throws Exception {\\\\\\\\n com.aliyun.teaopenapi.models.Params params = new com.aliyun.teaopenapi.models.Params()\\\\\\\\n // 接口名称\\\\\\\\n .setAction(\\\\\\\\\\\\\\"DescribeInstances\\\\\\\\\\\\\\")\\\\\\\\n // 接口版本\\\\\\\\n .setVersion(\\\\\\\\\\\\\\"2014-05-26\\\\\\\\\\\\\\")\\\\\\\\n // 接口协议\\\\\\\\n .setProtocol(\\\\\\\\\\\\\\"HTTPS\\\\\\\\\\\\\\")\\\\\\\\n // 接口 HTTP 方法\\\\\\\\n .setMethod(\\\\\\\\\\\\\\"POST\\\\\\\\\\\\\\")\\\\\\\\n .setAuthType(\\\\\\\\\\\\\\"AK\\\\\\\\\\\\\\")\\\\\\\\n .setStyle(\\\\\\\\\\\\\\"RPC\\\\\\\\\\\\\\")\\\\\\\\n // 接口 PATH\\\\\\\\n .setPathname(\\\\\\\\\\\\\\"/\\\\\\\\\\\\\\")\\\\\\\\n // 接口请求体内容格式\\\\\\\\n .setReqBodyType(\\\\\\\\\\\\\\"json\\\\\\\\\\\\\\")\\\\\\\\n // 接口响应体内容格式\\\\\\\\n .setBodyType(\\\\\\\\\\\\\\"json\\\\\\\\\\\\\\");\\\\\\\\n return params;\\\\\\\\n }\\\\\\\\n\\\\\\\\n public static void main(String[] args_) throws Exception {\\\\\\\\n \\\\\\\\n com.aliyun.teaopenapi.Client client = Sample.createClient();\\\\\\\\n com.aliyun.teaopenapi.models.Params params = Sample.createApiInfo();\\\\\\\\n // query params\\\\\\\\n java.util.Map queries = new java.util.HashMap<>();\\\\\\\\n queries.put(\\\\\\\\\\\\\\"RegionId\\\\\\\\\\\\\\", \\\\\\\\\\\\\\"us-west-1\\\\\\\\\\\\\\");\\\\\\\\n // runtime options\\\\\\\\n com.aliyun.teautil.models.RuntimeOptions runtime = new com.aliyun.teautil.models.RuntimeOptions();\\\\\\\\n com.aliyun.teaopenapi.models.OpenApiRequest request = new com.aliyun.teaopenapi.models.OpenApiRequest()\\\\\\\\n .setQuery(com.aliyun.openapiutil.Client.query(queries));\\\\\\\\n // 返回值实际为 Map 类型,可从 Map 中获得三类数据:响应体 body、响应头 headers、HTTP 返回的状态码 statusCode。\\\\\\\\n Object resp = client.callApi(params, request, runtime);\\\\\\\\n System.out.println(new com.google.gson.Gson().toJson(resp));\\\\\\\\n }\\\\\\\\n}\\\\\\\\n\\",\\n \\"cost\\": 100,\\n \\"sdkDependency\\": {\\n \\"packageName\\": \\"com.aliyun/openapiexplorer20241130\\",\\n \\"sdkVersion\\": \\"1.3.0\\",\\n \\"platform\\": \\"maven\\",\\n \\"install\\": \\"\\\\\\\\n com.aliyun\\\\\\\\n openapiexplorer20241130\\\\\\\\n 1.3.0\\\\\\\\n\\"\\n }\\n }\\n}","type":"json"}]', + ], + 'GetErrorCodeSolutions' => [ + 'path' => '/getErrorCodeSolutions', + 'methods' => ['get'], + 'schemes' => ['https'], + 'security' => [ + [ + 'AK' => [], + ], ], + 'consumes' => ['application/json'], + 'produces' => ['application/json'], 'operationType' => 'read', 'deprecated' => false, 'systemTags' => [ 'operationType' => 'get', 'riskType' => 'none', 'chargeType' => 'free', - 'abilityTreeNodes' => [ - 'FEATUREopenapiexplorerFS9SI4', - ], + 'abilityTreeNodes' => ['FEATUREopenapiexplorerFS9SI4'], 'autoTest' => true, 'tenantRelevance' => 'publicInformation', ], @@ -1912,59 +1459,41 @@ [ 'name' => 'errorCode', 'in' => 'query', - 'schema' => [ - 'title' => '发生错误时收到的错误码Code。'."\n" - .'以如下报错信息为例,请传入NoPermission作为errorCode参数值:'."\n" - .'"Code": "NoPermission",'."\n" - .'"Message": "You are not authorized to perform this action.",'."\n" - .'"AccessDeniedDetail": {***},'."\n" - .'"Recommend": "https://api.aliyun.com/troubleshoot?q=NoPermission&product=***&requestId=***",'."\n" - .'"RequestId": "***",'."\n" - .'"HostId": "***.aliyuncs.com"', - 'description' => '需要查询诊断方案的错误码。', - 'type' => 'string', - 'required' => true, - 'example' => 'IncorrectStatus.TransitRouter', - ], + 'schema' => ['title' => '发生错误时收到的错误码Code。'."\n" + .'以如下报错信息为例,请传入NoPermission作为errorCode参数值:'."\n" + .'"Code": "NoPermission",'."\n" + .'"Message": "You are not authorized to perform this action.",'."\n" + .'"AccessDeniedDetail": {***},'."\n" + .'"Recommend": "https://api.aliyun.com/troubleshoot?q=NoPermission&product=***&requestId=***",'."\n" + .'"RequestId": "***",'."\n" + .'"HostId": "***.aliyuncs.com"', 'description' => '需要查询诊断方案的错误码。', 'type' => 'string', 'required' => true, 'example' => 'IncorrectStatus.TransitRouter'], ], [ 'name' => 'errorMessage', 'in' => 'query', - 'schema' => [ - 'title' => '收到报错的错误信息Message字段。'."\n" - ."\n" - .'Code与Message为一个完整的二元组,匹配诊断方案首先以errorCode必填参数匹配,返回匹配同一Code下的所有诊断解决方案(solutions)。如传入errorMessage参数,则通过errorCode+errorMessage作为一个独立的二元组匹配对应解决方案。'."\n" - ."\n" - .'以如下错误消息为例,传入NoPermission作为errorCode参数值,传入You are not authorized to perform this action作为errorMessage参数值:'."\n" - .'"Code": "NoPermission",'."\n" - .'"Message": "You are not authorized to perform this action.",'."\n" - .'"AccessDeniedDetail": {***},'."\n" - .'"Recommend": "https://api.aliyun.com/troubleshoot?q=NoPermission&product=***&requestId=***",'."\n" - .'"RequestId": "***",'."\n" - .'"HostId": "***.aliyuncs.com"', - 'description' => '需查询诊断方案的错误消息,必须搭配错误码(errorCode)参数共同使用。', - 'type' => 'string', - 'required' => false, - 'example' => 'The resource is not in a valid state for the operation.', - ], + 'schema' => ['title' => '收到报错的错误信息Message字段。'."\n" + ."\n" + .'Code与Message为一个完整的二元组,匹配诊断方案首先以errorCode必填参数匹配,返回匹配同一Code下的所有诊断解决方案(solutions)。如传入errorMessage参数,则通过errorCode+errorMessage作为一个独立的二元组匹配对应解决方案。'."\n" + ."\n" + .'以如下错误消息为例,传入NoPermission作为errorCode参数值,传入You are not authorized to perform this action作为errorMessage参数值:'."\n" + .'"Code": "NoPermission",'."\n" + .'"Message": "You are not authorized to perform this action.",'."\n" + .'"AccessDeniedDetail": {***},'."\n" + .'"Recommend": "https://api.aliyun.com/troubleshoot?q=NoPermission&product=***&requestId=***",'."\n" + .'"RequestId": "***",'."\n" + .'"HostId": "***.aliyuncs.com"', 'description' => '需查询诊断方案的错误消息,必须搭配错误码(errorCode)参数共同使用。', 'type' => 'string', 'required' => false, 'example' => 'The resource is not in a valid state for the operation.'], ], [ 'name' => 'product', 'in' => 'query', - 'schema' => [ - 'title' => '筛选特定产品。'."\n" - ."\n" - .'当errorCode匹配到solutions存在于多个产品下时,通过product参数指定特定的产品solution。如指定的产品的code没有solution,则会抛出报错,详见错误码列表。', - 'description' => '产品CODE。'."\n" - ."\n" - .'- 调用GetRequestLog接口,从返回结果中获取产品CODE。'."\n" - ."\n" - .'- 通过OpenAPI门户的URL,找到对应的产品CODE。例如,短信服务的OpenAPI门户URL为https://api.aliyun.com/product/Dysmsapi,根据该URL获取短信服务的产品CODE为Dysmsapi。'."\n" - .'短信服务的OpenAPI门户URL为https://api.alibabacloud.com/product/Dysmsapi,根据该URL获取短信服务的产品CODE为Dysmsapi。', - 'type' => 'string', - 'required' => false, - 'example' => 'Ecs', - ], + 'schema' => ['title' => '筛选特定产品。'."\n" + ."\n" + .'当errorCode匹配到solutions存在于多个产品下时,通过product参数指定特定的产品solution。如指定的产品的code没有solution,则会抛出报错,详见错误码列表。', 'description' => '产品CODE。'."\n" + ."\n" + .'- 调用GetRequestLog接口,从返回结果中获取产品CODE。'."\n" + ."\n" + .'- 通过OpenAPI门户的URL,找到对应的产品CODE。例如,短信服务的OpenAPI门户URL为https://api.aliyun.com/product/Dysmsapi,根据该URL获取短信服务的产品CODE为Dysmsapi。'."\n" + .'短信服务的OpenAPI门户URL为https://api.alibabacloud.com/product/Dysmsapi,根据该URL获取短信服务的产品CODE为Dysmsapi。', 'type' => 'string', 'required' => false, 'example' => 'Ecs'], ], [ 'name' => 'acceptLanguage', @@ -1977,17 +1506,13 @@ .'en-US', 'type' => 'string', 'required' => false, - 'enumValueTitles' => [ - 'en-US' => 'en-US', - 'zh-CN' => 'zh-CN', - ], + 'enumValueTitles' => ['en-US' => 'en-US', 'zh-CN' => 'zh-CN'], 'example' => 'zh-CN', ], ], ], 'responses' => [ 200 => [ - 'description' => '查询成功', 'schema' => [ 'title' => 'Schema of Response', 'description' => 'Schema of Response', @@ -2002,128 +1527,60 @@ 'description' => '诊断方案列表。每个元素包含以下属性:', 'type' => 'object', 'properties' => [ - 'content' => [ - 'title' => '**解决方案内容**:主要内容,统一以markdown格式返回。一般可能包含“标题”、“触发条件”、“解决步骤”等段落信息。', - 'description' => '错误码诊断方案,以markdown格式返回。', - 'type' => 'string', - 'example' => 'Unsupported transit router status\\n====\\n\\nCause\\n----\\n\\nThe transit router is in an unstable state.\\n\\n* * *\\n\\nSolution\\n----\\n\\nTry again after the transit router enters a stable state. You can check whether the transit router is in a stable state based on the following information.\\n\\nExample\\n------\\n\\nBefore you proceed, make sure that the transit route is in a stable state.\\n\\n1. Go to the console. If the status of the transit router in the Transit Router list is Available, the transit router is in a stable state.\\n\\n2. Call the ListTransitRouters operation. If Active is returned for Status, the transit router is in a stable state.', - ], - 'solutionId' => [ - 'title' => '本次查询的解决方案的唯一 ID。', - 'description' => '解决方案 ID'."\n", - 'type' => 'string', - 'example' => '0017-00000502', - ], - 'product' => [ - 'title' => '本次查询的错误码所属的产品code。', - 'description' => '诊断方案所属的产品CODE。', - 'type' => 'string', - 'example' => 'Ecs', - ], - 'productName' => [ - 'title' => '本条错误码所属的产品名称,为OpenAPI门户所显示的产品名称。', - 'description' => '诊断方案所属的产品服务名称。', - 'type' => 'string', - 'example' => 'Elastic Compute Service', - ], - 'errorCode' => [ - 'title' => '本次查询的解决方案对应的错误码。'."\n", - 'description' => '诊断方案所对应的错误码。', - 'type' => 'string', - 'example' => 'IncorrectStatus.TransitRouter', - ], - 'errorMessage' => [ - 'title' => '本次查询的解决方案对应的错误消息。', - 'description' => '诊断方案所对应的错误消息。', - 'type' => 'string', - 'example' => 'The resource is not in a valid state for the operation.', - ], + 'content' => ['title' => '**解决方案内容**:主要内容,统一以markdown格式返回。一般可能包含“标题”、“触发条件”、“解决步骤”等段落信息。', 'description' => '错误码诊断方案,以markdown格式返回。', 'type' => 'string', 'example' => 'Unsupported transit router status\\n====\\n\\nCause\\n----\\n\\nThe transit router is in an unstable state.\\n\\n* * *\\n\\nSolution\\n----\\n\\nTry again after the transit router enters a stable state. You can check whether the transit router is in a stable state based on the following information.\\n\\nExample\\n------\\n\\nBefore you proceed, make sure that the transit route is in a stable state.\\n\\n1. Go to the console. If the status of the transit router in the Transit Router list is Available, the transit router is in a stable state.\\n\\n2. Call the ListTransitRouters operation. If Active is returned for Status, the transit router is in a stable state.'], + 'solutionId' => ['title' => '本次查询的解决方案的唯一 ID。', 'description' => '解决方案 ID'."\n", 'type' => 'string', 'example' => '0017-00000502'], + 'product' => ['title' => '本次查询的错误码所属的产品code。', 'description' => '诊断方案所属的产品CODE。', 'type' => 'string', 'example' => 'Ecs'], + 'productName' => ['title' => '本条错误码所属的产品名称,为OpenAPI门户所显示的产品名称。', 'description' => '诊断方案所属的产品服务名称。', 'type' => 'string', 'example' => 'Elastic Compute Service'], + 'errorCode' => ['title' => '本次查询的解决方案对应的错误码。'."\n", 'description' => '诊断方案所对应的错误码。', 'type' => 'string', 'example' => 'IncorrectStatus.TransitRouter'], + 'errorMessage' => ['title' => '本次查询的解决方案对应的错误消息。', 'description' => '诊断方案所对应的错误消息。', 'type' => 'string', 'example' => 'The resource is not in a valid state for the operation.'], ], ], ], - 'requestId' => [ - 'title' => '本次请求的requestId。', - 'description' => '本次请求的Request ID。', - 'type' => 'string', - 'example' => 'A707AFA8-1A4C-5B2A-A165-8436C1EA38DB', - ], + 'requestId' => ['title' => '本次请求的requestId。', 'description' => '本次请求的Request ID。', 'type' => 'string', 'example' => 'A707AFA8-1A4C-5B2A-A165-8436C1EA38DB'], ], ], ], ], 'errorCodes' => [ 400 => [ - [ - 'errorCode' => 'InvalidParam.AcceptLanguage', - 'errorMessage' => 'Accepted language should only be zh-CN or en-US.', - 'description' => '参数无效,接受的语言只能是zh-CN或en-US。', - ], - [ - 'errorCode' => 'InvalidParam.ErrorCode', - 'errorMessage' => 'The errorCode should be a string and cannot be empty.', - 'description' => 'ErrorCode参数无效,应该是字符串,不能为空。', - ], - [ - 'errorCode' => 'InvalidParam.ErrorMessage', - 'errorMessage' => 'The errorMessage should be a string or null.', - 'description' => '参数 errorMessage 无效。ErrorMessage应该是字符串或null。', - ], - [ - 'errorCode' => 'InvalidParam.Product', - 'errorMessage' => 'The product should be a string or null.', - 'description' => '参数 product 无效,应该是字符串或null。', - ], + ['errorCode' => 'InvalidParam.AcceptLanguage', 'errorMessage' => 'Accepted language should only be zh-CN or en-US.', 'description' => '参数无效,接受的语言只能是zh-CN或en-US。'], + ['errorCode' => 'InvalidParam.ErrorCode', 'errorMessage' => 'The errorCode should be a string and cannot be empty.', 'description' => 'ErrorCode参数无效,应该是字符串,不能为空。'], + ['errorCode' => 'InvalidParam.ErrorMessage', 'errorMessage' => 'The errorMessage should be a string or null.', 'description' => '参数 errorMessage 无效。ErrorMessage应该是字符串或null。'], + ['errorCode' => 'InvalidParam.Product', 'errorMessage' => 'The product should be a string or null.', 'description' => '参数 product 无效,应该是字符串或null。'], ], 404 => [ - [ - 'errorCode' => 'NotFound.Product', - 'errorMessage' => 'The provided product does not exist.', - 'description' => '您提供的产品名称不存在。', - ], + ['errorCode' => 'NotFound.Product', 'errorMessage' => 'The provided product does not exist.', 'description' => '您提供的产品名称不存在。'], ], ], - 'staticInfo' => [ - 'returnType' => 'synchronous', - ], - 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"solutions\\": [\\n {\\n \\"content\\": \\"Unsupported transit router status\\\\\\\\n====\\\\\\\\n\\\\\\\\nCause\\\\\\\\n----\\\\\\\\n\\\\\\\\nThe transit router is in an unstable state.\\\\\\\\n\\\\\\\\n* * *\\\\\\\\n\\\\\\\\nSolution\\\\\\\\n----\\\\\\\\n\\\\\\\\nTry again after the transit router enters a stable state. You can check whether the transit router is in a stable state based on the following information.\\\\\\\\n\\\\\\\\nExample\\\\\\\\n------\\\\\\\\n\\\\\\\\nBefore you proceed, make sure that the transit route is in a stable state.\\\\\\\\n\\\\\\\\n1. Go to the console. If the status of the transit router in the Transit Router list is Available, the transit router is in a stable state.\\\\\\\\n\\\\\\\\n2. Call the ListTransitRouters operation. If Active is returned for Status, the transit router is in a stable state.\\",\\n \\"solutionId\\": \\"0017-00000502\\",\\n \\"product\\": \\"Ecs\\",\\n \\"productName\\": \\"Elastic Compute Service\\",\\n \\"errorCode\\": \\"IncorrectStatus.TransitRouter\\",\\n \\"errorMessage\\": \\"The resource is not in a valid state for the operation.\\"\\n }\\n ],\\n \\"requestId\\": \\"A707AFA8-1A4C-5B2A-A165-8436C1EA38DB\\"\\n}","type":"json"}]', + 'staticInfo' => ['returnType' => 'synchronous'], 'title' => '查询报错诊断方案', + 'summary' => '根据提供的错误码获取对应的错误诊断解决方案。', + 'description' => '该接口查询的是公开信息,不涉及账号特殊归属等信息,故不支持授权。', 'changeSet' => [], 'flowControl' => [ 'flowControlList' => [], ], 'ramActions' => [], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"solutions\\": [\\n {\\n \\"content\\": \\"Unsupported transit router status\\\\\\\\n====\\\\\\\\n\\\\\\\\nCause\\\\\\\\n----\\\\\\\\n\\\\\\\\nThe transit router is in an unstable state.\\\\\\\\n\\\\\\\\n* * *\\\\\\\\n\\\\\\\\nSolution\\\\\\\\n----\\\\\\\\n\\\\\\\\nTry again after the transit router enters a stable state. You can check whether the transit router is in a stable state based on the following information.\\\\\\\\n\\\\\\\\nExample\\\\\\\\n------\\\\\\\\n\\\\\\\\nBefore you proceed, make sure that the transit route is in a stable state.\\\\\\\\n\\\\\\\\n1. Go to the console. If the status of the transit router in the Transit Router list is Available, the transit router is in a stable state.\\\\\\\\n\\\\\\\\n2. Call the ListTransitRouters operation. If Active is returned for Status, the transit router is in a stable state.\\",\\n \\"solutionId\\": \\"0017-00000502\\",\\n \\"product\\": \\"Ecs\\",\\n \\"productName\\": \\"Elastic Compute Service\\",\\n \\"errorCode\\": \\"IncorrectStatus.TransitRouter\\",\\n \\"errorMessage\\": \\"The resource is not in a valid state for the operation.\\"\\n }\\n ],\\n \\"requestId\\": \\"A707AFA8-1A4C-5B2A-A165-8436C1EA38DB\\"\\n}","type":"json"}]', ], 'GetOwnRequestLog' => [ - 'summary' => '通过 API 返回的Request ID 查询当前账号调用 OpenAPI 的日志详情,用于故障排查', - 'description' => '该API不支持授权。', 'path' => '/getOwnRequestLog', - 'methods' => [ - 'get', - ], - 'schemes' => [ - 'https', - ], + 'methods' => ['get'], + 'schemes' => ['https'], 'security' => [ [ 'AK' => [], ], ], - 'consumes' => [ - 'application/json', - 'application/x-www-form-urlencoded', - ], - 'produces' => [ - 'application/json', - ], + 'consumes' => ['application/json', 'application/x-www-form-urlencoded'], + 'produces' => ['application/json'], 'operationType' => 'read', 'deprecated' => false, 'systemTags' => [ 'operationType' => 'get', 'riskType' => 'none', 'chargeType' => 'free', - 'abilityTreeNodes' => [ - 'FEATUREopenapiexplorer64CEGV', - ], + 'abilityTreeNodes' => ['FEATUREopenapiexplorer64CEGV'], 'autoTest' => true, 'tenantRelevance' => 'publicInformation', ], @@ -2131,20 +1588,13 @@ [ 'name' => 'logRequestId', 'in' => 'query', - 'schema' => [ - 'title' => '需要查询日志的requestId。'."\n" - .'API 请求的唯一标识符(UUID格式,且必须为大写)。'."\n", - 'description' => '需要查询日志的RequestId。'."\n" - .'API 请求的唯一标识符(UUID格式,且必须为大写)。', - 'type' => 'string', - 'required' => true, - 'example' => '123E4567-E89B-12D3-A456-426614174000', - ], + 'schema' => ['title' => '需要查询日志的requestId。'."\n" + .'API 请求的唯一标识符(UUID格式,且必须为大写)。'."\n", 'description' => '需要查询日志的RequestId。'."\n" + .'API 请求的唯一标识符(UUID格式,且必须为大写)。', 'type' => 'string', 'required' => true, 'example' => '123E4567-E89B-12D3-A456-426614174000'], ], ], 'responses' => [ 200 => [ - 'description' => '查询成功', 'schema' => [ 'title' => 'Schema of Response', 'description' => 'Schema of Response', @@ -2160,193 +1610,65 @@ 'description' => '包含API请求的基本信息。', 'type' => 'object', 'properties' => [ - 'api' => [ - 'title' => '所查日志内的API名称。', - 'description' => '所查日志内的API名称。', - 'type' => 'string', - 'example' => 'RunInstances'."\n", - ], + 'api' => ['title' => '所查日志内的API名称。', 'description' => '所查日志内的API名称。', 'type' => 'string', 'example' => 'RunInstances'."\n"], 'apiDoc' => [ 'title' => 'API文档信息。', 'description' => 'API文档信息。', 'type' => 'object', 'properties' => [ - 'aliyunSite' => [ - 'title' => '中国站文档链接。', - 'description' => '中国站文档链接。', - 'type' => 'string', - 'example' => 'https://api.aliyun.com/document/Ecs/2014-05-26/RunInstances', - ], - 'alibabacloudSite' => [ - 'title' => '国际站文档链接。', - 'description' => '国际站文档链接。', - 'type' => 'string', - 'example' => 'https://api.alibabacloud.com/document/Ecs/2014-05-26/RunInstances', - ], + 'aliyunSite' => ['title' => '中国站文档链接。', 'description' => '中国站文档链接。', 'type' => 'string', 'example' => 'https://api.aliyun.com/document/Ecs/2014-05-26/RunInstances'], + 'alibabacloudSite' => ['title' => '国际站文档链接。', 'description' => '国际站文档链接。', 'type' => 'string', 'example' => 'https://api.alibabacloud.com/document/Ecs/2014-05-26/RunInstances'], ], ], - 'apiVersion' => [ - 'title' => 'API版本信息。', - 'description' => 'API版本信息。', - 'type' => 'string', - 'example' => '2014-05-26', - ], - 'product' => [ - 'title' => '产品名称。', - 'description' => '产品CODE。', - 'type' => 'string', - 'example' => 'Ecs'."\n", - ], + 'apiVersion' => ['title' => 'API版本信息。', 'description' => 'API版本信息。', 'type' => 'string', 'example' => '2014-05-26'], + 'product' => ['title' => '产品名称。', 'description' => '产品CODE。', 'type' => 'string', 'example' => 'Ecs'."\n"], 'productName' => [ 'title' => '产品名称信息,包含中文名和英文名。', 'description' => '产品名称信息,包含中文名和英文名。', 'type' => 'object', 'properties' => [ - 'cnName' => [ - 'title' => '产品中文名。', - 'description' => '产品中文名。', - 'type' => 'string', - 'example' => '云服务器 ECS'."\n", - ], - 'enName' => [ - 'title' => '产品英文名。', - 'description' => '产品英文名。', - 'type' => 'string', - 'example' => ' '."\n" - .'Elastic Compute Service'."\n", - ], + 'cnName' => ['title' => '产品中文名。', 'description' => '产品中文名。', 'type' => 'string', 'example' => '云服务器 ECS'."\n"], + 'enName' => ['title' => '产品英文名。', 'description' => '产品英文名。', 'type' => 'string', 'example' => ' '."\n" + .'Elastic Compute Service'."\n"], ], ], - 'apiStyle' => [ - 'title' => 'API风格,可能为ROA或RPC风格类型。', - 'description' => 'API风格,可能为ROA或RPC风格类型。', - 'type' => 'string', - 'example' => 'rpc', - ], - 'logRequestId' => [ - 'title' => '本次查询日志的requestId,并非本次请求的requestId。', - 'description' => '传入的RequestId。', - 'type' => 'string', - 'example' => '123E4567-E89B-12D3-A456-426614174000', - ], - 'httpStatusCode' => [ - 'title' => '所查日志内的Http状态码信息。', - 'description' => '所查日志内的HTTP状态码信息。', - 'type' => 'string', - 'example' => '400', - ], - 'errorCode' => [ - 'title' => '所查日志内的错误码。如查询的请求并未报错,该字段为空。', - 'description' => '所查日志内的错误码。如查询的请求并未报错,该字段为空。', - 'type' => 'string', - 'example' => 'IncorrectStatus.TransitRouter'."\n", - ], - 'errorMessage' => [ - 'title' => '所查日志内的错误消息。如查询的请求并未报错,该字段为空。', - 'description' => '所查日志内的错误消息。如查询的请求并未报错,该字段为空。', - 'type' => 'string', - 'example' => 'The resource is not in a valid state for the operation.'."\n", - ], + 'apiStyle' => ['title' => 'API风格,可能为ROA或RPC风格类型。', 'description' => 'API风格,可能为ROA或RPC风格类型。', 'type' => 'string', 'example' => 'rpc'], + 'logRequestId' => ['title' => '本次查询日志的requestId,并非本次请求的requestId。', 'description' => '传入的RequestId。', 'type' => 'string', 'example' => '123E4567-E89B-12D3-A456-426614174000'], + 'httpStatusCode' => ['title' => '所查日志内的Http状态码信息。', 'description' => '所查日志内的HTTP状态码信息。', 'type' => 'string', 'example' => '400'], + 'errorCode' => ['title' => '所查日志内的错误码。如查询的请求并未报错,该字段为空。', 'description' => '所查日志内的错误码。如查询的请求并未报错,该字段为空。', 'type' => 'string', 'example' => 'IncorrectStatus.TransitRouter'."\n"], + 'errorMessage' => ['title' => '所查日志内的错误消息。如查询的请求并未报错,该字段为空。', 'description' => '所查日志内的错误消息。如查询的请求并未报错,该字段为空。', 'type' => 'string', 'example' => 'The resource is not in a valid state for the operation.'."\n"], 'accessDeniedDetail' => [ 'title' => '无权限报错详细信息', 'description' => '无权限报错详细信息', 'type' => 'object', 'properties' => [ - 'policyType' => [ - 'title' => '无权限的策略类型', - 'description' => '无权限的策略类型', - 'type' => 'string', - 'example' => ' '."\n" - .'AccountLevelIdentityBasedPolicy'."\n", - ], - 'authPrincipalOwnerId' => [ - 'title' => '当前身份所属的阿里云账号UID信息', - 'description' => '当前身份所属的阿里云账号UID信息', - 'type' => 'string', - 'example' => '1001234561234567'."\n", - ], - 'authPrincipalType' => [ - 'title' => '操作者的身份类型', - 'description' => '操作者的身份类型', - 'type' => 'string', - 'example' => 'SubUser'."\n", - ], - 'authPrincipalDisplayName' => [ - 'title' => '身份标识', - 'description' => '身份标识', - 'type' => 'string', - 'example' => '205618123456123456'."\n", - ], - 'noPermissionType' => [ - 'title' => '无权限原因', - 'description' => '无权限原因', - 'type' => 'string', - 'example' => 'ImplicitDeny'."\n", - ], - 'authAction' => [ - 'title' => '导致无权限的具体操作', - 'description' => '导致无权限的具体操作', - 'type' => 'string', - 'example' => 'openapiexplorer:GetRequestLog'."\n", - ], - 'encodedDiagnosticMessage' => [ - 'title' => '用于诊断的编码后信息。可调用 Ram 产品的 DecodeDiagnosticMessage OpenAPI 进一步诊断获得更多诊断信息。', - 'description' => '用于诊断的编码后信息。可调用 Ram 产品的 DecodeDiagnosticMessage OpenAPI 进一步诊断获得更多诊断信息。', - 'type' => 'string', - 'example' => '-'."\n", - ], + 'policyType' => ['title' => '无权限的策略类型', 'description' => '无权限的策略类型', 'type' => 'string', 'example' => ' '."\n" + .'AccountLevelIdentityBasedPolicy'."\n"], + 'authPrincipalOwnerId' => ['title' => '当前身份所属的阿里云账号UID信息', 'description' => '当前身份所属的阿里云账号UID信息', 'type' => 'string', 'example' => '1001234561234567'."\n"], + 'authPrincipalType' => ['title' => '操作者的身份类型', 'description' => '操作者的身份类型', 'type' => 'string', 'example' => 'SubUser'."\n"], + 'authPrincipalDisplayName' => ['title' => '身份标识', 'description' => '身份标识', 'type' => 'string', 'example' => '205618123456123456'."\n"], + 'noPermissionType' => ['title' => '无权限原因', 'description' => '无权限原因', 'type' => 'string', 'example' => 'ImplicitDeny'."\n"], + 'authAction' => ['title' => '导致无权限的具体操作', 'description' => '导致无权限的具体操作', 'type' => 'string', 'example' => 'openapiexplorer:GetRequestLog'."\n"], + 'encodedDiagnosticMessage' => ['title' => '用于诊断的编码后信息。可调用 Ram 产品的 DecodeDiagnosticMessage OpenAPI 进一步诊断获得更多诊断信息。', 'description' => '用于诊断的编码后信息。可调用 Ram 产品的 DecodeDiagnosticMessage OpenAPI 进一步诊断获得更多诊断信息。', 'type' => 'string', 'example' => '-'."\n"], ], ], - 'httpMethod' => [ - 'title' => 'Http请求方式。', - 'description' => 'HTTP请求方式。', - 'type' => 'string', - 'example' => 'GET'."\n", - ], - 'requestDuration' => [ - 'title' => '网关从收到请求到返回响应的时间。单位毫秒(ms)。', - 'description' => '网关从收到请求到返回响应的时间。单位毫秒(ms)。', - 'type' => 'string', - 'example' => '188', - ], - 'sdkRequestTime' => [ - 'title' => 'SDK请求时间。'."\n" - .'日期格式按照 ISO8601 表示法,并使用 UTC 时间,格式为 yyyy-MM-ddTHH:mm:ssZ', - 'description' => '发起请求时间。'."\n" - .'日期格式按照 ISO8601 表示法,并使用 UTC 时间,格式为 yyyy-MM-ddTHH:mm:ssZ', - 'type' => 'string', - 'example' => '2025-01-21T07:43:06Z'."\n", - ], - 'gatewayProcessTime' => [ - 'title' => '网关处理时间。'."\n" - .'日期格式按照 ISO8601 表示法,并使用 UTC 时间,格式为 yyyy-MM-ddTHH:mm:ssZ', - 'description' => '网关接收到请求的时间。'."\n" - .'日期格式按照 ISO8601 表示法,并使用 UTC 时间,格式为 yyyy-MM-ddTHH:mm:ssZ', - 'type' => 'string', - 'example' => '2025-01-21T07:43:06Z'."\n" - ."\n", - ], - 'regionId' => [ - 'title' => '服务区域ID。', - 'description' => '服务区域ID。', - 'type' => 'string', - 'example' => 'cn-hangzhou'."\n", - ], - 'endpoint' => [ - 'title' => '服务区域对应的服务地址(Endpoint)。', - 'description' => '服务区域对应的服务地址(Endpoint)。', - 'type' => 'string', - 'example' => 'ecs.cn-hangzhou.aliyuncs.com'."\n", - ], + 'httpMethod' => ['title' => 'Http请求方式。', 'description' => 'HTTP请求方式。', 'type' => 'string', 'example' => 'GET'."\n"], + 'requestDuration' => ['title' => '网关从收到请求到返回响应的时间。单位毫秒(ms)。', 'description' => '网关从收到请求到返回响应的时间。单位毫秒(ms)。', 'type' => 'string', 'example' => '188'], + 'sdkRequestTime' => ['title' => 'SDK请求时间。'."\n" + .'日期格式按照 ISO8601 表示法,并使用 UTC 时间,格式为 yyyy-MM-ddTHH:mm:ssZ', 'description' => '发起请求时间。'."\n" + .'日期格式按照 ISO8601 表示法,并使用 UTC 时间,格式为 yyyy-MM-ddTHH:mm:ssZ', 'type' => 'string', 'example' => '2025-01-21T07:43:06Z'."\n"], + 'gatewayProcessTime' => ['title' => '网关处理时间。'."\n" + .'日期格式按照 ISO8601 表示法,并使用 UTC 时间,格式为 yyyy-MM-ddTHH:mm:ssZ', 'description' => '网关接收到请求的时间。'."\n" + .'日期格式按照 ISO8601 表示法,并使用 UTC 时间,格式为 yyyy-MM-ddTHH:mm:ssZ', 'type' => 'string', 'example' => '2025-01-21T07:43:06Z'."\n" + ."\n"], + 'regionId' => ['title' => '服务区域ID。', 'description' => '服务区域ID。', 'type' => 'string', 'example' => 'cn-hangzhou'."\n"], + 'endpoint' => ['title' => '服务区域对应的服务地址(Endpoint)。', 'description' => '服务区域对应的服务地址(Endpoint)。', 'type' => 'string', 'example' => 'ecs.cn-hangzhou.aliyuncs.com'."\n"], 'throttlingResult' => [ 'title' => '流控校验结果。FC.PASS:未被流控检查拦截;FC.DENY:被流控检查拦截。', 'description' => '流控校验结果。FC.PASS:未被流控检查拦截;FC.DENY:被流控检查拦截。', 'type' => 'string', 'example' => 'FC.PASS'."\n", - 'enum' => [ - 'FC.PASS', - 'FC.DENY', - ], + 'enum' => ['FC.PASS', 'FC.DENY'], ], ], ], @@ -2366,36 +1688,13 @@ .'3. AssumedRoleUser:STS Token临时身份;', 'type' => 'string', 'example' => 'sub'."\n", - 'enum' => [ - 'customer', - 'sub', - 'AssumedRoleUser', - ], - ], - 'callerIp' => [ - 'title' => '调用者的IP地址', - 'description' => '调用者的IP地址', - 'type' => 'string', - 'example' => '100.68.xxx.xxx'."\n", - ], - 'masterAccountId' => [ - 'title' => '主账号ID', - 'description' => '主账号ID', - 'type' => 'string', - 'example' => '1973374733454118'."\n", - ], - 'callerAccountId' => [ - 'title' => '调用者账号ID', - 'description' => '调用者账号ID', - 'type' => 'string', - 'example' => '241009849925897811'."\n", - ], - 'userAgent' => [ - 'title' => '用户代理信息', - 'description' => '用户代理信息', - 'type' => 'string', - 'example' => 'AlibabaCloud API Workbench'."\n", + 'enum' => ['customer', 'sub', 'AssumedRoleUser'], ], + 'callerIp' => ['title' => '调用者的IP地址', 'description' => '调用者的IP地址', 'type' => 'string', 'example' => '100.68.xxx.xxx'."\n"], + 'masterAccountId' => ['title' => '主账号ID', 'description' => '主账号ID', 'type' => 'string', 'example' => '1973374733454118'."\n"], + 'callerAccountId' => ['title' => '调用者账号ID', 'description' => '调用者账号ID', 'type' => 'string', 'example' => '241009849925897811'."\n"], + 'userAgent' => ['title' => '用户代理信息', 'description' => '用户代理信息', 'type' => 'string', 'example' => 'AlibabaCloud API Workbench'."\n"], + 'vpcId' => ['type' => 'string', 'example' => 'vpc-abcd'], ], ], 'authenticationInfo' => [ @@ -2403,12 +1702,7 @@ 'description' => '认证信息', 'type' => 'object', 'properties' => [ - 'signatureVersion' => [ - 'title' => '签名版本', - 'description' => '签名版本', - 'type' => 'string', - 'example' => 'unknown'."\n", - ], + 'signatureVersion' => ['title' => '签名版本', 'description' => '签名版本', 'type' => 'string', 'example' => 'unknown'."\n"], 'signatureMethod' => [ 'title' => '签名方法。'."\n" .' * HMAC-SHA1: 使用HMAC-SHA1算法进行签名'."\n" @@ -2439,6 +1733,7 @@ 'example' => 'AK', 'enum' => [], ], + 'ak' => ['type' => 'string', 'example' => 'LTAI1234abcd'], ], ], 'parameters' => [ @@ -2448,30 +1743,10 @@ 'items' => [ 'type' => 'object', 'properties' => [ - 'name' => [ - 'title' => '请求参数名。', - 'description' => '请求参数名。', - 'type' => 'string', - 'example' => 'InstanceType'."\n", - ], - 'value' => [ - 'title' => '请求参数值。', - 'description' => '请求参数值。', - 'type' => 'any', - 'example' => 'ecs.g6.large'."\n", - ], - 'required' => [ - 'title' => '该请求参数是否必填。', - 'description' => '该请求参数是否必填。', - 'type' => 'boolean', - 'example' => 'false'."\n", - ], - 'type' => [ - 'title' => '该请求参数类型。', - 'description' => '该请求参数类型。', - 'type' => 'string', - 'example' => 'string'."\n", - ], + 'name' => ['title' => '请求参数名。', 'description' => '请求参数名。', 'type' => 'string', 'example' => 'InstanceType'."\n"], + 'value' => ['title' => '请求参数值。', 'description' => '请求参数值。', 'type' => 'any', 'example' => 'ecs.g6.large'."\n"], + 'required' => ['title' => '该请求参数是否必填。', 'description' => '该请求参数是否必填。', 'type' => 'boolean', 'example' => 'false'."\n"], + 'type' => ['title' => '该请求参数类型。', 'description' => '该请求参数类型。', 'type' => 'string', 'example' => 'string'."\n"], ], 'description' => '', ], @@ -2481,90 +1756,57 @@ 'description' => '对应该请求的返回信息。', 'type' => 'object', 'properties' => [ - 'responseBody' => [ - 'title' => '返回信息。', - 'description' => '返回信息。', - 'type' => 'string', - 'example' => '-'."\n", - ], - 'responseBodyFormat' => [ - 'title' => '响应体类型。'."\n" - .'JSON、XML、HTML。', - 'description' => '响应体类型。'."\n" - .'JSON、XML、HTML。', - 'type' => 'string', - 'example' => 'JSON'."\n", - ], + 'responseBody' => ['title' => '返回信息。', 'description' => '返回信息。', 'type' => 'string', 'example' => '-'."\n"], + 'responseBodyFormat' => ['title' => '响应体类型。'."\n" + .'JSON、XML、HTML。', 'description' => '响应体类型。'."\n" + .'JSON、XML、HTML。', 'type' => 'string', 'example' => 'JSON'."\n"], ], ], ], ], - 'requestId' => [ - 'title' => '本次请求ID,与logRequestId非同一个参数。', - 'description' => '本次请求ID。', - 'type' => 'string', - 'example' => ' '."\n" - .'9BFC4AC1-6BE4-5405-BDEC-CA288D404812'."\n", - ], + 'requestId' => ['title' => '本次请求ID,与logRequestId非同一个参数。', 'description' => '本次请求ID。', 'type' => 'string', 'example' => ' '."\n" + .'9BFC4AC1-6BE4-5405-BDEC-CA288D404812'."\n"], ], ], ], ], 'errorCodes' => [ 400 => [ - [ - 'errorCode' => 'InvalidParam.LogRequestId', - 'errorMessage' => 'Please ensure that the request ID you provided originates from a request you made to a certain OpenAPI.', - 'description' => '参数logRequestId无效。你请确保您提供的请求ID源自您向某个OpenAPI发出的请求。', - ], + ['errorCode' => 'InvalidParam.LogRequestId', 'errorMessage' => 'Please ensure that the request ID you provided originates from a request you made to a certain OpenAPI.', 'description' => '参数logRequestId无效。你请确保您提供的请求ID源自您向某个OpenAPI发出的请求。'], ], 404 => [ - [ - 'errorCode' => 'NotFound.RequestLog', - 'errorMessage' => 'The log related to this logRequestId does not exist, has expired, or you do not have permission to view it.', - 'description' => '与此logRequestId相关的日志不存在、已过期或您没有查看它的权限。', - ], + ['errorCode' => 'NotFound.RequestLog', 'errorMessage' => 'The log related to this logRequestId does not exist, has expired, or you do not have permission to view it.', 'description' => '与此logRequestId相关的日志不存在、已过期或您没有查看它的权限。'], ], ], - 'staticInfo' => [ - 'returnType' => 'synchronous', - ], - 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"logInfo\\": {\\n \\"basicInfo\\": {\\n \\"api\\": \\"RunInstances\\\\n\\",\\n \\"apiDoc\\": {\\n \\"aliyunSite\\": \\"https://api.aliyun.com/document/Ecs/2014-05-26/RunInstances\\",\\n \\"alibabacloudSite\\": \\"https://api.alibabacloud.com/document/Ecs/2014-05-26/RunInstances\\"\\n },\\n \\"apiVersion\\": \\"2014-05-26\\",\\n \\"product\\": \\"Ecs\\\\n\\",\\n \\"productName\\": {\\n \\"cnName\\": \\"云服务器 ECS\\\\n\\",\\n \\"enName\\": \\"\\\\t\\\\nElastic Compute Service\\\\n\\"\\n },\\n \\"apiStyle\\": \\"rpc\\",\\n \\"logRequestId\\": \\"123E4567-E89B-12D3-A456-426614174000\\",\\n \\"httpStatusCode\\": \\"400\\",\\n \\"errorCode\\": \\"IncorrectStatus.TransitRouter\\\\n\\",\\n \\"errorMessage\\": \\"The resource is not in a valid state for the operation.\\\\n\\",\\n \\"accessDeniedDetail\\": {\\n \\"policyType\\": \\"\\\\t\\\\nAccountLevelIdentityBasedPolicy\\\\n\\",\\n \\"authPrincipalOwnerId\\": \\"1001234561234567\\\\n\\",\\n \\"authPrincipalType\\": \\"SubUser\\\\n\\",\\n \\"authPrincipalDisplayName\\": \\"205618123456123456\\\\n\\",\\n \\"noPermissionType\\": \\"ImplicitDeny\\\\n\\",\\n \\"authAction\\": \\"openapiexplorer:GetRequestLog\\\\n\\",\\n \\"encodedDiagnosticMessage\\": \\"-\\\\n\\"\\n },\\n \\"httpMethod\\": \\"GET\\\\n\\",\\n \\"requestDuration\\": \\"188\\",\\n \\"sdkRequestTime\\": \\"2025-01-21T07:43:06Z\\\\n\\",\\n \\"gatewayProcessTime\\": \\"2025-01-21T07:43:06Z\\\\n\\\\n\\",\\n \\"regionId\\": \\"cn-hangzhou\\\\n\\",\\n \\"endpoint\\": \\"ecs.cn-hangzhou.aliyuncs.com\\\\n\\",\\n \\"throttlingResult\\": \\"FC.PASS\\\\n\\"\\n },\\n \\"callerInfo\\": {\\n \\"callerType\\": \\"sub\\\\n\\",\\n \\"callerIp\\": \\"100.68.xxx.xxx\\\\n\\",\\n \\"masterAccountId\\": \\"1973374733454118\\\\n\\",\\n \\"callerAccountId\\": \\"241009849925897811\\\\n\\",\\n \\"userAgent\\": \\"AlibabaCloud API Workbench\\\\n\\"\\n },\\n \\"authenticationInfo\\": {\\n \\"signatureVersion\\": \\"unknown\\\\n\\",\\n \\"signatureMethod\\": \\"HMAC-SHA256\\",\\n \\"authenticationType\\": \\"AK\\"\\n },\\n \\"parameters\\": [\\n {\\n \\"name\\": \\"InstanceType\\\\n\\",\\n \\"value\\": \\"ecs.g6.large\\\\n\\",\\n \\"required\\": true,\\n \\"type\\": \\"string\\\\n\\"\\n }\\n ],\\n \\"responses\\": {\\n \\"responseBody\\": \\"-\\\\n\\",\\n \\"responseBodyFormat\\": \\"JSON\\\\n\\"\\n }\\n },\\n \\"requestId\\": \\"\\\\t\\\\n9BFC4AC1-6BE4-5405-BDEC-CA288D404812\\\\n\\"\\n}","type":"json"}]', + 'staticInfo' => ['returnType' => 'synchronous'], 'title' => '查询当前账号的API调用日志', + 'summary' => '通过 API 返回的 Request ID 查询当前账号调用 OpenAPI 的日志详情,用于故障排查。', + 'description' => '该API不支持授权。', 'changeSet' => [], 'flowControl' => [ 'flowControlList' => [], ], 'ramActions' => [], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"logInfo\\": {\\n \\"basicInfo\\": {\\n \\"api\\": \\"RunInstances\\\\n\\",\\n \\"apiDoc\\": {\\n \\"aliyunSite\\": \\"https://api.aliyun.com/document/Ecs/2014-05-26/RunInstances\\",\\n \\"alibabacloudSite\\": \\"https://api.alibabacloud.com/document/Ecs/2014-05-26/RunInstances\\"\\n },\\n \\"apiVersion\\": \\"2014-05-26\\",\\n \\"product\\": \\"Ecs\\\\n\\",\\n \\"productName\\": {\\n \\"cnName\\": \\"云服务器 ECS\\\\n\\",\\n \\"enName\\": \\"\\\\t\\\\nElastic Compute Service\\\\n\\"\\n },\\n \\"apiStyle\\": \\"rpc\\",\\n \\"logRequestId\\": \\"123E4567-E89B-12D3-A456-426614174000\\",\\n \\"httpStatusCode\\": \\"400\\",\\n \\"errorCode\\": \\"IncorrectStatus.TransitRouter\\\\n\\",\\n \\"errorMessage\\": \\"The resource is not in a valid state for the operation.\\\\n\\",\\n \\"accessDeniedDetail\\": {\\n \\"policyType\\": \\"\\\\t\\\\nAccountLevelIdentityBasedPolicy\\\\n\\",\\n \\"authPrincipalOwnerId\\": \\"1001234561234567\\\\n\\",\\n \\"authPrincipalType\\": \\"SubUser\\\\n\\",\\n \\"authPrincipalDisplayName\\": \\"205618123456123456\\\\n\\",\\n \\"noPermissionType\\": \\"ImplicitDeny\\\\n\\",\\n \\"authAction\\": \\"openapiexplorer:GetRequestLog\\\\n\\",\\n \\"encodedDiagnosticMessage\\": \\"-\\\\n\\"\\n },\\n \\"httpMethod\\": \\"GET\\\\n\\",\\n \\"requestDuration\\": \\"188\\",\\n \\"sdkRequestTime\\": \\"2025-01-21T07:43:06Z\\\\n\\",\\n \\"gatewayProcessTime\\": \\"2025-01-21T07:43:06Z\\\\n\\\\n\\",\\n \\"regionId\\": \\"cn-hangzhou\\\\n\\",\\n \\"endpoint\\": \\"ecs.cn-hangzhou.aliyuncs.com\\\\n\\",\\n \\"throttlingResult\\": \\"FC.PASS\\\\n\\"\\n },\\n \\"callerInfo\\": {\\n \\"callerType\\": \\"sub\\\\n\\",\\n \\"callerIp\\": \\"100.68.xxx.xxx\\\\n\\",\\n \\"masterAccountId\\": \\"1973374733454118\\\\n\\",\\n \\"callerAccountId\\": \\"241009849925897811\\\\n\\",\\n \\"userAgent\\": \\"AlibabaCloud API Workbench\\\\n\\",\\n \\"vpcId\\": \\"vpc-abcd\\"\\n },\\n \\"authenticationInfo\\": {\\n \\"signatureVersion\\": \\"unknown\\\\n\\",\\n \\"signatureMethod\\": \\"HMAC-SHA256\\",\\n \\"authenticationType\\": \\"AK\\",\\n \\"ak\\": \\"LTAI1234abcd\\"\\n },\\n \\"parameters\\": [\\n {\\n \\"name\\": \\"InstanceType\\\\n\\",\\n \\"value\\": \\"ecs.g6.large\\\\n\\",\\n \\"required\\": true,\\n \\"type\\": \\"string\\\\n\\"\\n }\\n ],\\n \\"responses\\": {\\n \\"responseBody\\": \\"-\\\\n\\",\\n \\"responseBodyFormat\\": \\"JSON\\\\n\\"\\n }\\n },\\n \\"requestId\\": \\"\\\\t\\\\n9BFC4AC1-6BE4-5405-BDEC-CA288D404812\\\\n\\"\\n}","type":"json"}]', ], 'GetProductEndpoints' => [ 'summary' => '获取产品的接入点信息。', 'path' => '/product/endpoints', - 'methods' => [ - 'get', - ], - 'schemes' => [ - 'https', - ], + 'methods' => ['get'], + 'schemes' => ['https'], 'security' => [ [ 'AK' => [], ], ], - 'consumes' => [ - 'application/json', - ], - 'produces' => [ - 'application/json', - ], + 'consumes' => ['application/json'], + 'produces' => ['application/json'], 'operationType' => 'read', 'systemTags' => [ 'operationType' => 'get', 'riskType' => 'none', 'chargeType' => 'free', - 'abilityTreeNodes' => [ - 'FEATUREopenapiexplorerY5UU1D', - ], + 'abilityTreeNodes' => ['FEATUREopenapiexplorerY5UU1D'], 'autoTest' => true, 'tenantRelevance' => 'publicInformation', ], @@ -2572,17 +1814,12 @@ [ 'name' => 'product', 'in' => 'query', - 'schema' => [ - 'description' => '产品CODE。'."\n" - ."\n" - .'- 调用GetRequestLog接口,从返回结果中获取产品CODE。'."\n" - ."\n" - .'- 通过OpenAPI门户的URL,找到对应的产品CODE。例如,短信服务的OpenAPI门户URL为https://api.aliyun.com/product/Dysmsapi,根据该URL获取短信服务的产品CODE为Dysmsapi。'."\n" - .'短信服务的OpenAPI门户URL为https://api.alibabacloud.com/product/Dysmsapi,根据该URL获取短信服务的产品CODE为Dysmsapi。', - 'type' => 'string', - 'required' => true, - 'example' => 'Ecs', - ], + 'schema' => ['description' => '产品CODE。'."\n" + ."\n" + .'- 调用GetRequestLog接口,从返回结果中获取产品CODE。'."\n" + ."\n" + .'- 通过OpenAPI门户的URL,找到对应的产品CODE。例如,短信服务的OpenAPI门户URL为https://api.aliyun.com/product/Dysmsapi,根据该URL获取短信服务的产品CODE为Dysmsapi。'."\n" + .'短信服务的OpenAPI门户URL为https://api.alibabacloud.com/product/Dysmsapi,根据该URL获取短信服务的产品CODE为Dysmsapi。', 'type' => 'string', 'required' => true, 'example' => 'Ecs'], ], ], 'responses' => [ @@ -2595,9 +1832,7 @@ ], ], 'errorCodes' => [], - 'staticInfo' => [ - 'returnType' => 'synchronous', - ], + 'staticInfo' => ['returnType' => 'synchronous'], 'title' => '获取产品的接入点信息', 'changeSet' => [], 'flowControl' => [ @@ -2607,36 +1842,23 @@ 'responseDemo' => '[{"errorExample":"","example":"{}","type":"json"}]', ], 'GetRequestLog' => [ - 'summary' => '通过 API 返回的Request ID查询请求的日志详情,可用于排查故障。', - 'description' => '通过 RAM 授权或角色扮演,支持跨 RAM 用户或跨阿里云账号之间查询调用日志。详见授权方式,请参见[跨账号API错误诊断授权](~~2868101~~)。', 'path' => '/getRequestLog', - 'methods' => [ - 'get', - ], - 'schemes' => [ - 'https', - ], + 'methods' => ['get'], + 'schemes' => ['https'], 'security' => [ [ 'AK' => [], ], ], - 'consumes' => [ - 'application/json', - 'application/x-www-form-urlencoded', - ], - 'produces' => [ - 'application/json', - ], + 'consumes' => ['application/json', 'application/x-www-form-urlencoded'], + 'produces' => ['application/json'], 'operationType' => 'read', 'deprecated' => false, 'systemTags' => [ 'operationType' => 'get', 'riskType' => 'none', 'chargeType' => 'free', - 'abilityTreeNodes' => [ - 'FEATUREopenapiexplorer64CEGV', - ], + 'abilityTreeNodes' => ['FEATUREopenapiexplorer64CEGV'], 'autoTest' => true, 'tenantRelevance' => 'publicInformation', ], @@ -2644,20 +1866,13 @@ [ 'name' => 'logRequestId', 'in' => 'query', - 'schema' => [ - 'title' => '需要查询日志的requestId。'."\n" - .'API 请求的唯一标识符(UUID格式,且必须为大写)。'."\n", - 'description' => '需要查询日志的RequestId,'."\n" - .'API 请求的唯一标识符(UUID格式,且必须为大写)。', - 'type' => 'string', - 'required' => true, - 'example' => '123E4567-E89B-12D3-A456-426614174000', - ], + 'schema' => ['title' => '需要查询日志的requestId。'."\n" + .'API 请求的唯一标识符(UUID格式,且必须为大写)。'."\n", 'description' => '需要查询日志的RequestId。'."\n" + .'API 请求的唯一标识符(UUID格式,且必须为大写)。', 'type' => 'string', 'required' => true, 'example' => '123E4567-E89B-12D3-A456-426614174000'], ], ], 'responses' => [ 200 => [ - 'description' => '查询成功', 'schema' => [ 'title' => 'Schema of Response', 'description' => 'Schema of Response', @@ -2673,191 +1888,63 @@ 'description' => '包含API请求的基本信息。', 'type' => 'object', 'properties' => [ - 'api' => [ - 'title' => '所查日志内的API名称。', - 'description' => '所查询请求的API名称。', - 'type' => 'string', - 'example' => 'RunInstances', - ], + 'api' => ['title' => '所查日志内的API名称。', 'description' => '所查询请求的API名称。', 'type' => 'string', 'example' => 'RunInstances'], 'apiDoc' => [ 'title' => 'API文档信息。', 'description' => 'API文档信息。', 'type' => 'object', 'properties' => [ - 'aliyunSite' => [ - 'title' => '中国站文档链接。', - 'description' => '中国站文档链接。', - 'type' => 'string', - 'example' => 'https://api.aliyun.com/document/Ecs/2014-05-26/RunInstances', - ], - 'alibabacloudSite' => [ - 'title' => '国际站文档链接。', - 'description' => '国际站文档链接。', - 'type' => 'string', - 'example' => 'https://api.alibabacloud.com/document/Ecs/2014-05-26/RunInstances', - ], + 'aliyunSite' => ['title' => '中国站文档链接。', 'description' => '中国站文档链接。', 'type' => 'string', 'example' => 'https://api.aliyun.com/document/Ecs/2014-05-26/RunInstances'], + 'alibabacloudSite' => ['title' => '国际站文档链接。', 'description' => '国际站文档链接。', 'type' => 'string', 'example' => 'https://api.alibabacloud.com/document/Ecs/2014-05-26/RunInstances'], ], ], - 'apiVersion' => [ - 'title' => 'API版本信息。', - 'description' => 'API版本信息。', - 'type' => 'string', - 'example' => '2014-05-26', - ], - 'product' => [ - 'title' => '产品名称。', - 'description' => '产品CODE。', - 'type' => 'string', - 'example' => 'Ecs', - ], + 'apiVersion' => ['title' => 'API版本信息。', 'description' => 'API版本信息。', 'type' => 'string', 'example' => '2014-05-26'], + 'product' => ['title' => '产品名称。', 'description' => '产品CODE。', 'type' => 'string', 'example' => 'Ecs'], 'productName' => [ 'title' => '产品名称信息,包含中文名和英文名。', 'description' => '产品名称信息,包含中文名和英文名。', 'type' => 'object', 'properties' => [ - 'cnName' => [ - 'title' => '产品中文名。', - 'description' => '产品中文名。', - 'type' => 'string', - 'example' => '云服务器 ECS', - ], - 'enName' => [ - 'title' => '产品英文名。', - 'description' => '产品英文名。', - 'type' => 'string', - 'example' => 'Elastic Compute Service', - ], + 'cnName' => ['title' => '产品中文名。', 'description' => '产品中文名。', 'type' => 'string', 'example' => '云服务器 ECS'], + 'enName' => ['title' => '产品英文名。', 'description' => '产品英文名。', 'type' => 'string', 'example' => 'Elastic Compute Service'], ], ], - 'apiStyle' => [ - 'title' => 'API风格,可能为ROA或RPC风格类型。', - 'description' => 'API风格,可能为ROA或RPC风格类型。', - 'type' => 'string', - 'example' => 'roa', - ], - 'logRequestId' => [ - 'title' => '本次查询日志的requestId,并非本次请求的requestId。', - 'description' => '传入的RequestId。', - 'type' => 'string', - 'example' => '123E4567-E89B-12D3-A456-426614174000', - ], - 'httpStatusCode' => [ - 'title' => '所查日志内的Http状态码信息。', - 'description' => '所查日志内的HTTP状态码信息。', - 'type' => 'string', - 'example' => '404', - ], - 'errorCode' => [ - 'title' => '所查日志内的错误码。如查询的请求并未报错,该字段为空。', - 'description' => '所查日志内的错误码。如查询的请求并未报错,该字段为空。', - 'type' => 'string', - 'example' => 'IncorrectStatus.TransitRouter', - ], - 'errorMessage' => [ - 'title' => '所查日志内的错误消息。如查询的请求并未报错,该字段为空。', - 'description' => '所查日志内的错误消息。如查询的请求并未报错,该字段为空。', - 'type' => 'string', - 'example' => 'The resource is not in a valid state for the operation.', - ], + 'apiStyle' => ['title' => 'API风格,可能为ROA或RPC风格类型。', 'description' => 'API风格,可能为ROA或RPC风格类型。', 'type' => 'string', 'example' => 'roa'], + 'logRequestId' => ['title' => '本次查询日志的requestId,并非本次请求的requestId。', 'description' => '传入的RequestId。', 'type' => 'string', 'example' => '123E4567-E89B-12D3-A456-426614174000'], + 'httpStatusCode' => ['title' => '所查日志内的Http状态码信息。', 'description' => '所查日志内的HTTP状态码信息。', 'type' => 'string', 'example' => '404'], + 'errorCode' => ['title' => '所查日志内的错误码。如查询的请求并未报错,该字段为空。', 'description' => '所查日志内的错误码。如查询的请求并未报错,该字段为空。', 'type' => 'string', 'example' => 'IncorrectStatus.TransitRouter'], + 'errorMessage' => ['title' => '所查日志内的错误消息。如查询的请求并未报错,该字段为空。', 'description' => '所查日志内的错误消息。如查询的请求并未报错,该字段为空。', 'type' => 'string', 'example' => 'The resource is not in a valid state for the operation.'], 'accessDeniedDetail' => [ 'title' => '无权限报错详细信息', 'description' => '无权限报错详细信息。如查询的RequestId存在鉴权报错,则存在该字段,否则不存在该字段。', 'type' => 'object', 'properties' => [ - 'policyType' => [ - 'title' => '无权限的策略类型', - 'description' => '无权限的策略类型', - 'type' => 'string', - 'example' => 'AccountLevelIdentityBasedPolicy', - ], - 'authPrincipalOwnerId' => [ - 'title' => '当前身份所属的阿里云账号UID信息', - 'description' => '当前身份所属的阿里云账号UID信息', - 'type' => 'string', - 'example' => '1001234561234567', - ], - 'authPrincipalType' => [ - 'title' => '操作者的身份类型', - 'description' => '操作者的身份类型', - 'type' => 'string', - 'example' => 'SubUser', - ], - 'authPrincipalDisplayName' => [ - 'title' => '身份标识', - 'description' => '身份标识', - 'type' => 'string', - 'example' => '205618123456123456', - ], - 'noPermissionType' => [ - 'title' => '无权限原因', - 'description' => '无权限原因', - 'type' => 'string', - 'example' => 'ImplicitDeny', - ], - 'authAction' => [ - 'title' => '导致无权限的具体操作', - 'description' => '导致无权限的具体操作', - 'type' => 'string', - 'example' => 'openapiexplorer:GetRequestLog', - ], - 'encodedDiagnosticMessage' => [ - 'title' => '用于诊断的编码后信息。可调用 Ram 产品的 DecodeDiagnosticMessage OpenAPI 进一步诊断获得更多诊断信息。', - 'description' => '用于诊断的编码后信息。可调用 Ram 产品的 DecodeDiagnosticMessage OpenAPI 进一步诊断获得更多诊断信息。', - 'type' => 'string', - 'example' => '-', - ], + 'policyType' => ['title' => '无权限的策略类型', 'description' => '无权限的策略类型', 'type' => 'string', 'example' => 'AccountLevelIdentityBasedPolicy'], + 'authPrincipalOwnerId' => ['title' => '当前身份所属的阿里云账号UID信息', 'description' => '当前身份所属的阿里云账号UID信息', 'type' => 'string', 'example' => '1001234561234567'], + 'authPrincipalType' => ['title' => '操作者的身份类型', 'description' => '操作者的身份类型', 'type' => 'string', 'example' => 'SubUser'], + 'authPrincipalDisplayName' => ['title' => '身份标识', 'description' => '身份标识', 'type' => 'string', 'example' => '205618123456123456'], + 'noPermissionType' => ['title' => '无权限原因', 'description' => '无权限原因', 'type' => 'string', 'example' => 'ImplicitDeny'], + 'authAction' => ['title' => '导致无权限的具体操作', 'description' => '导致无权限的具体操作', 'type' => 'string', 'example' => 'openapiexplorer:GetRequestLog'], + 'encodedDiagnosticMessage' => ['title' => '用于诊断的编码后信息。可调用 Ram 产品的 DecodeDiagnosticMessage OpenAPI 进一步诊断获得更多诊断信息。', 'description' => '用于诊断的编码后信息。可调用 Ram 产品的 DecodeDiagnosticMessage OpenAPI 进一步诊断获得更多诊断信息。', 'type' => 'string', 'example' => '-'], ], ], - 'httpMethod' => [ - 'title' => 'Http请求方式。', - 'description' => 'HTTP请求方式。'."\n" - .'例如 GET PUT POST 等', - 'type' => 'string', - 'example' => 'GET', - ], - 'requestDuration' => [ - 'title' => '网关从收到请求到返回响应的时间。单位毫秒(ms)。', - 'description' => '网关从收到请求到返回响应的时间。单位毫秒(ms)。', - 'type' => 'string', - 'example' => '188', - ], - 'sdkRequestTime' => [ - 'title' => 'SDK请求时间。'."\n" - .'日期格式按照 ISO8601 表示法,并使用 UTC 时间,格式为 yyyy-MM-ddTHH:mm:ssZ', - 'description' => '发起请求时间。'."\n" - .'日期格式按照 ISO8601 表示法,并使用 UTC 时间,格式为 yyyy-MM-ddTHH:mm:ssZ', - 'type' => 'string', - 'example' => '2025-01-21T07:43:06Z', - ], - 'gatewayProcessTime' => [ - 'title' => '网关处理时间。'."\n" - .'日期格式按照 ISO8601 表示法,并使用 UTC 时间,格式为 yyyy-MM-ddTHH:mm:ssZ', - 'description' => '网关接收到请求的时间。'."\n" - .'日期格式按照 ISO8601 表示法,并使用 UTC 时间,格式为 yyyy-MM-ddTHH:mm:ssZ', - 'type' => 'string', - 'example' => '2025-01-21T07:43:06Z', - ], - 'regionId' => [ - 'title' => '服务区域ID。', - 'description' => '服务区域ID。', - 'type' => 'string', - 'example' => 'cn-hangzhou', - ], - 'endpoint' => [ - 'title' => '服务区域对应的服务地址(Endpoint)。', - 'description' => '服务区域对应的服务地址(Endpoint)。', - 'type' => 'string', - 'example' => 'ecs.cn-hangzhou.aliyuncs.com', - ], + 'httpMethod' => ['title' => 'Http请求方式。', 'description' => 'HTTP请求方式。'."\n" + .'例如 GET PUT POST 等', 'type' => 'string', 'example' => 'GET'], + 'requestDuration' => ['title' => '网关从收到请求到返回响应的时间。单位毫秒(ms)。', 'description' => '网关从收到请求到返回响应的时间。单位毫秒(ms)。', 'type' => 'string', 'example' => '188'], + 'sdkRequestTime' => ['title' => 'SDK请求时间。'."\n" + .'日期格式按照 ISO8601 表示法,并使用 UTC 时间,格式为 yyyy-MM-ddTHH:mm:ssZ', 'description' => '发起请求时间。'."\n" + .'日期格式按照 ISO8601 表示法,并使用 UTC 时间,格式为 yyyy-MM-ddTHH:mm:ssZ', 'type' => 'string', 'example' => '2025-01-21T07:43:06Z'], + 'gatewayProcessTime' => ['title' => '网关处理时间。'."\n" + .'日期格式按照 ISO8601 表示法,并使用 UTC 时间,格式为 yyyy-MM-ddTHH:mm:ssZ', 'description' => '网关接收到请求的时间。'."\n" + .'日期格式按照 ISO8601 表示法,并使用 UTC 时间,格式为 yyyy-MM-ddTHH:mm:ssZ', 'type' => 'string', 'example' => '2025-01-21T07:43:06Z'], + 'regionId' => ['title' => '服务区域ID。', 'description' => '服务区域ID。', 'type' => 'string', 'example' => 'cn-hangzhou'], + 'endpoint' => ['title' => '服务区域对应的服务地址(Endpoint)。', 'description' => '服务区域对应的服务地址(Endpoint)。', 'type' => 'string', 'example' => 'ecs.cn-hangzhou.aliyuncs.com'], 'throttlingResult' => [ 'title' => '流控校验结果。FC.PASS:未被流控检查拦截;FC.DENY:被流控检查拦截。', 'description' => '流控校验结果。FC.PASS:未被流控检查拦截(未产生速率流控);FC.DENY:被流控检查拦截(发生速率流控)。', 'type' => 'string', 'example' => 'FC.PASS', - 'enum' => [ - 'FC.PASS', - 'FC.DENY', - ], + 'enum' => ['FC.PASS', 'FC.DENY'], ], ], ], @@ -2877,36 +1964,13 @@ .'3. AssumedRoleUser:STS Token临时身份;', 'type' => 'string', 'example' => 'sub', - 'enum' => [ - 'customer', - 'sub', - 'AssumedRoleUser', - ], - ], - 'callerIp' => [ - 'title' => '调用者的IP地址', - 'description' => '调用者的IP地址', - 'type' => 'string', - 'example' => '100.68.xxx.xxx', - ], - 'masterAccountId' => [ - 'title' => '主账号ID', - 'description' => '主账号ID', - 'type' => 'string', - 'example' => '1973374733454118', - ], - 'callerAccountId' => [ - 'title' => '调用者账号ID', - 'description' => '调用者账号ID', - 'type' => 'string', - 'example' => '241009849925897811', - ], - 'userAgent' => [ - 'title' => '用户代理信息', - 'description' => '用户代理信息', - 'type' => 'string', - 'example' => 'AlibabaCloud API Workbench', + 'enum' => ['customer', 'sub', 'AssumedRoleUser'], ], + 'callerIp' => ['title' => '调用者的IP地址', 'description' => '调用者的IP地址', 'type' => 'string', 'example' => '100.68.xxx.xxx'], + 'masterAccountId' => ['title' => '主账号ID', 'description' => '主账号ID', 'type' => 'string', 'example' => '1973374733454118'], + 'callerAccountId' => ['title' => '调用者账号ID', 'description' => '调用者账号ID', 'type' => 'string', 'example' => '241009849925897811'], + 'userAgent' => ['title' => '用户代理信息', 'description' => '用户代理信息', 'type' => 'string', 'example' => 'AlibabaCloud API Workbench'], + 'vpcId' => ['title' => '来源vpcId', 'description' => '来源vpcId', 'type' => 'string', 'example' => 'vpc-abcd'], ], ], 'authenticationInfo' => [ @@ -2914,12 +1978,7 @@ 'description' => '认证信息', 'type' => 'object', 'properties' => [ - 'signatureVersion' => [ - 'title' => '签名版本', - 'description' => '签名版本', - 'type' => 'string', - 'example' => 'unknown', - ], + 'signatureVersion' => ['title' => '签名版本', 'description' => '签名版本', 'type' => 'string', 'example' => 'unknown'], 'signatureMethod' => [ 'title' => '签名方法。'."\n" .' * HMAC-SHA1: 使用HMAC-SHA1算法进行签名'."\n" @@ -2950,6 +2009,7 @@ 'example' => 'AK', 'enum' => [], ], + 'ak' => ['title' => 'requestId对应的发起调用的AK', 'description' => 'requestId对应的发起调用的AK', 'type' => 'string', 'example' => 'LTAI1234abcd'], ], ], 'parameters' => [ @@ -2959,30 +2019,10 @@ 'items' => [ 'type' => 'object', 'properties' => [ - 'name' => [ - 'title' => '请求参数名。', - 'description' => '请求参数名。', - 'type' => 'string', - 'example' => 'InstanceType', - ], - 'value' => [ - 'title' => '请求参数值。', - 'description' => '请求参数值。', - 'type' => 'any', - 'example' => 'ecs.g6.large'."\n", - ], - 'required' => [ - 'title' => '该请求参数是否必填。', - 'description' => '该请求参数是否必填。', - 'type' => 'boolean', - 'example' => 'false', - ], - 'type' => [ - 'title' => '该请求参数类型。', - 'description' => '该请求参数类型。', - 'type' => 'string', - 'example' => 'string', - ], + 'name' => ['title' => '请求参数名。', 'description' => '请求参数名。', 'type' => 'string', 'example' => 'InstanceType'], + 'value' => ['title' => '请求参数值。', 'description' => '请求参数值。', 'type' => 'any', 'example' => 'ecs.g6.large'."\n"], + 'required' => ['title' => '该请求参数是否必填。', 'description' => '该请求参数是否必填。', 'type' => 'boolean', 'example' => 'false'], + 'type' => ['title' => '该请求参数类型。', 'description' => '该请求参数类型。', 'type' => 'string', 'example' => 'string'], ], 'description' => '', ], @@ -2992,55 +2032,31 @@ 'description' => '对应该请求的返回信息。', 'type' => 'object', 'properties' => [ - 'responseBody' => [ - 'title' => '返回信息。', - 'description' => '返回信息。', - 'type' => 'string', - 'example' => '-', - ], - 'responseBodyFormat' => [ - 'title' => '响应体类型。'."\n" - .'JSON、XML、HTML。', - 'description' => '响应体类型。'."\n" - .'JSON、XML、HTML。', - 'type' => 'string', - 'example' => 'JSON', - ], + 'responseBody' => ['title' => '返回信息。', 'description' => '返回信息。', 'type' => 'string', 'example' => '-'], + 'responseBodyFormat' => ['title' => '响应体类型。'."\n" + .'JSON、XML、HTML。', 'description' => '响应体类型。'."\n" + .'JSON、XML、HTML。', 'type' => 'string', 'example' => 'JSON'], ], ], ], ], - 'requestId' => [ - 'title' => '本次请求ID,与logRequestId非同一个参数。', - 'description' => '本次请求ID。', - 'type' => 'string', - 'example' => '9BFC4AC1-6BE4-5405-BDEC-CA288D404812', - ], + 'requestId' => ['title' => '本次请求ID,与logRequestId非同一个参数。', 'description' => '本次请求ID。', 'type' => 'string', 'example' => '9BFC4AC1-6BE4-5405-BDEC-CA288D404812'], ], ], ], ], 'errorCodes' => [ 400 => [ - [ - 'errorCode' => 'InvalidParam.LogRequestId', - 'errorMessage' => 'Please ensure that the request ID you provided originates from a request you made to a certain OpenAPI.', - 'description' => '参数logRequestId无效。你请确保您提供的请求ID源自您向某个OpenAPI发出的请求。', - ], + ['errorCode' => 'InvalidParam.LogRequestId', 'errorMessage' => 'Please ensure that the request ID you provided originates from a request you made to a certain OpenAPI.', 'description' => '参数logRequestId无效。你请确保您提供的请求ID源自您向某个OpenAPI发出的请求。'], ], 404 => [ - [ - 'errorCode' => 'NotFound.RequestLog', - 'errorMessage' => 'The log related to this logRequestId does not exist, has expired, or you do not have permission to view it.', - 'description' => '与此logRequestId相关的日志不存在、已过期或您没有查看它的权限。', - ], + ['errorCode' => 'NotFound.RequestLog', 'errorMessage' => 'The log related to this logRequestId does not exist, has expired, or you do not have permission to view it.', 'description' => '与此logRequestId相关的日志不存在、已过期或您没有查看它的权限。'], ], ], - 'staticInfo' => [ - 'returnType' => 'synchronous', - ], - 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"logInfo\\": {\\n \\"basicInfo\\": {\\n \\"api\\": \\"RunInstances\\",\\n \\"apiDoc\\": {\\n \\"aliyunSite\\": \\"https://api.aliyun.com/document/Ecs/2014-05-26/RunInstances\\",\\n \\"alibabacloudSite\\": \\"https://api.alibabacloud.com/document/Ecs/2014-05-26/RunInstances\\"\\n },\\n \\"apiVersion\\": \\"2014-05-26\\",\\n \\"product\\": \\"Ecs\\",\\n \\"productName\\": {\\n \\"cnName\\": \\"云服务器 ECS\\",\\n \\"enName\\": \\"Elastic Compute Service\\"\\n },\\n \\"apiStyle\\": \\"roa\\",\\n \\"logRequestId\\": \\"123E4567-E89B-12D3-A456-426614174000\\",\\n \\"httpStatusCode\\": \\"404\\",\\n \\"errorCode\\": \\"IncorrectStatus.TransitRouter\\",\\n \\"errorMessage\\": \\"The resource is not in a valid state for the operation.\\",\\n \\"accessDeniedDetail\\": {\\n \\"policyType\\": \\"AccountLevelIdentityBasedPolicy\\",\\n \\"authPrincipalOwnerId\\": \\"1001234561234567\\",\\n \\"authPrincipalType\\": \\"SubUser\\",\\n \\"authPrincipalDisplayName\\": \\"205618123456123456\\",\\n \\"noPermissionType\\": \\"ImplicitDeny\\",\\n \\"authAction\\": \\"openapiexplorer:GetRequestLog\\",\\n \\"encodedDiagnosticMessage\\": \\"-\\"\\n },\\n \\"httpMethod\\": \\"GET\\",\\n \\"requestDuration\\": \\"188\\",\\n \\"sdkRequestTime\\": \\"2025-01-21T07:43:06Z\\",\\n \\"gatewayProcessTime\\": \\"2025-01-21T07:43:06Z\\",\\n \\"regionId\\": \\"cn-hangzhou\\",\\n \\"endpoint\\": \\"ecs.cn-hangzhou.aliyuncs.com\\",\\n \\"throttlingResult\\": \\"FC.PASS\\"\\n },\\n \\"callerInfo\\": {\\n \\"callerType\\": \\"sub\\",\\n \\"callerIp\\": \\"100.68.xxx.xxx\\",\\n \\"masterAccountId\\": \\"1973374733454118\\",\\n \\"callerAccountId\\": \\"241009849925897811\\",\\n \\"userAgent\\": \\"AlibabaCloud API Workbench\\"\\n },\\n \\"authenticationInfo\\": {\\n \\"signatureVersion\\": \\"unknown\\",\\n \\"signatureMethod\\": \\"HMAC-SHA256\\",\\n \\"authenticationType\\": \\"AK\\"\\n },\\n \\"parameters\\": [\\n {\\n \\"name\\": \\"InstanceType\\",\\n \\"value\\": \\"ecs.g6.large\\\\n\\",\\n \\"required\\": false,\\n \\"type\\": \\"string\\"\\n }\\n ],\\n \\"responses\\": {\\n \\"responseBody\\": \\"-\\",\\n \\"responseBodyFormat\\": \\"JSON\\"\\n }\\n },\\n \\"requestId\\": \\"9BFC4AC1-6BE4-5405-BDEC-CA288D404812\\"\\n}","type":"json"}]', + 'staticInfo' => ['returnType' => 'synchronous'], 'title' => '查询API调用日志', + 'summary' => '通过 API 返回的Request ID查询请求的日志详情,可用于排查故障。', + 'description' => '通过 RAM 授权或角色扮演,支持跨 RAM 用户或跨阿里云账号之间查询调用日志。详见授权方式,请参见[跨账号API错误诊断授权](~~2868101~~)。', 'changeSet' => [], 'flowControl' => [ 'flowControlList' => [], @@ -3053,75 +2069,159 @@ 'authLevel' => 'operate', 'actionConditions' => [], 'resources' => [ - [ - 'validationType' => 'always', - 'product' => 'OpenAPIExplorer', - 'resourceType' => '全部资源', - 'arn' => '*', - ], + ['validationType' => 'always', 'product' => 'OpenAPIExplorer', 'resourceType' => '全部资源', 'arn' => '*'], ], ], ], ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"logInfo\\": {\\n \\"basicInfo\\": {\\n \\"api\\": \\"RunInstances\\",\\n \\"apiDoc\\": {\\n \\"aliyunSite\\": \\"https://api.aliyun.com/document/Ecs/2014-05-26/RunInstances\\",\\n \\"alibabacloudSite\\": \\"https://api.alibabacloud.com/document/Ecs/2014-05-26/RunInstances\\"\\n },\\n \\"apiVersion\\": \\"2014-05-26\\",\\n \\"product\\": \\"Ecs\\",\\n \\"productName\\": {\\n \\"cnName\\": \\"云服务器 ECS\\",\\n \\"enName\\": \\"Elastic Compute Service\\"\\n },\\n \\"apiStyle\\": \\"roa\\",\\n \\"logRequestId\\": \\"123E4567-E89B-12D3-A456-426614174000\\",\\n \\"httpStatusCode\\": \\"404\\",\\n \\"errorCode\\": \\"IncorrectStatus.TransitRouter\\",\\n \\"errorMessage\\": \\"The resource is not in a valid state for the operation.\\",\\n \\"accessDeniedDetail\\": {\\n \\"policyType\\": \\"AccountLevelIdentityBasedPolicy\\",\\n \\"authPrincipalOwnerId\\": \\"1001234561234567\\",\\n \\"authPrincipalType\\": \\"SubUser\\",\\n \\"authPrincipalDisplayName\\": \\"205618123456123456\\",\\n \\"noPermissionType\\": \\"ImplicitDeny\\",\\n \\"authAction\\": \\"openapiexplorer:GetRequestLog\\",\\n \\"encodedDiagnosticMessage\\": \\"-\\"\\n },\\n \\"httpMethod\\": \\"GET\\",\\n \\"requestDuration\\": \\"188\\",\\n \\"sdkRequestTime\\": \\"2025-01-21T07:43:06Z\\",\\n \\"gatewayProcessTime\\": \\"2025-01-21T07:43:06Z\\",\\n \\"regionId\\": \\"cn-hangzhou\\",\\n \\"endpoint\\": \\"ecs.cn-hangzhou.aliyuncs.com\\",\\n \\"throttlingResult\\": \\"FC.PASS\\"\\n },\\n \\"callerInfo\\": {\\n \\"callerType\\": \\"sub\\",\\n \\"callerIp\\": \\"100.68.xxx.xxx\\",\\n \\"masterAccountId\\": \\"1973374733454118\\",\\n \\"callerAccountId\\": \\"241009849925897811\\",\\n \\"userAgent\\": \\"AlibabaCloud API Workbench\\",\\n \\"vpcId\\": \\"vpc-abcd\\"\\n },\\n \\"authenticationInfo\\": {\\n \\"signatureVersion\\": \\"unknown\\",\\n \\"signatureMethod\\": \\"HMAC-SHA256\\",\\n \\"authenticationType\\": \\"AK\\",\\n \\"ak\\": \\"LTAI1234abcd\\"\\n },\\n \\"parameters\\": [\\n {\\n \\"name\\": \\"InstanceType\\",\\n \\"value\\": \\"ecs.g6.large\\\\n\\",\\n \\"required\\": false,\\n \\"type\\": \\"string\\"\\n }\\n ],\\n \\"responses\\": {\\n \\"responseBody\\": \\"-\\",\\n \\"responseBodyFormat\\": \\"JSON\\"\\n }\\n },\\n \\"requestId\\": \\"9BFC4AC1-6BE4-5405-BDEC-CA288D404812\\"\\n}","type":"json"}]', ], - 'ListApiDefinitions' => [ - 'summary' => '获取产品的开放元数据。', - 'path' => '/api/definitions', - 'methods' => [ - 'get', - ], - 'schemes' => [ - 'https', - ], + 'GetSdkDependencies' => [ + 'summary' => '获取SDK信息', + 'path' => '/api/sdk/dependencies', + 'methods' => ['get'], + 'schemes' => ['https'], 'security' => [ [ - 'AK' => [], + 'Anonymous' => [], ], ], - 'consumes' => [ - 'application/json', - ], - 'produces' => [ - 'application/json', - ], + 'consumes' => ['application/json'], + 'produces' => ['application/json'], 'operationType' => 'read', 'systemTags' => [ 'operationType' => 'get', 'riskType' => 'none', 'chargeType' => 'free', - 'abilityTreeNodes' => [ - 'FEATUREopenapiexplorerY5UU1D', - ], + 'abilityTreeNodes' => ['FEATUREopenapiexplorerY5UU1D'], 'autoTest' => true, 'tenantRelevance' => 'publicInformation', ], 'parameters' => [ [ - 'name' => 'product', + 'name' => 'callType', 'in' => 'query', 'schema' => [ - 'description' => '产品CODE。'."\n" - ."\n" - .'- 调用GetRequestLog接口,从返回结果中获取产品CODE。'."\n" - ."\n" - .'- 通过OpenAPI门户的URL,找到对应的产品CODE。例如,短信服务的OpenAPI门户URL为https://api.aliyun.com/product/Dysmsapi,根据该URL获取短信服务的产品CODE为Dysmsapi。'."\n" - .'短信服务的OpenAPI门户URL为https://api.alibabacloud.com/product/Dysmsapi,根据该URL获取短信服务的产品CODE为Dysmsapi。', + 'title' => 'SDK调用类型,typed为产品专属SDK模式,generic为Common泛化调用模式,默认为typed。', + 'description' => 'SDK调用类型,typed为产品专属SDK模式,generic为Common泛化调用模式,默认为typed。', 'type' => 'string', - 'required' => true, - 'example' => 'Ecs', + 'required' => false, + 'example' => 'typed', + 'default' => 'typed', + 'enum' => ['typed', 'generic'], ], ], [ - 'name' => 'apiVersion', + 'name' => 'product', + 'in' => 'query', + 'schema' => ['title' => '云产品Code。', 'description' => '云产品Code。', 'type' => 'string', 'required' => true, 'example' => 'Ecs'], + ], + [ + 'name' => 'version', + 'in' => 'query', + 'schema' => ['title' => 'OpenAPI版本。', 'description' => 'OpenAPI版本。', 'type' => 'string', 'required' => false, 'example' => '2014-05-26'], + ], + [ + 'name' => 'language', 'in' => 'query', 'schema' => [ - 'description' => 'API的版本。', + 'title' => 'SDK语言,用于过滤返回的SDK版本信息。', + 'description' => 'SDK编程语言,用于过滤返回的SDK版本信息。', 'type' => 'string', 'required' => true, - 'example' => '2014-05-26', + 'example' => 'java', + 'enum' => ['java', 'java-async', 'python', 'typescript', 'go', 'php', 'csharp', 'cpp', 'swift', 'nodejs'], + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'type' => 'object', + 'properties' => [ + 'code' => ['title' => '业务状态码,0表示成功。', 'description' => '业务状态码,0表示成功。', 'type' => 'integer', 'format' => 'int32', 'example' => '0'], + 'data' => [ + 'title' => 'SDK 依赖信息列表,每一项对应一个语言的最新版 SDK 依赖。', + 'description' => 'SDK 依赖信息列表,每一项对应一个语言的最新版 SDK 依赖。', + 'type' => 'array', + 'items' => [ + 'title' => '单个 SDK 依赖信息。', + 'description' => '单个 SDK 依赖信息。', + 'type' => 'object', + 'properties' => [ + 'packageName' => ['title' => 'SDK包名称。', 'description' => 'SDK包名称。', 'type' => 'string', 'example' => 'com.aliyun/ecs20140526'], + 'sdkVersion' => ['title' => 'SDK包版本。', 'description' => 'SDK包版本。', 'type' => 'string', 'example' => '8.7.5'], + 'platform' => ['title' => 'SDK包管理平台,如github/maven/pypi/nuget/npm。', 'description' => 'SDK包管理平台,如github/maven/pypi/nuget/npm。', 'type' => 'string', 'example' => 'maven'], + 'install' => ['title' => 'SDK安装命令。Java 为 Maven XML 块;其他语言为对应包管理器的安装命令。', 'description' => 'SDK安装命令。Java 为 Maven XML 块;其他语言为对应包管理器的安装命令。', 'type' => 'string', 'example' => '\\n com.aliyun\\n ecs20140526\\n 8.7.5\\n'], + ], + 'example' => '{"packageName":"com.aliyun/ecs20140526","sdkVersion":"8.7.5","platform":"maven","install":"..."}', + ], + 'example' => '[{"packageName":"com.aliyun/ecs20140526","sdkVersion":"8.7.5","platform":"maven","install":"..."}]', + ], + ], + 'description' => '', ], ], ], + 'errorCodes' => [ + 400 => [ + ['errorCode' => 'InvalidParam.Product', 'errorMessage' => 'Product name is required and cannot be null or empty.', 'description' => ''], + ['errorCode' => 'InvalidParam.ApiVersion', 'errorMessage' => 'API version is required and cannot be null or empty.', 'description' => ''], + ['errorCode' => 'InvalidParam.Format', 'errorMessage' => 'Product/version format is invalid.', 'description' => ''], + ['errorCode' => 'InvalidParam.Language', 'errorMessage' => 'Language format is invalid.', 'description' => ''], + ], + 502 => [ + ['errorCode' => 'WorkbenchProxy.RequestFailed', 'errorMessage' => 'Failed to get sdk info.', 'description' => ''], + ], + ], + 'staticInfo' => ['returnType' => 'synchronous'], + 'title' => '获取Sdk的依赖信息', + 'description' => '通过 RAM 授权或角色扮演,支持跨 RAM 用户或跨阿里云账号之间查询调用日志。详见授权方式,请参见[跨账号API错误诊断授权](~~2868101~~)。', + 'changeSet' => [], + 'flowControl' => [ + 'flowControlList' => [], + ], + 'ramActions' => [], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"code\\": 0,\\n \\"data\\": [\\n {\\n \\"packageName\\": \\"com.aliyun/ecs20140526\\",\\n \\"sdkVersion\\": \\"8.7.5\\",\\n \\"platform\\": \\"maven\\",\\n \\"install\\": \\"\\\\\\\\n com.aliyun\\\\\\\\n ecs20140526\\\\\\\\n 8.7.5\\\\\\\\n\\"\\n }\\n ]\\n}","type":"json"}]', + ], + 'ListApiDefinitions' => [ + 'summary' => '获取产品的开放元数据。', + 'path' => '/api/definitions', + 'methods' => ['get'], + 'schemes' => ['https'], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'consumes' => ['application/json'], + 'produces' => ['application/json'], + 'operationType' => 'read', + 'systemTags' => [ + 'operationType' => 'get', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeNodes' => ['FEATUREopenapiexplorerY5UU1D'], + 'autoTest' => true, + 'tenantRelevance' => 'publicInformation', + ], + 'parameters' => [ + [ + 'name' => 'product', + 'in' => 'query', + 'schema' => ['description' => '产品CODE。'."\n" + ."\n" + .'- 调用GetRequestLog接口,从返回结果中获取产品CODE。'."\n" + ."\n" + .'- 通过OpenAPI门户的URL,找到对应的产品CODE。例如,短信服务的OpenAPI门户URL为https://api.aliyun.com/product/Dysmsapi,根据该URL获取短信服务的产品CODE为Dysmsapi。'."\n" + .'短信服务的OpenAPI门户URL为https://api.alibabacloud.com/product/Dysmsapi,根据该URL获取短信服务的产品CODE为Dysmsapi。', 'type' => 'string', 'required' => true, 'example' => 'Ecs'], + ], + [ + 'name' => 'apiVersion', + 'in' => 'query', + 'schema' => ['description' => 'API的版本。', 'type' => 'string', 'required' => true, 'example' => '2014-05-26'], + ], + ], 'responses' => [ 200 => [ 'schema' => [ @@ -3132,9 +2232,7 @@ ], ], 'errorCodes' => [], - 'staticInfo' => [ - 'returnType' => 'synchronous', - ], + 'staticInfo' => ['returnType' => 'synchronous'], 'title' => '获取产品的开放元数据', 'changeSet' => [], 'flowControl' => [ @@ -3143,265 +2241,275 @@ 'ramActions' => [], 'responseDemo' => '[{"errorExample":"","example":"{}","type":"json"}]', ], - 'ListApiMcpServerSystemTools' => [ - 'summary' => '查询 MCP 服务支持的系统工具。', - 'path' => '/mcpSystemTools', - 'methods' => [ - 'get', - ], - 'schemes' => [ - 'https', - ], + 'ListApiMcpServerCores' => [ + 'path' => '/apimcpservercores', + 'methods' => ['get'], + 'schemes' => ['https'], 'security' => [ [ 'AK' => [], ], ], - 'consumes' => [ - 'application/json', - ], - 'produces' => [ - 'application/json', - ], + 'consumes' => ['application/json'], + 'produces' => ['application/json'], 'operationType' => 'read', 'systemTags' => [ 'operationType' => 'list', 'riskType' => 'none', 'chargeType' => 'free', - 'abilityTreeNodes' => [ - 'FEATUREopenapiexplorer7MPML0', - ], - 'tenantRelevance' => 'publicInformation', + 'abilityTreeNodes' => ['FEATUREopenapiexplorer7MPML0'], ], 'parameters' => [ [ - 'name' => 'maxResults', + 'name' => 'id', 'in' => 'query', - 'allowEmptyValue' => true, - 'schema' => [ - 'description' => '分页查询时每页的最大条目数。最大值为 100。默认值为 20。', - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'maximum' => '100', - 'minimum' => '0', - 'example' => '20', - 'default' => '20', - ], + 'schema' => ['description' => '唯一 id', 'type' => 'string', 'required' => false, 'example' => 'v6ZZ7ftCzEILW***'], ], [ - 'name' => 'skip', + 'name' => 'nextToken', 'in' => 'query', - 'allowEmptyValue' => true, - 'schema' => [ - 'description' => '跳过的数据数量。', - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'minimum' => '0', - 'example' => '5', - 'default' => '0', - ], + 'schema' => ['description' => '分页游标。'."\n" + .'> 不为空表示有更多数据。', 'type' => 'string', 'required' => false, 'example' => 'AAAAAZjtYxxxxxxxx'], ], [ - 'name' => 'nextToken', + 'name' => 'maxResults', 'in' => 'query', - 'schema' => [ - 'description' => '下一个查询开始 Token,取值为上一次 API 调用返回的 NextToken 参数值。'."\n" - ."\n" - .'> 第一次查询不需要提供本参数,如果一次查询没有返回全部结果,则可在后续查询中传入前一次返回的 NextToken 值以继续查询。', - 'type' => 'string', - 'required' => false, - 'example' => 'AAAAAZjtYxxxxxxxx', - ], + 'schema' => ['description' => '分页查询时每页的最大条目数。最大值为 100。默认值为 20。', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '10'], + ], + [ + 'name' => 'skip', + 'in' => 'query', + 'schema' => ['description' => '跳过的数据数量。', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '5'], ], ], 'responses' => [ 200 => [ 'schema' => [ - 'description' => '请求结果。', 'type' => 'object', 'properties' => [ - 'requestId' => [ - 'description' => '请求ID。', - 'type' => 'string', - 'example' => '9BFC4AC1-6BE4-5405-BDEC-CA288D404812', - ], - 'nextToken' => [ - 'description' => '返回的 NextToken,用来返回更多结果。'."\n" - .'> 如果这个值没有返回,则说明没有更多结果。', - 'type' => 'string', - 'example' => 'AAAAAZjtYxxxxxxxx', - ], - 'maxResults' => [ - 'description' => '分页查询时每页的最大条目数。最大值为 100。默认值为 20。', - 'type' => 'integer', - 'format' => 'int32', - 'example' => '20', - ], - 'totalCount' => [ - 'description' => '数据总记录数。', - 'type' => 'integer', - 'format' => 'int32', - 'example' => '22', - ], - 'systemTools' => [ - 'description' => '系统工具列表。', + 'requestId' => ['description' => '请求ID。', 'type' => 'string', 'example' => 'A707AFA8-1A4C-5B2A-A165-8436C1EA38DB'], + 'nextToken' => ['description' => '分页游标。'."\n" + .'> 不为空表示有更多数据。', 'type' => 'string', 'example' => 'AAAAAZjtYxxxxxxxx'], + 'totalCount' => ['description' => '总数据条数。', 'type' => 'integer', 'format' => 'int32', 'example' => '5'], + 'maxResults' => ['description' => '分页查询时每页的最大条目数。最大值为 100。默认值为 20。', 'type' => 'integer', 'format' => 'int32', 'example' => '20'], + 'apiMcpServerCores' => [ + 'description' => 'MCP Core服务列表', 'type' => 'array', 'items' => [ - 'description' => '系统工具。', 'type' => 'object', 'properties' => [ - 'name' => [ - 'description' => '系统工具名称', - 'type' => 'string', - 'example' => 'mcp-system', - ], - 'description' => [ - 'description' => '系统工具的描述信息。', + 'id' => ['description' => 'MCP Core 服务 ID。', 'type' => 'string', 'example' => 'UFGUzvjc3cdrPy6Z'], + 'oauthClientId' => ['description' => '选择自定义OAuth配置时的自定义OAuth Client ID。'."\n" + ."\n" + .'`仅支持 Web/Native 应用,且 OAuth 范围必须包含 /acs/mcp-server`', 'type' => 'string', 'deprecated' => false, 'example' => '403*************370', 'pattern' => '', 'readOnly' => false, 'default' => ''], + 'createTime' => ['description' => '创建时间', 'type' => 'string', 'format' => 'iso8601', 'example' => '2025-05-16 11:17:02'], + 'vpcWhitelists' => [ + 'description' => '每一个限定的VPC白名单,值为来源VPC ID。', + 'type' => 'array', + 'items' => ['description' => '每一个限定的VPC白名单,值为来源VPC ID。', 'type' => 'string', 'deprecated' => false, 'example' => '[]', 'readOnly' => false], + 'deprecated' => false, + 'readOnly' => false, + ], + 'enableAssumeRole' => ['description' => '是否开启多账号访问。', 'type' => 'boolean', 'deprecated' => false, 'example' => 'true', 'readOnly' => false, 'default' => ''], + 'assumeRoleOverridePolicy' => ['description' => '角色扮演时的权限策略', 'type' => 'string', 'format' => 'json', 'deprecated' => false, 'example' => '{"Version":"1","Statement":[{"Effect":"Allow","Action":["ecs:Describe*"],"Resource":"*"}]}', 'pattern' => '', 'readOnly' => false, 'default' => ''], + 'assumeRoleName' => ['description' => '开启多账号访问进行跨账号操作时,扮演的目标账号 RAM角色名称。', 'type' => 'string', 'deprecated' => false, 'example' => 'test', 'pattern' => '', 'readOnly' => false, 'default' => ''], + 'publicAccessType' => [ + 'description' => '公网访问类型:允许公网访问、不允许公网访问、继承账号配置。'."\n" + .'`public`(开启), `private`(关闭), `inherit`(跟随账号配置)', 'type' => 'string', - 'example' => 'system tool description', + 'deprecated' => false, + 'enumValueTitles' => ['private' => '关闭', 'public' => '开启', 'inherit' => '跟随账号配置'], + 'example' => 'public', + 'pattern' => '', + 'readOnly' => false, + 'default' => '', + ], + 'enableCustomVpcWhitelist' => ['description' => '是否开启自定义VPC白名单,不开启则跟随账户级别的配置。', 'type' => 'boolean', 'deprecated' => false, 'example' => 'true', 'readOnly' => false, 'default' => ''], + 'urls' => [ + 'description' => 'SSE 协议连接信息。', + 'type' => 'object', + 'properties' => [ + 'sse' => ['description' => 'SSE 协议连接信息。', 'type' => 'string', 'deprecated' => false, 'example' => 'https://openapi-mcp.cn-hangzhou.aliyuncs.com/accounts/xxxx/id/xxxx/sse', 'pattern' => '', 'default' => ''], + 'mcp' => ['description' => 'streamable HTTP 协议连接信息,推荐使用。', 'type' => 'string', 'deprecated' => false, 'example' => 'https://openapi-mcp.cn-hangzhou.aliyuncs.com/accounts/xxxx/id/xxxx/mcp', 'pattern' => '', 'default' => ''], + 'vpcSse' => ['description' => 'VPC 下 SSE 协议连接地址。', 'type' => 'string', 'deprecated' => false, 'example' => 'https://openapi-mcp-cn.vpc-proxy.aliyuncs.com/accounts/xxxx/id/xxxx/sse', 'pattern' => '', 'default' => ''], + 'vpcMcp' => ['description' => 'VPC 下 streamable HTTP 协议连接地址。', 'type' => 'string', 'deprecated' => false, 'example' => 'https://openapi-mcp-cn.vpc-proxy.aliyuncs.com/accounts/xxxx/id/xxxx/mcp', 'pattern' => '', 'default' => ''], + ], + 'deprecated' => false, ], + 'requiredRamPolicy' => ['description' => '使用该 MCP Core Server 所需的 RAM 策略。', 'type' => 'string', 'deprecated' => false, 'example' => '{"Version":"1","Statement":[{"Effect":"Allow","Action":["ecs:Describe*"],"Resource":"*"}]}', 'pattern' => '', 'default' => ''], ], + 'description' => '', ], ], ], + 'description' => '', ], ], ], 'errorCodes' => [ 400 => [ - [ - 'errorCode' => 'InvalidParam.NextToken', - 'errorMessage' => 'The specified NextToken is not valid.', - 'description' => '指定的nextToken无效。', - ], + ['errorCode' => 'InvalidParam.NextToken', 'errorMessage' => 'The specified NextToken is not valid.', 'description' => '指定的nextToken无效。'], + ['errorCode' => 'NextTokenParameterMismatch', 'errorMessage' => 'The request uses the same nextToken as the previous request, but with different parameters. NextTokens should not be reused across non-identical requests. Each unique request must have a distinct nextToken.', 'description' => '请求使用了与之前请求相同的nextToken,但参数不同。请勿在参数不同的请求中重复使用同一nextToken,每个独立请求必须使用唯一的nextToken。 '], ], 500 => [ - [ - 'errorCode' => 'InternalServerError', - 'errorMessage' => 'The request has failed due to a temporary failure of the server.', - 'description' => '由于服务器暂时故障,请求失败。', - ], + ['errorCode' => 'InternalServerError', 'errorMessage' => 'The request has failed due to a temporary failure of the server.', 'description' => '由于服务器暂时故障,请求失败。'], ], ], - 'title' => '查询 MCP 服务支持的系统工具', + 'title' => '列出ApiMcpServerCore', + 'summary' => '列出资源ApiMcpServerCore。', + 'description' => '该接口查询的是公开信息,不涉及账号特殊归属等信息,故不支持授权。', 'changeSet' => [], 'flowControl' => [ 'flowControlList' => [], ], - 'ramActions' => [ - [ - 'operationType' => 'list', - 'ramAction' => [ - 'action' => 'openapiexplorer:ListApiMcpServerSystemTools', - 'authLevel' => 'operate', - 'actionConditions' => [], - 'resources' => [ - [ - 'validationType' => 'always', - 'product' => 'OpenAPIExplorer', - 'resourceType' => '全部资源', - 'arn' => '*', - ], - ], - ], - ], - ], - 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"requestId\\": \\"9BFC4AC1-6BE4-5405-BDEC-CA288D404812\\",\\n \\"nextToken\\": \\"AAAAAZjtYxxxxxxxx\\",\\n \\"maxResults\\": 20,\\n \\"totalCount\\": 22,\\n \\"systemTools\\": [\\n {\\n \\"name\\": \\"mcp-system\\",\\n \\"description\\": \\"system tool description\\"\\n }\\n ]\\n}","type":"json"}]', + 'ramActions' => [], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"requestId\\": \\"A707AFA8-1A4C-5B2A-A165-8436C1EA38DB\\",\\n \\"nextToken\\": \\"AAAAAZjtYxxxxxxxx\\",\\n \\"totalCount\\": 5,\\n \\"maxResults\\": 20,\\n \\"apiMcpServerCores\\": [\\n {\\n \\"id\\": \\"UFGUzvjc3cdrPy6Z\\",\\n \\"oauthClientId\\": \\"403*************370\\",\\n \\"createTime\\": \\"2025-05-16 11:17:02\\",\\n \\"vpcWhitelists\\": [\\n \\"[]\\"\\n ],\\n \\"enableAssumeRole\\": true,\\n \\"assumeRoleOverridePolicy\\": \\"{\\\\\\"Version\\\\\\":\\\\\\"1\\\\\\",\\\\\\"Statement\\\\\\":[{\\\\\\"Effect\\\\\\":\\\\\\"Allow\\\\\\",\\\\\\"Action\\\\\\":[\\\\\\"ecs:Describe*\\\\\\"],\\\\\\"Resource\\\\\\":\\\\\\"*\\\\\\"}]}\\",\\n \\"assumeRoleName\\": \\"test\\",\\n \\"publicAccessType\\": \\"public\\",\\n \\"enableCustomVpcWhitelist\\": true,\\n \\"urls\\": {\\n \\"sse\\": \\"https://openapi-mcp.cn-hangzhou.aliyuncs.com/accounts/xxxx/id/xxxx/sse\\",\\n \\"mcp\\": \\"https://openapi-mcp.cn-hangzhou.aliyuncs.com/accounts/xxxx/id/xxxx/mcp\\",\\n \\"vpcSse\\": \\"https://openapi-mcp-cn.vpc-proxy.aliyuncs.com/accounts/xxxx/id/xxxx/sse\\",\\n \\"vpcMcp\\": \\"https://openapi-mcp-cn.vpc-proxy.aliyuncs.com/accounts/xxxx/id/xxxx/mcp\\"\\n },\\n \\"requiredRamPolicy\\": \\"{\\\\\\"Version\\\\\\":\\\\\\"1\\\\\\",\\\\\\"Statement\\\\\\":[{\\\\\\"Effect\\\\\\":\\\\\\"Allow\\\\\\",\\\\\\"Action\\\\\\":[\\\\\\"ecs:Describe*\\\\\\"],\\\\\\"Resource\\\\\\":\\\\\\"*\\\\\\"}]}\\"\\n }\\n ]\\n}","type":"json"}]', ], - 'ListApiMcpServers' => [ - 'summary' => '查询父账号下所有API MCP服务器的列表。', - 'path' => '/apimcpservers', - 'methods' => [ - 'get', - ], - 'schemes' => [ - 'https', - ], + 'ListApiMcpServerSystemTools' => [ + 'summary' => '查询 MCP 服务支持的系统工具。', + 'path' => '/mcpSystemTools', + 'methods' => ['get'], + 'schemes' => ['https'], 'security' => [ [ 'AK' => [], ], ], - 'consumes' => [ - 'application/json', - ], - 'produces' => [ - 'application/json', - ], + 'consumes' => ['application/json'], + 'produces' => ['application/json'], 'operationType' => 'read', 'systemTags' => [ 'operationType' => 'list', 'riskType' => 'none', 'chargeType' => 'free', - 'abilityTreeNodes' => [ - 'FEATUREopenapiexplorer7MPML0', - ], + 'abilityTreeNodes' => ['FEATUREopenapiexplorer7MPML0'], 'tenantRelevance' => 'publicInformation', ], 'parameters' => [ [ - 'name' => 'id', + 'name' => 'maxResults', 'in' => 'query', - 'schema' => [ - 'description' => 'API MCP 服务的 ID。', - 'type' => 'string', - 'required' => false, - 'example' => 'v6ZZ7ftCzEILW***', - ], + 'allowEmptyValue' => true, + 'schema' => ['description' => '分页查询时每页的最大条目数。最大值为 100。默认值为 20。', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'maximum' => '100', 'minimum' => '0', 'example' => '20', 'default' => '20'], + ], + [ + 'name' => 'skip', + 'in' => 'query', + 'allowEmptyValue' => true, + 'schema' => ['description' => '跳过的数据数量。', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'minimum' => '0', 'example' => '5', 'default' => '0'], ], [ 'name' => 'nextToken', 'in' => 'query', + 'schema' => ['description' => '下一个查询开始 Token,取值为上一次 API 调用返回的 NextToken 参数值。'."\n" + ."\n" + .'> 第一次查询不需要提供本参数,如果一次查询没有返回全部结果,则可在后续查询中传入前一次返回的 NextToken 值以继续查询。', 'type' => 'string', 'required' => false, 'example' => 'AAAAAZjtYxxxxxxxx'], + ], + ], + 'responses' => [ + 200 => [ 'schema' => [ - 'description' => '下一个查询开始 Token,取值为上一次 API 调用返回的 NextToken 参数值。'."\n" - ."\n" - .'> 第一次查询不需要提供本参数,如果一次查询没有返回全部结果,则可在后续查询中传入前一次返回的 NextToken 值以继续查询。', - 'type' => 'string', - 'required' => false, - 'example' => 'AAAAAZjtYxxxxxxxx', + 'description' => '请求结果。', + 'type' => 'object', + 'properties' => [ + 'requestId' => ['description' => '请求ID。', 'type' => 'string', 'example' => '9BFC4AC1-6BE4-5405-BDEC-CA288D404812'], + 'nextToken' => ['description' => '返回的 NextToken,用来返回更多结果。'."\n" + .'> 如果这个值没有返回,则说明没有更多结果。', 'type' => 'string', 'example' => 'AAAAAZjtYxxxxxxxx'], + 'maxResults' => ['description' => '分页查询时每页的最大条目数。最大值为 100。默认值为 20。', 'type' => 'integer', 'format' => 'int32', 'example' => '20'], + 'totalCount' => ['description' => '数据总记录数。', 'type' => 'integer', 'format' => 'int32', 'example' => '22'], + 'systemTools' => [ + 'description' => '系统工具列表。', + 'type' => 'array', + 'items' => [ + 'description' => '系统工具。', + 'type' => 'object', + 'properties' => [ + 'name' => ['description' => '系统工具名称', 'type' => 'string', 'example' => 'mcp-system'], + 'description' => ['description' => '系统工具的描述信息。', 'type' => 'string', 'example' => 'system tool description'], + ], + ], + ], + ], + ], + ], + ], + 'errorCodes' => [ + 400 => [ + ['errorCode' => 'InvalidParam.NextToken', 'errorMessage' => 'The specified NextToken is not valid.', 'description' => '指定的nextToken无效。'], + ], + 500 => [ + ['errorCode' => 'InternalServerError', 'errorMessage' => 'The request has failed due to a temporary failure of the server.', 'description' => '由于服务器暂时故障,请求失败。'], + ], + ], + 'title' => '查询 MCP 服务支持的系统工具', + 'changeSet' => [], + 'flowControl' => [ + 'flowControlList' => [], + ], + 'ramActions' => [ + [ + 'operationType' => 'list', + 'ramAction' => [ + 'action' => 'openapiexplorer:ListApiMcpServerSystemTools', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'OpenAPIExplorer', 'resourceType' => '全部资源', 'arn' => '*'], + ], ], ], + ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"requestId\\": \\"9BFC4AC1-6BE4-5405-BDEC-CA288D404812\\",\\n \\"nextToken\\": \\"AAAAAZjtYxxxxxxxx\\",\\n \\"maxResults\\": 20,\\n \\"totalCount\\": 22,\\n \\"systemTools\\": [\\n {\\n \\"name\\": \\"mcp-system\\",\\n \\"description\\": \\"system tool description\\"\\n }\\n ]\\n}","type":"json"}]', + ], + 'ListApiMcpServers' => [ + 'summary' => '查询父账号下所有API MCP服务器的列表。', + 'path' => '/apimcpservers', + 'methods' => ['get'], + 'schemes' => ['https'], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'consumes' => ['application/json'], + 'produces' => ['application/json'], + 'operationType' => 'read', + 'systemTags' => [ + 'operationType' => 'list', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeNodes' => ['FEATUREopenapiexplorer7MPML0'], + 'tenantRelevance' => 'publicInformation', + ], + 'parameters' => [ + [ + 'name' => 'id', + 'in' => 'query', + 'schema' => ['description' => 'API MCP 服务的 ID。', 'type' => 'string', 'required' => false, 'example' => 'v6ZZ7ftCzEILW***'], + ], + [ + 'name' => 'nextToken', + 'in' => 'query', + 'schema' => ['description' => '下一个查询开始 Token,取值为上一次 API 调用返回的 NextToken 参数值。'."\n" + ."\n" + .'> 第一次查询不需要提供本参数,如果一次查询没有返回全部结果,则可在后续查询中传入前一次返回的 NextToken 值以继续查询。', 'type' => 'string', 'required' => false, 'example' => 'AAAAAZjtYxxxxxxxx'], + ], [ 'name' => 'maxResults', 'in' => 'query', 'allowEmptyValue' => true, - 'schema' => [ - 'description' => '分页查询时每页的最大条目数。最大值为 100。默认值为 20。', - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'maximum' => '100', - 'minimum' => '0', - 'exclusiveMinimum' => true, - 'example' => '10', - 'default' => '20', - ], + 'schema' => ['description' => '分页查询时每页的最大条目数。最大值为 100。默认值为 20。', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'maximum' => '100', 'minimum' => '0', 'exclusiveMinimum' => true, 'example' => '10', 'default' => '20'], ], [ 'name' => 'skip', 'in' => 'query', 'allowEmptyValue' => true, - 'schema' => [ - 'description' => '跳过的数据数量。', - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'minimum' => '0', - 'example' => '5', - 'default' => '0', - ], + 'schema' => ['description' => '跳过的数据数量。', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'minimum' => '0', 'example' => '5', 'default' => '0'], ], [ 'name' => 'description', 'in' => 'query', - 'schema' => [ - 'description' => 'API MCP 服务的描述信息。', - 'type' => 'string', - 'required' => false, - 'example' => '这是一个API MCP服务器。', - ], + 'schema' => ['description' => 'API MCP 服务的描述信息。', 'type' => 'string', 'required' => false, 'example' => '这是一个API MCP服务器。'], ], [ 'name' => 'language', @@ -3411,55 +2519,32 @@ 'type' => 'string', 'required' => false, 'example' => 'ZH_CN', - 'enum' => [ - 'EN_US', - 'ZH_CN', - ], + 'enum' => ['EN_US', 'ZH_CN'], ], ], [ 'name' => 'createTime', 'in' => 'query', - 'schema' => [ - 'description' => 'API MCP服务器的创建时间。', - 'type' => 'string', - 'required' => false, - 'example' => '2024-10-30T02:10:13Z', - ], + 'schema' => ['description' => 'API MCP服务器的创建时间。', 'type' => 'string', 'required' => false, 'example' => '2024-10-30T02:10:13Z'], ], [ 'name' => 'updateTime', 'in' => 'query', - 'schema' => [ - 'description' => 'API MCP服务器的更新时间。', - 'type' => 'string', - 'required' => false, - 'example' => '2024-06-05T02:27:39Z', - ], + 'schema' => ['description' => 'API MCP服务器的更新时间。', 'type' => 'string', 'required' => false, 'example' => '2024-06-05T02:27:39Z'], ], [ 'name' => 'sourceType', 'in' => 'query', - 'schema' => [ - 'description' => 'API MCP 服务类型。'."\n" - ."\n" - .'- custom 自定义服务'."\n" - ."\n" - .'- system 系统服务', - 'type' => 'string', - 'required' => false, - 'example' => 'system', - ], + 'schema' => ['description' => 'API MCP 服务类型。'."\n" + ."\n" + .'- custom 自定义服务'."\n" + ."\n" + .'- system 系统服务', 'type' => 'string', 'required' => false, 'example' => 'system'], ], [ 'name' => 'keyword', 'in' => 'query', - 'schema' => [ - 'description' => '搜索关键词,支持API名称模糊搜索或API ID精确搜索。', - 'type' => 'string', - 'required' => false, - 'example' => 'oss', - ], + 'schema' => ['description' => '搜索关键词,支持API名称模糊搜索或API ID精确搜索。', 'type' => 'string', 'required' => false, 'example' => 'oss'], ], ], 'responses' => [ @@ -3468,30 +2553,12 @@ 'description' => '请求结果。', 'type' => 'object', 'properties' => [ - 'requestId' => [ - 'description' => '请求ID。', - 'type' => 'string', - 'example' => ' '."\n" - .'9BFC4AC1-6BE4-5405-BDEC-CA288D404812'."\n", - ], - 'nextToken' => [ - 'description' => '分页游标。'."\n" - .'> 不为空表示有更多数据。', - 'type' => 'string', - 'example' => 'AAAAAZjtYxxxxxxxx', - ], - 'totalCount' => [ - 'description' => '总数据条数。', - 'type' => 'integer', - 'format' => 'int32', - 'example' => '5', - ], - 'maxResults' => [ - 'description' => '每页最大条目数。', - 'type' => 'integer', - 'format' => 'int32', - 'example' => '30', - ], + 'requestId' => ['description' => '请求ID。', 'type' => 'string', 'example' => ' '."\n" + .'9BFC4AC1-6BE4-5405-BDEC-CA288D404812'."\n"], + 'nextToken' => ['description' => '分页游标。'."\n" + .'> 不为空表示有更多数据。', 'type' => 'string', 'example' => 'AAAAAZjtYxxxxxxxx'], + 'totalCount' => ['description' => '总数据条数。', 'type' => 'integer', 'format' => 'int32', 'example' => '5'], + 'maxResults' => ['description' => '每页最大条目数。', 'type' => 'integer', 'format' => 'int32', 'example' => '30'], 'apiMcpServers' => [ 'description' => '查询的API MCP服务器结果列表。', 'type' => 'array', @@ -3499,16 +2566,8 @@ 'description' => 'API MCP服务信息。', 'type' => 'object', 'properties' => [ - 'id' => [ - 'description' => 'API MCP 服务 ID。', - 'type' => 'string', - 'example' => 'v6ZZ7ftCzEILW***', - ], - 'description' => [ - 'description' => 'API MCP服务器的描述。', - 'type' => 'string', - 'example' => '这是一个API MCP服务器。', - ], + 'id' => ['description' => 'API MCP 服务 ID。', 'type' => 'string', 'example' => 'v6ZZ7ftCzEILW***'], + 'description' => ['description' => 'API MCP服务器的描述。', 'type' => 'string', 'example' => '这是一个API MCP服务器。'], 'apis' => [ 'description' => 'API信息列表。', 'type' => 'array', @@ -3516,29 +2575,17 @@ 'description' => 'API信息。', 'type' => 'object', 'properties' => [ - 'product' => [ - 'description' => '产品CODE。'."\n" - ."\n" - .'- 调用GetRequestLog接口,从返回结果中获取产品CODE。'."\n" - ."\n" - .'- 通过OpenAPI门户的URL,找到对应的产品CODE。例如,短信服务的OpenAPI门户URL为https://api.aliyun.com/product/Dysmsapi,根据该URL获取短信服务的产品CODE为Dysmsapi。'."\n" - .'短信服务的OpenAPI门户URL为https://api.alibabacloud.com/product/Dysmsapi,根据该URL获取短信服务的产品CODE为Dysmsapi。', - 'type' => 'string', - 'example' => 'Ecs', - ], - 'apiVersion' => [ - 'description' => '透出到 MCP SERVER 的 API 所属的 POP version。', - 'type' => 'string', - 'example' => '2014-05-26', - ], + 'product' => ['description' => '产品CODE。'."\n" + ."\n" + .'- 调用GetRequestLog接口,从返回结果中获取产品CODE。'."\n" + ."\n" + .'- 通过OpenAPI门户的URL,找到对应的产品CODE。例如,短信服务的OpenAPI门户URL为https://api.aliyun.com/product/Dysmsapi,根据该URL获取短信服务的产品CODE为Dysmsapi。'."\n" + .'短信服务的OpenAPI门户URL为https://api.alibabacloud.com/product/Dysmsapi,根据该URL获取短信服务的产品CODE为Dysmsapi。', 'type' => 'string', 'example' => 'Ecs'], + 'apiVersion' => ['description' => '透出到 MCP SERVER 的 API 所属的 POP version。', 'type' => 'string', 'example' => '2014-05-26'], 'selectors' => [ 'description' => 'API名称匹配规则列表。', 'type' => 'array', - 'items' => [ - 'description' => 'API名称匹配规则。', - 'type' => 'string', - 'example' => '*Bucket', - ], + 'items' => ['description' => 'API名称匹配规则。', 'type' => 'string', 'example' => '*Bucket'], ], ], ], @@ -3550,43 +2597,20 @@ 'description' => '补充的API描述信息。', 'type' => 'object', 'properties' => [ - 'product' => [ - 'description' => '产品CODE。'."\n" - ."\n" - .'- 调用GetRequestLog接口,从返回结果中获取产品CODE。'."\n" - ."\n" - .'- 通过OpenAPI门户的URL,找到对应的产品CODE。例如,短信服务的OpenAPI门户URL为https://api.aliyun.com/product/Dysmsapi,根据该URL获取短信服务的产品CODE为Dysmsapi。'."\n" - .'短信服务的OpenAPI门户URL为https://api.alibabacloud.com/product/Dysmsapi,根据该URL获取短信服务的产品CODE为Dysmsapi。', - 'type' => 'string', - 'example' => 'Ecs', - ], - 'apiVersion' => [ - 'description' => '透出到 MCP SERVER 的 API 所属的 POP version。', - 'type' => 'string', - 'example' => '2014-05-26', - ], - 'apiName' => [ - 'description' => 'API名称。', - 'type' => 'string', - 'example' => 'DescribeRegions', - ], - 'apiOverrideJson' => [ - 'description' => 'API元数据JSON 格式,参考格式 https://api.aliyun.com/meta/v1/products/Ecs/versions/2014-05-26/apis/DescribeInstances/api.json,支持覆盖其中的summary、parameters。', - 'type' => 'string', - 'example' => '{'."\n" - .' "summary": "本接口支持根据不同请求条件查询实例列表,并关联查询实例的详细信息。"'."\n" - .'}', - ], - 'executeCliCommand' => [ - 'description' => '是否返回CLI的执行命令,这个模式下,不真实执行API调用,返回对应的CLI命令,适用于长耗时的任务,需要搭配使用阿里云CLI执行。', - 'type' => 'boolean', - 'example' => 'true', - ], - 'enableOutputSchema' => [ - 'description' => '是否返回出参的schema,返回出参schema时会增加整个API MCP SERVER的体积。默认值为 null,表示不返回出参的schema。', - 'type' => 'boolean', - 'example' => 'true', - ], + 'product' => ['description' => '产品CODE。'."\n" + ."\n" + .'- 调用GetRequestLog接口,从返回结果中获取产品CODE。'."\n" + ."\n" + .'- 通过OpenAPI门户的URL,找到对应的产品CODE。例如,短信服务的OpenAPI门户URL为https://api.aliyun.com/product/Dysmsapi,根据该URL获取短信服务的产品CODE为Dysmsapi。'."\n" + .'短信服务的OpenAPI门户URL为https://api.alibabacloud.com/product/Dysmsapi,根据该URL获取短信服务的产品CODE为Dysmsapi。', 'type' => 'string', 'example' => 'Ecs'], + 'apiVersion' => ['description' => '透出到 MCP SERVER 的 API 所属的 POP version。', 'type' => 'string', 'example' => '2014-05-26'], + 'apiName' => ['description' => 'API名称。', 'type' => 'string', 'example' => 'DescribeRegions'], + 'apiOverrideJson' => ['description' => 'API元数据JSON 格式,参考格式 https://api.aliyun.com/meta/v1/products/Ecs/versions/2014-05-26/apis/DescribeInstances/api.json,支持覆盖其中的summary、parameters。', 'type' => 'string', 'example' => '{'."\n" + .' "summary": "本接口支持根据不同请求条件查询实例列表,并关联查询实例的详细信息。"'."\n" + .'}'], + 'executeCliCommand' => ['description' => '是否返回CLI的执行命令,这个模式下,不真实执行API调用,返回对应的CLI命令,适用于长耗时的任务,需要搭配使用阿里云CLI执行。', 'type' => 'boolean', 'example' => 'true'], + 'enableOutputSchema' => ['description' => '是否返回出参的schema,返回出参schema时会增加整个API MCP SERVER的体积。默认值为 null,表示不返回出参的schema。', 'type' => 'boolean', 'example' => 'true'], + 'toolAlias' => ['description' => '工具别名,修改为自定义名称,例如 list_ecs_regions,支持英文字符、数字、-、_组成,不同别名不允许重复。', 'type' => 'string', 'example' => 'list_ecs_regions'], 'constParameters' => [ 'description' => '常量入参列表,在API参数解析时,不再输出这部分参数。', 'type' => 'array', @@ -3594,32 +2618,16 @@ 'description' => '常量入参。', 'type' => 'object', 'properties' => [ - 'key' => [ - 'description' => '参数名称。仅支持一级参数名称,对于ROA风格的API,支持设置到body.xx,不允许设置超出顶级参数的值。', - 'type' => 'string', - 'example' => 'InstanceId', - ], - 'value' => [ - 'description' => '参数的值。', - 'type' => 'any', - 'example' => '1234', - ], + 'key' => ['description' => '参数名称。仅支持一级参数名称,对于ROA风格的API,支持设置到body.xx,不允许设置超出顶级参数的值。', 'type' => 'string', 'example' => 'InstanceId'], + 'value' => ['description' => '参数的值。', 'type' => 'any', 'example' => '1234'], ], ], ], ], ], ], - 'createTime' => [ - 'description' => 'API MCP服务器的创建时间。', - 'type' => 'string', - 'example' => '2024-12-10T03:20:21Z', - ], - 'updateTime' => [ - 'description' => 'API MCP服务器的更新时间。', - 'type' => 'string', - 'example' => '2025-01-10T02:11:43Z', - ], + 'createTime' => ['description' => 'API MCP服务器的创建时间。', 'type' => 'string', 'example' => '2024-12-10T03:20:21Z'], + 'updateTime' => ['description' => 'API MCP服务器的更新时间。', 'type' => 'string', 'example' => '2025-01-10T02:11:43Z'], 'prompts' => [ 'description' => 'prompt配置列表。', 'type' => 'array', @@ -3627,21 +2635,9 @@ 'description' => 'prompt配置', 'type' => 'object', 'properties' => [ - 'name' => [ - 'description' => 'prompt名称。', - 'type' => 'string', - 'example' => 'test', - ], - 'description' => [ - 'description' => 'prompt描述信息。', - 'type' => 'string', - 'example' => 'prompt description', - ], - 'content' => [ - 'description' => 'prompt 的内容信息,其变量通过 {{xxx}} 格式指定。xxx为变量,需要从 arguments 参数中定义。', - 'type' => 'string', - 'example' => 'prompt正文,{{name}}', - ], + 'name' => ['description' => 'prompt名称。', 'type' => 'string', 'example' => 'test'], + 'description' => ['description' => 'prompt描述信息。', 'type' => 'string', 'example' => 'prompt description'], + 'content' => ['description' => 'prompt 的内容信息,其变量通过 {{xxx}} 格式指定。xxx为变量,需要从 arguments 参数中定义。', 'type' => 'string', 'example' => 'prompt正文,{{name}}'], 'arguments' => [ 'description' => 'prompt支持的参数列表。', 'type' => 'array', @@ -3649,21 +2645,9 @@ 'description' => 'prompt支持的参数。', 'type' => 'object', 'properties' => [ - 'name' => [ - 'description' => '参数名称。', - 'type' => 'string', - 'example' => 'test', - ], - 'description' => [ - 'description' => '参数的描述信息。', - 'type' => 'string', - 'example' => 'argument description', - ], - 'required' => [ - 'description' => '该参数是否必填。', - 'type' => 'boolean', - 'example' => 'true', - ], + 'name' => ['description' => '参数名称。', 'type' => 'string', 'example' => 'test'], + 'description' => ['description' => '参数的描述信息。', 'type' => 'string', 'example' => 'argument description'], + 'required' => ['description' => '该参数是否必填。', 'type' => 'boolean', 'example' => 'true'], ], ], ], @@ -3673,122 +2657,63 @@ 'language' => [ 'description' => 'API MCP服务的文档语言。支持选择中文或英文API文档,不同的语言提示词对AI的回复效果可能产生差异。', 'type' => 'string', - 'enumValueTitles' => [ - 'EN_US' => 'EN_US', - 'ZH_CN' => 'ZH_CN', - ], + 'enumValueTitles' => ['EN_US' => 'EN_US', 'ZH_CN' => 'ZH_CN'], 'example' => 'ZH_CN', ], 'urls' => [ 'description' => 'API MCP 服务连接信息。', 'type' => 'object', 'properties' => [ - 'sse' => [ - 'description' => 'SSE 协议连接信息。', - 'type' => 'string', - 'example' => 'https://openapi-mcp.cn-hangzhou.aliyuncs.com/accounts/xxxx/custom/xxx/id/xxxx/sse', - ], - 'mcp' => [ - 'description' => 'streamable HTTP 协议连接信息,推荐使用。', - 'type' => 'string', - 'example' => 'https://openapi-mcp.cn-hangzhou.aliyuncs.com/accounts/xxxx/custom/xxx/id/xxxx/mcp', - ], - 'vpcSse' => [ - 'description' => 'VPC 下 SSE 协议连接地址。', - 'type' => 'string', - 'example' => 'https://openapi-mcp-cn.vpc-proxy.aliyuncs.com/accounts/xxxx/custom/xxx/id/xxxx/sse', - ], - 'vpcMcp' => [ - 'description' => 'VPC 下 streamable HTTP 协议连接地址。', - 'type' => 'string', - 'example' => 'https://openapi-mcp-cn.vpc-proxy.aliyuncs.com/accounts/xxxx/custom/xxx/id/xxxx/mcp', - ], + 'sse' => ['description' => 'SSE 协议连接信息。', 'type' => 'string', 'example' => 'https://openapi-mcp.cn-hangzhou.aliyuncs.com/accounts/xxxx/custom/xxx/id/xxxx/sse'], + 'mcp' => ['description' => 'streamable HTTP 协议连接信息,推荐使用。', 'type' => 'string', 'example' => 'https://openapi-mcp.cn-hangzhou.aliyuncs.com/accounts/xxxx/custom/xxx/id/xxxx/mcp'], + 'vpcSse' => ['description' => 'VPC 下 SSE 协议连接地址。', 'type' => 'string', 'example' => 'https://openapi-mcp-cn.vpc-proxy.aliyuncs.com/accounts/xxxx/custom/xxx/id/xxxx/sse'], + 'vpcMcp' => ['description' => 'VPC 下 streamable HTTP 协议连接地址。', 'type' => 'string', 'example' => 'https://openapi-mcp-cn.vpc-proxy.aliyuncs.com/accounts/xxxx/custom/xxx/id/xxxx/mcp'], ], ], 'systemTools' => [ 'description' => '系统工具列表。', 'type' => 'array', - 'items' => [ - 'description' => '系统工具名称。', - 'type' => 'string', - 'example' => 'FetchRamActionDetails', - ], - ], - 'name' => [ - 'description' => 'MCP SERVER 名称信息,由 a-z0-9 组成,3-64 位,不以数字开头,同主账号下必须唯一。', - 'type' => 'string', - 'example' => 'mcp-demo', - ], - 'sourceType' => [ - 'description' => 'API MCP 服务类型。'."\n" - ."\n" - .'- custom 自定义服务'."\n" - ."\n" - .'- system 系统服务', - 'type' => 'string', - 'example' => 'system', + 'items' => ['description' => '系统工具名称。', 'type' => 'string', 'example' => 'FetchRamActionDetails'], ], + 'name' => ['description' => 'MCP SERVER 名称信息,由 a-z0-9 组成,3-64 位,不以数字开头,同主账号下必须唯一。', 'type' => 'string', 'example' => 'mcp-demo'], + 'sourceType' => ['description' => 'API MCP 服务类型。'."\n" + ."\n" + .'- custom 自定义服务'."\n" + ."\n" + .'- system 系统服务', 'type' => 'string', 'example' => 'system'], 'systemMcpServerInfo' => [ 'description' => '系统 MCP 服务列表。', 'type' => 'object', 'properties' => [ - 'product' => [ - 'description' => '产品CODE。'."\n" - ."\n" - .'- 调用GetRequestLog接口,从返回结果中获取产品CODE。'."\n" - ."\n" - .'- 通过OpenAPI门户的URL,找到对应的产品CODE。例如,短信服务的OpenAPI门户URL为https://api.aliyun.com/product/Dysmsapi,根据该URL获取短信服务的产品CODE为Dysmsapi。'."\n" - .'短信服务的OpenAPI门户URL为https://api.alibabacloud.com/product/Dysmsapi,根据该URL获取短信服务的产品CODE为Dysmsapi。', - 'type' => 'string', - 'example' => 'Ecs', - ], - 'name' => [ - 'description' => '系统 MCP 服务名称。', - 'type' => 'string', - 'example' => 'mcp-system', - ], + 'product' => ['description' => '产品CODE。'."\n" + ."\n" + .'- 调用GetRequestLog接口,从返回结果中获取产品CODE。'."\n" + ."\n" + .'- 通过OpenAPI门户的URL,找到对应的产品CODE。例如,短信服务的OpenAPI门户URL为https://api.aliyun.com/product/Dysmsapi,根据该URL获取短信服务的产品CODE为Dysmsapi。'."\n" + .'短信服务的OpenAPI门户URL为https://api.alibabacloud.com/product/Dysmsapi,根据该URL获取短信服务的产品CODE为Dysmsapi。', 'type' => 'string', 'example' => 'Ecs'], + 'name' => ['description' => '系统 MCP 服务名称。', 'type' => 'string', 'example' => 'mcp-system'], ], ], - 'oauthClientId' => [ - 'description' => '选择自定义OAuth配置时的自定义OAuth Client ID。'."\n" - ."\n" - .'`仅支持 Web/Native 应用,且 OAuth 范围必须包含 /acs/mcp-server`', - 'type' => 'string', - 'example' => '403*************370', - ], - 'instructions' => [ - 'description' => 'MCP 指令,用于提示大模型如何使用该 MCP,需要客户端支持 MCP 标准协议的 Instructions 字段。', - 'type' => 'string', - 'example' => 'test', - ], - 'enableAssumeRole' => [ - 'description' => '是否开启多账号访问。', - 'type' => 'boolean', - 'example' => 'true', - ], - 'assumeRoleName' => [ - 'description' => '开启多账号访问进行跨账号操作时,扮演的目标账号 RAM角色名称。', - 'type' => 'string', - 'example' => 'test', - ], - 'assumeRoleExtraPolicy' => [ - 'description' => '开启多账号访问时,角色扮演额外的策略,该策略存在时,角色扮演的权限以当前值为准,覆盖角色本身的权限定义。', - 'type' => 'string', - 'example' => '{'."\n" - .' "Version": "1",'."\n" - .' "Statement": ['."\n" - .' {'."\n" - .' "Effect": "Allow",'."\n" - .' "Action": ['."\n" - .' "ecs:Describe*",'."\n" - .' "vpc:Describe*",'."\n" - .' "vpc:List*"'."\n" - .' ],'."\n" - .' "Resource": "*"'."\n" - .' }'."\n" - .' ]'."\n" - .'}', - ], + 'oauthClientId' => ['description' => '选择自定义OAuth配置时的自定义OAuth Client ID。'."\n" + ."\n" + .'`仅支持 Web/Native 应用,且 OAuth 范围必须包含 /acs/mcp-server`', 'type' => 'string', 'example' => '403*************370'], + 'instructions' => ['description' => 'MCP 指令,用于提示大模型如何使用该 MCP,需要客户端支持 MCP 标准协议的 Instructions 字段。', 'type' => 'string', 'example' => 'test'], + 'enableAssumeRole' => ['description' => '是否开启多账号访问。', 'type' => 'boolean', 'example' => 'true'], + 'assumeRoleName' => ['description' => '开启多账号访问进行跨账号操作时,扮演的目标账号 RAM角色名称。', 'type' => 'string', 'example' => 'test'], + 'assumeRoleExtraPolicy' => ['description' => '开启多账号访问时,角色扮演额外的策略,该策略存在时,角色扮演的权限以当前值为准,覆盖角色本身的权限定义。', 'type' => 'string', 'example' => '{'."\n" + .' "Version": "1",'."\n" + .' "Statement": ['."\n" + .' {'."\n" + .' "Effect": "Allow",'."\n" + .' "Action": ['."\n" + .' "ecs:Describe*",'."\n" + .' "vpc:Describe*",'."\n" + .' "vpc:List*"'."\n" + .' ],'."\n" + .' "Resource": "*"'."\n" + .' }'."\n" + .' ]'."\n" + .'}'], 'terraformTools' => [ 'description' => 'Terraform Tool 列表。', 'type' => 'array', @@ -3796,40 +2721,24 @@ 'description' => 'Terraform Tool 。', 'type' => 'object', 'properties' => [ - 'code' => [ - 'description' => 'Terraform Tool 代码。[HCL 语言概述](https://help.aliyun.com/zh/terraform/terraform-configuration-and-hcl-language-overview)', - 'type' => 'string', - 'example' => 'variable "name" {'."\n" - .' default = "terraform-example"'."\n" - .'}'."\n" - ."\n" - .'provider "alicloud" {'."\n" - .' region = "cn-beijing"'."\n" - .'}'."\n" - ."\n" - .'resource "alicloud_vpc" "default" {'."\n" - .' ipv6_isp = "BGP"'."\n" - .' description = "test"'."\n" - .' cidr_block = "10.0.0.0/8"'."\n" - .' vpc_name = var.name'."\n" - .' enable_ipv6 = true'."\n" - .'}', - ], - 'name' => [ - 'description' => 'Terraform Tool 名称。', - 'type' => 'string', - 'example' => 'test', - ], - 'description' => [ - 'description' => 'Terraform Tool 描述信息。', - 'type' => 'string', - 'example' => 'Terraform Tool description', - ], - 'async' => [ - 'description' => '是否为异步执行,即发起一个任务执行之后会立即处理下一个任务,而不等待每个资源操作完成。', - 'type' => 'boolean', - 'example' => 'true', - ], + 'code' => ['description' => 'Terraform Tool 代码。[HCL 语言概述](https://help.aliyun.com/zh/terraform/terraform-configuration-and-hcl-language-overview)', 'type' => 'string', 'example' => 'variable "name" {'."\n" + .' default = "terraform-example"'."\n" + .'}'."\n" + ."\n" + .'provider "alicloud" {'."\n" + .' region = "cn-beijing"'."\n" + .'}'."\n" + ."\n" + .'resource "alicloud_vpc" "default" {'."\n" + .' ipv6_isp = "BGP"'."\n" + .' description = "test"'."\n" + .' cidr_block = "10.0.0.0/8"'."\n" + .' vpc_name = var.name'."\n" + .' enable_ipv6 = true'."\n" + .'}'], + 'name' => ['description' => 'Terraform Tool 名称。', 'type' => 'string', 'example' => 'test'], + 'description' => ['description' => 'Terraform Tool 描述信息。', 'type' => 'string', 'example' => 'Terraform Tool description'], + 'async' => ['description' => '是否为异步执行,即发起一个任务执行之后会立即处理下一个任务,而不等待每个资源操作完成。', 'type' => 'boolean', 'example' => 'true'], 'destroyPolicy' => [ 'description' => '删除策略,任务执行完成后,系统根据任务执行状态对临时资源采取以下清理策略。'."\n" ."\n" @@ -3837,11 +2746,7 @@ .'- ALWAYS 总是删除:无论任务执行成功或失败,执行完成立即销毁所有相关资源'."\n" .'- ON_FAILURE 失败时删除:仅当任务执行失败时,删除相关资源;当任务执行成功时,则保留这些资源', 'type' => 'string', - 'enumValueTitles' => [ - 'ON_FAILURE' => 'ON_FAILURE', - 'NEVER' => 'NEVER', - 'ALWAYS' => 'ALWAYS', - ], + 'enumValueTitles' => ['ON_FAILURE' => 'ON_FAILURE', 'NEVER' => 'NEVER', 'ALWAYS' => 'ALWAYS'], 'example' => 'ON_FAILURE', ], ], @@ -3851,25 +2756,13 @@ 'description' => '是否开启公网。', 'type' => 'string', 'example' => 'on', - 'enum' => [ - 'on', - 'off', - 'follow', - ], - ], - 'enableCustomVpcWhitelist' => [ - 'description' => '是否开启自定义VPC白名单,不开启则跟随账户级别的配置。', - 'type' => 'boolean', - 'example' => 'true', + 'enum' => ['on', 'off', 'follow'], ], + 'enableCustomVpcWhitelist' => ['description' => '是否开启自定义VPC白名单,不开启则跟随账户级别的配置。', 'type' => 'boolean', 'example' => 'true'], 'vpcWhitelists' => [ 'description' => '关闭公网访问后,限定来源的VPC白名单,不设置或为空表示不限制来源。', 'type' => 'array', - 'items' => [ - 'description' => '每一个限定的VPC白名单,值为来源VPC ID。', - 'type' => 'string', - 'example' => 'vpc-j6cgd2if5lg**0xs6m5se', - ], + 'items' => ['description' => '每一个限定的VPC白名单,值为来源VPC ID。', 'type' => 'string', 'example' => 'vpc-j6cgd2if5lg**0xs6m5se'], ], ], ], @@ -3880,23 +2773,11 @@ ], 'errorCodes' => [ 400 => [ - [ - 'errorCode' => 'InvalidParam.NextToken', - 'errorMessage' => 'The specified NextToken is not valid.', - 'description' => '指定的nextToken无效。', - ], - [ - 'errorCode' => 'NextTokenParameterMismatch', - 'errorMessage' => 'The request uses the same nextToken as the previous request, but with different parameters. NextTokens should not be reused across non-identical requests. Each unique request must have a distinct nextToken.', - 'description' => '请求使用了与之前请求相同的nextToken,但参数不同。请勿在参数不同的请求中重复使用同一nextToken,每个独立请求必须使用唯一的nextToken。 ', - ], + ['errorCode' => 'InvalidParam.NextToken', 'errorMessage' => 'The specified NextToken is not valid.', 'description' => '指定的nextToken无效。'], + ['errorCode' => 'NextTokenParameterMismatch', 'errorMessage' => 'The request uses the same nextToken as the previous request, but with different parameters. NextTokens should not be reused across non-identical requests. Each unique request must have a distinct nextToken.', 'description' => '请求使用了与之前请求相同的nextToken,但参数不同。请勿在参数不同的请求中重复使用同一nextToken,每个独立请求必须使用唯一的nextToken。 '], ], 500 => [ - [ - 'errorCode' => 'InternalServerError', - 'errorMessage' => 'The request has failed due to a temporary failure of the server.', - 'description' => '由于服务器暂时故障,请求失败。', - ], + ['errorCode' => 'InternalServerError', 'errorMessage' => 'The request has failed due to a temporary failure of the server.', 'description' => '由于服务器暂时故障,请求失败。'], ], ], 'title' => '查询API MCP 服务列表', @@ -3912,115 +2793,147 @@ 'authLevel' => 'resource', 'actionConditions' => [], 'resources' => [ - [ - 'validationType' => 'always', - 'product' => 'OpenAPIExplorer', - 'resourceType' => 'ApiMcpServer', - 'arn' => 'acs:openapiexplorer::{#accountId}:apimcpserver/*', - ], + ['validationType' => 'always', 'product' => 'OpenAPIExplorer', 'resourceType' => 'ApiMcpServer', 'arn' => 'acs:openapiexplorer::{#accountId}:apimcpserver/*'], ], ], ], ], - 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"requestId\\": \\"\\\\t\\\\n9BFC4AC1-6BE4-5405-BDEC-CA288D404812\\\\n\\",\\n \\"nextToken\\": \\"AAAAAZjtYxxxxxxxx\\",\\n \\"totalCount\\": 5,\\n \\"maxResults\\": 30,\\n \\"apiMcpServers\\": [\\n {\\n \\"id\\": \\"v6ZZ7ftCzEILW***\\",\\n \\"description\\": \\"这是一个API MCP服务器。\\",\\n \\"apis\\": [\\n {\\n \\"product\\": \\"Ecs\\",\\n \\"apiVersion\\": \\"2014-05-26\\",\\n \\"selectors\\": [\\n \\"*Bucket\\"\\n ]\\n }\\n ],\\n \\"additionalApiDescriptions\\": [\\n {\\n \\"product\\": \\"Ecs\\",\\n \\"apiVersion\\": \\"2014-05-26\\",\\n \\"apiName\\": \\"DescribeRegions\\",\\n \\"apiOverrideJson\\": \\"{\\\\n \\\\\\"summary\\\\\\": \\\\\\"本接口支持根据不同请求条件查询实例列表,并关联查询实例的详细信息。\\\\\\"\\\\n}\\",\\n \\"executeCliCommand\\": true,\\n \\"enableOutputSchema\\": true,\\n \\"constParameters\\": [\\n {\\n \\"key\\": \\"InstanceId\\",\\n \\"value\\": \\"1234\\"\\n }\\n ]\\n }\\n ],\\n \\"createTime\\": \\"2024-12-10T03:20:21Z\\",\\n \\"updateTime\\": \\"2025-01-10T02:11:43Z\\",\\n \\"prompts\\": [\\n {\\n \\"name\\": \\"test\\",\\n \\"description\\": \\"prompt description\\",\\n \\"content\\": \\"prompt正文,{{name}}\\",\\n \\"arguments\\": [\\n {\\n \\"name\\": \\"test\\",\\n \\"description\\": \\"argument description\\",\\n \\"required\\": true\\n }\\n ]\\n }\\n ],\\n \\"language\\": \\"ZH_CN\\",\\n \\"urls\\": {\\n \\"sse\\": \\"https://openapi-mcp.cn-hangzhou.aliyuncs.com/accounts/xxxx/custom/xxx/id/xxxx/sse\\",\\n \\"mcp\\": \\"https://openapi-mcp.cn-hangzhou.aliyuncs.com/accounts/xxxx/custom/xxx/id/xxxx/mcp\\",\\n \\"vpcSse\\": \\"https://openapi-mcp-cn.vpc-proxy.aliyuncs.com/accounts/xxxx/custom/xxx/id/xxxx/sse\\",\\n \\"vpcMcp\\": \\"https://openapi-mcp-cn.vpc-proxy.aliyuncs.com/accounts/xxxx/custom/xxx/id/xxxx/mcp\\"\\n },\\n \\"systemTools\\": [\\n \\"FetchRamActionDetails\\"\\n ],\\n \\"name\\": \\"mcp-demo\\",\\n \\"sourceType\\": \\"system\\",\\n \\"systemMcpServerInfo\\": {\\n \\"product\\": \\"Ecs\\",\\n \\"name\\": \\"mcp-system\\"\\n },\\n \\"oauthClientId\\": \\"403*************370\\",\\n \\"instructions\\": \\"test\\",\\n \\"enableAssumeRole\\": true,\\n \\"assumeRoleName\\": \\"test\\",\\n \\"assumeRoleExtraPolicy\\": \\"{\\\\n \\\\\\"Version\\\\\\": \\\\\\"1\\\\\\",\\\\n \\\\\\"Statement\\\\\\": [\\\\n {\\\\n \\\\\\"Effect\\\\\\": \\\\\\"Allow\\\\\\",\\\\n \\\\\\"Action\\\\\\": [\\\\n \\\\\\"ecs:Describe*\\\\\\",\\\\n \\\\\\"vpc:Describe*\\\\\\",\\\\n \\\\\\"vpc:List*\\\\\\"\\\\n ],\\\\n \\\\\\"Resource\\\\\\": \\\\\\"*\\\\\\"\\\\n }\\\\n ]\\\\n}\\",\\n \\"terraformTools\\": [\\n {\\n \\"code\\": \\"variable \\\\\\"name\\\\\\" {\\\\n default = \\\\\\"terraform-example\\\\\\"\\\\n}\\\\n\\\\nprovider \\\\\\"alicloud\\\\\\" {\\\\n region = \\\\\\"cn-beijing\\\\\\"\\\\n}\\\\n\\\\nresource \\\\\\"alicloud_vpc\\\\\\" \\\\\\"default\\\\\\" {\\\\n ipv6_isp = \\\\\\"BGP\\\\\\"\\\\n description = \\\\\\"test\\\\\\"\\\\n cidr_block = \\\\\\"10.0.0.0/8\\\\\\"\\\\n vpc_name = var.name\\\\n enable_ipv6 = true\\\\n}\\",\\n \\"name\\": \\"test\\",\\n \\"description\\": \\"Terraform Tool description\\",\\n \\"async\\": true,\\n \\"destroyPolicy\\": \\"ON_FAILURE\\"\\n }\\n ],\\n \\"publicAccess\\": \\"on\\",\\n \\"enableCustomVpcWhitelist\\": true,\\n \\"vpcWhitelists\\": [\\n \\"vpc-j6cgd2if5lg**0xs6m5se\\"\\n ]\\n }\\n ]\\n}","type":"json"}]', + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"requestId\\": \\"\\\\t\\\\n9BFC4AC1-6BE4-5405-BDEC-CA288D404812\\\\n\\",\\n \\"nextToken\\": \\"AAAAAZjtYxxxxxxxx\\",\\n \\"totalCount\\": 5,\\n \\"maxResults\\": 30,\\n \\"apiMcpServers\\": [\\n {\\n \\"id\\": \\"v6ZZ7ftCzEILW***\\",\\n \\"description\\": \\"这是一个API MCP服务器。\\",\\n \\"apis\\": [\\n {\\n \\"product\\": \\"Ecs\\",\\n \\"apiVersion\\": \\"2014-05-26\\",\\n \\"selectors\\": [\\n \\"*Bucket\\"\\n ]\\n }\\n ],\\n \\"additionalApiDescriptions\\": [\\n {\\n \\"product\\": \\"Ecs\\",\\n \\"apiVersion\\": \\"2014-05-26\\",\\n \\"apiName\\": \\"DescribeRegions\\",\\n \\"apiOverrideJson\\": \\"{\\\\n \\\\\\"summary\\\\\\": \\\\\\"本接口支持根据不同请求条件查询实例列表,并关联查询实例的详细信息。\\\\\\"\\\\n}\\",\\n \\"executeCliCommand\\": true,\\n \\"enableOutputSchema\\": true,\\n \\"toolAlias\\": \\"list_ecs_regions\\",\\n \\"constParameters\\": [\\n {\\n \\"key\\": \\"InstanceId\\",\\n \\"value\\": \\"1234\\"\\n }\\n ]\\n }\\n ],\\n \\"createTime\\": \\"2024-12-10T03:20:21Z\\",\\n \\"updateTime\\": \\"2025-01-10T02:11:43Z\\",\\n \\"prompts\\": [\\n {\\n \\"name\\": \\"test\\",\\n \\"description\\": \\"prompt description\\",\\n \\"content\\": \\"prompt正文,{{name}}\\",\\n \\"arguments\\": [\\n {\\n \\"name\\": \\"test\\",\\n \\"description\\": \\"argument description\\",\\n \\"required\\": true\\n }\\n ]\\n }\\n ],\\n \\"language\\": \\"ZH_CN\\",\\n \\"urls\\": {\\n \\"sse\\": \\"https://openapi-mcp.cn-hangzhou.aliyuncs.com/accounts/xxxx/custom/xxx/id/xxxx/sse\\",\\n \\"mcp\\": \\"https://openapi-mcp.cn-hangzhou.aliyuncs.com/accounts/xxxx/custom/xxx/id/xxxx/mcp\\",\\n \\"vpcSse\\": \\"https://openapi-mcp-cn.vpc-proxy.aliyuncs.com/accounts/xxxx/custom/xxx/id/xxxx/sse\\",\\n \\"vpcMcp\\": \\"https://openapi-mcp-cn.vpc-proxy.aliyuncs.com/accounts/xxxx/custom/xxx/id/xxxx/mcp\\"\\n },\\n \\"systemTools\\": [\\n \\"FetchRamActionDetails\\"\\n ],\\n \\"name\\": \\"mcp-demo\\",\\n \\"sourceType\\": \\"system\\",\\n \\"systemMcpServerInfo\\": {\\n \\"product\\": \\"Ecs\\",\\n \\"name\\": \\"mcp-system\\"\\n },\\n \\"oauthClientId\\": \\"403*************370\\",\\n \\"instructions\\": \\"test\\",\\n \\"enableAssumeRole\\": true,\\n \\"assumeRoleName\\": \\"test\\",\\n \\"assumeRoleExtraPolicy\\": \\"{\\\\n \\\\\\"Version\\\\\\": \\\\\\"1\\\\\\",\\\\n \\\\\\"Statement\\\\\\": [\\\\n {\\\\n \\\\\\"Effect\\\\\\": \\\\\\"Allow\\\\\\",\\\\n \\\\\\"Action\\\\\\": [\\\\n \\\\\\"ecs:Describe*\\\\\\",\\\\n \\\\\\"vpc:Describe*\\\\\\",\\\\n \\\\\\"vpc:List*\\\\\\"\\\\n ],\\\\n \\\\\\"Resource\\\\\\": \\\\\\"*\\\\\\"\\\\n }\\\\n ]\\\\n}\\",\\n \\"terraformTools\\": [\\n {\\n \\"code\\": \\"variable \\\\\\"name\\\\\\" {\\\\n default = \\\\\\"terraform-example\\\\\\"\\\\n}\\\\n\\\\nprovider \\\\\\"alicloud\\\\\\" {\\\\n region = \\\\\\"cn-beijing\\\\\\"\\\\n}\\\\n\\\\nresource \\\\\\"alicloud_vpc\\\\\\" \\\\\\"default\\\\\\" {\\\\n ipv6_isp = \\\\\\"BGP\\\\\\"\\\\n description = \\\\\\"test\\\\\\"\\\\n cidr_block = \\\\\\"10.0.0.0/8\\\\\\"\\\\n vpc_name = var.name\\\\n enable_ipv6 = true\\\\n}\\",\\n \\"name\\": \\"test\\",\\n \\"description\\": \\"Terraform Tool description\\",\\n \\"async\\": true,\\n \\"destroyPolicy\\": \\"ON_FAILURE\\"\\n }\\n ],\\n \\"publicAccess\\": \\"on\\",\\n \\"enableCustomVpcWhitelist\\": true,\\n \\"vpcWhitelists\\": [\\n \\"vpc-j6cgd2if5lg**0xs6m5se\\"\\n ]\\n }\\n ]\\n}","type":"json"}]', ], - 'UpdateApiMcpServer' => [ - 'summary' => '修改API MCP服务。', - 'path' => '/apimcpserver', - 'methods' => [ - 'patch', - ], - 'schemes' => [ - 'https', - ], + 'ListProducts' => [ + 'summary' => '查询阿里云全部云产品,支持通过关键词过滤', + 'path' => '/listProducts', + 'methods' => ['get'], + 'schemes' => ['https'], 'security' => [ [ 'AK' => [], ], ], - 'consumes' => [ - 'application/json', - ], - 'produces' => [ - 'application/json', - ], - 'operationType' => 'write', + 'consumes' => ['application/json'], + 'produces' => ['application/json'], + 'operationType' => 'read', 'systemTags' => [ - 'operationType' => 'update', + 'operationType' => 'none', 'riskType' => 'none', 'chargeType' => 'free', - 'abilityTreeNodes' => [ - 'FEATUREopenapiexplorer7MPML0', - ], + 'abilityTreeNodes' => ['FEATUREopenapiexplorer7MPML0'], + 'tenantRelevance' => 'publicInformation', ], 'parameters' => [ [ - 'name' => 'clientToken', - 'in' => 'query', - 'schema' => [ - 'description' => '保证请求幂等性。从您的客户端生成一个参数值,确保不同请求间该参数值唯一。ClientToken 只支持 ASCII 字符,且不能超过 64 个字符,建议使用UUID。过期时间为3天。', - 'type' => 'string', - 'required' => false, - 'example' => '123e4567-e89b-12d3-a456-426655440000', - ], - ], - [ - 'name' => 'id', + 'name' => 'filter', 'in' => 'query', - 'schema' => [ - 'description' => 'API MCP 服务的 ID。', - 'type' => 'string', - 'required' => true, - 'example' => 'v6ZZ7ftCzEILW***', - ], + 'schema' => ['description' => '查询的过滤条件,若不输入则查询阿里云的全部云产品。', 'type' => 'string', 'required' => false, 'example' => 'ECS', 'title' => '查询的过滤条件,若不输入则查询阿里云的全部云产品。'], ], - [ - 'name' => 'body', - 'in' => 'body', - 'style' => 'json', + ], + 'responses' => [ + 200 => [ 'schema' => [ - 'description' => '请求body。', 'type' => 'object', 'properties' => [ - 'description' => [ - 'description' => 'API MCP服务器描述信息。', - 'type' => 'string', - 'required' => false, - 'example' => '这是一个API MCP服务器。', - ], - 'apis' => [ - 'description' => '修改的API列表。', + 'products' => [ + 'description' => '产品列表', 'type' => 'array', 'items' => [ - 'description' => 'API信息。', + 'description' => '产品列表', 'type' => 'object', 'properties' => [ - 'product' => [ - 'description' => '产品CODE。'."\n" - ."\n" - .'- 调用GetRequestLog接口,从返回结果中获取产品CODE。'."\n" - ."\n" - .'- 通过OpenAPI门户的URL,找到对应的产品CODE。例如,短信服务的OpenAPI门户URL为https://api.aliyun.com/product/Dysmsapi,根据该URL获取短信服务的产品CODE为Dysmsapi。'."\n" - .'短信服务的OpenAPI门户URL为https://api.alibabacloud.com/product/Dysmsapi,根据该URL获取短信服务的产品CODE为Dysmsapi。', - 'type' => 'string', - 'required' => false, - 'example' => 'Ecs', + 'code' => ['description' => '产品代码,用于唯一标识产品', 'type' => 'string', 'example' => 'Ecs'], + 'name' => ['description' => '云产品中文名称', 'type' => 'string', 'example' => '云服务器 ECS'], + 'description' => ['description' => '云产品描述信息', 'type' => 'string', 'example' => '场景化封装数据智能分析管理。为云上的文档、图片数据,提供一站式数据处理、分析、检索等管控体验。针对不同的业务场景,封装整合完整的处理能力,让数据快速流转。'], + 'shortName' => ['description' => '云产品简称', 'type' => 'string', 'example' => 'ECS'], + 'group' => ['description' => '云产品所属分组', 'type' => 'string', 'example' => '弹性计算'], + 'style' => ['description' => 'API风格', 'type' => 'string', 'example' => 'RPC'], + 'versions' => [ + 'description' => 'API版本', + 'type' => 'array', + 'items' => ['description' => 'API版本', 'type' => 'string', 'example' => '2022-02-20'], ], - 'apiVersion' => [ - 'description' => '透出到 MCP SERVER 的 API 所属的 POP version。', - 'type' => 'string', - 'required' => false, - 'example' => '2014-05-26', + 'recommendVersions' => [ + 'title' => '推荐版本', + 'type' => 'array', + 'items' => ['title' => '推荐版本', 'type' => 'string', 'example' => '2014-05-26'], ], + 'defaultVersion' => ['description' => '默认API版本', 'type' => 'string', 'example' => '2014-05-26'], + 'categoryName' => ['description' => '产品一级分类名称', 'type' => 'string', 'example' => 'ECS'], + 'category2Name' => ['description' => '产品二级分类名称', 'type' => 'string', 'example' => 'Computing'], + ], + ], + ], + 'requestId' => ['description' => '请求ID', 'type' => 'string', 'example' => '9BFC4AC1-6BE4-5405-BDEC-CA288D404812'], + ], + 'description' => '', + ], + ], + ], + 'errorCodes' => [], + 'title' => '查询阿里云云产品', + 'description' => '该接口查询的是公开信息,不涉及账号特殊归属等信息,故不支持授权。', + 'changeSet' => [], + 'flowControl' => [ + 'flowControlList' => [], + ], + 'ramActions' => [], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"products\\": [\\n {\\n \\"code\\": \\"Ecs\\",\\n \\"name\\": \\"云服务器 ECS\\",\\n \\"description\\": \\"场景化封装数据智能分析管理。为云上的文档、图片数据,提供一站式数据处理、分析、检索等管控体验。针对不同的业务场景,封装整合完整的处理能力,让数据快速流转。\\",\\n \\"shortName\\": \\"ECS\\",\\n \\"group\\": \\"弹性计算\\",\\n \\"style\\": \\"RPC\\",\\n \\"versions\\": [\\n \\"2022-02-20\\"\\n ],\\n \\"recommendVersions\\": [\\n \\"2014-05-26\\"\\n ],\\n \\"defaultVersion\\": \\"2014-05-26\\",\\n \\"categoryName\\": \\"ECS\\",\\n \\"category2Name\\": \\"Computing\\"\\n }\\n ],\\n \\"requestId\\": \\"9BFC4AC1-6BE4-5405-BDEC-CA288D404812\\"\\n}","type":"json"}]', + ], + 'UpdateApiMcpServer' => [ + 'summary' => '修改API MCP服务。', + 'path' => '/apimcpserver', + 'methods' => ['patch'], + 'schemes' => ['https'], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'consumes' => ['application/json'], + 'produces' => ['application/json'], + 'operationType' => 'write', + 'systemTags' => [ + 'operationType' => 'update', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeNodes' => ['FEATUREopenapiexplorer7MPML0'], + ], + 'parameters' => [ + [ + 'name' => 'clientToken', + 'in' => 'query', + 'schema' => ['description' => '保证请求幂等性。从您的客户端生成一个参数值,确保不同请求间该参数值唯一。ClientToken 只支持 ASCII 字符,且不能超过 64 个字符,建议使用UUID。过期时间为3天。', 'type' => 'string', 'required' => false, 'example' => '123e4567-e89b-12d3-a456-426655440000'], + ], + [ + 'name' => 'id', + 'in' => 'query', + 'schema' => ['description' => 'API MCP 服务的 ID。', 'type' => 'string', 'required' => true, 'example' => 'v6ZZ7ftCzEILW***'], + ], + [ + 'name' => 'body', + 'in' => 'body', + 'style' => 'json', + 'schema' => [ + 'description' => '请求body。', + 'type' => 'object', + 'properties' => [ + 'description' => ['description' => 'API MCP服务器描述信息。', 'type' => 'string', 'required' => false, 'example' => '这是一个API MCP服务器。'], + 'apis' => [ + 'description' => '修改的API列表。', + 'type' => 'array', + 'items' => [ + 'description' => 'API信息。', + 'type' => 'object', + 'properties' => [ + 'product' => ['description' => '产品CODE。'."\n" + ."\n" + .'- 调用GetRequestLog接口,从返回结果中获取产品CODE。'."\n" + ."\n" + .'- 通过OpenAPI门户的URL,找到对应的产品CODE。例如,短信服务的OpenAPI门户URL为https://api.aliyun.com/product/Dysmsapi,根据该URL获取短信服务的产品CODE为Dysmsapi。'."\n" + .'短信服务的OpenAPI门户URL为https://api.alibabacloud.com/product/Dysmsapi,根据该URL获取短信服务的产品CODE为Dysmsapi。', 'type' => 'string', 'required' => false, 'example' => 'Ecs'], + 'apiVersion' => ['description' => '透出到 MCP SERVER 的 API 所属的 POP version。', 'type' => 'string', 'required' => false, 'example' => '2014-05-26'], 'selectors' => [ 'description' => 'API名称匹配规则列表。', 'type' => 'array', - 'items' => [ - 'description' => 'API名称匹配规则。', - 'type' => 'string', - 'required' => false, - 'example' => '*Bucket', - ], + 'items' => ['description' => 'API名称匹配规则。', 'type' => 'string', 'required' => false, 'example' => '*Bucket'], 'required' => false, ], ], @@ -4035,49 +2948,20 @@ 'description' => '补充API的描述信息。', 'type' => 'object', 'properties' => [ - 'product' => [ - 'description' => '产品CODE。'."\n" - ."\n" - .'- 调用GetRequestLog接口,从返回结果中获取产品CODE。'."\n" - ."\n" - .'- 通过OpenAPI门户的URL,找到对应的产品CODE。例如,短信服务的OpenAPI门户URL为https://api.aliyun.com/product/Dysmsapi,根据该URL获取短信服务的产品CODE为Dysmsapi。'."\n" - .'短信服务的OpenAPI门户URL为https://api.alibabacloud.com/product/Dysmsapi,根据该URL获取短信服务的产品CODE为Dysmsapi。', - 'type' => 'string', - 'required' => false, - 'example' => 'Ecs', - ], - 'apiVersion' => [ - 'description' => '透出到 MCP SERVER 的 API 所属的 POP version。', - 'type' => 'string', - 'required' => false, - 'example' => '2014-05-26', - ], - 'apiName' => [ - 'description' => 'API名称。', - 'type' => 'string', - 'required' => false, - 'example' => 'DescribeRegions', - ], - 'apiOverrideJson' => [ - 'description' => 'API元数据JSON 格式,参考格式 https://api.aliyun.com/meta/v1/products/Ecs/versions/2014-05-26/apis/DescribeInstances/api.json,支持覆盖其中的summary、parameters。', - 'type' => 'string', - 'required' => false, - 'example' => '{'."\n" - .' "summary": "本接口支持根据不同请求条件查询实例列表,并关联查询实例的详细信息。"'."\n" - .'}'."\n", - ], - 'executeCliCommand' => [ - 'description' => '是否返回CLI的执行命令,这个模式下,不真实执行API调用,返回对应的CLI命令,适用于长耗时的任务,需要搭配使用阿里云CLI执行。', - 'type' => 'boolean', - 'required' => false, - 'example' => 'true', - ], - 'enableOutputSchema' => [ - 'description' => '是否返回出参的schema,返回出参schema时会增加整个API MCP SERVER的体积。默认值为 null,表示不返回出参的schema。', - 'type' => 'boolean', - 'required' => false, - 'example' => 'true', - ], + 'product' => ['description' => '产品CODE。'."\n" + ."\n" + .'- 调用GetRequestLog接口,从返回结果中获取产品CODE。'."\n" + ."\n" + .'- 通过OpenAPI门户的URL,找到对应的产品CODE。例如,短信服务的OpenAPI门户URL为https://api.aliyun.com/product/Dysmsapi,根据该URL获取短信服务的产品CODE为Dysmsapi。'."\n" + .'短信服务的OpenAPI门户URL为https://api.alibabacloud.com/product/Dysmsapi,根据该URL获取短信服务的产品CODE为Dysmsapi。', 'type' => 'string', 'required' => false, 'example' => 'Ecs'], + 'apiVersion' => ['description' => '透出到 MCP SERVER 的 API 所属的 POP version。', 'type' => 'string', 'required' => false, 'example' => '2014-05-26'], + 'apiName' => ['description' => 'API名称。', 'type' => 'string', 'required' => false, 'example' => 'DescribeRegions'], + 'apiOverrideJson' => ['description' => 'API元数据JSON 格式,参考格式 https://api.aliyun.com/meta/v1/products/Ecs/versions/2014-05-26/apis/DescribeInstances/api.json,支持覆盖其中的summary、parameters。', 'type' => 'string', 'required' => false, 'example' => '{'."\n" + .' "summary": "本接口支持根据不同请求条件查询实例列表,并关联查询实例的详细信息。"'."\n" + .'}'."\n"], + 'executeCliCommand' => ['description' => '是否返回CLI的执行命令,这个模式下,不真实执行API调用,返回对应的CLI命令,适用于长耗时的任务,需要搭配使用阿里云CLI执行。', 'type' => 'boolean', 'required' => false, 'example' => 'true'], + 'enableOutputSchema' => ['description' => '是否返回出参的schema,返回出参schema时会增加整个API MCP SERVER的体积。默认值为 null,表示不返回出参的schema。', 'type' => 'boolean', 'required' => false, 'example' => 'true'], + 'toolAlias' => ['description' => '工具别名,修改为自定义名称,例如 list_ecs_regions,支持英文字符、数字、-、_组成,不同别名不允许重复。', 'type' => 'string', 'required' => false, 'example' => 'list_ecs_regions'], 'constParameters' => [ 'description' => '常量入参列表,在API参数解析时,不再输出这部分参数。', 'type' => 'array', @@ -4085,18 +2969,8 @@ 'description' => '常量入参。', 'type' => 'object', 'properties' => [ - 'key' => [ - 'description' => '参数名称。仅支持一级参数名称,对于ROA风格的API,支持设置到body.xx,不允许设置超出顶级参数的值。', - 'type' => 'string', - 'required' => false, - 'example' => 'InstanceId', - ], - 'value' => [ - 'description' => '参数的值。', - 'type' => 'any', - 'required' => false, - 'example' => '1234', - ], + 'key' => ['description' => '参数名称。仅支持一级参数名称,对于ROA风格的API,支持设置到body.xx,不允许设置超出顶级参数的值。', 'type' => 'string', 'required' => false, 'example' => 'InstanceId'], + 'value' => ['description' => '参数的值。', 'type' => 'any', 'required' => false, 'example' => '1234'], ], 'required' => false, ], @@ -4114,24 +2988,9 @@ 'description' => 'prompt配置。', 'type' => 'object', 'properties' => [ - 'name' => [ - 'description' => 'prompt名称。', - 'type' => 'string', - 'required' => false, - 'example' => 'test', - ], - 'description' => [ - 'description' => '描述信息。', - 'type' => 'string', - 'required' => false, - 'example' => 'prompt description', - ], - 'content' => [ - 'description' => 'prompt 的内容信息,其变量通过 {{xxx}} 格式指定。xxx为变量,需要从 arguments 参数中定义。', - 'type' => 'string', - 'required' => false, - 'example' => 'prompt正文,{{name}}', - ], + 'name' => ['description' => 'prompt名称。', 'type' => 'string', 'required' => false, 'example' => 'test'], + 'description' => ['description' => '描述信息。', 'type' => 'string', 'required' => false, 'example' => 'prompt description'], + 'content' => ['description' => 'prompt 的内容信息,其变量通过 {{xxx}} 格式指定。xxx为变量,需要从 arguments 参数中定义。', 'type' => 'string', 'required' => false, 'example' => 'prompt正文,{{name}}'], 'arguments' => [ 'description' => 'prompt支持的参数列表。', 'type' => 'array', @@ -4139,24 +2998,9 @@ 'description' => 'prompt支持的参数。', 'type' => 'object', 'properties' => [ - 'name' => [ - 'description' => '参数名称。', - 'type' => 'string', - 'required' => false, - 'example' => 'test', - ], - 'description' => [ - 'description' => '参数的描述信息。', - 'type' => 'string', - 'required' => false, - 'example' => 'argument description', - ], - 'required' => [ - 'description' => '该参数是否必填。', - 'type' => 'boolean', - 'required' => false, - 'example' => 'true', - ], + 'name' => ['description' => '参数名称。', 'type' => 'string', 'required' => false, 'example' => 'test'], + 'description' => ['description' => '参数的描述信息。', 'type' => 'string', 'required' => false, 'example' => 'argument description'], + 'required' => ['description' => '该参数是否必填。', 'type' => 'boolean', 'required' => false, 'example' => 'true'], ], 'required' => false, ], @@ -4172,84 +3016,42 @@ 'type' => 'string', 'required' => false, 'example' => 'ZH_CN', - 'enum' => [ - 'EN_US', - 'ZH_CN', - ], + 'enum' => ['EN_US', 'ZH_CN'], ], 'systemTools' => [ 'description' => '系统工具列表。', 'type' => 'array', - 'items' => [ - 'description' => '系统工具名称', - 'type' => 'string', - 'required' => false, - 'example' => 'FetchRamActionDetails', - ], - 'required' => false, - ], - 'oauthClientId' => [ - 'description' => '选择自定义OAuth配置时的自定义OAuth Client ID。'."\n" - ."\n" - .'`仅支持 Web/Native 应用,且 OAuth 范围必须包含 /acs/mcp-server`', - 'type' => 'string', + 'items' => ['description' => '系统工具名称', 'type' => 'string', 'required' => false, 'example' => 'FetchRamActionDetails'], 'required' => false, - 'example' => '403*************370', - ], - 'instructions' => [ - 'description' => 'MCP 指令,用于提示大模型如何使用该 MCP,需要客户端支持 MCP 标准协议的 Instructions 字段。', - 'type' => 'string', - 'required' => false, - 'example' => 'test', - ], - 'enableAssumeRole' => [ - 'description' => '是否开启多账号访问。', - 'type' => 'boolean', - 'required' => false, - 'example' => 'true', - ], - 'assumeRoleName' => [ - 'description' => '开启多账号访问进行跨账号操作时,扮演的目标账号 RAM角色名称。', - 'type' => 'string', - 'required' => false, - 'example' => 'test', - ], - 'assumeRoleExtraPolicy' => [ - 'description' => '开启多账号访问时,角色扮演额外的策略,该策略存在时,角色扮演的权限以当前值为准,覆盖角色本身的权限定义。', - 'type' => 'string', - 'required' => false, - 'example' => '{'."\n" - .' "Version": "1",'."\n" - .' "Statement": ['."\n" - .' {'."\n" - .' "Effect": "Allow",'."\n" - .' "Action": ['."\n" - .' "ecs:Describe*",'."\n" - .' "vpc:Describe*",'."\n" - .' "vpc:List*"'."\n" - .' ],'."\n" - .' "Resource": "*"'."\n" - .' }'."\n" - .' ]'."\n" - .'}', ], + 'oauthClientId' => ['description' => '选择自定义OAuth配置时的自定义OAuth Client ID。'."\n" + ."\n" + .'`仅支持 Web/Native 应用,且 OAuth 范围必须包含 /acs/mcp-server`', 'type' => 'string', 'required' => false, 'example' => '403*************370'], + 'instructions' => ['description' => 'MCP 指令,用于提示大模型如何使用该 MCP,需要客户端支持 MCP 标准协议的 Instructions 字段。', 'type' => 'string', 'required' => false, 'example' => 'test'], + 'enableAssumeRole' => ['description' => '是否开启多账号访问。', 'type' => 'boolean', 'required' => false, 'example' => 'true'], + 'assumeRoleName' => ['description' => '开启多账号访问进行跨账号操作时,扮演的目标账号 RAM角色名称。', 'type' => 'string', 'required' => false, 'example' => 'test'], + 'assumeRoleExtraPolicy' => ['description' => '开启多账号访问时,角色扮演额外的策略,该策略存在时,角色扮演的权限以当前值为准,覆盖角色本身的权限定义。', 'type' => 'string', 'required' => false, 'example' => '{'."\n" + .' "Version": "1",'."\n" + .' "Statement": ['."\n" + .' {'."\n" + .' "Effect": "Allow",'."\n" + .' "Action": ['."\n" + .' "ecs:Describe*",'."\n" + .' "vpc:Describe*",'."\n" + .' "vpc:List*"'."\n" + .' ],'."\n" + .' "Resource": "*"'."\n" + .' }'."\n" + .' ]'."\n" + .'}'], 'publicAccess' => [ 'description' => '是否开启公网。', 'type' => 'string', 'required' => false, 'example' => 'on', - 'enum' => [ - 'on', - 'off', - 'follow', - ], - ], - 'enableCustomVpcWhitelist' => [ - 'description' => '是否开启自定义VPC白名单,不开启则跟随账户级别的配置。', - 'type' => 'boolean', - 'required' => false, - 'example' => 'true', + 'enum' => ['on', 'off', 'follow'], ], + 'enableCustomVpcWhitelist' => ['description' => '是否开启自定义VPC白名单,不开启则跟随账户级别的配置。', 'type' => 'boolean', 'required' => false, 'example' => 'true'], 'terraformTools' => [ 'description' => 'Terraform Tool 列表。', 'type' => 'array', @@ -4257,44 +3059,24 @@ 'description' => 'Terraform Tool。', 'type' => 'object', 'properties' => [ - 'code' => [ - 'description' => 'Terraform Tool 代码。[HCL 语言概述](https://help.aliyun.com/zh/terraform/terraform-configuration-and-hcl-language-overview)', - 'type' => 'string', - 'required' => false, - 'example' => 'variable "name" {'."\n" - .' default = "terraform-example"'."\n" - .'}'."\n" - ."\n" - .'provider "alicloud" {'."\n" - .' region = "cn-beijing"'."\n" - .'}'."\n" - ."\n" - .'resource "alicloud_vpc" "default" {'."\n" - .' ipv6_isp = "BGP"'."\n" - .' description = "test"'."\n" - .' cidr_block = "10.0.0.0/8"'."\n" - .' vpc_name = var.name'."\n" - .' enable_ipv6 = true'."\n" - .'}', - ], - 'name' => [ - 'description' => 'Terraform Tool 名称。', - 'type' => 'string', - 'required' => false, - 'example' => 'test', - ], - 'description' => [ - 'description' => 'Terraform Tool 描述信息。', - 'type' => 'string', - 'required' => false, - 'example' => 'Terraform Tool description', - ], - 'async' => [ - 'description' => '是否为异步执行,即发起一个任务执行之后会立即处理下一个任务,而不等待每个资源操作完成。', - 'type' => 'boolean', - 'required' => false, - 'example' => 'true', - ], + 'code' => ['description' => 'Terraform Tool 代码。[HCL 语言概述](https://help.aliyun.com/zh/terraform/terraform-configuration-and-hcl-language-overview)', 'type' => 'string', 'required' => false, 'example' => 'variable "name" {'."\n" + .' default = "terraform-example"'."\n" + .'}'."\n" + ."\n" + .'provider "alicloud" {'."\n" + .' region = "cn-beijing"'."\n" + .'}'."\n" + ."\n" + .'resource "alicloud_vpc" "default" {'."\n" + .' ipv6_isp = "BGP"'."\n" + .' description = "test"'."\n" + .' cidr_block = "10.0.0.0/8"'."\n" + .' vpc_name = var.name'."\n" + .' enable_ipv6 = true'."\n" + .'}'], + 'name' => ['description' => 'Terraform Tool 名称。', 'type' => 'string', 'required' => false, 'example' => 'test'], + 'description' => ['description' => 'Terraform Tool 描述信息。', 'type' => 'string', 'required' => false, 'example' => 'Terraform Tool description'], + 'async' => ['description' => '是否为异步执行,即发起一个任务执行之后会立即处理下一个任务,而不等待每个资源操作完成。', 'type' => 'boolean', 'required' => false, 'example' => 'true'], 'destroyPolicy' => [ 'description' => '删除策略,任务执行完成后,系统根据任务执行状态对临时资源采取以下清理策略。'."\n" ."\n" @@ -4304,11 +3086,7 @@ 'type' => 'string', 'required' => false, 'example' => 'ON_FAILURE', - 'enum' => [ - 'NEVER', - 'ALWAYS', - 'ON_FAILURE', - ], + 'enum' => ['NEVER', 'ALWAYS', 'ON_FAILURE'], ], ], 'required' => false, @@ -4318,12 +3096,7 @@ 'vpcWhitelists' => [ 'description' => '关闭公网访问后,限定来源的VPC白名单,不设置或为空表示不限制来源。', 'type' => 'array', - 'items' => [ - 'description' => '每一个限定的VPC白名单,值为来源VPC ID。', - 'type' => 'string', - 'required' => false, - 'example' => 'vpc-j6cgd2if5lg**0xs6m5se', - ], + 'items' => ['description' => '每一个限定的VPC白名单,值为来源VPC ID。', 'type' => 'string', 'required' => false, 'example' => 'vpc-j6cgd2if5lg**0xs6m5se'], 'required' => false, ], ], @@ -4337,124 +3110,43 @@ 'description' => '请求结果。', 'type' => 'object', 'properties' => [ - 'requestId' => [ - 'description' => '请求ID', - 'type' => 'string', - 'example' => ' '."\n" - .'9BFC4AC1-6BE4-5405-BDEC-CA288D404812'."\n", - ], + 'requestId' => ['description' => '请求ID', 'type' => 'string', 'example' => ' '."\n" + .'9BFC4AC1-6BE4-5405-BDEC-CA288D404812'."\n"], ], ], ], ], 'errorCodes' => [ 400 => [ - [ - 'errorCode' => 'Missing.Id', - 'errorMessage' => 'Id is mandatory for this action.', - 'description' => '缺少必填参数Id。', - ], - [ - 'errorCode' => 'Missing.Apis.PopCode', - 'errorMessage' => 'Apis.PopCode is mandatory for this action.', - 'description' => 'Apis参数中缺少必填参数popCode。', - ], - [ - 'errorCode' => 'Missing.Apis.PopVersion', - 'errorMessage' => 'Apis.PopVersion is mandatory for this action.', - 'description' => '缺少必填参数Apis.PopVersion。', - ], - [ - 'errorCode' => 'InvalidParam.Apis.PopVersion', - 'errorMessage' => 'Unsupported product version: %s of product code: %s.', - 'description' => '产品%s不支持%s版本。', - ], - [ - 'errorCode' => 'InvalidParam.Apis.PopCode', - 'errorMessage' => 'Unsupported product code: %s.', - 'description' => '指定的产品名称不存在。', - ], - [ - 'errorCode' => 'Missing.Apis.Selectors', - 'errorMessage' => 'Apis.Selectors is mandatory for this action.', - 'description' => 'Apis.Selectors是必填参数', - ], - [ - 'errorCode' => 'InvalidParam.Language', - 'errorMessage' => 'Unsupported language: %s.', - 'description' => '指定多语言无效。', - ], - [ - 'errorCode' => 'InvalidParam.AdditionalApiDescription.PopVersion', - 'errorMessage' => 'Unsupported product version: %s of product code: %s.', - 'description' => '产品%s不支持%s版本。 ', - ], - [ - 'errorCode' => 'InvalidParam.AdditionalApiDescription.PopCode', - 'errorMessage' => 'Unsupported product code: %s.', - 'description' => '指定的产品名称不存在', - ], - [ - 'errorCode' => 'InvalidParam.SystemTools', - 'errorMessage' => 'System tool %s is not supported.', - 'description' => '指定的系统工具无效。', - ], - [ - 'errorCode' => 'Missing.TerraformTools.Description', - 'errorMessage' => 'TerraformTools.Description is mandatory for this action.', - 'description' => '缺少必填参数TerraformTools.Description', - ], - [ - 'errorCode' => 'Missing.TerraformTools.Code', - 'errorMessage' => 'TerraformTools.Code is mandatory for this action.', - 'description' => '缺少必填参数TerraformTools.Code。', - ], - [ - 'errorCode' => 'IdempotentParameterMismatch', - 'errorMessage' => 'The request uses the same client token as a previous request but with different parameters. Client tokens should not be reused across non-identical requests. Each unique request must have a distinct client token.', - 'description' => '请求使用了与之前请求相同的客户端令牌,但参数不同。请勿在参数不同的请求中重复使用同一令牌,每个独立请求必须使用唯一的令牌。 ', - ], - [ - 'errorCode' => 'InvalidParam.TerraformTools.Name', - 'errorMessage' => 'TerraformTools.Name: %s must be 3 to 64 characters long and can only contain lowercase letters, numbers, underscores, and hyphens.', - 'description' => 'Terraform工具名称长度必须为 3 到 63 个字符,并且只能包含小写字母、数字、下划线和连字符。', - ], - [ - 'errorCode' => 'Missing.TerraformTools.Name', - 'errorMessage' => 'TerraformTools.Name is mandatory for this action.', - 'description' => 'Terraform工具名称是必填参数。', - ], - [ - 'errorCode' => 'InvalidParam.TerraformTools.Code', - 'errorMessage' => 'The Terraform tool code is not valid: %s. Please check the syntax and try again.', - 'description' => '指定的TerraformTools.Code参数无效。', - ], - [ - 'errorCode' => 'InvalidParam.ClientToken', - 'errorMessage' => 'The specified client token is not valid.', - 'description' => '该幂等参数有误,请检查。', - ], + ['errorCode' => 'Missing.Id', 'errorMessage' => 'Id is mandatory for this action.', 'description' => '缺少必填参数Id。'], + ['errorCode' => 'Missing.Apis.PopCode', 'errorMessage' => 'Apis.PopCode is mandatory for this action.', 'description' => 'Apis参数中缺少必填参数popCode。'], + ['errorCode' => 'Missing.Apis.PopVersion', 'errorMessage' => 'Apis.PopVersion is mandatory for this action.', 'description' => '缺少必填参数Apis.PopVersion。'], + ['errorCode' => 'InvalidParam.Apis.PopVersion', 'errorMessage' => 'Unsupported product version: %s of product code: %s.', 'description' => '产品%s不支持%s版本。'], + ['errorCode' => 'InvalidParam.Apis.PopCode', 'errorMessage' => 'Unsupported product code: %s.', 'description' => '指定的产品名称不存在。'], + ['errorCode' => 'Missing.Apis.Selectors', 'errorMessage' => 'Apis.Selectors is mandatory for this action.', 'description' => 'Apis.Selectors是必填参数'], + ['errorCode' => 'InvalidParam.Language', 'errorMessage' => 'Unsupported language: %s.', 'description' => '指定多语言无效。'], + ['errorCode' => 'InvalidParam.AdditionalApiDescription.PopVersion', 'errorMessage' => 'Unsupported product version: %s of product code: %s.', 'description' => '产品%s不支持%s版本。 '], + ['errorCode' => 'InvalidParam.AdditionalApiDescription.PopCode', 'errorMessage' => 'Unsupported product code: %s.', 'description' => '指定的产品名称不存在'], + ['errorCode' => 'InvalidParam.SystemTools', 'errorMessage' => 'System tool %s is not supported.', 'description' => '指定的系统工具无效。'], + ['errorCode' => 'Missing.TerraformTools.Description', 'errorMessage' => 'TerraformTools.Description is mandatory for this action.', 'description' => '缺少必填参数TerraformTools.Description'], + ['errorCode' => 'Missing.TerraformTools.Code', 'errorMessage' => 'TerraformTools.Code is mandatory for this action.', 'description' => '缺少必填参数TerraformTools.Code。'], + ['errorCode' => 'IdempotentParameterMismatch', 'errorMessage' => 'The request uses the same client token as a previous request but with different parameters. Client tokens should not be reused across non-identical requests. Each unique request must have a distinct client token.', 'description' => '请求使用了与之前请求相同的客户端令牌,但参数不同。请勿在参数不同的请求中重复使用同一令牌,每个独立请求必须使用唯一的令牌。 '], + ['errorCode' => 'InvalidParam.TerraformTools.Name', 'errorMessage' => 'TerraformTools.Name: %s must be 3 to 64 characters long and can only contain lowercase letters, numbers, underscores, and hyphens.', 'description' => 'Terraform工具名称长度必须为 3 到 63 个字符,并且只能包含小写字母、数字、下划线和连字符。'], + ['errorCode' => 'Missing.TerraformTools.Name', 'errorMessage' => 'TerraformTools.Name is mandatory for this action.', 'description' => 'Terraform工具名称是必填参数。'], + ['errorCode' => 'InvalidParam.TerraformTools.Code', 'errorMessage' => 'The Terraform tool code is not valid: %s. Please check the syntax and try again.', 'description' => '指定的TerraformTools.Code参数无效。'], + ['errorCode' => 'InvalidParam.ClientToken', 'errorMessage' => 'The specified client token is not valid.', 'description' => '该幂等参数有误,请检查。'], + ['errorCode' => 'InvalidParam.AdditionalApiDescription.ToolAlias', 'errorMessage' => 'ToolAlias \'%s\' is invalid. It must be 1-64 characters, start with a letter, and contain only letters, digits, underscores, and hyphens.', 'description' => ''], ], 403 => [ - [ - 'errorCode' => 'OperationNotAllowed.SystemServer', - 'errorMessage' => 'System type servers are not allowed to be updated or deleted.', - 'description' => '系统级别的服务不允许更新或删除操作。', - ], + ['errorCode' => 'OperationNotAllowed.SystemServer', 'errorMessage' => 'System type servers are not allowed to be updated or deleted.', 'description' => '系统级别的服务不允许更新或删除操作。'], ], [ - [ - 'errorCode' => 'NotFound.ApiMcpServer', - 'errorMessage' => 'Specified MCP server not found.', - 'description' => '指定id的MCP服务不存在。', - ], + ['errorCode' => 'NotFound.ApiMcpServer', 'errorMessage' => 'Specified MCP server not found.', 'description' => '指定id的MCP服务不存在。'], ], 409 => [ - [ - 'errorCode' => 'Exists.TerraformTools.Name', - 'errorMessage' => 'The Terraform tool name already exists.', - 'description' => '指定的Terraform 工具名称已经存在。', - ], + ['errorCode' => 'Exists.TerraformTools.Name', 'errorMessage' => 'The Terraform tool name already exists.', 'description' => '指定的Terraform 工具名称已经存在。'], + ['errorCode' => 'Exists.ToolAlias', 'errorMessage' => 'Duplicate tool alias \'%s\' found. Each tool alias must be unique within an MCP server.', 'description' => ''], + ['errorCode' => 'Conflict.ToolAlias', 'errorMessage' => 'Tool alias \'%s\' conflicts with an existing tool name in this MCP server.', 'description' => ''], ], ], 'title' => '修改API MCP服务', @@ -4470,45 +3162,125 @@ 'authLevel' => 'resource', 'actionConditions' => [], 'resources' => [ - [ - 'validationType' => 'always', - 'product' => 'OpenAPIExplorer', - 'resourceType' => 'ApiMcpServer', - 'arn' => 'acs:openapiexplorer::{#accountId}:apimcpserver/{#id}', + ['validationType' => 'always', 'product' => 'OpenAPIExplorer', 'resourceType' => 'ApiMcpServer', 'arn' => 'acs:openapiexplorer::{#accountId}:apimcpserver/{#id}'], + ], + ], + ], + ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"requestId\\": \\"\\\\t\\\\n9BFC4AC1-6BE4-5405-BDEC-CA288D404812\\\\n\\"\\n}","type":"json"}]', + ], + 'UpdateApiMcpServerCore' => [ + 'summary' => '更新ApiMcpServerCore。', + 'path' => '/apimcpservercore', + 'methods' => ['patch'], + 'schemes' => ['https'], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'consumes' => ['application/json'], + 'produces' => ['application/json'], + 'operationType' => 'write', + 'systemTags' => [ + 'operationType' => 'update', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeNodes' => ['FEATUREopenapiexplorer7MPML0'], + ], + 'parameters' => [ + [ + 'name' => 'clientToken', + 'in' => 'query', + 'schema' => ['description' => '用于保证请求幂等性的唯一标识。在创建或更新资源时,如果多次使用相同的 ClientToken 发起请求,系统会将其视为同一次操作,从而避免重复创建或更新。ClientToken 由客户端生成,建议在重试场景中使用相同的 ClientToken。', 'type' => 'string', 'required' => false, 'example' => '123e4567-e89b-12d3-a456-426655440000'], + ], + [ + 'name' => 'id', + 'in' => 'query', + 'schema' => ['description' => '创建成功的 API MCP Core 服务 ID。', 'type' => 'string', 'required' => true, 'example' => 'v6ZZ7ftCzEILW***'], + ], + [ + 'name' => 'body', + 'in' => 'body', + 'style' => 'json', + 'schema' => [ + 'description' => '请求body。', + 'type' => 'object', + 'properties' => [ + 'oauthClientId' => ['description' => '选择自定义OAuth配置时的自定义OAuth Client ID。'."\n" + ."\n" + .'`仅支持 Web/Native 应用,且 OAuth 范围必须包含 /acs/mcp-server`', 'type' => 'string', 'required' => false, 'example' => '403*************370'], + 'vpcWhitelists' => [ + 'description' => '每一个限定的VPC白名单,值为来源VPC ID。', + 'type' => 'array', + 'items' => ['description' => '每一个限定的VPC白名单,值为来源VPC ID。', 'type' => 'string', 'required' => false, 'example' => 'vpc-j6cgd2if5lg**0xs6m5se'], + 'required' => false, ], + 'enableAssumeRole' => ['description' => '是否开启多账号访问。', 'type' => 'boolean', 'required' => false, 'example' => 'true'], + 'assumeRoleOverridePolicy' => ['description' => 'AssumeRole 覆盖策略', 'type' => 'string', 'required' => false, 'example' => '{\\"Version\\":\\"1\\",\\"Statement\\":[{\\"Effect\\":\\"Allow\\",\\"Action\\":[\\"ecs:Describe*\\"],\\"Resource\\":\\"*\\"}]}'], + 'assumeRoleName' => ['description' => '开启多账号访问进行跨账号操作时,扮演的目标账号 RAM角色名称。', 'type' => 'string', 'required' => false, 'example' => 'test'], + 'publicAccessType' => [ + 'description' => '公网访问类型:允许公网访问、不允许公网访问、继承账号配置。'."\n" + .'`public`(开启), `private`(关闭), `inherit`(跟随账号配置)', + 'type' => 'string', + 'required' => false, + 'enumValueTitles' => ['private' => '关闭', 'public' => '开启', 'inherit' => '跟随账号配置'], + 'example' => 'public', + ], + 'enableCustomVpcWhitelist' => ['description' => '是否开启自定义VPC白名单,不开启则跟随账户级别的配置。', 'type' => 'boolean', 'required' => false, 'example' => 'true'], ], + 'required' => false, ], ], ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'type' => 'object', + 'properties' => [ + 'requestId' => ['description' => '请求ID。', 'type' => 'string', 'example' => ' '."\n" + .'9BFC4AC1-6BE4-5405-BDEC-CA288D404812'."\n"], + ], + 'description' => '', + ], + ], + ], + 'errorCodes' => [ + 400 => [ + ['errorCode' => 'Missing.Id', 'errorMessage' => 'Id is mandatory for this action.', 'description' => '缺少必填参数Id。'], + ['errorCode' => 'IdempotentParameterMismatch', 'errorMessage' => 'The request uses the same client token as a previous request but with different parameters. Client tokens should not be reused across non-identical requests. Each unique request must have a distinct client token.', 'description' => '请求使用了与之前请求相同的客户端令牌,但参数不同。请勿在参数不同的请求中重复使用同一令牌,每个独立请求必须使用唯一的令牌。 '], + ['errorCode' => 'InvalidParam.ClientToken', 'errorMessage' => 'The specified client token is not valid.', 'description' => '该幂等参数有误,请检查。'], + ], + 404 => [ + ['errorCode' => 'NotFound.ApiMcpServer', 'errorMessage' => 'Specified MCP server not found.', 'description' => '指定id的MCP服务不存在。'], + ], + ], + 'title' => '更新ApiMcpServerCore', + 'description' => '该接口查询的是公开信息,不涉及账号特殊归属等信息,故不支持授权。', + 'changeSet' => [], + 'flowControl' => [ + 'flowControlList' => [], + ], + 'ramActions' => [], 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"requestId\\": \\"\\\\t\\\\n9BFC4AC1-6BE4-5405-BDEC-CA288D404812\\\\n\\"\\n}","type":"json"}]', ], 'UpdateApiMcpServerUserConfig' => [ 'path' => '/userconfig/update', - 'methods' => [ - 'patch', - ], - 'schemes' => [ - 'https', - ], + 'methods' => ['patch'], + 'schemes' => ['https'], 'security' => [ [ 'AK' => [], ], ], - 'consumes' => [ - 'application/json', - ], - 'produces' => [ - 'application/json', - ], + 'consumes' => ['application/json'], + 'produces' => ['application/json'], 'operationType' => 'write', 'systemTags' => [ 'operationType' => 'update', 'riskType' => 'none', 'chargeType' => 'free', - 'abilityTreeNodes' => [ - 'FEATUREopenapiexplorer7MPML0', - ], + 'abilityTreeNodes' => ['FEATUREopenapiexplorer7MPML0'], 'tenantRelevance' => 'publicInformation', ], 'parameters' => [ @@ -4520,21 +3292,11 @@ 'description' => '请求body。', 'type' => 'object', 'properties' => [ - 'enablePublicAccess' => [ - 'description' => '是否开启账户下所有API MCP Server(包含系统MCP Server)的公网访问能力,默认为开启,关闭后只能通过VPC域名访问。', - 'type' => 'boolean', - 'required' => false, - 'example' => 'true', - ], + 'enablePublicAccess' => ['description' => '是否开启账户下所有API MCP Server(包含系统MCP Server)的公网访问能力,默认为开启,关闭后只能通过VPC域名访问。', 'type' => 'boolean', 'required' => false, 'example' => 'true'], 'vpcWhitelists' => [ 'description' => '关闭公网访问后,限定来源的VPC白名单,不设置或为空表示不限制来源。', 'type' => 'array', - 'items' => [ - 'description' => '每一个限定的VPC白名单,值为来源VPC ID。', - 'type' => 'string', - 'required' => false, - 'example' => 'vpc-j6cgd2if5lg**0xs6m5se', - ], + 'items' => ['description' => '每一个限定的VPC白名单,值为来源VPC ID。', 'type' => 'string', 'required' => false, 'example' => 'vpc-j6cgd2if5lg**0xs6m5se'], 'required' => false, ], ], @@ -4548,12 +3310,8 @@ 'description' => '请求结果。', 'type' => 'object', 'properties' => [ - 'requestId' => [ - 'description' => '请求ID。', - 'type' => 'string', - 'example' => ' '."\n" - .'9BFC4AC1-6BE4-5405-BDEC-CA288D404812'."\n", - ], + 'requestId' => ['description' => '请求ID。', 'type' => 'string', 'example' => ' '."\n" + .'9BFC4AC1-6BE4-5405-BDEC-CA288D404812'."\n"], ], ], ], @@ -4573,12 +3331,7 @@ 'authLevel' => 'resource', 'actionConditions' => [], 'resources' => [ - [ - 'validationType' => 'always', - 'product' => 'OpenAPIExplorer', - 'resourceType' => '全部资源', - 'arn' => '*', - ], + ['validationType' => 'always', 'product' => 'OpenAPIExplorer', 'resourceType' => '全部资源', 'arn' => '*'], ], ], ], @@ -4587,401 +3340,72 @@ ], ], 'endpoints' => [ - [ - 'regionId' => 'cn-hangzhou', - 'regionName' => '华东1(杭州)', - 'areaId' => 'asiaPacific', - 'areaName' => '亚太', - 'public' => 'openapi-mcp.cn-hangzhou.aliyuncs.com', - 'endpoint' => 'openapi-mcp.cn-hangzhou.aliyuncs.com', - 'vpc' => '', - ], - [ - 'regionId' => 'ap-southeast-1', - 'regionName' => '新加坡', - 'areaId' => 'asiaPacific', - 'areaName' => '亚太', - 'public' => 'openapi-mcp.ap-southeast-1.aliyuncs.com', - 'endpoint' => 'openapi-mcp.ap-southeast-1.aliyuncs.com', - 'vpc' => '', - ], - [ - 'regionId' => 'public', - 'regionName' => '公网', - 'areaId' => 'other', - 'areaName' => '其它', - 'public' => 'openapiexplorer.aliyuncs.com', - 'endpoint' => 'openapiexplorer.aliyuncs.com', - 'vpc' => '', - ], + ['regionId' => 'cn-hangzhou', 'regionName' => '华东1(杭州)', 'areaId' => 'asiaPacific', 'areaName' => '亚太', 'public' => 'openapi-mcp.cn-hangzhou.aliyuncs.com', 'endpoint' => 'openapi-mcp.cn-hangzhou.aliyuncs.com', 'vpc' => ''], + ['regionId' => 'ap-southeast-1', 'regionName' => '新加坡', 'areaId' => 'asiaPacific', 'areaName' => '亚太', 'public' => 'openapi-mcp.ap-southeast-1.aliyuncs.com', 'endpoint' => 'openapi-mcp.ap-southeast-1.aliyuncs.com', 'vpc' => ''], + ['regionId' => 'public', 'regionName' => '公网', 'areaId' => 'other', 'areaName' => '其它', 'public' => 'openapiexplorer.aliyuncs.com', 'endpoint' => 'openapiexplorer.aliyuncs.com', 'vpc' => ''], ], 'errorCodes' => [ - [ - 'code' => 'InvalidApiMcpServer.NotFound', - 'message' => 'The specified ApiMcpServer does not exist.', - 'http_code' => 404, - 'description' => '指定的 ApiMcpServer 不存在。', - ], - [ - 'code' => 'InvalidParam.AcceptLanguage', - 'message' => 'Accepted language should only be zh-CN or en-US.', - 'http_code' => 400, - 'description' => '参数无效,接受的语言只能是zh-CN或en-US。', - ], - [ - 'code' => 'InvalidParam.Apis', - 'message' => 'Apis is mandatory for this action.', - 'http_code' => 400, - 'description' => 'Apis是必填参数。', - ], - [ - 'code' => 'InvalidParam.ErrorCode', - 'message' => 'The errorCode should be a string and cannot be empty.', - 'http_code' => 400, - 'description' => 'ErrorCode参数无效,应该是字符串,不能为空。', - ], - [ - 'code' => 'InvalidParam.ErrorMessage', - 'message' => 'The errorMessage should be a string or null.', - 'http_code' => 400, - 'description' => '参数 errorMessage 无效。ErrorMessage应该是字符串或null。', - ], - [ - 'code' => 'InvalidParam.LogRequestId', - 'message' => 'Please ensure that the request ID you provided originates from a request you made to a certain OpenAPI.', - 'http_code' => 400, - 'description' => '参数logRequestId无效。你请确保您提供的请求ID源自您向某个OpenAPI发出的请求。', - ], - [ - 'code' => 'InvalidParam.ParentId', - 'message' => 'ParentId is mandatory for this action.', - 'http_code' => 400, - 'description' => 'ParentId是必填参数。', - ], - [ - 'code' => 'InvalidParam.Path', - 'message' => 'Path is mandatory for this action.', - 'http_code' => 400, - 'description' => 'Path参数必填。', - ], - [ - 'code' => 'InvalidParam.PopCode', - 'message' => 'PopCode is mandatory for this action.', - 'http_code' => 400, - 'description' => 'PopCode是必填参数。', - ], - [ - 'code' => 'InvalidParam.PopVersion', - 'message' => 'PopVersion is mandatory for this action.', - 'http_code' => 400, - 'description' => 'PopVersion是必填参数。', - ], - [ - 'code' => 'InvalidParam.Product', - 'message' => 'The product should be a string or null.', - 'http_code' => 400, - 'description' => '参数 product 无效,应该是字符串或null。', - ], - [ - 'code' => 'InvalidParam.Selectors', - 'message' => 'Selectors is mandatory for this action.', - 'http_code' => 400, - 'description' => 'Selectors是必填参数。', - ], - [ - 'code' => 'NotFound.Product', - 'message' => 'The provided product does not exist.', - 'http_code' => 404, - 'description' => '您提供的产品名称不存在。', - ], - [ - 'code' => 'NotFound.RequestLog', - 'message' => 'The log related to this logRequestId does not exist, has expired, or you do not have permission to view it.', - 'http_code' => 404, - 'description' => '与此logRequestId相关的日志不存在、已过期或您没有查看它的权限。', - ], - [ - 'code' => 'InvalidParam.TerraformTool.Code', - 'message' => 'The Terraform tool code is not valid. Please check the syntax and try again.', - 'http_code' => 400, - 'description' => '指定的TerraformTool.Code参数无效。', - ], - [ - 'code' => 'TerraformToolName.exists', - 'message' => 'The specified Terraform tool name already exists.', - 'http_code' => 409, - 'description' => '指定的Terraform 工具名称已经存在。', - ], - [ - 'code' => 'OperationNotAllowed.SystemServer', - 'message' => 'System type servers are not allowed to be updated or deleted.', - 'http_code' => 403, - 'description' => '系统级别的服务不允许更新或删除操作。', - ], - [ - 'code' => 'AccountMismatch', - 'message' => 'The specified client token dose not belong to your account.', - 'http_code' => 400, - 'description' => '幂等参数对应的parentId不一致。', - ], - [ - 'code' => 'Missing.Name', - 'message' => 'Name is mandatory for this action.', - 'http_code' => 400, - 'description' => 'Name是必填参数', - ], - [ - 'code' => 'InvalidParam.SystemTools', - 'message' => 'System tool %s is not supported.', - 'http_code' => 400, - 'description' => '指定的系统工具无效。', - ], - [ - 'code' => 'MissingParam.ParentId', - 'message' => 'ParentId is mandatory for this action.', - 'http_code' => 400, - 'description' => 'ParentId 是必填参数,该参数为请求头中的x-acs-account-id参数', - ], - [ - 'code' => 'Exists.Name', - 'message' => 'The MCP server name already exists.', - 'http_code' => 409, - 'description' => '同一个主账号ID下已存在该名称。', - ], - [ - 'code' => 'QuotaExceeded', - 'message' => 'The number of MCP server created by the user has reached the upper limit.', - 'http_code' => 429, - 'description' => '用户创建的MCP服务器数量已达到上限。', - ], - [ - 'code' => 'MissingParam.CreateUid', - 'message' => 'CreateUid is mandatory for this action.', - 'http_code' => 400, - 'description' => '缺少调用者UID,该参数为请求头中的x-acs-caller-uid参数。', - ], - [ - 'code' => 'Missing.TerraformTools.Code', - 'message' => 'TerraformTools.Code is mandatory for this action.', - 'http_code' => 400, - 'description' => '缺少必填参数TerraformTools.Code。', - ], - [ - 'code' => 'NextTokenParameterMismatch', - 'message' => 'The request uses the same nextToken as the previous request, but with different parameters. NextTokens should not be reused across non-identical requests. Each unique request must have a distinct nextToken.', - 'http_code' => 400, - 'description' => '请求使用了与之前请求相同的nextToken,但参数不同。请勿在参数不同的请求中重复使用同一nextToken,每个独立请求必须使用唯一的nextToken。 ', - ], - [ - 'code' => 'Missing.Id', - 'message' => 'Id is mandatory for this action.', - 'http_code' => 400, - 'description' => '缺少必填参数Id。', - ], - [ - 'code' => 'Missing.Apis', - 'message' => 'Apis is mandatory for this action.', - 'http_code' => 400, - 'description' => '缺少必填参数Apis', - ], - [ - 'code' => 'InvalidParam.Apis.PopVersion', - 'message' => 'Unsupported product version: %s of product code: %s.', - 'http_code' => 400, - 'description' => '产品%s不支持%s版本。', - ], - [ - 'code' => 'Missing.Apis.PopVersion', - 'message' => 'Apis.PopVersion is mandatory for this action.', - 'http_code' => 400, - 'description' => '缺少必填参数Apis.PopVersion。', - ], - [ - 'code' => 'IdempotentParameterMismatch', - 'message' => 'The request uses the same client token as a previous request but with different parameters. Client tokens should not be reused across non-identical requests. Each unique request must have a distinct client token.', - 'http_code' => 400, - 'description' => '请求使用了与之前请求相同的客户端令牌,但参数不同。请勿在参数不同的请求中重复使用同一令牌,每个独立请求必须使用唯一的令牌。 ', - ], - [ - 'code' => 'Missing.Apis.Selectors', - 'message' => 'Apis.Selectors is mandatory for this action.', - 'http_code' => 400, - 'description' => 'Apis.Selectors是必填参数', - ], - [ - 'code' => 'InvalidParam.Language', - 'message' => 'Unsupported language: %s.', - 'http_code' => 400, - 'description' => '指定多语言无效。', - ], - [ - 'code' => 'InvalidParam.Name', - 'message' => 'Name must be 3 to 16 characters long and can only contain lowercase letters, numbers, underscores, and hyphens.', - 'http_code' => 400, - 'description' => '参数name不符合长度3-16,只包含小写字母、数字、下划线和连字符的规范。', - ], - [ - 'code' => 'MissingParam.PrincipalId', - 'message' => 'PrincipalId is mandatory for this action.', - 'http_code' => 400, - 'description' => 'STS角色扮演场景下,缺少PrincipalId参数,该参数为请求头中的x-acs-sts-token-principal-id参数。', - ], - [ - 'code' => 'InvalidParam.Apis.PopCode', - 'message' => 'Unsupported product code: %s.', - 'http_code' => 400, - 'description' => '指定的产品名称不存在。', - ], - [ - 'code' => 'Missing.Apis.PopCode', - 'message' => 'Apis.PopCode is mandatory for this action.', - 'http_code' => 400, - 'description' => 'Apis参数中缺少必填参数popCode。', - ], - [ - 'code' => 'InvalidParam.TerraformName', - 'message' => 'TerraformName must be 3 to 63 characters long and can only contain lowercase letters, numbers, underscores, and hyphens.', - 'http_code' => 400, - 'description' => '参数TerraformName不符合长度3-63,只包含小写字母、数字、下划线和连字符的规范。', - ], - [ - 'code' => 'InternalServerError', - 'message' => 'The request has failed due to a temporary failure of the server.', - 'http_code' => 500, - 'description' => '由于服务器暂时故障,请求失败。', - ], - [ - 'code' => 'InvalidParam.AdditionalApiDescription.PopVersion', - 'message' => 'Unsupported product version: %s of product code: %s.', - 'http_code' => 400, - 'description' => '产品%s不支持%s版本。 ', - ], - [ - 'code' => 'Missing.TerraformTools.Description', - 'message' => 'TerraformTools.Description is mandatory for this action.', - 'http_code' => 400, - 'description' => '缺少必填参数TerraformTools.Description', - ], - [ - 'code' => 'InvalidParam.NextToken', - 'message' => 'The specified NextToken is not valid.', - 'http_code' => 400, - 'description' => '指定的nextToken无效。', - ], - [ - 'code' => 'NotFound.ApiMcpServer', - 'message' => 'Specified MCP server not found.', - 'http_code' => 404, - 'description' => '指定id的MCP服务不存在。', - ], - [ - 'code' => 'InvalidParam.AdditionalApiDescription.PopCode', - 'message' => 'Unsupported product code: %s.', - 'http_code' => 400, - 'description' => '指定的产品名称不存在', - ], - [ - 'code' => 'Missing.TerraformName', - 'message' => 'TerraformName is mandatory for this action.', - 'http_code' => 400, - 'description' => '缺少必填参数TerraformName。', - ], - [ - 'code' => 'InvalidParam.Name', - 'message' => 'Name must be 3 to 63 characters long and can only contain lowercase letters, numbers, underscores, and hyphens.', - 'http_code' => 400, - 'description' => '名称长度必须为 3 到 63 个字符,并且只能包含小写字母、数字、下划线和连字符。', - ], - [ - 'code' => 'InvalidParam.TerraformTools.Code', - 'message' => 'The Terraform tool code is not valid. Please check the syntax and try again.', - 'http_code' => 400, - 'description' => '指定的TerraformTools.Code参数无效。', - ], - [ - 'code' => 'InvalidParam.TerraformName', - 'message' => 'TerraformName must be 3 to 64 characters long and can only contain lowercase letters, numbers, underscores, and hyphens.', - 'http_code' => 400, - 'description' => 'Terraform工具名称的长度必须为 3 到 64 个字符,并且只能包含小写字母、数字、下划线和连字符。', - ], - [ - 'code' => 'InvalidParam.Name', - 'message' => 'Name must be 3 to 64 characters long and can only contain lowercase letters, numbers, underscore, and hyphens.', - 'http_code' => 400, - 'description' => '名称长度必须为 3 到 64 个字符,并且只能包含小写字母、数字、下划线和连字符。', - ], - [ - 'code' => 'Exists.TerraformTools.Name', - 'message' => 'The Terraform tool name already exists.', - 'http_code' => 409, - 'description' => '指定的Terraform 工具名称已经存在。', - ], - [ - 'code' => 'Missing.TerraformTools.Name', - 'message' => 'TerraformTools.Name is mandatory for this action.', - 'http_code' => 400, - 'description' => 'Terraform工具名称是必填参数。', - ], - [ - 'code' => 'InvalidParam.TerraformTools.Name', - 'message' => 'TerraformTools.Name: %s must be 3 to 64 characters long and can only contain lowercase letters, numbers, underscores, and hyphens.', - 'http_code' => 400, - 'description' => 'Terraform工具名称长度必须为 3 到 63 个字符,并且只能包含小写字母、数字、下划线和连字符。', - ], - [ - 'code' => 'Missing.AccountId', - 'message' => 'x-acs-account-id is mandatory in request header for this action.', - 'http_code' => 400, - 'description' => '请求头中缺少必填参数x-acs-account-id。', - ], - [ - 'code' => 'MissingParam.PrincipalId', - 'message' => 'x-acs-sts-token-principal-id is mandatory in request header in STS assumeRole scenario for this action.', - 'http_code' => 400, - 'description' => 'STS角色扮演场景下,请求头中缺少必填参数x-acs-sts-token-principal-id。', - ], - [ - 'code' => 'MissingParam.Calleruid', - 'message' => 'x-acs-caller-uid is mandatory in request header for this action.', - 'http_code' => 400, - 'description' => '请求头中缺少必填参数x-acs-caller-uid。', - ], - [ - 'code' => 'Missing.PrincipalId', - 'message' => 'x-acs-sts-token-principal-id is mandatory in request header in STS assumeRole scenario for this action.', - 'http_code' => 400, - 'description' => 'STS角色扮演场景下,请求头中缺少必填参数x-acs-sts-token-principal-id。', - ], - [ - 'code' => 'Missing.CallerUid', - 'message' => 'x-acs-caller-uid is mandatory in request header for this action.', - 'http_code' => 400, - 'description' => '请求头中缺少必填参数x-acs-caller-uid。', - ], - [ - 'code' => 'Missing.Code', - 'message' => 'Code is mandatory for this action.', - 'http_code' => 400, - 'description' => '缺少必填参数Code。', - ], - [ - 'code' => 'InvalidParam.Code', - 'message' => 'Empty code is not valid.', - 'http_code' => 400, - 'description' => 'Code参数为无效的空字符串。', - ], - [ - 'code' => 'InvalidParam.TerraformTools.Code', - 'message' => 'The Terraform tool code is not valid: %s. Please check the syntax and try again.', - 'http_code' => 400, - 'description' => '指定的TerraformTools.Code参数无效。', - ], - [ - 'code' => 'InvalidParam.ClientToken', - 'message' => 'The specified client token is not valid.', - 'http_code' => 400, - 'description' => '该幂等参数有误,请检查。', - ], + ['code' => 'InvalidApiMcpServer.NotFound', 'message' => 'The specified ApiMcpServer does not exist.', 'http_code' => 404, 'description' => '指定的 ApiMcpServer 不存在。'], + ['code' => 'InvalidParam.AcceptLanguage', 'message' => 'Accepted language should only be zh-CN or en-US.', 'http_code' => 400, 'description' => '参数无效,接受的语言只能是zh-CN或en-US。'], + ['code' => 'InvalidParam.Apis', 'message' => 'Apis is mandatory for this action.', 'http_code' => 400, 'description' => 'Apis是必填参数。'], + ['code' => 'InvalidParam.ErrorCode', 'message' => 'The errorCode should be a string and cannot be empty.', 'http_code' => 400, 'description' => 'ErrorCode参数无效,应该是字符串,不能为空。'], + ['code' => 'InvalidParam.ErrorMessage', 'message' => 'The errorMessage should be a string or null.', 'http_code' => 400, 'description' => '参数 errorMessage 无效。ErrorMessage应该是字符串或null。'], + ['code' => 'InvalidParam.LogRequestId', 'message' => 'Please ensure that the request ID you provided originates from a request you made to a certain OpenAPI.', 'http_code' => 400, 'description' => '参数logRequestId无效。你请确保您提供的请求ID源自您向某个OpenAPI发出的请求。'], + ['code' => 'InvalidParam.ParentId', 'message' => 'ParentId is mandatory for this action.', 'http_code' => 400, 'description' => 'ParentId是必填参数。'], + ['code' => 'InvalidParam.Path', 'message' => 'Path is mandatory for this action.', 'http_code' => 400, 'description' => 'Path参数必填。'], + ['code' => 'InvalidParam.PopCode', 'message' => 'PopCode is mandatory for this action.', 'http_code' => 400, 'description' => 'PopCode是必填参数。'], + ['code' => 'InvalidParam.PopVersion', 'message' => 'PopVersion is mandatory for this action.', 'http_code' => 400, 'description' => 'PopVersion是必填参数。'], + ['code' => 'InvalidParam.Product', 'message' => 'The product should be a string or null.', 'http_code' => 400, 'description' => '参数 product 无效,应该是字符串或null。'], + ['code' => 'InvalidParam.Selectors', 'message' => 'Selectors is mandatory for this action.', 'http_code' => 400, 'description' => 'Selectors是必填参数。'], + ['code' => 'NotFound.Product', 'message' => 'The provided product does not exist.', 'http_code' => 404, 'description' => '您提供的产品名称不存在。'], + ['code' => 'NotFound.RequestLog', 'message' => 'The log related to this logRequestId does not exist, has expired, or you do not have permission to view it.', 'http_code' => 404, 'description' => '与此logRequestId相关的日志不存在、已过期或您没有查看它的权限。'], + ['code' => 'InvalidParam.TerraformTool.Code', 'message' => 'The Terraform tool code is not valid. Please check the syntax and try again.', 'http_code' => 400, 'description' => '指定的TerraformTool.Code参数无效。'], + ['code' => 'TerraformToolName.exists', 'message' => 'The specified Terraform tool name already exists.', 'http_code' => 409, 'description' => '指定的Terraform 工具名称已经存在。'], + ['code' => 'OperationNotAllowed.SystemServer', 'message' => 'System type servers are not allowed to be updated or deleted.', 'http_code' => 403, 'description' => '系统级别的服务不允许更新或删除操作。'], + ['code' => 'AccountMismatch', 'message' => 'The specified client token dose not belong to your account.', 'http_code' => 400, 'description' => '幂等参数对应的parentId不一致。'], + ['code' => 'Missing.Name', 'message' => 'Name is mandatory for this action.', 'http_code' => 400, 'description' => 'Name是必填参数'], + ['code' => 'InvalidParam.SystemTools', 'message' => 'System tool %s is not supported.', 'http_code' => 400, 'description' => '指定的系统工具无效。'], + ['code' => 'MissingParam.ParentId', 'message' => 'ParentId is mandatory for this action.', 'http_code' => 400, 'description' => 'ParentId 是必填参数,该参数为请求头中的x-acs-account-id参数'], + ['code' => 'Exists.Name', 'message' => 'The MCP server name already exists.', 'http_code' => 409, 'description' => '同一个主账号ID下已存在该名称。'], + ['code' => 'QuotaExceeded', 'message' => 'The number of MCP server created by the user has reached the upper limit.', 'http_code' => 429, 'description' => '用户创建的MCP服务器数量已达到上限。'], + ['code' => 'MissingParam.CreateUid', 'message' => 'CreateUid is mandatory for this action.', 'http_code' => 400, 'description' => '缺少调用者UID,该参数为请求头中的x-acs-caller-uid参数。'], + ['code' => 'Missing.TerraformTools.Code', 'message' => 'TerraformTools.Code is mandatory for this action.', 'http_code' => 400, 'description' => '缺少必填参数TerraformTools.Code。'], + ['code' => 'NextTokenParameterMismatch', 'message' => 'The request uses the same nextToken as the previous request, but with different parameters. NextTokens should not be reused across non-identical requests. Each unique request must have a distinct nextToken.', 'http_code' => 400, 'description' => '请求使用了与之前请求相同的nextToken,但参数不同。请勿在参数不同的请求中重复使用同一nextToken,每个独立请求必须使用唯一的nextToken。 '], + ['code' => 'Missing.Id', 'message' => 'Id is mandatory for this action.', 'http_code' => 400, 'description' => '缺少必填参数Id。'], + ['code' => 'Missing.Apis', 'message' => 'Apis is mandatory for this action.', 'http_code' => 400, 'description' => '缺少必填参数Apis'], + ['code' => 'InvalidParam.Apis.PopVersion', 'message' => 'Unsupported product version: %s of product code: %s.', 'http_code' => 400, 'description' => '产品%s不支持%s版本。'], + ['code' => 'Missing.Apis.PopVersion', 'message' => 'Apis.PopVersion is mandatory for this action.', 'http_code' => 400, 'description' => '缺少必填参数Apis.PopVersion。'], + ['code' => 'IdempotentParameterMismatch', 'message' => 'The request uses the same client token as a previous request but with different parameters. Client tokens should not be reused across non-identical requests. Each unique request must have a distinct client token.', 'http_code' => 400, 'description' => '请求使用了与之前请求相同的客户端令牌,但参数不同。请勿在参数不同的请求中重复使用同一令牌,每个独立请求必须使用唯一的令牌。 '], + ['code' => 'Missing.Apis.Selectors', 'message' => 'Apis.Selectors is mandatory for this action.', 'http_code' => 400, 'description' => 'Apis.Selectors是必填参数'], + ['code' => 'InvalidParam.Language', 'message' => 'Unsupported language: %s.', 'http_code' => 400, 'description' => '指定多语言无效。'], + ['code' => 'InvalidParam.Name', 'message' => 'Name must be 3 to 16 characters long and can only contain lowercase letters, numbers, underscores, and hyphens.', 'http_code' => 400, 'description' => '参数name不符合长度3-16,只包含小写字母、数字、下划线和连字符的规范。'], + ['code' => 'MissingParam.PrincipalId', 'message' => 'PrincipalId is mandatory for this action.', 'http_code' => 400, 'description' => 'STS角色扮演场景下,缺少PrincipalId参数,该参数为请求头中的x-acs-sts-token-principal-id参数。'], + ['code' => 'InvalidParam.Apis.PopCode', 'message' => 'Unsupported product code: %s.', 'http_code' => 400, 'description' => '指定的产品名称不存在。'], + ['code' => 'Missing.Apis.PopCode', 'message' => 'Apis.PopCode is mandatory for this action.', 'http_code' => 400, 'description' => 'Apis参数中缺少必填参数popCode。'], + ['code' => 'InvalidParam.TerraformName', 'message' => 'TerraformName must be 3 to 63 characters long and can only contain lowercase letters, numbers, underscores, and hyphens.', 'http_code' => 400, 'description' => '参数TerraformName不符合长度3-63,只包含小写字母、数字、下划线和连字符的规范。'], + ['code' => 'InternalServerError', 'message' => 'The request has failed due to a temporary failure of the server.', 'http_code' => 500, 'description' => '由于服务器暂时故障,请求失败。'], + ['code' => 'InvalidParam.AdditionalApiDescription.PopVersion', 'message' => 'Unsupported product version: %s of product code: %s.', 'http_code' => 400, 'description' => '产品%s不支持%s版本。 '], + ['code' => 'Missing.TerraformTools.Description', 'message' => 'TerraformTools.Description is mandatory for this action.', 'http_code' => 400, 'description' => '缺少必填参数TerraformTools.Description'], + ['code' => 'InvalidParam.NextToken', 'message' => 'The specified NextToken is not valid.', 'http_code' => 400, 'description' => '指定的nextToken无效。'], + ['code' => 'NotFound.ApiMcpServer', 'message' => 'Specified MCP server not found.', 'http_code' => 404, 'description' => '指定id的MCP服务不存在。'], + ['code' => 'InvalidParam.AdditionalApiDescription.PopCode', 'message' => 'Unsupported product code: %s.', 'http_code' => 400, 'description' => '指定的产品名称不存在'], + ['code' => 'Missing.TerraformName', 'message' => 'TerraformName is mandatory for this action.', 'http_code' => 400, 'description' => '缺少必填参数TerraformName。'], + ['code' => 'InvalidParam.Name', 'message' => 'Name must be 3 to 63 characters long and can only contain lowercase letters, numbers, underscores, and hyphens.', 'http_code' => 400, 'description' => '名称长度必须为 3 到 63 个字符,并且只能包含小写字母、数字、下划线和连字符。'], + ['code' => 'InvalidParam.TerraformTools.Code', 'message' => 'The Terraform tool code is not valid. Please check the syntax and try again.', 'http_code' => 400, 'description' => '指定的TerraformTools.Code参数无效。'], + ['code' => 'InvalidParam.TerraformName', 'message' => 'TerraformName must be 3 to 64 characters long and can only contain lowercase letters, numbers, underscores, and hyphens.', 'http_code' => 400, 'description' => 'Terraform工具名称的长度必须为 3 到 64 个字符,并且只能包含小写字母、数字、下划线和连字符。'], + ['code' => 'InvalidParam.Name', 'message' => 'Name must be 3 to 64 characters long and can only contain lowercase letters, numbers, underscore, and hyphens.', 'http_code' => 400, 'description' => '名称长度必须为 3 到 64 个字符,并且只能包含小写字母、数字、下划线和连字符。'], + ['code' => 'Exists.TerraformTools.Name', 'message' => 'The Terraform tool name already exists.', 'http_code' => 409, 'description' => '指定的Terraform 工具名称已经存在。'], + ['code' => 'Missing.TerraformTools.Name', 'message' => 'TerraformTools.Name is mandatory for this action.', 'http_code' => 400, 'description' => 'Terraform工具名称是必填参数。'], + ['code' => 'InvalidParam.TerraformTools.Name', 'message' => 'TerraformTools.Name: %s must be 3 to 64 characters long and can only contain lowercase letters, numbers, underscores, and hyphens.', 'http_code' => 400, 'description' => 'Terraform工具名称长度必须为 3 到 63 个字符,并且只能包含小写字母、数字、下划线和连字符。'], + ['code' => 'Missing.AccountId', 'message' => 'x-acs-account-id is mandatory in request header for this action.', 'http_code' => 400, 'description' => '请求头中缺少必填参数x-acs-account-id。'], + ['code' => 'MissingParam.PrincipalId', 'message' => 'x-acs-sts-token-principal-id is mandatory in request header in STS assumeRole scenario for this action.', 'http_code' => 400, 'description' => 'STS角色扮演场景下,请求头中缺少必填参数x-acs-sts-token-principal-id。'], + ['code' => 'MissingParam.Calleruid', 'message' => 'x-acs-caller-uid is mandatory in request header for this action.', 'http_code' => 400, 'description' => '请求头中缺少必填参数x-acs-caller-uid。'], + ['code' => 'Missing.PrincipalId', 'message' => 'x-acs-sts-token-principal-id is mandatory in request header in STS assumeRole scenario for this action.', 'http_code' => 400, 'description' => 'STS角色扮演场景下,请求头中缺少必填参数x-acs-sts-token-principal-id。'], + ['code' => 'Missing.CallerUid', 'message' => 'x-acs-caller-uid is mandatory in request header for this action.', 'http_code' => 400, 'description' => '请求头中缺少必填参数x-acs-caller-uid。'], + ['code' => 'Missing.Code', 'message' => 'Code is mandatory for this action.', 'http_code' => 400, 'description' => '缺少必填参数Code。'], + ['code' => 'InvalidParam.Code', 'message' => 'Empty code is not valid.', 'http_code' => 400, 'description' => 'Code参数为无效的空字符串。'], + ['code' => 'InvalidParam.TerraformTools.Code', 'message' => 'The Terraform tool code is not valid: %s. Please check the syntax and try again.', 'http_code' => 400, 'description' => '指定的TerraformTools.Code参数无效。'], + ['code' => 'InvalidParam.ClientToken', 'message' => 'The specified client token is not valid.', 'http_code' => 400, 'description' => '该幂等参数有误,请检查。'], ], 'changeSet' => [], 'flowControl' => [ @@ -4990,117 +3414,111 @@ 'ram' => [ 'productCode' => 'OpenAPIExplorer', 'productName' => 'OpenAPI Explorer', - 'ramCodes' => [ - 'openapiexplorer', - ], + 'ramCodes' => ['openapiexplorer'], 'ramLevel' => '资源级', 'ramConditions' => [], 'ramActions' => [ [ - 'apiName' => 'UpdateApiMcpServer', - 'description' => '修改API MCP服务', - 'operationType' => 'update', + 'apiName' => 'ListApiMcpServerSystemTools', + 'description' => '查询 MCP 服务支持的系统工具', + 'operationType' => 'list', 'ramAction' => [ - 'action' => 'openapiexplorer:UpdateApiMcpServer', + 'action' => 'openapiexplorer:ListApiMcpServerSystemTools', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'OpenAPIExplorer', 'resourceType' => '全部资源', 'arn' => '*'], + ], + ], + ], + [ + 'apiName' => 'ListApiMcpServers', + 'description' => '查询API MCP 服务列表', + 'operationType' => 'list', + 'ramAction' => [ + 'action' => 'openapiexplorer:ListApiMcpServers', 'authLevel' => 'resource', 'actionConditions' => [], 'resources' => [ - [ - 'validationType' => 'always', - 'product' => 'OpenAPIExplorer', - 'resourceType' => 'ApiMcpServer', - 'arn' => 'acs:openapiexplorer::{#accountId}:apimcpserver/{#id}', - ], + ['validationType' => 'always', 'product' => 'OpenAPIExplorer', 'resourceType' => 'ApiMcpServer', 'arn' => 'acs:openapiexplorer::{#accountId}:apimcpserver/*'], ], ], ], [ - 'apiName' => 'GetApiMcpServer', - 'description' => '查询API MCP服务详细信息', - 'operationType' => 'get', + 'apiName' => 'DeleteApiMcpServerCore', + 'description' => '删除ApiMcpServerCore', + 'operationType' => 'delete', 'ramAction' => [ - 'action' => 'openapiexplorer:GetApiMcpServer', + 'action' => 'openapiexplorer:DeleteApiMcpServerCore', 'authLevel' => 'resource', 'actionConditions' => [], 'resources' => [ - [ - 'validationType' => 'always', - 'product' => 'OpenAPIExplorer', - 'resourceType' => 'ApiMcpServer', - 'arn' => 'acs:openapiexplorer::{#accountId}:apimcpserver/{#id}', - ], + ['validationType' => 'always', 'product' => 'OpenAPIExplorer', 'resourceType' => 'ApiMcpServerCore', 'arn' => 'acs:openapiexplorer::{#accountId}:apimcpservercore/{#Id}'], ], ], ], [ - 'apiName' => 'ListApiMcpServerSystemTools', - 'description' => '查询 MCP 服务支持的系统工具', - 'operationType' => 'list', + 'apiName' => 'UpdateApiMcpServer', + 'description' => '修改API MCP服务', + 'operationType' => 'update', 'ramAction' => [ - 'action' => 'openapiexplorer:ListApiMcpServerSystemTools', - 'authLevel' => 'operate', + 'action' => 'openapiexplorer:UpdateApiMcpServer', + 'authLevel' => 'resource', 'actionConditions' => [], 'resources' => [ - [ - 'validationType' => 'always', - 'product' => 'OpenAPIExplorer', - 'resourceType' => '全部资源', - 'arn' => '*', - ], + ['validationType' => 'always', 'product' => 'OpenAPIExplorer', 'resourceType' => 'ApiMcpServer', 'arn' => 'acs:openapiexplorer::{#accountId}:apimcpserver/{#id}'], ], ], ], [ - 'apiName' => 'GetRequestLog', - 'description' => '查询API调用日志', - 'operationType' => 'get', + 'apiName' => 'DeleteApiMcpServer', + 'description' => '删除 API MCP 服务', + 'operationType' => 'delete', 'ramAction' => [ - 'action' => 'openapiexplorer:GetRequestLog', - 'authLevel' => 'operate', + 'action' => 'openapiexplorer:DeleteApiMcpServer', + 'authLevel' => 'resource', 'actionConditions' => [], 'resources' => [ - [ - 'validationType' => 'always', - 'product' => 'OpenAPIExplorer', - 'resourceType' => '全部资源', - 'arn' => '*', - ], + ['validationType' => 'always', 'product' => 'OpenAPIExplorer', 'resourceType' => 'ApiMcpServer', 'arn' => 'acs:openapiexplorer::{#accountId}:apimcpserver/{#id}'], ], ], ], [ - 'apiName' => 'GenerateCLICommand', - 'description' => '动态生成Aliyun CLI命令', - 'operationType' => 'none', + 'apiName' => 'CreateApiMcpServerCore', + 'description' => '创建 API MCP Core服务', + 'operationType' => 'create', 'ramAction' => [ - 'action' => 'openapiexplorer:GenerateCLICommand', - 'authLevel' => 'operate', + 'action' => 'openapiexplorer:CreateApiMcpServerCore', + 'authLevel' => 'resource', 'actionConditions' => [], 'resources' => [ - [ - 'validationType' => 'always', - 'product' => 'OpenAPIExplorer', - 'resourceType' => '全部资源', - 'arn' => '*', - ], + ['validationType' => 'always', 'product' => 'OpenAPIExplorer', 'resourceType' => 'ApiMcpServerCore', 'arn' => 'acs:openapiexplorer::{#accountId}:apimcpservercore/*'], ], ], ], [ - 'apiName' => 'DeleteApiMcpServer', - 'description' => '删除API MCP服务', - 'operationType' => 'delete', + 'apiName' => 'UpdateApiMcpServerCore', + 'description' => '更新ApiMcpServerCore', + 'operationType' => 'update', 'ramAction' => [ - 'action' => 'openapiexplorer:DeleteApiMcpServer', + 'action' => 'openapiexplorer:UpdateApiMcpServerCore', 'authLevel' => 'resource', 'actionConditions' => [], 'resources' => [ - [ - 'validationType' => 'always', - 'product' => 'OpenAPIExplorer', - 'resourceType' => 'ApiMcpServer', - 'arn' => 'acs:openapiexplorer::{#accountId}:apimcpserver/{#id}', - ], + ['validationType' => 'always', 'product' => 'OpenAPIExplorer', 'resourceType' => 'ApiMcpServerCore', 'arn' => 'acs:openapiexplorer::{#accountId}:apimcpservercore/{#Id}'], + ], + ], + ], + [ + 'apiName' => 'ListApiMcpServerCores', + 'description' => '列出ApiMcpServerCore', + 'operationType' => 'list', + 'ramAction' => [ + 'action' => 'openapiexplorer:ListApiMcpServerCores', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'OpenAPIExplorer', 'resourceType' => 'ApiMcpServerCore', 'arn' => 'acs:openapiexplorer::{#accountId}:apimcpservercore/*'], ], ], ], @@ -5113,12 +3531,20 @@ 'authLevel' => 'resource', 'actionConditions' => [], 'resources' => [ - [ - 'validationType' => 'always', - 'product' => 'OpenAPIExplorer', - 'resourceType' => '全部资源', - 'arn' => '*', - ], + ['validationType' => 'always', 'product' => 'OpenAPIExplorer', 'resourceType' => '全部资源', 'arn' => '*'], + ], + ], + ], + [ + 'apiName' => 'GetRequestLog', + 'description' => '查询API调用日志', + 'operationType' => 'get', + 'ramAction' => [ + 'action' => 'openapiexplorer:GetRequestLog', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'OpenAPIExplorer', 'resourceType' => '全部资源', 'arn' => '*'], ], ], ], @@ -5131,12 +3557,33 @@ 'authLevel' => 'resource', 'actionConditions' => [], 'resources' => [ - [ - 'validationType' => 'always', - 'product' => 'OpenAPIExplorer', - 'resourceType' => 'ApiMcpServer', - 'arn' => 'acs:openapiexplorer::{#accountId}:apimcpserver/*', - ], + ['validationType' => 'always', 'product' => 'OpenAPIExplorer', 'resourceType' => 'ApiMcpServer', 'arn' => 'acs:openapiexplorer::{#accountId}:apimcpserver/*'], + ], + ], + ], + [ + 'apiName' => 'GetApiMcpServerCore', + 'description' => '查询 ApiMcpServerCore', + 'operationType' => 'get', + 'ramAction' => [ + 'action' => 'openapiexplorer:GetApiMcpServerCore', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'OpenAPIExplorer', 'resourceType' => 'ApiMcpServerCore', 'arn' => 'acs:openapiexplorer::{#accountId}:apimcpservercore/{#Id}'], + ], + ], + ], + [ + 'apiName' => 'GetApiMcpServer', + 'description' => '查询API MCP服务详细信息', + 'operationType' => 'get', + 'ramAction' => [ + 'action' => 'openapiexplorer:GetApiMcpServer', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'OpenAPIExplorer', 'resourceType' => 'ApiMcpServer', 'arn' => 'acs:openapiexplorer::{#accountId}:apimcpserver/{#id}'], ], ], ], @@ -5149,12 +3596,7 @@ 'authLevel' => 'operate', 'actionConditions' => [], 'resources' => [ - [ - 'validationType' => 'always', - 'product' => 'OpenAPIExplorer', - 'resourceType' => '全部资源', - 'arn' => '*', - ], + ['validationType' => 'always', 'product' => 'OpenAPIExplorer', 'resourceType' => '全部资源', 'arn' => '*'], ], ], ], @@ -5167,50 +3609,17 @@ 'authLevel' => 'resource', 'actionConditions' => [], 'resources' => [ - [ - 'validationType' => 'always', - 'product' => 'OpenAPIExplorer', - 'resourceType' => '全部资源', - 'arn' => '*', - ], - ], - ], - ], - [ - 'apiName' => 'ListApiMcpServers', - 'description' => '查询API MCP 服务列表', - 'operationType' => 'list', - 'ramAction' => [ - 'action' => 'openapiexplorer:ListApiMcpServers', - 'authLevel' => 'resource', - 'actionConditions' => [], - 'resources' => [ - [ - 'validationType' => 'always', - 'product' => 'OpenAPIExplorer', - 'resourceType' => 'ApiMcpServer', - 'arn' => 'acs:openapiexplorer::{#accountId}:apimcpserver/*', - ], + ['validationType' => 'always', 'product' => 'OpenAPIExplorer', 'resourceType' => '全部资源', 'arn' => '*'], ], ], ], ], 'resourceTypes' => [ - [ - 'validationType' => 'always', - 'resourceType' => 'ApiMcpServer', - 'arn' => 'acs:openapiexplorer::{#accountId}:apimcpserver/{#id}', - ], - [ - 'validationType' => 'always', - 'resourceType' => 'ApiMcpServerUserConfig', - 'arn' => 'acs:openapiexplorer::{#accountId}:apimcpserveruserconfig', - ], - [ - 'validationType' => 'always', - 'resourceType' => 'ApiMcpServer', - 'arn' => 'acs:openapiexplorer::{#accountId}:apimcpserver/*', - ], + ['validationType' => 'always', 'resourceType' => 'ApiMcpServer', 'arn' => 'acs:openapiexplorer::{#accountId}:apimcpserver/*'], + ['validationType' => 'always', 'resourceType' => 'ApiMcpServerCore', 'arn' => 'acs:openapiexplorer::{#accountId}:apimcpservercore/{#Id}'], + ['validationType' => 'always', 'resourceType' => 'ApiMcpServer', 'arn' => 'acs:openapiexplorer::{#accountId}:apimcpserver/{#id}'], + ['validationType' => 'always', 'resourceType' => 'ApiMcpServerCore', 'arn' => 'acs:openapiexplorer::{#accountId}:apimcpservercore/*'], + ['validationType' => 'always', 'resourceType' => 'ApiMcpServerUserConfig', 'arn' => 'acs:openapiexplorer::{#accountId}:apimcpserveruserconfig'], ], ], ]; -- cgit v1.2.3