diff options
| author | Zhineng Li <im@zhineng.li> | 2026-07-12 17:11:17 +0800 |
|---|---|---|
| committer | Zhineng Li <im@zhineng.li> | 2026-07-12 17:11:17 +0800 |
| commit | 1c7f908ce09f98fdcbf79ed2a8ae21be60eaa634 (patch) | |
| tree | 5f0857666365b7e40cdaa3733ebe1f3ba9e13c67 /data/en_us/openapiexplorer | |
| parent | 7347bac4ab7e136157fc94777e6cf87ef9e08599 (diff) | |
| download | afterglow-metadata-full-1c7f908ce09f98fdcbf79ed2a8ae21be60eaa634.tar.gz afterglow-metadata-full-1c7f908ce09f98fdcbf79ed2a8ae21be60eaa634.zip | |
update APIs 20260712
Diffstat (limited to 'data/en_us/openapiexplorer')
| -rw-r--r-- | data/en_us/openapiexplorer/2024-11-30/api-docs.php | 5745 |
1 files changed, 1981 insertions, 3764 deletions
diff --git a/data/en_us/openapiexplorer/2024-11-30/api-docs.php b/data/en_us/openapiexplorer/2024-11-30/api-docs.php index 7f7f5f2..ea7754d 100644 --- a/data/en_us/openapiexplorer/2024-11-30/api-docs.php +++ b/data/en_us/openapiexplorer/2024-11-30/api-docs.php @@ -1,48 +1,29 @@ <?php return [ 'version' => '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' => 'Global settings of OpenAPI MCP Server', + 'title' => 'ApiMcpServerCore', ], [ - 'children' => [ - 'GetApiDefinition', - 'ListApiDefinitions', - 'GetProductEndpoints', - 'GenerateCLICommand', - ], + 'children' => ['UpdateApiMcpServerUserConfig', 'GetApiMcpServerUserConfig'], + 'type' => 'directory', + 'title' => 'ApiMcpServer global configuration', + ], + [ + 'children' => ['ListApiDefinitions', 'GetProductEndpoints', 'GetApiDefinition', 'GenerateCLICommand', 'ListProducts', 'GetCodeSample', 'GetSdkDependencies'], 'type' => 'directory', 'title' => 'Open metadata', ], [ - 'children' => [ - 'CreateApiMcpServer', - 'UpdateApiMcpServer', - 'GetApiMcpServer', - 'DeleteApiMcpServer', - 'ListApiMcpServers', - 'ApiMcpServerValidateHcl', - 'ListApiMcpServerSystemTools', - ], + 'children' => ['CreateApiMcpServer', 'UpdateApiMcpServer', 'GetApiMcpServer', 'DeleteApiMcpServer', 'ListApiMcpServers', 'ApiMcpServerValidateHcl', 'ListApiMcpServerSystemTools'], 'type' => 'directory', - 'title' => 'OpenAPI MCP Server', + 'title' => 'ApiMcpServer', ], [ - 'children' => [ - 'GetErrorCodeSolutions', - 'GetRequestLog', - 'GetOwnRequestLog', - ], + 'children' => ['GetErrorCodeSolutions', 'GetRequestLog', 'GetOwnRequestLog'], 'type' => 'directory', 'title' => 'Diagnostics', ], @@ -53,31 +34,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' => [ @@ -88,27 +59,21 @@ 'schema' => [ 'type' => 'object', 'properties' => [ - 'code' => [ - 'type' => 'string', - 'description' => 'The content of the Terraform HCL code. For more information, see [HCL language overview](https://www.alibabacloud.com/help/en/terraform/terraform-configuration-and-hcl-language-overview).', - 'required' => false, - 'title' => '', - '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' => 'The content of the Terraform HCL code. For more information, see [HCL language overview](https://www.alibabacloud.com/help/en/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" + .'}', 'title' => ''], ], 'description' => 'The request body.', 'required' => false, @@ -122,81 +87,46 @@ 'schema' => [ 'type' => 'object', 'properties' => [ - 'requestId' => [ - 'type' => 'string', - 'description' => 'The request ID.', - 'title' => '', - 'example' => ' '."\n" - .'9BFC4AC1-6BE4-5405-BDEC-CA288D404812'."\n", - ], - 'hash' => [ - 'type' => 'string', - 'description' => 'The unique identifier of the Terraform HCL code.', - 'title' => '', - 'example' => '0628e13692023222bef9d6377dd03da3304b689e1b2df60f584ea27b4163bf07', - ], - 'isValid' => [ - 'type' => 'boolean', - 'description' => 'Indicates whether the code is valid.', - 'title' => '', - 'example' => 'true', - ], + 'requestId' => ['description' => 'The request ID.', 'type' => 'string', 'example' => ' '."\n" + .'9BFC4AC1-6BE4-5405-BDEC-CA288D404812'."\n", 'title' => ''], + 'hash' => ['description' => 'The unique identifier of the Terraform HCL code.', 'type' => 'string', 'example' => '0628e13692023222bef9d6377dd03da3304b689e1b2df60f584ea27b4163bf07', 'title' => ''], + 'isValid' => ['description' => 'Indicates whether the code is valid.', 'type' => 'boolean', 'example' => 'true', 'title' => ''], 'errors' => [ 'type' => 'array', - 'items' => [ - 'type' => 'string', - 'description' => 'The content of the error message.', - 'title' => '', - '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' => 'The content of the error message.', '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.', 'title' => ''], 'description' => 'The list of error messages.', 'title' => '', 'example' => '', ], 'warnings' => [ 'type' => 'array', - 'items' => [ - 'type' => 'string', - 'description' => 'The content of the warning message.', - 'title' => '', - 'example' => 'Warning.', - ], + 'items' => ['description' => 'The content of the warning message.', 'type' => 'string', 'example' => 'Warning.', 'title' => ''], 'description' => 'The list of warning messages.', 'title' => '', 'example' => '', ], 'parameters' => [ 'type' => 'array', - 'items' => [ - 'type' => 'any', - 'description' => 'The content of the parameter.', - 'title' => '', - '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" - .' }', - ], + 'items' => ['description' => 'The content of the parameter.', '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" + .' }', 'title' => ''], 'description' => 'The list of parameters.', 'title' => '', 'example' => '', ], - 'diagnosticReport' => [ - 'type' => 'any', - 'description' => 'The diagnostic report of the code.', - 'title' => '', - 'example' => 'Argument or block definition required: An argument or block definition is required here.', - ], + 'diagnosticReport' => ['description' => 'The diagnostic report of the code.', 'type' => 'any', 'example' => 'Argument or block definition required: An argument or block definition is required here.', 'title' => ''], ], 'description' => 'The response.', 'title' => '', @@ -206,23 +136,11 @@ ], 'errorCodes' => [ 400 => [ - [ - 'errorCode' => 'InvalidParam.Code', - 'errorMessage' => 'Empty code is not valid.', - 'description' => 'The Code parameter is an invalid empty string.', - ], - [ - 'errorCode' => 'Missing.Code', - 'errorMessage' => 'Code is mandatory for this action.', - 'description' => 'The required parameter Code is missing.', - ], + ['errorCode' => 'InvalidParam.Code', 'errorMessage' => 'Empty code is not valid.', 'description' => 'The Code parameter is an invalid empty string.'], + ['errorCode' => 'Missing.Code', 'errorMessage' => 'Code is mandatory for this action.', 'description' => 'The required parameter Code is missing.'], ], 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' => 'ApiMcpServerValidateHcl', @@ -239,12 +157,7 @@ 'authLevel' => 'operate', 'actionConditions' => [], 'resources' => [ - [ - 'validationType' => 'always', - 'product' => 'OpenAPIExplorer', - 'resourceType' => 'All Resource', - 'arn' => '*', - ], + ['validationType' => 'always', 'product' => 'OpenAPIExplorer', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], ], @@ -252,32 +165,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' => 'Creates an API MCP server.', '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' => [ @@ -286,431 +190,229 @@ 'in' => 'body', 'style' => 'json', 'schema' => [ + 'description' => 'Creates an API MCP server.', 'type' => 'object', 'properties' => [ - 'clientToken' => [ - 'type' => 'string', - 'description' => 'Ensures the idempotence of the request. Generate a parameter value from your client to make sure that the value is unique among different requests. The client token can contain only ASCII characters and cannot exceed 64 characters in length. Use a universally unique identifier (UUID). The token expires in three days.', - 'required' => false, - 'title' => '', - 'example' => '123e4567-e89b-12d3-a456-426655440000', - ], - 'description' => [ - 'type' => 'string', - 'description' => 'The description of the API MCP service.', - 'required' => false, - 'title' => '', - 'example' => '这是一个API MCP服务。', - ], + 'clientToken' => ['description' => 'Ensures the idempotency of the request. Generate a unique parameter value from your client to ensure uniqueness across different requests. ClientToken supports only ASCII characters and cannot exceed 64 characters. We recommend using a UUID. The token expires after 3 days.', 'type' => 'string', 'required' => false, 'example' => '123e4567-e89b-12d3-a456-426655440000', 'title' => ''], + 'description' => ['description' => 'The description of the API MCP server.', 'type' => 'string', 'required' => false, 'example' => '这是一个API MCP服务。', 'title' => ''], 'language' => [ + 'description' => 'The documentation language of the API MCP server. You can select either Chinese or English API documentation. Different languages of prompts may affect the response quality of AI.', 'type' => 'string', - 'enum' => [ - 'EN_US', - 'ZH_CN', - ], - 'description' => 'The language of the API documentation for the API MCP service. You can select Chinese or English API documentation. The prompts in different languages may affect the AI\'s response.', + 'enum' => ['EN_US', 'ZH_CN'], 'required' => false, - 'title' => '', 'example' => 'ZH_CN', + 'title' => '', ], 'apis' => [ + 'description' => 'The list of APIs to add. This parameter cannot be empty.', 'type' => 'array', 'items' => [ + 'description' => 'The API list.', 'type' => 'object', 'properties' => [ - 'product' => [ - 'type' => 'string', - 'required' => true, - 'description' => 'The product code.'."\n" - ."\n" - .'- Call the GetRequestLog operation to obtain the product code from the response.'."\n" - ."\n" - .'- Find the product code from the URL of the product in OpenAPI Portal. For example, the URL of Short Message Service in OpenAPI Portal is https\\://api.alibabacloud.com/product/Dysmsapi. The product code is Dysmsapi.', - 'title' => '', - 'example' => 'Ecs', - ], - 'apiVersion' => [ - 'type' => 'string', - 'required' => true, - 'description' => 'The POP version of the API that is exposed to the MCP server.', - 'title' => '', - 'example' => '2014-05-26', - ], + 'product' => ['description' => 'The product code.'."\n" + ."\n" + .'- Call the GetRequestLog operation to obtain the product code from the response.'."\n" + ."\n" + .'- Find the corresponding product code from the URL of the OpenAPI portal. For example, <props="china">the OpenAPI portal URL for SMS Service is https://api.aliyun.com/product/Dysmsapi. Based on this URL, the product code for SMS Service is Dysmsapi.</props>'."\n" + .'<props="intl">the OpenAPI portal URL for SMS Service is https://api.alibabacloud.com/product/Dysmsapi. Based on this URL, the product code for SMS Service is Dysmsapi.</props>', 'type' => 'string', 'required' => true, 'example' => 'Ecs', 'title' => ''], + 'apiVersion' => ['description' => 'The POP version that the API exposed to the MCP SERVER belongs to.', 'type' => 'string', 'required' => true, 'example' => '2014-05-26', 'title' => ''], 'selectors' => [ + 'description' => 'The list of API name matching rules. This parameter cannot be empty.', 'type' => 'array', - 'items' => [ - 'type' => 'string', - 'required' => true, - 'description' => 'The API name matching rule.', - 'title' => '', - 'example' => '*Bucket', - ], + 'items' => ['description' => 'The API name matching rule.', 'type' => 'string', 'required' => true, 'example' => '*Bucket', 'title' => ''], 'required' => true, - 'description' => 'The list of API name matching rules. This parameter cannot be empty.', 'title' => '', 'example' => '', ], ], 'required' => true, - 'description' => 'The list of APIs.', 'title' => '', 'example' => '', ], 'required' => true, - 'description' => 'The list of APIs to add. This parameter cannot be empty.', 'title' => '', 'example' => '', ], 'additionalApiDescriptions' => [ + 'description' => 'The list of supplementary API descriptions.', 'type' => 'array', 'items' => [ + 'description' => 'The supplementary API description.', 'type' => 'object', 'properties' => [ - 'product' => [ - 'type' => 'string', - 'description' => 'The product code.'."\n" - ."\n" - .'- Call the GetRequestLog operation to obtain the product code from the response.'."\n" - ."\n" - .'- Find the product code from the URL of the product in OpenAPI Portal. For example, the URL of Short Message Service in OpenAPI Portal is https\\://api.alibabacloud.com/product/Dysmsapi. The product code is Dysmsapi.', - 'required' => false, - 'title' => '', - 'example' => 'Ecs', - ], - 'apiVersion' => [ - 'type' => 'string', - 'description' => 'The POP version of the API that is exposed to the MCP server.', - 'required' => false, - 'title' => '', - 'example' => '2014-05-26', - ], - 'apiName' => [ - 'type' => 'string', - 'description' => 'The API name.', - 'required' => false, - 'title' => '', - 'example' => 'DescribeRegions', - ], - 'apiOverrideJson' => [ - 'type' => 'string', - 'description' => 'The API metadata in JSON format. For more information about the format, see https\\://api.aliyun.com/meta/v1/products/Ecs/versions/2014-05-26/apis/DescribeInstances/api.json. You can overwrite the summary and parameters.', - 'required' => false, - 'title' => '', - 'example' => '{'."\n" - .' "summary": "本接口支持根据不同请求条件查询实例列表,并关联查询实例的详细信息。"'."\n" - .'}', - ], - 'executeCliCommand' => [ - 'type' => 'boolean', - 'description' => 'Specifies whether to return the command-line interface (CLI) command for execution. In this mode, the API call is not executed. Instead, the corresponding CLI command is returned. This is suitable for long-running tasks that need to be executed using Alibaba Cloud CLI.', - 'required' => false, - 'title' => '', - 'example' => 'true', - ], - 'enableOutputSchema' => [ - 'type' => 'boolean', - 'description' => 'Specifies whether to return the schema of the response parameters. Returning the schema increases the size of the entire API MCP server. The default value is null, which means the schema is not returned.', - 'required' => false, - 'title' => '', - 'example' => 'true', - ], + 'product' => ['description' => 'The product code.'."\n" + ."\n" + .'- Call the GetRequestLog operation to obtain the product code from the response.'."\n" + ."\n" + .'- Find the corresponding product code from the URL of the OpenAPI portal. For example, <props="china">the OpenAPI portal URL for SMS Service is https://api.aliyun.com/product/Dysmsapi. Based on this URL, the product code for SMS Service is Dysmsapi.</props>'."\n" + .'<props="intl">the OpenAPI portal URL for SMS Service is https://api.alibabacloud.com/product/Dysmsapi. Based on this URL, the product code for SMS Service is Dysmsapi.</props>', 'type' => 'string', 'required' => false, 'example' => 'Ecs', 'title' => ''], + 'apiVersion' => ['description' => 'The POP version that the API exposed to the MCP SERVER belongs to.', 'type' => 'string', 'required' => false, 'example' => '2014-05-26', 'title' => ''], + 'apiName' => ['description' => 'The API name.', 'type' => 'string', 'required' => false, 'example' => 'DescribeRegions', 'title' => ''], + 'apiOverrideJson' => ['description' => 'The API metadata in JSON format. Refer to the format at https://api.aliyun.com/meta/v1/products/Ecs/versions/2014-05-26/apis/DescribeInstances/api.json. It supports overriding the summary and parameters fields.', 'type' => 'string', 'required' => false, 'example' => '{'."\n" + .' "summary": "本接口支持根据不同请求条件查询实例列表,并关联查询实例的详细信息。"'."\n" + .'}', 'title' => ''], + 'executeCliCommand' => ['description' => 'Specifies whether to return the CLI execution command. In this mode, the API call is not actually executed. Instead, the corresponding CLI command is returned. This is suitable for long-running tasks and requires the use of Alibaba Cloud CLI for execution.', 'type' => 'boolean', 'required' => false, 'example' => 'true', 'title' => ''], + 'enableOutputSchema' => ['description' => 'Specifies whether to return the output parameter schema. Returning the output parameter schema increases the overall size of the API MCP SERVER. The default value is null, which means the output parameter schema is not returned.', 'type' => 'boolean', 'required' => false, 'example' => 'true', 'title' => ''], + 'toolAlias' => ['description' => 'The tool alias. You can modify it to a custom name, such as list_ecs_regions. It can consist of letters, digits, hyphens (-), and underscores (_). Aliases must be unique.', 'type' => 'string', 'required' => false, 'example' => 'list_ecs_regions', 'title' => ''], 'constParameters' => [ + 'description' => 'The list of constant input parameters. These parameters are excluded during API parameter parsing.', 'type' => 'array', 'items' => [ + 'description' => 'The constant input parameter.', 'type' => 'object', 'properties' => [ - 'key' => [ - 'type' => 'string', - 'description' => 'The parameter name. Only first-level parameter names are supported. For ROA-style APIs, you can set the parameter to body.xx. You cannot set values that exceed the top-level parameters.', - 'required' => false, - 'title' => '', - 'example' => 'InstanceId', - ], - 'value' => [ - 'type' => 'any', - 'description' => 'The value of the parameter.', - 'required' => false, - 'title' => '', - 'example' => '1234', - ], + 'key' => ['description' => 'The parameter name. Only first-level parameter names are supported. For ROA-style APIs, you can set it to body.xx. Setting values beyond the top-level parameter is not allowed.', 'type' => 'string', 'required' => false, 'example' => 'InstanceId', 'title' => ''], + 'value' => ['description' => 'The value of the parameter.', 'type' => 'any', 'required' => false, 'example' => '1234', 'title' => ''], ], - 'description' => 'A constant input parameter.', 'required' => false, 'title' => '', 'example' => '', ], - 'description' => 'The list of constant input parameters. These parameters are not included in the output during API parameter parsing.', 'required' => false, 'title' => '', 'example' => '', ], ], - 'description' => 'The supplementary API description.', 'required' => false, 'title' => '', 'example' => '', ], - 'description' => 'The list of supplementary API descriptions.', 'required' => false, 'title' => '', 'example' => '', ], 'prompts' => [ + 'description' => 'The list of prompt configurations.', 'type' => 'array', 'items' => [ + 'description' => 'The prompt configuration.', 'type' => 'object', 'properties' => [ - 'name' => [ - 'type' => 'string', - 'description' => 'The prompt name.', - 'required' => false, - 'title' => '', - 'example' => 'test', - ], - 'description' => [ - 'type' => 'string', - 'description' => 'The description.', - 'required' => false, - 'title' => '', - 'example' => 'prompt description', - ], - 'content' => [ - 'type' => 'string', - 'description' => 'The content of the prompt. Variables are specified in the {{xxx}} format. xxx is a variable that must be defined in the arguments parameter.', - 'required' => false, - 'title' => '', - 'example' => 'prompt正文,{{name}}', - ], + 'name' => ['description' => 'The prompt name.', 'type' => 'string', 'required' => false, 'example' => 'test', 'title' => ''], + 'description' => ['description' => 'The description.', 'type' => 'string', 'required' => false, 'example' => 'prompt description', 'title' => ''], + 'content' => ['description' => 'The content of the prompt. Variables are specified in the {{xxx}} format, where xxx is the variable name that must be defined in the arguments parameter.', 'type' => 'string', 'required' => false, 'example' => 'prompt正文,{{name}}', 'title' => ''], 'arguments' => [ + 'description' => 'The list of parameters supported by the prompt.', 'type' => 'array', 'items' => [ + 'description' => 'The parameter supported by the prompt.', 'type' => 'object', 'properties' => [ - 'name' => [ - 'type' => 'string', - 'description' => 'The parameter name.', - 'required' => false, - 'title' => '', - 'example' => 'test', - ], - 'description' => [ - 'type' => 'string', - 'description' => 'The description of the parameter.', - 'required' => false, - 'title' => '', - 'example' => 'argument description', - ], - 'required' => [ - 'type' => 'boolean', - 'description' => 'Specifies whether the parameter is required.', - 'required' => false, - 'title' => '', - 'example' => 'true', - ], + 'name' => ['description' => 'The parameter name.', 'type' => 'string', 'required' => false, 'example' => 'test', 'title' => ''], + 'description' => ['description' => 'The description of the parameter.', 'type' => 'string', 'required' => false, 'example' => 'argument description', 'title' => ''], + 'required' => ['description' => 'Specifies whether the parameter is required.', 'type' => 'boolean', 'required' => false, 'example' => 'true', 'title' => ''], ], - 'description' => 'A parameter supported by the prompt.', 'required' => false, 'title' => '', 'example' => '', ], - 'description' => 'The list of parameters supported by the prompt.', 'required' => false, 'title' => '', 'example' => '', ], ], - 'description' => 'A prompt configuration.', 'required' => false, 'title' => '', 'example' => '', ], - 'description' => 'The list of prompt configurations.', 'required' => false, 'title' => '', 'example' => '', ], - 'name' => [ - 'type' => 'string', - 'required' => true, - 'description' => 'The name of the MCP server. The name must be 3 to 64 characters in length and can contain only lowercase letters, digits, underscores (\\_), and hyphens (-). It cannot start with a digit. The name must be unique within the same Alibaba Cloud account.', - 'title' => '', - 'example' => 'mcp-demo', - ], + 'name' => ['description' => 'The MCP SERVER name. It consists of lowercase letters (a-z) and digits (0-9), must be 3 to 64 characters in length, cannot start with a digit, and must be unique within the same Alibaba Cloud account.', 'type' => 'string', 'required' => true, 'example' => 'mcp-demo', 'title' => ''], 'systemTools' => [ - 'type' => 'array', - 'items' => [ - 'type' => 'string', - 'description' => 'A system tool.', - 'required' => false, - 'title' => '', - 'example' => 'FetchRamActionDetails', - ], 'description' => 'The list of system tools.', + 'type' => 'array', + 'items' => ['description' => 'The system tool.', 'type' => 'string', 'required' => false, 'example' => 'FetchRamActionDetails', 'title' => ''], 'required' => false, 'title' => '', 'example' => '', ], - 'oauthClientId' => [ - 'type' => 'string', - 'description' => 'The custom OAuth client ID when you select a custom OAuth configuration.'."\n" - ."\n" - .'`Only web and native applications are supported. The OAuth scope must include /acs/mcp-server.`', - 'required' => false, - 'title' => '', - 'example' => '403*************370', - ], - 'instructions' => [ - 'type' => 'string', - 'description' => 'The MCP instruction. It prompts the large language model on how to use the MCP. The client must support the Instructions field of the standard MCP protocol.', - 'required' => false, - 'title' => '', - 'example' => 'test', - ], - 'enableAssumeRole' => [ - 'type' => 'boolean', - 'description' => 'Specifies whether to enable multi-account access.', - 'required' => false, - 'title' => '', - 'example' => 'true', - ], - 'assumeRoleName' => [ - 'type' => 'string', - 'description' => 'The name of the RAM role in the destination account that is assumed for cross-account operations when multi-account access is enabled.', - 'required' => false, - 'title' => '', - 'example' => 'test', - ], - 'assumeRoleExtraPolicy' => [ - 'type' => 'string', - 'description' => 'An additional policy for role assumption when multi-account access is enabled. If this policy exists, the permissions for role assumption are based on this policy, which overwrites the permissions defined for the role itself.', - 'required' => false, - 'title' => '', - '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' => 'The custom OAuth Client ID when a custom OAuth configuration is selected.'."\n" + ."\n" + .'`Only Web/Native applications are supported, and the OAuth scope must include /acs/mcp-server.`', 'type' => 'string', 'required' => false, 'example' => '403*************370', 'title' => ''], + 'instructions' => ['description' => 'The MCP instructions used to guide the large language model on how to use this MCP. The client must support the Instructions field in the MCP standard protocol.', 'type' => 'string', 'required' => false, 'example' => 'test', 'title' => ''], + 'enableAssumeRole' => ['description' => 'Specifies whether to enable multi-account access.', 'type' => 'boolean', 'required' => false, 'example' => 'true', 'title' => ''], + 'assumeRoleName' => ['description' => 'The name of the RAM role to assume in the target account when performing cross-account operations with multi-account access enabled.', 'type' => 'string', 'required' => false, 'example' => 'test', 'title' => ''], + 'assumeRoleExtraPolicy' => ['description' => 'The additional policy for role assumption when multi-account access is enabled. When this policy is specified, the permissions of the assumed role are based on this policy, overriding the permission definitions of the role itself.', '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" + .'}', 'title' => ''], 'publicAccess' => [ - 'type' => 'string', - 'enum' => [ - 'on', - 'off', - 'follow', - ], 'description' => 'Specifies whether to enable public network access.', + 'type' => 'string', + 'enum' => ['on', 'off', 'follow'], 'required' => false, - 'title' => '', 'example' => 'on', - ], - 'enableCustomVpcWhitelist' => [ - 'type' => 'boolean', - 'description' => 'Specifies whether to enable a custom VPC whitelist. If not enabled, the account-level configuration is used.', - 'required' => false, 'title' => '', - 'example' => 'true', ], + 'enableCustomVpcWhitelist' => ['description' => 'Specifies whether to enable a custom VPC whitelist. If not enabled, the account-level configuration is used.', 'type' => 'boolean', 'required' => false, 'example' => 'true', 'title' => ''], 'terraformTools' => [ + 'description' => 'The list of Terraform tools.', 'type' => 'array', 'items' => [ + 'description' => 'The Terraform tool.', 'type' => 'object', 'properties' => [ - 'code' => [ - 'type' => 'string', - 'description' => 'The code of the Terraform tool. For more information, see [HCL language overview](https://www.alibabacloud.com/help/en/terraform/terraform-configuration-and-hcl-language-overview).', - 'required' => false, - 'title' => '', - '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' => [ - 'type' => 'string', - 'description' => 'The name of the Terraform tool.', - 'required' => false, - 'title' => '', - 'example' => 'test', - ], - 'description' => [ - 'type' => 'string', - 'description' => 'The description of the Terraform tool.', - 'required' => false, - 'title' => '', - 'example' => 'terraform tool description', - ], - 'async' => [ - 'type' => 'boolean', - 'description' => 'Specifies whether to execute the task asynchronously. If set to true, the system immediately proceeds to the next task after initiating a task execution, without waiting for each resource operation to complete.', - 'required' => false, - 'title' => '', - 'example' => 'true', - ], + 'code' => ['description' => 'The Terraform tool code. [HCL Language Overview](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" + .'}', 'title' => ''], + 'name' => ['description' => 'The Terraform tool name.', 'type' => 'string', 'required' => false, 'example' => 'test', 'title' => ''], + 'description' => ['description' => 'The description of the Terraform tool.', 'type' => 'string', 'required' => false, 'example' => 'terraform tool description', 'title' => ''], + 'async' => ['description' => 'Specifies whether to execute asynchronously. When enabled, the next task is processed immediately after a task is initiated, without waiting for each resource operation to complete.', 'type' => 'boolean', 'required' => false, 'example' => 'true', 'title' => ''], 'destroyPolicy' => [ - 'type' => 'string', - 'enum' => [ - 'NEVER', - 'ALWAYS', - 'ON_FAILURE', - ], - 'description' => 'The deletion policy. After a task is executed, the system applies the following cleanup policy to temporary resources based on the task execution status.'."\n" - ."\n" - .'- NEVER: Does not delete any created resources, regardless of whether the task execution succeeds or fails.'."\n" - ."\n" - .'- ALWAYS: Immediately destroys all related resources after the task is executed, regardless of whether the execution succeeds or fails.'."\n" + 'description' => 'The destroy policy. After task execution is completed, the system takes the following cleanup actions on temporary resources based on the task execution status.'."\n" ."\n" - .'- ON\\_FAILURE: Deletes related resources only when the task execution fails. If the task execution succeeds, the resources are retained.', + .'- NEVER: Resources are not deleted regardless of whether the task execution succeeds or fails.'."\n" + .'- ALWAYS: All related resources are destroyed immediately after execution, regardless of whether the task execution succeeds or fails.'."\n" + .'- ON_FAILURE: Related resources are deleted only when the task execution fails. When the task execution succeeds, the resources are retained.', + 'type' => 'string', + 'enum' => ['NEVER', 'ALWAYS', 'ON_FAILURE'], 'required' => false, - 'title' => '', 'example' => 'ON_FAILURE', + 'title' => '', ], ], - 'description' => 'A Terraform tool.', 'required' => false, 'title' => '', 'example' => '', ], - 'description' => 'The list of Terraform tools.', 'required' => false, 'title' => '', 'example' => '', ], 'vpcWhitelists' => [ + 'description' => 'The VPC whitelist that restricts access sources after public network access is disabled. If not set or empty, access sources are not restricted.', 'type' => 'array', - 'items' => [ - 'type' => 'string', - 'description' => 'Each VPC in the whitelist. The value is the ID of the source VPC.', - 'required' => false, - 'title' => '', - 'example' => 'vpc-j6cgd2if5lg**0xs6m5se', - ], - 'description' => 'The VPC whitelist that restricts the source of access after public network access is disabled. If you do not set this parameter or leave it empty, the source is not restricted.', + 'items' => ['description' => 'Each VPC whitelist entry. The value is the source VPC ID.', 'type' => 'string', 'required' => false, 'example' => 'vpc-j6cgd2if5lg**0xs6m5se', 'title' => ''], 'required' => false, 'title' => '', 'example' => '', ], ], - 'description' => 'Creates an API MCP service.', 'required' => false, 'title' => '', 'example' => '', @@ -720,55 +422,25 @@ 'responses' => [ 200 => [ 'schema' => [ + 'description' => 'The request result.', 'type' => 'object', 'properties' => [ - 'requestId' => [ - 'type' => 'string', - 'description' => 'The request ID.', - 'title' => '', - 'example' => ' '."\n" - .'9BFC4AC1-6BE4-5405-BDEC-CA288D404812'."\n", - ], - 'id' => [ - 'type' => 'string', - 'description' => 'The ID of the successfully created API MCP service.', - 'title' => '', - 'example' => 'v6ZZ7ftCzEILW***', - ], + 'requestId' => ['description' => 'The request ID.', 'type' => 'string', 'example' => ' '."\n" + .'9BFC4AC1-6BE4-5405-BDEC-CA288D404812'."\n", 'title' => ''], + 'id' => ['description' => 'The ID of the successfully created API MCP server.', 'type' => 'string', 'example' => 'v6ZZ7ftCzEILW***', 'title' => ''], 'urls' => [ + 'description' => 'The connection information of the API MCP server.', 'type' => 'object', 'properties' => [ - 'sse' => [ - 'type' => 'string', - 'description' => 'The connection information for the Server-Sent Events (SSE) protocol.', - 'title' => '', - 'example' => 'https://mcpserverinner-pre.cn-zhangjiakou.aliyuncs.com/accounts/xxxx/custom/xxx/id/xxxx/sse', - ], - 'mcp' => [ - 'type' => 'string', - 'description' => 'The connection information for the streamable HTTP protocol. This is the recommended protocol.', - 'title' => '', - 'example' => 'https://mcpserverinner-pre.cn-zhangjiakou.aliyuncs.com/accounts/xxxx/custom/xxx/id/xxxx/mcp', - ], - 'vpcSse' => [ - 'type' => 'string', - 'description' => 'The endpoint of the SSE protocol in a VPC.', - 'title' => '', - 'example' => 'https://openapi-mcp-cn.vpc-proxy.aliyuncs.com/accounts/xxxx/custom/xxx/id/xxxx/sse', - ], - 'vpcMcp' => [ - 'type' => 'string', - 'description' => 'The endpoint of the streamable HTTP protocol in a VPC.', - 'title' => '', - 'example' => 'https://openapi-mcp-cn.vpc-proxy.aliyuncs.com/accounts/xxxx/custom/xxx/id/xxxx/mcp', - ], + 'sse' => ['description' => 'The SSE protocol connection information.', 'type' => 'string', 'example' => 'https://openapi-mcp.cn-hangzhou.aliyuncs.com/accounts/xxxx/custom/xxx/id/xxxx/sse', 'title' => ''], + 'mcp' => ['description' => 'The streamable HTTP protocol connection information. This is recommended.', 'type' => 'string', 'example' => 'https://openapi-mcp.cn-hangzhou.aliyuncs.com/accounts/xxxx/custom/xxx/id/xxxx/mcp', 'title' => ''], + 'vpcSse' => ['description' => 'The SSE protocol connection address within VPC.', 'type' => 'string', 'example' => 'https://openapi-mcp-cn.vpc-proxy.aliyuncs.com/accounts/xxxx/custom/xxx/id/xxxx/sse', 'title' => ''], + 'vpcMcp' => ['description' => 'The streamable HTTP protocol connection address within VPC.', 'type' => 'string', 'example' => 'https://openapi-mcp-cn.vpc-proxy.aliyuncs.com/accounts/xxxx/custom/xxx/id/xxxx/mcp', 'title' => ''], ], - 'description' => 'The connection information for the API MCP service.', 'title' => '', 'example' => '', ], ], - 'description' => 'The request result.', 'title' => '', 'example' => '', ], @@ -776,139 +448,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' => 'The name must be 3 to 64 characters in length and can contain only lowercase letters, numbers, underscores, and hyphens.', - ], - [ - 'errorCode' => 'InvalidParam.Apis.PopVersion', - 'errorMessage' => 'Unsupported product version: %s of product code: %s.', - 'description' => 'Product% s does not support xxx version.', - ], - [ - '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' => 'The request used the same client token as the previous request, but with different parameters. Do not reuse the same token in requests with different parameters. Each request must use a unique token.', - ], - [ - 'errorCode' => 'Missing.Apis.PopCode', - 'errorMessage' => 'Apis.PopCode is mandatory for this action.', - 'description' => 'The required parameter popCode is missing in the Apis parameter.', - ], - [ - 'errorCode' => 'Missing.Apis.PopVersion', - 'errorMessage' => 'Apis.PopVersion is mandatory for this action.', - 'description' => 'Apis.PopVersion is mandatory for this action.', - ], - [ - 'errorCode' => 'InvalidParam.Apis.PopCode', - 'errorMessage' => 'Unsupported product code: %s.', - 'description' => 'The specified product name does not exist', - ], - [ - 'errorCode' => 'Missing.Apis.Selectors', - 'errorMessage' => 'Apis.Selectors is mandatory for this action.', - 'description' => 'Apis.Selectors is a required parameter', - ], - [ - 'errorCode' => 'Missing.Name', - 'errorMessage' => 'Name is mandatory for this action.', - 'description' => '', - ], - [ - 'errorCode' => 'Missing.Apis', - 'errorMessage' => 'Apis is mandatory for this action.', - 'description' => 'Missing required parameter Apis', - ], - [ - 'errorCode' => 'InvalidParam.Language', - 'errorMessage' => 'Unsupported language: %s.', - 'description' => 'Specify multilingual wu\'xi', - ], - [ - 'errorCode' => 'InvalidParam.AdditionalApiDescription.PopVersion', - 'errorMessage' => 'Unsupported product version: %s of product code: %s.', - 'description' => 'Product% s does not support version% s.', - ], - [ - 'errorCode' => 'InvalidParam.AdditionalApiDescription.PopCode', - 'errorMessage' => 'Unsupported product code: %s.', - 'description' => 'The specified product does not exist', - ], - [ - 'errorCode' => 'InvalidParam.SystemTools', - 'errorMessage' => 'System tool %s is not supported.', - 'description' => '', - ], - [ - 'errorCode' => 'Missing.TerraformTools.Description', - 'errorMessage' => 'TerraformTools.Description is mandatory for this action.', - 'description' => 'Missing required parameter TerraformTools.Description', - ], - [ - 'errorCode' => 'Missing.TerraformTools.Code', - 'errorMessage' => 'TerraformTools.Code is mandatory for this action.', - 'description' => 'The required parameter TerraformTools.Code is missing.', - ], - [ - 'errorCode' => 'Missing.TerraformTools.Name', - 'errorMessage' => 'TerraformTools.Name is mandatory for this action.', - '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' => 'The Terraform tool name must be 3 to 63 characters in length and can contain only lowercase letters, numbers, underscores, and hyphens.', - ], - [ - 'errorCode' => 'Missing.AccountId', - 'errorMessage' => 'x-acs-account-id is mandatory in request header for this action.', - 'description' => 'The required parameter x-acs-account-id is missing in the request header.', - ], - [ - 'errorCode' => 'Missing.CallerUid', - 'errorMessage' => 'x-acs-caller-uid is mandatory in request header for this action.', - 'description' => 'The required parameter x-acs-caller-uid is missing in the request header.', - ], - [ - 'errorCode' => 'Missing.PrincipalId', - 'errorMessage' => 'x-acs-sts-token-principal-id is mandatory in request header in STS assumeRole scenario for this action.', - 'description' => 'In the STS role-playing scenario, the required parameter x-acs-sts-token-principal-id is missing in the request header.', - ], - [ - 'errorCode' => 'InvalidParam.TerraformTools.Code', - 'errorMessage' => 'The Terraform tool code is not valid: %s. Please check the syntax and try again.', - 'description' => 'The specified TerraformTools.Code parameter is invalid.', - ], - [ - 'errorCode' => 'InvalidParam.ClientToken', - 'errorMessage' => 'The specified client token is not valid.', - 'description' => 'The idempotent parameter is incorrect, please check.', - ], + ['errorCode' => 'InvalidParam.Name', 'errorMessage' => 'Name must be 3 to 64 characters long and can only contain lowercase letters, numbers, underscore, and hyphens.', 'description' => 'The name must be 3 to 64 characters in length and can contain only lowercase letters, numbers, underscores, and hyphens.'], + ['errorCode' => 'InvalidParam.Apis.PopVersion', 'errorMessage' => 'Unsupported product version: %s of product code: %s.', 'description' => 'Product% s does not support xxx version.'], + ['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' => 'The request used the same client token as the previous request, but with different parameters. Do not reuse the same token in requests with different parameters. Each request must use a unique token.'], + ['errorCode' => 'Missing.Apis.PopCode', 'errorMessage' => 'Apis.PopCode is mandatory for this action.', 'description' => 'The required parameter popCode is missing in the Apis parameter.'], + ['errorCode' => 'Missing.Apis.PopVersion', 'errorMessage' => 'Apis.PopVersion is mandatory for this action.', 'description' => 'Apis.PopVersion is mandatory for this action.'], + ['errorCode' => 'InvalidParam.Apis.PopCode', 'errorMessage' => 'Unsupported product code: %s.', 'description' => 'The specified product name does not exist'], + ['errorCode' => 'Missing.Apis.Selectors', 'errorMessage' => 'Apis.Selectors is mandatory for this action.', 'description' => 'Apis.Selectors is a required parameter'], + ['errorCode' => 'Missing.Name', 'errorMessage' => 'Name is mandatory for this action.', 'description' => ''], + ['errorCode' => 'Missing.Apis', 'errorMessage' => 'Apis is mandatory for this action.', 'description' => 'Missing required parameter Apis'], + ['errorCode' => 'InvalidParam.Language', 'errorMessage' => 'Unsupported language: %s.', 'description' => 'Specify multilingual wu\'xi'], + ['errorCode' => 'InvalidParam.AdditionalApiDescription.PopVersion', 'errorMessage' => 'Unsupported product version: %s of product code: %s.', 'description' => 'Product% s does not support version% s.'], + ['errorCode' => 'InvalidParam.AdditionalApiDescription.PopCode', 'errorMessage' => 'Unsupported product code: %s.', 'description' => 'The specified product does not exist'], + ['errorCode' => 'InvalidParam.SystemTools', 'errorMessage' => 'System tool %s is not supported.', 'description' => ''], + ['errorCode' => 'Missing.TerraformTools.Description', 'errorMessage' => 'TerraformTools.Description is mandatory for this action.', 'description' => 'Missing required parameter TerraformTools.Description'], + ['errorCode' => 'Missing.TerraformTools.Code', 'errorMessage' => 'TerraformTools.Code is mandatory for this action.', 'description' => 'The required parameter TerraformTools.Code is missing.'], + ['errorCode' => 'Missing.TerraformTools.Name', 'errorMessage' => 'TerraformTools.Name is mandatory for this action.', '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' => 'The Terraform tool name must be 3 to 63 characters in length and can contain only lowercase letters, numbers, underscores, and hyphens.'], + ['errorCode' => 'Missing.AccountId', 'errorMessage' => 'x-acs-account-id is mandatory in request header for this action.', 'description' => 'The required parameter x-acs-account-id is missing in the request header.'], + ['errorCode' => 'Missing.CallerUid', 'errorMessage' => 'x-acs-caller-uid is mandatory in request header for this action.', 'description' => 'The required parameter x-acs-caller-uid is missing in the request header.'], + ['errorCode' => 'Missing.PrincipalId', 'errorMessage' => 'x-acs-sts-token-principal-id is mandatory in request header in STS assumeRole scenario for this action.', 'description' => 'In the STS role-playing scenario, the required parameter x-acs-sts-token-principal-id is missing in the request header.'], + ['errorCode' => 'InvalidParam.TerraformTools.Code', 'errorMessage' => 'The Terraform tool code is not valid: %s. Please check the syntax and try again.', 'description' => 'The specified TerraformTools.Code parameter is invalid.'], + ['errorCode' => 'InvalidParam.ClientToken', 'errorMessage' => 'The specified client token is not valid.', 'description' => 'The idempotent parameter is incorrect, please check.'], + ['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' => '', - ], - [ - 'errorCode' => 'Exists.TerraformTools.Name', - 'errorMessage' => 'The Terraform tool name already exists.', - 'description' => 'The specified Terraform tool name already exists.', - ], + ['errorCode' => 'Exists.Name', 'errorMessage' => 'The MCP server name already exists.', 'description' => ''], + ['errorCode' => 'Exists.TerraformTools.Name', 'errorMessage' => 'The Terraform tool name already exists.', 'description' => 'The specified Terraform tool name already exists.'], + ['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' => 'The number of MCP server created by the user has reached the upper limit.', - ], + ['errorCode' => 'QuotaExceeded', 'errorMessage' => 'The number of MCP server created by the user has reached the upper limit.', 'description' => 'The number of MCP server created by the user has reached the upper limit.'], ], ], - 'title' => 'CreateApiMcpServer', - 'summary' => 'Creates an API MCP service.', + 'title' => 'Create API MCP Server', 'changeSet' => [], 'flowControl' => [ 'flowControlList' => [], @@ -921,69 +495,137 @@ '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' => 'Creates an ApiMcpServerCore resource.', + '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' => [ + 'type' => 'object', + 'properties' => [ + 'clientToken' => ['description' => 'A client-generated token that ensures the request is idempotent. This token must be unique across all requests.', 'type' => 'string', 'required' => false, 'example' => '123e4567-e89b-12d3-a456-426655440000', 'title' => ''], + 'oauthClientId' => ['description' => 'The custom OAuth client ID. This parameter is used when you select a custom OAuth configuration.'."\n" + ."\n" + .'**Note:** Only web and native applications are supported. The OAuth scope must include `/acs/mcp-server`.', 'type' => 'string', 'required' => false, 'example' => '403*************370', 'title' => ''], + 'vpcWhitelists' => [ + 'type' => 'array', + 'items' => ['description' => 'Specifies the allowed source VPCs when public access is disabled. If this parameter is omitted or left empty, all sources are allowed.', 'type' => 'string', 'required' => false, 'example' => 'vpc-j6cgd2if5lg**0xs6m5se', 'title' => ''], + 'description' => 'The VPC whitelist. Each value is the ID of a source VPC.', + 'required' => false, + 'title' => '', + 'example' => '', ], + 'enableAssumeRole' => ['description' => 'Specifies whether to enable multi-account access.', 'type' => 'boolean', 'required' => false, 'example' => 'true', 'title' => ''], + 'assumeRoleOverridePolicy' => ['description' => 'An additional policy applied when you assume a role for multi-account access. If specified, this policy overrides the permissions of the assumed role.', 'type' => 'string', 'required' => false, 'example' => '{"Version":"1","Statement":[{"Effect":"Allow","Action":["ecs:Describe*"],"Resource":"*"}]}', 'title' => ''], + 'assumeRoleName' => ['description' => 'The name of the RAM role to assume in the target account for cross-account operations. This parameter is required only if multi-account access is enabled.', 'type' => 'string', 'required' => false, 'example' => 'test', 'title' => ''], + 'publicAccessType' => [ + 'description' => 'The type of public access. Valid values: `public`, `private`, and `inherit`.', + 'enumValueTitles' => ['private' => 'Disables public access.', 'public' => 'Enables public access.', 'inherit' => 'Inherits the account-level configuration.'], + 'type' => 'string', + 'required' => false, + 'example' => 'public', + 'title' => '', + ], + 'enableCustomVpcWhitelist' => ['description' => 'Specifies whether to enable a custom VPC whitelist. If this parameter is set to false, the account-level configuration is used.', 'type' => 'boolean', 'required' => false, 'example' => 'true', 'title' => ''], ], + 'description' => 'The request body.', + 'required' => false, + 'title' => '', + 'example' => '', ], ], ], - '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"}]', + 'responses' => [ + 200 => [ + 'schema' => [ + 'type' => 'object', + 'properties' => [ + 'requestId' => ['description' => 'The request ID.', 'type' => 'string', 'example' => 'A707AFA8-1A4C-5B2A-A165-8436C1EA38DB', 'title' => ''], + 'id' => ['description' => 'The ID of the created ApiMcpServerCore resource.', 'type' => 'string', 'example' => 'v6ZZ7ftCzEILW***', 'title' => ''], + ], + 'description' => 'The response object.', + 'title' => '', + 'example' => '', + ], + ], + ], + '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' => 'The request used the same client token as the previous request, but with different parameters. Do not reuse the same token in requests with different parameters. Each request must use a unique token.'], + ['errorCode' => 'Missing.AccountId', 'errorMessage' => 'x-acs-account-id is mandatory in request header for this action.', 'description' => 'The required parameter x-acs-account-id is missing in the request header.'], + ['errorCode' => 'Missing.CallerUid', 'errorMessage' => 'x-acs-caller-uid is mandatory in request header for this action.', 'description' => 'The required parameter x-acs-caller-uid is missing in the request header.'], + ['errorCode' => 'Missing.PrincipalId', 'errorMessage' => 'x-acs-sts-token-principal-id is mandatory in request header in STS assumeRole scenario for this action.', 'description' => 'In the STS role-playing scenario, the required parameter x-acs-sts-token-principal-id is missing in the request header.'], + ['errorCode' => 'InvalidParam.ClientToken', 'errorMessage' => 'The specified client token is not valid.', 'description' => 'The idempotent parameter is incorrect, please check.'], + ], + 429 => [ + ['errorCode' => 'QuotaExceeded', 'errorMessage' => 'The number of MCP server created by the user has reached the upper limit.', 'description' => 'The number of MCP server created by the user has reached the upper limit.'], + ], + ], + 'title' => 'CreateApiMcpServerCore', + 'description' => 'This public API operation queries only public information and does not require authorization.', + 'changeSet' => [], + 'flowControl' => [ + 'flowControlList' => [], + ], + 'ramActions' => [], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"requestId\\": \\"A707AFA8-1A4C-5B2A-A165-8436C1EA38DB\\",\\n \\"id\\": \\"v6ZZ7ftCzEILW***\\"\\n}","type":"json"}]', ], 'DeleteApiMcpServer' => [ 'summary' => 'Deletes an API MCP service.', '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' => [ - 'type' => 'string', - 'description' => 'The client token used to ensure the idempotence of the request. Generate this value on your client and make sure that it is unique among different requests. The token can contain only ASCII characters and cannot exceed 64 characters in length. Use a universally unique identifier (UUID). The token is valid for three days.', - 'required' => false, - 'title' => '', - 'example' => '123e4567-e89b-12d3-a456-426655440000', - ], + 'schema' => ['description' => 'A client-generated token that you must use to ensure request idempotence. The token must be unique for each request, contain only ASCII characters, and be no longer than 64 characters. Using a UUID is recommended. The token is valid for 3 days.', 'type' => 'string', 'required' => false, 'example' => '123e4567-e89b-12d3-a456-426655440000', 'title' => ''], ], [ 'name' => 'id', 'in' => 'query', - 'schema' => [ - 'type' => 'string', - 'required' => true, - 'description' => 'The ID of the API MCP service.', - 'title' => '', - 'example' => 'v6ZZ7ftCzEILW***', - ], + 'schema' => ['description' => 'The ID of the API MCP service.', 'type' => 'string', 'required' => true, 'example' => 'v6ZZ7ftCzEILW***', 'title' => ''], ], ], 'responses' => [ @@ -991,12 +633,7 @@ 'schema' => [ 'type' => 'object', 'properties' => [ - 'requestId' => [ - 'type' => 'string', - 'description' => 'The request ID.', - 'title' => '', - 'example' => '9BFC4AC1-6BE4-5405-BDEC-CA288D404812', - ], + 'requestId' => ['description' => 'The request ID.', 'type' => 'string', 'example' => '9BFC4AC1-6BE4-5405-BDEC-CA288D404812', 'title' => ''], ], 'description' => 'The response.', 'title' => '', @@ -1006,35 +643,15 @@ ], 'errorCodes' => [ 400 => [ - [ - 'errorCode' => 'Missing.Id', - 'errorMessage' => 'Id is mandatory for this action.', - 'description' => '', - ], - [ - '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' => 'The request used the same client token as the previous request, but with different parameters. Do not reuse the same token in requests with different parameters. Each request must use a unique token.', - ], - [ - 'errorCode' => 'InvalidParam.ClientToken', - 'errorMessage' => 'The specified client token is not valid.', - 'description' => 'The idempotent parameter is incorrect, please check.', - ], + ['errorCode' => 'Missing.Id', 'errorMessage' => 'Id is mandatory for this action.', 'description' => ''], + ['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' => 'The request used the same client token as the previous request, but with different parameters. Do not reuse the same token in requests with different parameters. Each request must use a unique token.'], + ['errorCode' => 'InvalidParam.ClientToken', 'errorMessage' => 'The specified client token is not valid.', 'description' => 'The idempotent parameter is incorrect, please check.'], ], 403 => [ - [ - 'errorCode' => 'OperationNotAllowed.SystemServer', - 'errorMessage' => 'System type servers are not allowed to be updated or deleted.', - 'description' => 'System-level services do not allow update or delete operations.', - ], + ['errorCode' => 'OperationNotAllowed.SystemServer', 'errorMessage' => 'System type servers are not allowed to be updated or deleted.', 'description' => 'System-level services do not allow update or delete operations.'], ], [ - [ - 'errorCode' => 'NotFound.ApiMcpServer', - 'errorMessage' => 'Specified MCP server not found.', - 'description' => 'The MCP service with the specified ID does not exist.', - ], + ['errorCode' => 'NotFound.ApiMcpServer', 'errorMessage' => 'Specified MCP server not found.', 'description' => 'The MCP service with the specified ID does not exist.'], ], ], 'title' => 'DeleteApiMcpServer', @@ -1050,46 +667,93 @@ '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' => 'Generates commands for the Alibaba Cloud command-line interface (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'], ], - 'produces' => [ - 'application/json', + 'parameters' => [ + [ + 'name' => 'clientToken', + 'in' => 'query', + 'schema' => ['description' => 'A unique identifier generated by the client to ensure request idempotence. Using the same `ClientToken` for multiple requests to create or update a resource ensures the operation is performed only once, preventing duplicates. Use the same `ClientToken` for retries.', 'type' => 'string', 'required' => false, 'example' => '123e4567-e89b-12d3-a456-426655440000', 'title' => ''], + ], + [ + 'name' => 'id', + 'in' => 'query', + 'schema' => ['description' => 'The unique ID of the resource.', 'type' => 'string', 'required' => true, 'example' => 'v6ZZ7ftCzEILW***', 'title' => ''], + ], ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'type' => 'object', + 'properties' => [ + 'requestId' => ['description' => 'The request ID.', 'type' => 'string', 'example' => 'A707AFA8-1A4C-5B2A-A165-8436C1EA38DB', 'title' => ''], + ], + 'description' => '', + 'title' => '', + 'example' => '', + ], + ], + ], + 'errorCodes' => [ + 400 => [ + ['errorCode' => 'Missing.Id', 'errorMessage' => 'Id is mandatory for this action.', 'description' => ''], + ['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' => 'The request used the same client token as the previous request, but with different parameters. Do not reuse the same token in requests with different parameters. Each request must use a unique token.'], + ['errorCode' => 'InvalidParam.ClientToken', 'errorMessage' => 'The specified client token is not valid.', 'description' => 'The idempotent parameter is incorrect, please check.'], + ], + 404 => [ + ['errorCode' => 'NotFound.ApiMcpServer', 'errorMessage' => 'Specified MCP server not found.', 'description' => 'The MCP service with the specified ID does not exist.'], + ], + ], + 'title' => 'DeleteApiMcpServerCore', + 'summary' => 'Deletes an ApiMcpServerCore resource.', + 'description' => 'This public API does not require authorization because it does not access account-specific information.', + 'changeSet' => [], + 'flowControl' => [ + 'flowControlList' => [], + ], + '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', ], @@ -1097,51 +761,26 @@ [ 'name' => 'product', 'in' => 'formData', - 'schema' => [ - 'description' => 'The product code.'."\n" - ."\n" - .'- Call the GetRequestLog operation to obtain the product code from the response.'."\n" - ."\n" - .'- Find the product code in the URL of the product in OpenAPI Portal. For example, <props="china">the OpenAPI Portal URL for Short Message Service is https\\://api.aliyun.com/product/Dysmsapi. The product code for Short Message Service is Dysmsapi.</props>'."\n" - .' <props="intl">the OpenAPI Portal URL for Short Message Service is https\\://api.alibabacloud.com/product/Dysmsapi. The product code for Short Message Service is Dysmsapi.</props>', - 'type' => 'string', - 'required' => true, - 'example' => 'Ecs', - 'title' => '', - ], + 'schema' => ['description' => 'The product code. You can find it in two ways:'."\n" + ."\n" + .'- Call the `GetRequestLog` operation. The product code will be included in the response data.'."\n" + ."\n" + .'- The product code is the last part of the service\'s URL in OpenAPI Explorer. For example, <props="china">the OpenAPI Explorer URL for Short Message Service is https\\://api.aliyun.com/product/Dysmsapi. Therefore, the product code is Dysmsapi.</props><props="intl">the OpenAPI Explorer URL for Short Message Service is https\\://api.alibabacloud.com/product/Dysmsapi. Therefore, the product code is Dysmsapi.</props>', 'type' => 'string', 'required' => true, 'example' => 'Ecs', 'title' => ''], ], [ 'name' => 'apiVersion', 'in' => 'formData', - 'schema' => [ - 'description' => 'The version of the API.', - 'type' => 'string', - 'required' => true, - 'example' => '2014-05-26', - 'title' => '', - ], + 'schema' => ['description' => 'The API version.', 'type' => 'string', 'required' => true, 'example' => '2014-05-26', 'title' => ''], ], [ 'name' => 'api', 'in' => 'formData', - 'schema' => [ - 'description' => 'The name of the API.', - 'type' => 'string', - 'required' => true, - 'example' => 'DescribeRegions', - 'title' => '', - ], + 'schema' => ['description' => 'The API name.', 'type' => 'string', 'required' => true, 'example' => 'DescribeRegions', 'title' => ''], ], [ 'name' => 'regionId', 'in' => 'formData', - 'schema' => [ - 'description' => 'The ID of the region.', - 'type' => 'string', - 'required' => false, - 'example' => 'cn-hangzhou', - 'title' => '', - ], + 'schema' => ['description' => 'The region ID.', 'type' => 'string', 'required' => false, 'example' => 'cn-hangzhou', 'title' => ''], ], [ 'name' => 'apiParams', @@ -1149,16 +788,11 @@ 'style' => 'json', 'schema' => [ 'type' => 'object', - 'additionalProperties' => [ - 'description' => 'The request parameters.', - 'type' => 'any', - 'example' => '{'."\n" - .' "InstanceChargeType": "PostPaid",'."\n" - .' "ResourceType": "instance",'."\n" - .' "AcceptLanguage": "en-US"'."\n" - .'}', - 'title' => '', - ], + 'additionalProperties' => ['description' => 'The request parameters.', 'type' => 'any', 'example' => '{'."\n" + .' "InstanceChargeType": "PostPaid",'."\n" + .' "ResourceType": "instance",'."\n" + .' "AcceptLanguage": "en-US"'."\n" + .'}', 'title' => ''], 'description' => 'The request parameters.', 'required' => false, 'title' => '', @@ -1169,38 +803,26 @@ [ 'name' => 'jsonApiParams', 'in' => 'formData', - 'schema' => [ - 'description' => 'The request parameters for the API in JSON format. This parameter has a lower priority than \\`apiParams\\`. If \\`apiParams\\` is set, this parameter is ignored.', - 'type' => 'string', - 'required' => false, - 'example' => '{'."\n" - .' "InstanceChargeType": "PostPaid",'."\n" - .' "ResourceType": "instance",'."\n" - .' "AcceptLanguage": "en-US"'."\n" - .'}', - 'title' => '', - ], + 'schema' => ['description' => 'The API request parameters in JSON format. This parameter has lower priority than apiParams. If you set apiParams, this parameter is ignored.', 'type' => 'string', 'required' => false, 'example' => '{'."\n" + .' "InstanceChargeType": "PostPaid",'."\n" + .' "ResourceType": "instance",'."\n" + .' "AcceptLanguage": "en-US"'."\n" + .'}', 'title' => ''], ], [ 'name' => 'aggregatePagination', 'in' => 'formData', - 'schema' => [ - 'description' => 'Specifies whether to enable aggregation. If you enable this feature, the CLI automatically reads full data by page and aggregates the results.'."\n" - ."\n" - .'><warning>'."\n" - ."\n" - .'Only List operations that support paging can use this switch.'."\n" - ."\n" - .'></warning>'."\n" - ."\n" - .'- true: enables aggregation.'."\n" - ."\n" - .'- false: disables aggregation.', - 'type' => 'boolean', - 'required' => false, - 'example' => 'true', - 'title' => '', - ], + 'schema' => ['description' => 'Specifies whether to enable aggregation. If enabled, the CLI automatically reads full data using pagination and aggregates the results.'."\n" + ."\n" + .'><warning>'."\n" + ."\n" + .'You can use this option only with List operations that support pagination.'."\n" + ."\n" + .'></warning>'."\n" + ."\n" + .'- true: Enable'."\n" + ."\n" + .'- false: Disable', 'type' => 'boolean', 'required' => false, 'example' => 'true', 'title' => ''], ], ], 'responses' => [ @@ -1208,48 +830,26 @@ 'schema' => [ 'type' => 'object', 'properties' => [ - 'cli' => [ - 'description' => 'The CLI instruction.', - 'type' => 'string', - 'title' => '', - 'example' => 'aliyun ecs DescribeRegions --ResourceType instance', - ], - 'requestId' => [ - 'description' => 'The request ID.', - 'type' => 'string', - 'example' => 'A707AFA8-1A4C-5B2A-A165-8436C1EA38DB', - 'title' => '', - ], + 'cli' => ['description' => 'The CLI command.', 'type' => 'string', 'title' => '', 'example' => 'aliyun ecs DescribeRegions --ResourceType instance'], + 'requestId' => ['description' => 'The request ID.', 'type' => 'string', 'example' => 'A707AFA8-1A4C-5B2A-A165-8436C1EA38DB', 'title' => ''], + 'unifiedCli' => ['description' => 'The CLI command in unified CLI format.', 'type' => 'string', 'title' => '', 'example' => ''], ], 'title' => '', - 'description' => 'The request result.', + 'description' => 'The response parameters.', 'example' => '', ], ], ], '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' => 'GenerateCLICommand', + 'summary' => 'Generates an Alibaba Cloud CLI command dynamically.', 'changeSet' => [], 'flowControl' => [ 'flowControlList' => [], @@ -1262,45 +862,30 @@ 'authLevel' => 'operate', 'actionConditions' => [], 'resources' => [ - [ - 'validationType' => 'always', - 'product' => 'OpenAPIExplorer', - 'resourceType' => 'All Resource', - 'arn' => '*', - ], + ['validationType' => 'always', 'product' => 'OpenAPIExplorer', 'resourceType' => 'All Resource', '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', ], @@ -1308,40 +893,21 @@ [ 'name' => 'product', 'in' => 'query', - 'schema' => [ - 'type' => 'string', - 'required' => true, - 'description' => 'The product code.'."\n" - ."\n" - .'- Call the GetRequestLog operation to obtain the product code from the response.'."\n" - ."\n" - .'- Find the product code in the product\'s OpenAPI Portal URL. <props="china">For example, the OpenAPI Portal URL for Short Message Service is https\\://api.aliyun.com/product/Dysmsapi. The product code for Short Message Service is Dysmsapi.</props>'."\n" - .' <props="intl">For example, the OpenAPI Portal URL for Short Message Service is https\\://api.alibabacloud.com/product/Dysmsapi. The product code for Short Message Service is Dysmsapi.</props>', - 'title' => '', - 'example' => 'Ecs', - ], + 'schema' => ['description' => 'The product code. You can find it in two ways:'."\n" + ."\n" + .'- Call the `GetRequestLog` operation. The product code will be included in the response data.'."\n" + ."\n" + .'- The product code is the last part of the service\'s URL in OpenAPI Explorer. For example, <props="china">the OpenAPI Explorer URL for Short Message Service is https\\://api.aliyun.com/product/Dysmsapi. Therefore, the product code is Dysmsapi.</props><props="intl">the OpenAPI Explorer URL for Short Message Service is https\\://api.alibabacloud.com/product/Dysmsapi. Therefore, the product code is Dysmsapi.</props>', 'type' => 'string', 'required' => true, 'example' => 'Ecs', 'title' => ''], ], [ 'name' => 'apiVersion', 'in' => 'query', - 'schema' => [ - 'type' => 'string', - 'required' => true, - 'description' => 'The API version.', - 'title' => '', - 'example' => '2014-05-26', - ], + 'schema' => ['description' => 'The API version.', 'type' => 'string', 'required' => true, 'example' => '2014-05-26', 'title' => ''], ], [ 'name' => 'api', 'in' => 'query', - 'schema' => [ - 'type' => 'string', - 'required' => true, - 'description' => 'The API name.', - 'title' => '', - 'example' => 'DescribeRegions', - ], + 'schema' => ['description' => 'The API name.', 'type' => 'string', 'required' => true, 'example' => 'DescribeRegions', 'title' => ''], ], ], 'responses' => [ @@ -1349,18 +915,16 @@ 'schema' => [ 'type' => 'object', 'properties' => [], - 'description' => 'The open metadata of the API.', + 'description' => 'The metadata of the API.', 'title' => '', 'example' => '', ], ], ], 'errorCodes' => [], - 'staticInfo' => [ - 'returnType' => 'synchronous', - ], + 'staticInfo' => ['returnType' => 'synchronous'], 'title' => 'GetApiDefinition', - 'summary' => 'Retrieves the OpenAPI metadata for an API in a product.', + 'summary' => 'Queries the metadata for an API operation of a cloud service.', 'changeSet' => [], 'flowControl' => [ 'flowControlList' => [], @@ -1369,581 +933,310 @@ 'responseDemo' => '[{"errorExample":"","example":"{}","type":"json"}]', ], 'GetApiMcpServer' => [ - 'summary' => 'Retrieves the details of a specific API MCP service.', + 'summary' => 'Queries the details of an API MCP service.', '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' => [ - 'type' => 'string', - 'required' => true, - 'description' => 'The ID of the API MCP service.', - 'title' => '', - 'example' => 'v6ZZ7ftCzEILW***', - ], + 'schema' => ['description' => 'The ID of the API MCP service.', 'type' => 'string', 'required' => true, 'example' => 'v6ZZ7ftCzEILW***', 'title' => ''], ], ], 'responses' => [ 200 => [ 'schema' => [ + 'description' => 'The request result.', 'type' => 'object', 'properties' => [ - 'requestId' => [ - 'type' => 'string', - 'description' => 'The request ID.', - 'title' => '', - 'example' => ' '."\n" - .'9BFC4AC1-6BE4-5405-BDEC-CA288D404812'."\n", - ], - 'id' => [ - 'type' => 'string', - 'description' => 'The ID of the API MCP service.', - 'title' => '', - 'example' => 'v6ZZ7ftCzEILW***', - ], - 'description' => [ - 'type' => 'string', - 'description' => 'The description of the API MCP server.', - 'title' => '', - 'example' => '这是一个API MCP 服务器', - ], + 'requestId' => ['description' => 'The request ID.', 'type' => 'string', 'example' => ' '."\n" + .'9BFC4AC1-6BE4-5405-BDEC-CA288D404812'."\n", 'title' => ''], + 'id' => ['description' => 'The ID of the API MCP service.', 'type' => 'string', 'example' => 'v6ZZ7ftCzEILW***', 'title' => ''], + 'description' => ['description' => 'The description of the API MCP server.', 'type' => 'string', 'example' => '这是一个API MCP 服务器', 'title' => ''], 'apis' => [ + 'description' => 'The list of API information.', 'type' => 'array', 'items' => [ + 'description' => 'The API information.', 'type' => 'object', 'properties' => [ - 'product' => [ - 'type' => 'string', - 'description' => 'The product code.'."\n" - ."\n" - .'- Call the GetRequestLog operation to obtain the product code from the response.'."\n" - ."\n" - .'<props="intl">'."\n" - ."\n" - .'- Find the corresponding product code from the URL of the OpenAPI Portal. For example, the URL of the OpenAPI Portal for Short Message Service is https\\://api.alibabacloud.com/product/Dysmsapi. The product code for Short Message Service is Dysmsapi.'."\n" - ."\n" - .'</props>', - 'title' => '', - 'example' => 'Ecs', - ], - 'apiVersion' => [ - 'type' => 'string', - 'description' => 'The POP version of the API that is exposed to the MCP server.', - 'title' => '', - 'example' => '2014-05-26', - ], + 'product' => ['description' => 'The product code.'."\n" + ."\n" + .'- Call the GetRequestLog operation and obtain the product code from the response.'."\n" + ."\n" + .'- Find the product code from the URL of the OpenAPI portal. For example, <props="china">the OpenAPI portal URL for Short Message Service is https://api.aliyun.com/product/Dysmsapi. Based on this URL, the product code for Short Message Service is Dysmsapi.</props>'."\n" + .'<props="intl">the OpenAPI portal URL for Short Message Service is https://api.alibabacloud.com/product/Dysmsapi. Based on this URL, the product code for Short Message Service is Dysmsapi.</props>.', 'type' => 'string', 'example' => 'Ecs', 'title' => ''], + 'apiVersion' => ['description' => 'The POP version to which the API exposed to the MCP server belongs.', 'type' => 'string', 'example' => '2014-05-26', 'title' => ''], 'selectors' => [ + 'description' => 'The list of API name matching rules.', 'type' => 'array', - 'items' => [ - 'type' => 'string', - 'description' => 'The API name matching rule.', - 'title' => '', - 'example' => '*Bucket', - ], - 'description' => 'A list of API name matching rules.', + 'items' => ['description' => 'The API name matching rule.', 'type' => 'string', 'example' => '*Bucket', 'title' => ''], 'title' => '', 'example' => '', ], ], - 'description' => 'The API information.', 'title' => '', 'example' => '', ], - 'description' => 'A list of API information.', 'title' => '', 'example' => '', ], 'additionalApiDescriptions' => [ + 'description' => 'The list of supplementary API descriptions.', 'type' => 'array', 'items' => [ + 'description' => 'The supplementary API description.', 'type' => 'object', 'properties' => [ - 'apiVersion' => [ - 'type' => 'string', - 'description' => 'The POP version of the API that is exposed to the MCP server.', - 'title' => '', - 'example' => '2014-05-26', - ], - 'product' => [ - 'type' => 'string', - 'description' => 'The product code.'."\n" - ."\n" - .'- Call the GetRequestLog operation to obtain the product code from the response.'."\n" - ."\n" - .'<props="intl">'."\n" - ."\n" - .'- Find the corresponding product code from the URL of the OpenAPI Portal. For example, the URL of the OpenAPI Portal for Short Message Service is https\\://api.alibabacloud.com/product/Dysmsapi. The product code for Short Message Service is Dysmsapi.'."\n" - ."\n" - .'</props>', - 'title' => '', - 'example' => 'Ecs', - ], - 'apiName' => [ - 'type' => 'string', - 'description' => 'The API name.', - 'title' => '', - 'example' => 'DescribeRegions', - ], - 'apiOverrideJson' => [ - 'type' => 'string', - 'description' => 'The API metadata in JSON format. For an example of the format, see https\\://api.aliyun.com/meta/v1/products/Ecs/versions/2014-05-26/apis/DescribeInstances/api.json. You can overwrite the summary and parameters fields.', - 'title' => '', - 'example' => '{'."\n" - .' "summary": "本接口支持根据不同请求条件查询实例列表,并关联查询实例的详细信息。"'."\n" - .'}', - ], - 'executeCliCommand' => [ - 'type' => 'boolean', - 'description' => 'Indicates whether to return the command-line interface (CLI) command. In this mode, the API is not called. Instead, the corresponding CLI command is returned. This is suitable for long-running tasks that need to be executed using Alibaba Cloud CLI.', - 'title' => '', - 'example' => 'true', - ], - 'enableOutputSchema' => [ - 'type' => 'boolean', - 'description' => 'Indicates whether to return the schema of the response parameters. Returning the schema increases the size of the entire API MCP server. The default value is null, which means the schema is not returned.', - 'title' => '', - 'example' => 'true', - ], + 'apiVersion' => ['description' => 'The POP version to which the API exposed to the MCP server belongs.', 'type' => 'string', 'example' => '2014-05-26', 'title' => ''], + 'product' => ['description' => 'The product code.'."\n" + ."\n" + .'- Call the GetRequestLog operation and obtain the product code from the response.'."\n" + ."\n" + .'- Find the product code from the URL of the OpenAPI portal. For example, <props="china">the OpenAPI portal URL for Short Message Service is https://api.aliyun.com/product/Dysmsapi. Based on this URL, the product code for Short Message Service is Dysmsapi.</props>'."\n" + .'<props="intl">the OpenAPI portal URL for Short Message Service is https://api.alibabacloud.com/product/Dysmsapi. Based on this URL, the product code for Short Message Service is Dysmsapi.</props>.', 'type' => 'string', 'example' => 'Ecs', 'title' => ''], + 'apiName' => ['description' => 'The API name.', 'type' => 'string', 'example' => 'DescribeRegions', 'title' => ''], + 'apiOverrideJson' => ['description' => 'The API metadata in JSON format. Refer to the format at https://api.aliyun.com/meta/v1/products/Ecs/versions/2014-05-26/apis/DescribeInstances/api.json. You can override the summary and parameters fields.', 'type' => 'string', 'example' => '{'."\n" + .' "summary": "本接口支持根据不同请求条件查询实例列表,并关联查询实例的详细信息。"'."\n" + .'}', 'title' => ''], + 'executeCliCommand' => ['description' => 'Specifies whether to return the CLI execution command. In this pattern, the API is not actually invoked. Instead, the corresponding CLI command is returned. This is suitable for long-running nodes that require Cloud Assistant CLI to execute.', 'type' => 'boolean', 'example' => 'true', 'title' => ''], + 'enableOutputSchema' => ['description' => 'Specifies whether to return the schema of response parameters. Returning the response parameter schema increases the overall size of the API MCP server. Default value: null, which indicates that the response parameter schema is not returned.', 'type' => 'boolean', 'example' => 'true', 'title' => ''], + 'toolAlias' => ['description' => 'The tool alias. You can set a custom name, such as list_ecs_regions. The alias can contain letters, digits, hyphens (-), and underscores (_). Aliases must be unique.', 'type' => 'string', 'example' => 'list_ecs_regions', 'title' => ''], 'constParameters' => [ + 'description' => 'The list of constant parameters. These parameters are not included in the output during API parameter parsing.', 'type' => 'array', 'items' => [ + 'description' => 'The constant parameter.', 'type' => 'object', 'properties' => [ - 'key' => [ - 'type' => 'string', - 'description' => 'The parameter name. Only first-level parameter names are supported. For ROA-style APIs, you can set parameters such as body.xx. You cannot set values that exceed the top-level parameters.', - 'title' => '', - 'example' => 'InstanceId', - ], - 'value' => [ - 'type' => 'any', - 'description' => 'The value of the parameter.', - 'title' => '', - 'example' => '1234', - ], + 'key' => ['description' => 'The parameter name. Only top-level parameter names are supported. For ROA-style APIs, you can set the parameter to body.xx. Values beyond top-level parameters are not allowed.', 'type' => 'string', 'example' => 'InstanceId', 'title' => ''], + 'value' => ['description' => 'The value of the parameter.', 'type' => 'any', 'example' => '1234', 'title' => ''], ], - 'description' => 'The constant input parameter.', 'title' => '', 'example' => '', ], - 'description' => 'A list of constant input parameters. These parameters are not included in the output during API parameter parsing.', 'title' => '', 'example' => '', ], ], - 'description' => 'The supplementary API description.', 'title' => '', 'example' => '', ], - 'description' => 'A list of supplementary API descriptions.', 'title' => '', 'example' => '', ], - 'createTime' => [ - 'type' => 'string', - 'description' => 'The time when the API MCP server was created.', - 'title' => '', - 'example' => '2025-02-07T02:17:46Z', - ], - 'updateTime' => [ - 'type' => 'string', - 'description' => 'The time when the API MCP server was last modified.', - 'title' => '', - 'example' => '2025-02-05T02:26:04Z', - ], + 'createTime' => ['description' => 'The time when the API MCP server was created.', 'type' => 'string', 'example' => '2025-02-07T02:17:46Z', 'title' => ''], + 'updateTime' => ['description' => 'The time when the API MCP server was last modified.', 'type' => 'string', 'example' => '2025-02-05T02:26:04Z', 'title' => ''], 'prompts' => [ + 'description' => 'The list of prompt configurations.', 'type' => 'array', 'items' => [ + 'description' => 'The prompt configuration.', 'type' => 'object', 'properties' => [ - 'name' => [ - 'type' => 'string', - 'description' => 'The prompt name.', - 'title' => '', - 'example' => 'test', - ], - 'description' => [ - 'type' => 'string', - 'description' => 'The description.', - 'title' => '', - 'example' => 'prompt description', - ], - 'content' => [ - 'type' => 'string', - 'description' => 'The content of the prompt. Variables are specified in the {{xxx}} format. The xxx variable must be defined in the arguments parameter.', - 'title' => '', - 'example' => 'prompt正文,{{name}}', - ], + 'name' => ['description' => 'The prompt name.', 'type' => 'string', 'example' => 'test', 'title' => ''], + 'description' => ['description' => 'The description.', 'type' => 'string', 'example' => 'prompt description', 'title' => ''], + 'content' => ['description' => 'The content of the prompt. Variables are specified in the {{xxx}} format, where xxx is a variable that must be defined in the arguments parameter.', 'type' => 'string', 'example' => 'prompt正文,{{name}}', 'title' => ''], 'arguments' => [ + 'description' => 'The list of parameters supported by the prompt.', 'type' => 'array', 'items' => [ + 'description' => 'The parameter supported by the prompt.', 'type' => 'object', 'properties' => [ - 'name' => [ - 'type' => 'string', - 'description' => 'The parameter name.', - 'title' => '', - 'example' => 'test', - ], - 'description' => [ - 'type' => 'string', - 'description' => 'The description of the parameter.', - 'title' => '', - 'example' => 'argument description', - ], - 'required' => [ - 'type' => 'boolean', - 'description' => 'Indicates whether this parameter is required.', - 'title' => '', - 'example' => '', - ], + 'name' => ['description' => 'The parameter name.', 'type' => 'string', 'example' => 'test', 'title' => ''], + 'description' => ['description' => 'The description of the parameter.', 'type' => 'string', 'example' => 'argument description', 'title' => ''], + 'required' => ['description' => 'Indicates whether the parameter is required.', 'type' => 'boolean', 'title' => '', 'example' => ''], ], - 'description' => 'A parameter that the prompt supports.', 'title' => '', 'example' => '', ], - 'description' => 'A list of parameters that the prompt supports.', 'title' => '', 'example' => '', ], ], - 'description' => 'The prompt configuration.', 'title' => '', 'example' => '', ], - 'description' => 'A list of prompt configurations.', 'title' => '', 'example' => '', ], 'language' => [ + 'description' => 'The documentation language of the API MCP service. You can select Chinese or English API documentation. Different languages may affect the quality of AI responses.', + 'enumValueTitles' => ['EN_US' => 'EN_US', 'ZH_CN' => 'ZH_CN'], 'type' => 'string', - 'description' => 'The language of the API documentation for the API MCP service. You can select Chinese or English API documentation. The language of the prompt may affect the AI\'s response.', - 'enumValueTitles' => [ - 'EN_US' => 'EN\\_US', - 'ZH_CN' => 'ZH\\_CN', - ], - 'title' => '', 'example' => 'ZH_CN', + 'title' => '', ], 'urls' => [ + 'description' => 'The MCP server connection information.', 'type' => 'object', 'properties' => [ - 'sse' => [ - 'type' => 'string', - 'description' => 'The connection information for the Server-Sent Events (SSE) protocol.', - 'title' => '', - 'example' => 'https://openapi-mcp.cn-hangzhou.aliyuncs.com/accounts/xxxx/custom/xxx/id/xxxx/sse', - ], - 'vpcSse' => [ - 'type' => 'string', - 'description' => 'The endpoint of the SSE protocol in a VPC.', - 'title' => '', - 'example' => 'https://openapi-mcp-cn.vpc-proxy.aliyuncs.com/accounts/xxxx/custom/xxx/id/xxxx/sse', - ], - 'mcp' => [ - 'type' => 'string', - 'description' => 'The connection information for the streamable HTTP protocol. This protocol is recommended.', - 'title' => '', - 'example' => 'https://openapi-mcp.cn-hangzhou.aliyuncs.com/accounts/xxxx/custom/xxx/id/xxxx/mcp', - ], - 'vpcMcp' => [ - 'type' => 'string', - 'description' => 'The endpoint of the streamable HTTP protocol in a VPC.', - 'title' => '', - 'example' => 'https://openapi-mcp-cn.vpc-proxy.aliyuncs.com/accounts/xxxx/custom/xxx/id/xxxx/mcp', - ], + 'sse' => ['description' => 'The SSE protocol connection information.', 'type' => 'string', 'example' => 'https://openapi-mcp.cn-hangzhou.aliyuncs.com/accounts/xxxx/custom/xxx/id/xxxx/sse', 'title' => ''], + 'vpcSse' => ['description' => 'The SSE protocol endpoint within a VPC.', 'type' => 'string', 'example' => 'https://openapi-mcp-cn.vpc-proxy.aliyuncs.com/accounts/xxxx/custom/xxx/id/xxxx/sse', 'title' => ''], + 'mcp' => ['description' => 'The streamable HTTP protocol connection information. We recommend that you use this protocol.', 'type' => 'string', 'example' => 'https://openapi-mcp.cn-hangzhou.aliyuncs.com/accounts/xxxx/custom/xxx/id/xxxx/mcp', 'title' => ''], + 'vpcMcp' => ['description' => 'The streamable HTTP protocol endpoint within a VPC.', 'type' => 'string', 'example' => 'https://openapi-mcp-cn.vpc-proxy.aliyuncs.com/accounts/xxxx/custom/xxx/id/xxxx/mcp', 'title' => ''], ], - 'description' => 'The connection information for the MCP server.', 'title' => '', 'example' => '', ], 'systemTools' => [ + 'description' => 'The list of system tools.', 'type' => 'array', - 'items' => [ - 'type' => 'string', - 'description' => 'The name of the system tool.', - 'title' => '', - 'example' => 'FetchRamActionDetails', - ], - 'description' => 'A list of system tools.', + 'items' => ['description' => 'The system tool name.', 'type' => 'string', 'example' => 'FetchRamActionDetails', 'title' => ''], 'title' => '', 'example' => '', ], - 'name' => [ - 'type' => 'string', - 'description' => 'The name of the MCP server. The name must be 3 to 64 characters in length and can contain lowercase letters and digits. It must not start with a digit. The name must be unique within the same Alibaba Cloud account.', - 'title' => '', - 'example' => 'mcp-demo', - ], - 'requiredRAMPolicy' => [ - 'type' => 'string', - 'description' => 'The RAM access policy that is required by the API MCP service.', - 'title' => '', - '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" - .'}', - ], + 'name' => ['description' => 'The MCP server name. The name must be 3 to 64 characters in length, consist of lowercase letters and digits, and cannot start with a digit. The name must be unique within the same Alibaba Cloud account.', 'type' => 'string', 'example' => 'mcp-demo', 'title' => ''], + 'requiredRAMPolicy' => ['description' => 'The RAM access policy required by the API MCP service.', '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" + .'}', 'title' => ''], 'apiInfos' => [ + 'description' => 'The list of API information for the API MCP service.', 'type' => 'array', 'items' => [ + 'description' => 'The API information for the API MCP service.', 'type' => 'object', 'properties' => [ - 'product' => [ - 'type' => 'string', - 'description' => 'The product code.'."\n" - ."\n" - .'- Call the GetRequestLog operation to obtain the product code from the response.'."\n" - ."\n" - .'<props="intl">'."\n" - ."\n" - .'- Find the corresponding product code from the URL of the OpenAPI Portal. For example, the URL of the OpenAPI Portal for Short Message Service is https\\://api.alibabacloud.com/product/Dysmsapi. The product code for Short Message Service is Dysmsapi.'."\n" - ."\n" - .'</props>', - 'title' => '', - 'example' => 'Ecs', - ], - 'apiVersion' => [ - 'type' => 'string', - 'description' => 'The POP version of the API that is exposed to the MCP server.', - 'title' => '', - 'example' => '2014-05-26', - ], - 'apiName' => [ - 'type' => 'string', - 'description' => 'The API name.', - 'title' => '', - 'example' => 'DescribeRegions', - ], + 'product' => ['description' => 'The product code.'."\n" + ."\n" + .'- Call the GetRequestLog operation and obtain the product code from the response.'."\n" + ."\n" + .'- Find the product code from the URL of the OpenAPI portal. For example, <props="china">the OpenAPI portal URL for Short Message Service is https://api.aliyun.com/product/Dysmsapi. Based on this URL, the product code for Short Message Service is Dysmsapi.</props>'."\n" + .'<props="intl">the OpenAPI portal URL for Short Message Service is https://api.alibabacloud.com/product/Dysmsapi. Based on this URL, the product code for Short Message Service is Dysmsapi.</props>.', 'type' => 'string', 'example' => 'Ecs', 'title' => ''], + 'apiVersion' => ['description' => 'The POP version to which the API exposed to the MCP server belongs.', 'type' => 'string', 'example' => '2014-05-26', 'title' => ''], + 'apiName' => ['description' => 'The API name.', 'type' => 'string', 'example' => 'DescribeRegions', 'title' => ''], ], - 'description' => 'The API information for the API MCP service.', 'title' => '', 'example' => '', ], - 'description' => 'A list of API information for the API MCP service.', 'title' => '', 'example' => '', ], - 'sourceType' => [ - 'type' => 'string', - 'description' => 'The type of the API MCP service.'."\n" - ."\n" - .'- custom: a custom service'."\n" - ."\n" - .'- system: a system service', - 'title' => '', - 'example' => 'system', - ], + 'sourceType' => ['description' => 'The type of the API MCP service. Valid values:'."\n" + ."\n" + .'- custom: custom service.'."\n" + .'- system: system service.', 'type' => 'string', 'example' => 'system', 'title' => ''], 'systemMcpServerInfo' => [ + 'description' => 'The system MCP service information.', 'type' => 'object', 'properties' => [ - 'product' => [ - 'type' => 'string', - 'description' => 'The product code.'."\n" - ."\n" - .'- Call the GetRequestLog operation to obtain the product code from the response.'."\n" - ."\n" - .'<props="intl">'."\n" - ."\n" - .'- Find the corresponding product code from the URL of the OpenAPI Portal. For example, the URL of the OpenAPI Portal for Short Message Service is https\\://api.alibabacloud.com/product/Dysmsapi. The product code for Short Message Service is Dysmsapi.'."\n" - ."\n" - .'</props>', - 'title' => '', - 'example' => 'Ecs', - ], - 'name' => [ - 'type' => 'string', - 'description' => 'The name of the system MCP service.', - 'title' => '', - 'example' => 'mcp-system', - ], + 'product' => ['description' => 'The product code.'."\n" + ."\n" + .'- Call the GetRequestLog operation and obtain the product code from the response.'."\n" + ."\n" + .'- Find the product code from the URL of the OpenAPI portal. For example, <props="china">the OpenAPI portal URL for Short Message Service is https://api.aliyun.com/product/Dysmsapi. Based on this URL, the product code for Short Message Service is Dysmsapi.</props>'."\n" + .'<props="intl">the OpenAPI portal URL for Short Message Service is https://api.alibabacloud.com/product/Dysmsapi. Based on this URL, the product code for Short Message Service is Dysmsapi.</props>.', 'type' => 'string', 'example' => 'Ecs', 'title' => ''], + 'name' => ['description' => 'The system MCP service name.', 'type' => 'string', 'example' => 'mcp-system', 'title' => ''], ], - 'description' => 'A list of system MCP services.', 'title' => '', 'example' => '', ], - 'oauthClientId' => [ - 'type' => 'string', - 'description' => 'The custom OAuth client ID when you select a custom OAuth configuration.'."\n" - ."\n" - .'`Only web and native applications are supported. The OAuth scope must include /acs/mcp-server.`', - 'title' => '', - 'example' => '403*************370', - ], + 'oauthClientId' => ['description' => 'The custom OAuth Client ID when a custom OAuth configuration is selected.'."\n" + ."\n" + .'Only Web/Native applications are supported, and the OAuth scope must include /acs/mcp-server.', 'type' => 'string', 'example' => '403*************370', 'title' => ''], 'terraformTools' => [ + 'description' => 'The list of Terraform tools.', 'type' => 'array', 'items' => [ + 'description' => 'Terraform Tool。', 'type' => 'object', 'properties' => [ - 'code' => [ - 'type' => 'string', - 'description' => 'The code for the Terraform tool. For more information, see [HCL language overview](https://help.aliyun.com/zh/terraform/terraform-configuration-and-hcl-language-overview).', - 'title' => '', - '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' => [ - 'type' => 'string', - 'description' => 'The name of the Terraform tool.', - 'title' => '', - 'example' => 'test', - ], - 'description' => [ - 'type' => 'string', - 'description' => 'The description of the Terraform tool.', - 'title' => '', - 'example' => 'Terraform Tool description', - ], - 'async' => [ - 'type' => 'boolean', - 'description' => 'Indicates whether to execute tasks asynchronously. If set to true, the system immediately starts the next task after the current task is initiated, without waiting for each resource operation to complete.', - 'title' => '', - 'example' => 'true', - ], + 'code' => ['description' => 'The Terraform tool code. [HCL language overview](https://www.alibabacloud.com/help/en/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" + .'}', 'title' => ''], + 'name' => ['description' => 'The Terraform tool name.', 'type' => 'string', 'example' => 'test', 'title' => ''], + 'description' => ['description' => 'The Terraform tool description.', 'type' => 'string', 'example' => 'Terraform Tool description', 'title' => ''], + 'async' => ['description' => 'Specifies whether the execution is asynchronous. If set to true, the system proceeds to the next task immediately after initiating a task, without waiting for each resource operation to complete.', 'type' => 'boolean', 'example' => 'true', 'title' => ''], 'destroyPolicy' => [ - 'type' => 'string', - 'description' => 'The destroy policy. After a task is complete, the system applies the following cleanup policy to temporary resources based on the task execution status.'."\n" - ."\n" - .'- NEVER: All created resources are retained, regardless of whether the task succeeds or fails.'."\n" - ."\n" - .'- ALWAYS: All related resources are immediately destroyed after the task is complete, regardless of whether the task succeeds or fails.'."\n" + 'description' => 'The deletion policy. After a task is completed, the system applies the following cleanup policies to temporary resources based on the task execution status. Valid values:'."\n" ."\n" - .'- ON\\_FAILURE: Related resources are deleted only if the task fails. If the task succeeds, the resources are retained.', - 'enumValueTitles' => [ - 'ON_FAILURE' => 'ON\\_FAILURE', - 'NEVER' => 'NEVER', - 'ALWAYS' => 'ALWAYS', - ], - 'title' => '', + .'- NEVER: Resources are never deleted. All created resources are retained regardless of whether the task succeeds or fails.'."\n" + .'- ALWAYS: Resources are always deleted. All related resources are destroyed immediately after the task is completed, regardless of whether the task succeeds or fails.'."\n" + .'- ON_FAILURE: Resources are deleted only when the task fails. If the task succeeds, the resources are retained.', + 'enumValueTitles' => ['ON_FAILURE' => 'ON_FAILURE', 'NEVER' => 'NEVER', 'ALWAYS' => 'ALWAYS'], + 'type' => 'string', 'example' => 'ON_FAILURE', + 'title' => '', ], ], - 'description' => 'The Terraform tool.', 'title' => '', 'example' => '', ], - 'description' => 'A list of Terraform tools.', 'title' => '', 'example' => '', ], - 'instructions' => [ - 'type' => 'string', - 'description' => 'The MCP instruction. It prompts the large model on how to use the MCP. The client must support the Instructions field of the standard MCP protocol.', - 'title' => '', - 'example' => 'test', - ], - 'enableAssumeRole' => [ - 'type' => 'boolean', - 'description' => 'Indicates whether to enable multi-account access.', - 'title' => '', - 'example' => 'true', - ], - 'assumeRoleName' => [ - 'type' => 'string', - 'description' => 'The name of the RAM role of the destination account that is assumed when you perform cross-account operations with multi-account access enabled.', - 'title' => '', - 'example' => 'test', - ], - 'assumeRoleExtraPolicy' => [ - 'type' => 'string', - 'description' => 'The extra policy for role assumption when multi-account access is enabled. If this policy is specified, the permissions for the role assumption are based on this policy and overwrite the permissions that are defined for the role.', - 'title' => '', - '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' => 'The MCP instructions that guide the large language model on how to use this MCP. The client must support the Instructions field in the MCP standard protocol.', 'type' => 'string', 'example' => 'test', 'title' => ''], + 'enableAssumeRole' => ['description' => 'Indicates whether multi-account access is enabled.', 'type' => 'boolean', 'example' => 'true', 'title' => ''], + 'assumeRoleName' => ['description' => 'The name of the RAM role to be assumed in the target account when performing cross-account operations with multi-account access enabled.', 'type' => 'string', 'example' => 'test', 'title' => ''], + 'assumeRoleExtraPolicy' => ['description' => 'The additional policy for role assumption when multi-account access is enabled. If this policy is specified, the permissions for role assumption are based on this value, overriding the permissions defined in the role itself.', '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" + .'}', 'title' => ''], 'publicAccess' => [ + 'description' => 'Indicates whether public network access is enabled.', 'type' => 'string', - 'enum' => [ - 'on', - 'off', - 'follow', - ], - 'description' => 'Indicates whether to enable public access.', - 'title' => '', + 'enum' => ['on', 'off', 'follow'], 'example' => 'on', - ], - 'enableCustomVpcWhitelist' => [ - 'type' => 'boolean', - 'description' => 'Indicates whether to enable a custom VPC whitelist. If this parameter is not enabled, the account-level configuration is used.', 'title' => '', - 'example' => 'true', ], + 'enableCustomVpcWhitelist' => ['description' => 'Specifies whether to enable a custom VPC whitelist. If this feature is not enabled, the account-level configuration is used.', 'type' => 'boolean', 'example' => 'true', 'title' => ''], 'vpcWhitelists' => [ + 'description' => 'The VPC whitelist that restricts access sources after public network access is disabled. If this parameter is not set or is empty, no source restrictions are applied.', 'type' => 'array', - 'items' => [ - 'type' => 'string', - 'description' => 'A VPC in the whitelist. The value is the ID of the source VPC.', - 'title' => '', - 'example' => 'vpc-j6cgd2if5lg**0xs6m5se', - ], - 'description' => 'The VPC whitelist that specifies the allowed source VPCs after public access is disabled. If you do not set this parameter or leave it empty, access from all sources is allowed.', + 'items' => ['description' => 'The VPC whitelist entry. The value is the source VPC ID.', 'type' => 'string', 'example' => 'vpc-j6cgd2if5lg**0xs6m5se', 'title' => ''], 'title' => '', 'example' => '', ], ], - 'description' => 'The request result.', 'title' => '', 'example' => '', ], @@ -1951,28 +1244,16 @@ ], 'errorCodes' => [ 400 => [ - [ - 'errorCode' => 'Missing.Id', - 'errorMessage' => 'Id is mandatory for this action.', - 'description' => '', - ], + ['errorCode' => 'Missing.Id', 'errorMessage' => 'Id is mandatory for this action.', 'description' => ''], ], 404 => [ - [ - 'errorCode' => 'NotFound.ApiMcpServer', - 'errorMessage' => 'Specified MCP server not found.', - 'description' => 'The MCP service with the specified ID does not exist.', - ], + ['errorCode' => 'NotFound.ApiMcpServer', 'errorMessage' => 'Specified MCP server not found.', 'description' => 'The MCP service with the specified ID does not exist.'], ], 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' => 'GetApiMcpServer', + 'title' => 'Query API MCP service details', 'changeSet' => [], 'flowControl' => [ 'flowControlList' => [], @@ -1985,97 +1266,145 @@ '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\\": false\\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\\": false\\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' => 'Queries the global API MCP Server configuration for a user. The configuration includes settings for public network access and the whitelist of source VPC IDs for requests from a VPC.', - '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' => 'The unique ID of the ApiMcpServerCore resource.', 'type' => 'string', 'required' => true, 'example' => 'v6ZZ7ftCzEILW***', 'title' => ''], ], ], - 'parameters' => [], 'responses' => [ 200 => [ 'schema' => [ 'type' => 'object', 'properties' => [ - 'requestId' => [ - 'type' => 'string', - 'description' => 'The request ID.', - 'title' => '', - 'example' => 'A707AFA8-1A4C-5B2A-A165-8436C1EA38DB', - ], - 'accountId' => [ - 'type' => 'string', - 'description' => 'The ID of your Alibaba Cloud account.', + 'requestId' => ['description' => 'The request ID.', 'type' => 'string', 'example' => ' '."\n" + .'9BFC4AC1-6BE4-5405-BDEC-CA288D404812'."\n", 'title' => ''], + 'id' => ['description' => 'The ID of the ApiMcpServerCore resource.', 'type' => 'string', 'example' => 'v6ZZ7ftCzEILW***', 'title' => ''], + 'oauthClientId' => ['description' => 'The custom OAuth client ID for a custom OAuth configuration.'."\n" + ."\n" + .'`This feature supports only web and native applications. The OAuth scope must include /acs/mcp-server.`', 'type' => 'string', 'deprecated' => false, 'pattern' => '', 'readOnly' => false, 'default' => '', 'example' => '403*************370', 'title' => ''], + 'createTime' => ['description' => 'The creation time of the ApiMcpServerCore resource.', 'type' => 'string', 'format' => 'iso8601', 'example' => '2025-02-07T02:17:46Z', 'title' => ''], + 'vpcWhitelists' => [ + 'type' => 'array', + 'items' => ['description' => 'The ID of a source VPC.', 'type' => 'string', 'deprecated' => false, 'readOnly' => false, 'example' => 'vpc-j6cgd2if5lg**0xs6m5se', 'title' => ''], + 'deprecated' => false, + 'readOnly' => false, + 'description' => 'The VPC whitelist. Each item is the ID of a source VPC.', 'title' => '', - 'example' => '162302724684579*', + 'example' => '', ], - 'enablePublicAccess' => [ - 'type' => 'boolean', - 'description' => 'Specifies whether to enable public network access for all API MCP Servers, including system MCP Servers, under your account. By default, this feature is enabled. If you disable it, you can access the servers only through VPC domain names.', + 'enableAssumeRole' => ['description' => 'Indicates whether multi-account access is enabled.', 'type' => 'boolean', 'deprecated' => false, 'readOnly' => false, 'default' => '', 'example' => 'true', 'title' => ''], + 'assumeRoleOverridePolicy' => ['description' => 'The permission policy for the assume role operation.', 'type' => 'string', 'format' => 'json', 'deprecated' => false, 'pattern' => '', 'readOnly' => false, 'default' => '', 'example' => '{\\"Version\\":\\"1\\",\\"Statement\\":[]}', 'title' => ''], + 'assumeRoleName' => ['description' => 'The name of the RAM role in the destination account to assume for cross-account operations when multi-account access is enabled.', 'type' => 'string', 'deprecated' => false, 'pattern' => '', 'readOnly' => false, 'default' => '', 'example' => 'test', 'title' => ''], + 'publicAccessType' => ['description' => 'The public access type. Valid values:`public` (enabled),`private` (disabled), and`inherit` (uses the account-level settings).', 'type' => 'string', 'deprecated' => false, 'pattern' => '', 'readOnly' => false, 'default' => '', 'example' => 'public', 'title' => ''], + 'enableCustomVpcWhitelist' => ['description' => 'Specifies if a custom VPC whitelist is enabled. If `false`, the service uses the account-level whitelist.', 'type' => 'boolean', 'deprecated' => false, 'readOnly' => false, 'default' => '', 'example' => 'true', 'title' => ''], + 'urls' => [ + 'type' => 'object', + 'properties' => [ + 'sse' => ['description' => 'The connection information for Server-Sent Events (SSE).', 'type' => 'string', 'deprecated' => false, 'pattern' => '', 'default' => '', 'example' => 'https://mcpserverinner-pre.cn-zhangjiakou.aliyuncs.com/accounts/xxxx/custom/xxx/id/xxxx/sse', 'title' => ''], + 'mcp' => ['description' => 'The connection information for the streamable HTTP protocol. This protocol is recommended.', 'type' => 'string', 'deprecated' => false, 'pattern' => '', 'default' => '', 'example' => 'https://mcpserverinner-pre.cn-zhangjiakou.aliyuncs.com/accounts/xxxx/custom/xxx/id/xxxx/mcp', 'title' => ''], + 'vpcSse' => ['description' => 'The connection address for SSE within a VPC.', 'type' => 'string', 'deprecated' => false, 'pattern' => '', 'default' => '', 'example' => 'https://openapi-mcp-cn.vpc-proxy.aliyuncs.com/accounts/xxxx/custom/xxx/id/xxxx/sse', 'title' => ''], + 'vpcMcp' => ['description' => 'The connection address for the streamable HTTP protocol within a VPC.', 'type' => 'string', 'deprecated' => false, 'pattern' => '', 'default' => '', 'example' => 'https://openapi-mcp-cn.vpc-proxy.aliyuncs.com/accounts/xxxx/custom/xxx/id/xxxx/mcp', 'title' => ''], + ], + 'deprecated' => false, + 'description' => 'Connection information for the ApiMcpServerCore resource.', 'title' => '', - 'example' => 'true', + 'example' => '', ], + 'requiredRamPolicy' => ['description' => 'The RAM policy required to use the ApiMcpServerCore resource.', 'type' => 'string', 'deprecated' => false, 'pattern' => '', 'default' => '', 'example' => '{"Version":"1","Statement":[{"Effect":"Allow","Action":["ecs:Describe*"],"Resource":"*"}]}', 'title' => ''], + ], + 'description' => 'The response object.', + 'title' => '', + 'example' => '', + ], + ], + ], + 'errorCodes' => [ + 400 => [ + ['errorCode' => 'Missing.Id', 'errorMessage' => 'Id is mandatory for this action.', 'description' => ''], + ], + 404 => [ + ['errorCode' => 'NotFound.ApiMcpServer', 'errorMessage' => 'Specified MCP server not found.', 'description' => 'The MCP service with the specified ID does not exist.'], + ], + 500 => [ + ['errorCode' => 'InternalServerError', 'errorMessage' => 'The request has failed due to a temporary failure of the server.', 'description' => ''], + ], + ], + 'title' => 'GetApiMcpServerCore', + 'summary' => 'Retrieves the details of a specified ApiMcpServerCore resource.', + 'description' => 'This operation retrieves public information and does not access account-specific data, so authorization is not required.', + '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' => 'Queries the global API MCP Server configuration for a user. The configuration includes settings for public network access and the whitelist of source VPC IDs for requests from a VPC.', + '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' => 'The request ID.', 'type' => 'string', 'example' => 'A707AFA8-1A4C-5B2A-A165-8436C1EA38DB', 'title' => ''], + 'accountId' => ['description' => 'The ID of your Alibaba Cloud account.', 'type' => 'string', 'example' => '162302724684579*', 'title' => ''], + 'enablePublicAccess' => ['description' => 'Specifies whether to enable public network access for all API MCP Servers, including system MCP Servers, under your account. By default, this feature is enabled. If you disable it, you can access the servers only through VPC domain names.', 'type' => 'boolean', 'example' => 'true', 'title' => ''], 'vpcWhitelists' => [ 'type' => 'array', - 'items' => [ - 'type' => 'string', - 'description' => 'The ID of a source VPC in the whitelist.', - 'title' => '', - 'example' => 'vpc-j6cgd2if5lg**0xs6m5se', - ], + 'items' => ['description' => 'The ID of a source VPC in the whitelist.', 'type' => 'string', 'example' => 'vpc-j6cgd2if5lg**0xs6m5se', 'title' => ''], 'description' => 'The whitelist of source VPCs that are allowed to send requests after public network access is disabled. If you do not set this parameter or leave it empty, requests from all sources are allowed.', 'title' => '', 'example' => '', ], - 'gmtCreate' => [ - 'type' => 'string', - 'description' => 'The time when the configuration was created.', - 'title' => '', - 'example' => '2025-11-10T06:58:39Z', - ], - 'gmtModified' => [ - 'type' => 'string', - 'description' => 'The time when the configuration was last updated.', - 'title' => '', - 'example' => '2025-11-10T06:58:39Z', - ], + 'gmtCreate' => ['description' => 'The time when the configuration was created.', 'type' => 'string', 'example' => '2025-11-10T06:58:39Z', 'title' => ''], + 'gmtModified' => ['description' => 'The time when the configuration was last updated.', 'type' => 'string', 'example' => '2025-11-10T06:58:39Z', 'title' => ''], ], - 'description' => '', + 'description' => 'The response body.', 'title' => '', 'example' => '', ], @@ -2095,46 +1424,150 @@ 'authLevel' => 'resource', 'actionConditions' => [], 'resources' => [ - [ - 'validationType' => 'always', - 'product' => 'OpenAPIExplorer', - 'resourceType' => 'All Resource', - 'arn' => '*', - ], + ['validationType' => 'always', 'product' => 'OpenAPIExplorer', 'resourceType' => 'All Resource', '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' => [ - 'path' => '/getErrorCodeSolutions', - 'methods' => [ - 'get', + 'GetCodeSample' => [ + 'summary' => 'Get SDK code sample', + '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' => [ + 'type' => 'object', + 'properties' => [ + 'callType' => [ + 'description' => 'The SDK call type. Valid values: `typed` (product-specific SDK mode) and `generic` (generic call mode). The default is `typed`.', + 'type' => 'string', + 'example' => 'typed', + 'default' => 'typed', + 'enum' => ['typed', 'generic'], + 'title' => '', + 'required' => false, + ], + 'product' => ['description' => 'Specifies the product code.', 'type' => 'string', 'required' => true, 'example' => 'Ecs', 'title' => ''], + 'apiVersion' => ['description' => 'Specifies the OpenAPI version.', 'type' => 'string', 'required' => false, 'example' => '2014-05-26', 'title' => ''], + 'apiName' => ['description' => 'Specifies the OpenAPI name.', 'type' => 'string', 'required' => true, 'example' => 'DescribeInstances', 'title' => ''], + 'regionId' => ['description' => 'Specifies the region ID.', 'type' => 'string', 'required' => false, 'example' => 'cn-hangzhou', 'title' => ''], + 'language' => [ + 'description' => 'Specifies the programming language for the code sample.', + 'type' => 'string', + 'required' => true, + 'example' => 'java', + 'enum' => ['java', 'java-async', 'python', 'typescript', 'go', 'php', 'csharp', 'cpp', 'swift', 'nodejs'], + 'title' => '', + ], + 'params' => ['description' => 'Specifies the service request parameters for the OpenAPI call, formatted as a JSON string. In this string, keys are parameter names and values are their corresponding serialized values.', 'type' => 'string', 'required' => false, 'example' => '{"RegionId":"cn-hangzhou"}', 'title' => ''], + ], + 'title' => '', + 'description' => 'The request body used to generate a code sample.', + 'required' => false, + 'example' => '', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'type' => 'object', + 'properties' => [ + 'code' => ['description' => 'The business status code. A value of `0` indicates success, and a value of `1` indicates a Workbench business exception.', 'type' => 'integer', 'format' => 'int32', 'example' => '0', 'title' => ''], + 'message' => ['description' => 'The business error message. This field is returned only when `code` is not `0`.', 'type' => 'string', 'example' => 'SDK 示例生成出错,请联系支持群开发同学解决', 'title' => ''], + 'data' => [ + 'type' => 'object', + 'properties' => [ + 'demoSdk' => ['description' => 'The SDK code sample.', 'type' => 'string', 'example' => 'package com.aliyun.sample;\\n\\nimport com.aliyun.tea.*;\\n\\npublic class Sample {\\n\\n /**\\n * <b>description</b> :\\n * <p>使用凭据初始化账号Client</p>\\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 * <b>description</b> :\\n * <p>API 相关</p>\\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<String, Object> 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', 'title' => ''], + 'cost' => ['description' => 'The generation time, in milliseconds.', 'type' => 'integer', 'format' => 'int32', 'example' => '100', 'title' => ''], + 'sdkDependency' => [ + 'type' => 'object', + 'properties' => [ + 'packageName' => ['description' => 'The SDK package name.', 'type' => 'string', 'example' => 'com.aliyun/openapiexplorer20241130', 'title' => ''], + 'sdkVersion' => ['description' => 'The SDK package version.', 'type' => 'string', 'example' => '1.3.0', 'title' => ''], + 'platform' => ['description' => 'The SDK package management platform, such as GitHub, Maven, PyPI, NuGet, or npm.', 'type' => 'string', 'example' => 'maven', 'title' => ''], + 'install' => ['description' => 'The SDK installation instructions. For Java, this is the Maven XML block; for other languages, it is the installation command.', 'type' => 'string', 'example' => '<dependency>\\n <groupId>com.aliyun</groupId>\\n <artifactId>openapiexplorer20241130</artifactId>\\n <version>1.3.0</version>\\n</dependency>', 'title' => ''], + ], + 'example' => '{"packageName":"com.aliyun/openapiexplorer20241130","sdkVersion":"1.3.0","platform":"maven","install":"<dependency>...</dependency>"}', + 'title' => '', + 'description' => 'The SDK installation information that corresponds to the specified cloud product, API version, programming language, and invocation method. The object structure matches a single result from the `GetSdkDependencies` operation.', + ], + ], + 'example' => '{}', + 'title' => '', + 'description' => 'The generated multilingual SDK code sample and dependency information.', + ], + ], + 'description' => '', + 'title' => '', + 'example' => '', + ], ], ], - 'consumes' => [ - 'application/json', + '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' => ''], + ], + ], + 'staticInfo' => ['returnType' => 'synchronous'], + 'title' => 'GetCodeSample', + 'description' => 'This API retrieves public information that is not associated with any specific account and therefore requires no authorization.', + '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 * <b>description</b> :\\\\\\\\n * <p>使用凭据初始化账号Client</p>\\\\\\\\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 * <b>description</b> :\\\\\\\\n * <p>API 相关</p>\\\\\\\\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<String, Object> 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\\": \\"<dependency>\\\\\\\\n <groupId>com.aliyun</groupId>\\\\\\\\n <artifactId>openapiexplorer20241130</artifactId>\\\\\\\\n <version>1.3.0</version>\\\\\\\\n</dependency>\\"\\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', ], @@ -2142,51 +1575,34 @@ [ 'name' => 'errorCode', 'in' => 'query', - 'schema' => [ - 'description' => 'The error code based on which you want to query a solution.', - 'type' => 'string', - 'required' => true, - 'example' => 'IncorrectStatus.TransitRouter', - 'title' => '', - ], + 'schema' => ['title' => '', 'description' => 'The error code for which you want to query the diagnostic solution.', 'type' => 'string', 'required' => true, 'example' => 'IncorrectStatus.TransitRouter'], ], [ 'name' => 'errorMessage', 'in' => 'query', - 'schema' => [ - 'description' => 'The error message for which you want to query a solution. This parameter must be configured together with the errorCode parameter.', - 'type' => 'string', - 'required' => false, - 'example' => 'The resource is not in a valid state for the operation.', - 'title' => '', - ], + 'schema' => ['title' => '', 'description' => 'The error message for which you want to query the diagnostic solution. This parameter must be used together with the errorCode parameter.', 'type' => 'string', 'required' => false, 'example' => 'The resource is not in a valid state for the operation.'], ], [ 'name' => 'product', 'in' => 'query', - 'schema' => [ - 'description' => 'The product code. You can use one of the following methods to query a product code:'."\n" - ."\n" - .'- Call the GetRequestLog operation to query a product code from the response.'."\n" - ."\n" - .'- Query the code of a product in the OpenAPI Explorer URL of the product. For example, the OpenAPI Explorer URL of Short Message Service (SMS) is https\\://api.alibabacloud.com/product/Dysmsapi. Therefore, the product code of SMS is Dysmsapi.', - 'type' => 'string', - 'required' => false, - 'example' => 'Ecs', - 'title' => '', - ], + 'schema' => ['title' => '', 'description' => 'The product CODE.'."\n" + ."\n" + .'- Call the GetRequestLog operation to obtain the product CODE from the response.'."\n" + ."\n" + .'- Find the product CODE from the OpenAPI portal URL. For example, <props="china">the OpenAPI portal URL for Short Message Service is https://api.aliyun.com/product/Dysmsapi. Based on this URL, the product CODE for Short Message Service is Dysmsapi.</props>'."\n" + .'<props="intl">the OpenAPI portal URL for Short Message Service is https://api.alibabacloud.com/product/Dysmsapi. Based on this URL, the product CODE for Short Message Service is Dysmsapi.</props>', 'type' => 'string', 'required' => false, 'example' => 'Ecs'], ], [ 'name' => 'acceptLanguage', 'in' => 'query', 'schema' => [ - 'description' => 'The language of the solution. Valid values: zh-CN and en-US. Not all of the solutions are available in English. If you set this parameter to en-US, but the corresponding solution is actually not available in English, no response is returned.', - 'enumValueTitles' => [ - 'en-US' => 'en-US', - 'zh-CN' => 'zh-CN', - ], - 'type' => 'string', 'title' => '', + 'description' => 'The language of the diagnostic solution to query. Chinese (zh-CN) and English (en-US) are supported. Not all diagnostic solutions have English content. If a diagnostic solution does not have English content, an empty result is returned.'."\n" + .'<props="china">zh-CN</props>'."\n" + ."\n" + .'<props="intl">en-US</props>', + 'enumValueTitles' => ['en-US' => 'en-US', 'zh-CN' => 'zh-CN'], + 'type' => 'string', 'required' => false, 'example' => 'zh-CN', ], @@ -2195,66 +1611,31 @@ 'responses' => [ 200 => [ 'schema' => [ - 'title' => 'Schema of Response', - 'description' => 'The response parameters.', + 'title' => '', + 'description' => 'Schema of Response', 'type' => 'object', 'properties' => [ 'solutions' => [ 'title' => '', - 'description' => 'The solutions. Not all error codes have corresponding solutions. You can submit a ticket or use OpenAPI Explorer to contact technical support if necessary.', + 'description' => 'The list of solutions. Not all errors have corresponding diagnostic solutions, and solutions may change due to business logic adjustments. If you need assistance, submit a ticket or visit the API portal to provide feedback.', 'type' => 'array', 'items' => [ - 'description' => 'The solution.', + 'description' => 'The list of diagnostic solutions. Each element contains the following properties:', 'type' => 'object', 'properties' => [ - 'content' => [ - 'description' => 'The content of the solution, which is in the markdown format.', - 'type' => 'string', - 'title' => '', - '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' => [ - 'description' => 'The solution ID.', - 'type' => 'string', - 'example' => '0017-00000502', - 'title' => '', - ], - 'product' => [ - 'description' => 'The code of the product to which the solution belongs.', - 'type' => 'string', - 'title' => '', - 'example' => 'Ecs', - ], - 'productName' => [ - 'description' => 'The name of the product to which the solution belongs.', - 'type' => 'string', - 'title' => '', - 'example' => 'Elastic Compute Service', - ], - 'errorCode' => [ - 'description' => 'The error code.', - 'type' => 'string', - 'example' => 'IncorrectStatus.TransitRouter', - 'title' => '', - ], - 'errorMessage' => [ - 'description' => 'The error message.', - 'type' => 'string', - 'title' => '', - 'example' => 'The resource is not in a valid state for the operation.', - ], + 'content' => ['title' => '', 'description' => 'The error code diagnostic solution, returned in Markdown format.', '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' => '', 'description' => 'The solution ID.', 'type' => 'string', 'example' => '0017-00000502'], + 'product' => ['title' => '', 'description' => 'The product CODE to which the diagnostic solution belongs.', 'type' => 'string', 'example' => 'Ecs'], + 'productName' => ['title' => '', 'description' => 'The product service name to which the diagnostic solution belongs.', 'type' => 'string', 'example' => 'Elastic Compute Service'], + 'errorCode' => ['title' => '', 'description' => 'The error code corresponding to the diagnostic solution.', 'type' => 'string', 'example' => 'IncorrectStatus.TransitRouter'], + 'errorMessage' => ['title' => '', 'description' => 'The error message corresponding to the diagnostic solution.', 'type' => 'string', 'example' => 'The resource is not in a valid state for the operation.'], ], 'title' => '', 'example' => '', ], 'example' => '', ], - 'requestId' => [ - 'description' => 'The request ID.', - 'type' => 'string', - 'title' => '', - 'example' => 'A707AFA8-1A4C-5B2A-A165-8436C1EA38DB', - ], + 'requestId' => ['title' => '', 'description' => 'The request ID.', 'type' => 'string', 'example' => 'A707AFA8-1A4C-5B2A-A165-8436C1EA38DB'], ], 'example' => '', ], @@ -2262,77 +1643,45 @@ ], 'errorCodes' => [ 400 => [ - [ - 'errorCode' => 'InvalidParam.AcceptLanguage', - 'errorMessage' => 'Accepted language should only be zh-CN or en-US.', - 'description' => 'Invalid argument, only accepted languages are zh-CN or en-US.', - ], - [ - 'errorCode' => 'InvalidParam.ErrorCode', - 'errorMessage' => 'The errorCode should be a string and cannot be empty.', - 'description' => 'The ErrorCode parameter is invalid. It should be a string and cannot be empty.', - ], - [ - 'errorCode' => 'InvalidParam.ErrorMessage', - 'errorMessage' => 'The errorMessage should be a string or null.', - 'description' => 'The parameter errorMessage is invalid. ErrorMessage should be a string or null.', - ], - [ - 'errorCode' => 'InvalidParam.Product', - 'errorMessage' => 'The product should be a string or null.', - 'description' => 'The argument product is not valid, it should be a string or null.', - ], + ['errorCode' => 'InvalidParam.AcceptLanguage', 'errorMessage' => 'Accepted language should only be zh-CN or en-US.', 'description' => 'Invalid argument, only accepted languages are zh-CN or en-US.'], + ['errorCode' => 'InvalidParam.ErrorCode', 'errorMessage' => 'The errorCode should be a string and cannot be empty.', 'description' => 'The ErrorCode parameter is invalid. It should be a string and cannot be empty.'], + ['errorCode' => 'InvalidParam.ErrorMessage', 'errorMessage' => 'The errorMessage should be a string or null.', 'description' => 'The parameter errorMessage is invalid. ErrorMessage should be a string or null.'], + ['errorCode' => 'InvalidParam.Product', 'errorMessage' => 'The product should be a string or null.', 'description' => 'The argument product is not valid, it should be a string or null.'], ], 404 => [ - [ - 'errorCode' => 'NotFound.Product', - 'errorMessage' => 'The provided product does not exist.', - 'description' => 'The product name you provided does not exist.', - ], + ['errorCode' => 'NotFound.Product', 'errorMessage' => 'The provided product does not exist.', 'description' => 'The product name you provided does not exist.'], ], ], - 'staticInfo' => [ - 'returnType' => 'synchronous', - ], - 'title' => 'Queries an error solution by error code', - 'summary' => 'Queries an error solution by error code.', - 'description' => 'You can call this API operation to query public information instead of special information, such as the account ownership. Permissions on this API operation cannot be granted to other members.', + 'staticInfo' => ['returnType' => 'synchronous'], + 'title' => 'Query error code diagnostic solution', + 'summary' => 'Retrieves the diagnostic solution for a specified error code.', + 'description' => 'This operation queries publicly available information and does not involve account-specific data. Therefore, authorization is not supported.', '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"}]', + 'translator' => 'machine', ], 'GetOwnRequestLog' => [ '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', ], @@ -2340,25 +1689,20 @@ [ 'name' => 'logRequestId', 'in' => 'query', - 'schema' => [ - 'title' => '', - 'description' => 'The request ID of the log to query. The ID is the unique identifier (UUID) of an API request and must be in uppercase.', - 'type' => 'string', - 'required' => true, - 'example' => '123E4567-E89B-12D3-A456-426614174000', - ], + 'schema' => ['title' => '', 'description' => 'The RequestId of the log to query.'."\n" + .'The unique identifier of the API request (in UUID format, and must be uppercase).', 'type' => 'string', 'required' => true, 'example' => '123E4567-E89B-12D3-A456-426614174000'], ], ], 'responses' => [ 200 => [ 'schema' => [ - 'title' => 'Schema of Response', - 'description' => 'The response schema.', + 'title' => '', + 'description' => 'Schema of Response', 'type' => 'object', 'properties' => [ 'logInfo' => [ 'title' => '', - 'description' => 'The details of the API request log.', + 'description' => 'The detailed information about the API request log.', 'type' => 'object', 'properties' => [ 'basicInfo' => [ @@ -2366,191 +1710,67 @@ 'description' => 'The basic information about the API request.', 'type' => 'object', 'properties' => [ - 'api' => [ - 'title' => '', - 'description' => 'The name of the API in the queried log.', - 'type' => 'string', - 'example' => 'RunInstances'."\n", - ], + 'api' => ['title' => '', 'description' => 'The API name in the queried log.', 'type' => 'string', 'example' => 'RunInstances'."\n"], 'apiDoc' => [ 'title' => '', - 'description' => 'Information about the API reference.', + 'description' => 'The API documentation information.', 'type' => 'object', 'properties' => [ - 'aliyunSite' => [ - 'title' => '', - 'description' => 'The URL of the API reference for the China site (aliyun.com).', - 'type' => 'string', - 'example' => 'https://api.aliyun.com/document/Ecs/2014-05-26/RunInstances', - ], - 'alibabacloudSite' => [ - 'title' => '', - 'description' => 'The URL of the API reference for the international site (alibabacloud.com).', - 'type' => 'string', - 'example' => 'https://api.alibabacloud.com/document/Ecs/2014-05-26/RunInstances', - ], + 'aliyunSite' => ['title' => '', 'description' => 'The China site documentation link.', 'type' => 'string', 'example' => 'https://api.aliyun.com/document/Ecs/2014-05-26/RunInstances'], + 'alibabacloudSite' => ['title' => '', 'description' => 'The international site documentation link.', 'type' => 'string', 'example' => 'https://api.alibabacloud.com/document/Ecs/2014-05-26/RunInstances'], ], 'example' => '', ], - 'apiVersion' => [ - 'title' => '', - 'description' => 'The API version.', - 'type' => 'string', - 'example' => '2014-05-26', - ], - 'product' => [ - 'title' => '', - 'description' => 'The product code.', - 'type' => 'string', - 'example' => 'Ecs'."\n", - ], + 'apiVersion' => ['title' => '', 'description' => 'The API version information.', 'type' => 'string', 'example' => '2014-05-26'], + 'product' => ['title' => '', 'description' => 'The product code.', 'type' => 'string', 'example' => 'Ecs'."\n"], 'productName' => [ 'title' => '', - 'description' => 'The name of the product in Chinese and English.', + 'description' => 'The product name information, including the Chinese name and English name.', 'type' => 'object', 'properties' => [ - 'cnName' => [ - 'title' => '', - 'description' => 'The Chinese name of the product.', - 'type' => 'string', - 'example' => '云服务器 ECS'."\n", - ], - 'enName' => [ - 'title' => '', - 'description' => 'The English name of the product.', - 'type' => 'string', - 'example' => ' '."\n" - .'Elastic Compute Service'."\n", - ], + 'cnName' => ['title' => '', 'description' => 'The Chinese name of the product.', 'type' => 'string', 'example' => '云服务器 ECS'."\n"], + 'enName' => ['title' => '', 'description' => 'The English name of the product.', 'type' => 'string', 'example' => ' '."\n" + .'Elastic Compute Service'."\n"], ], 'example' => '', ], - 'apiStyle' => [ - 'title' => '', - 'description' => 'The API style. Valid values: \\`ROA\\` and \\`RPC\\`.', - 'type' => 'string', - 'example' => 'rpc', - ], - 'logRequestId' => [ - 'title' => '', - 'description' => 'The request ID that is passed in the request.', - 'type' => 'string', - 'example' => '123E4567-E89B-12D3-A456-426614174000', - ], - 'httpStatusCode' => [ - 'title' => '', - 'description' => 'The HTTP status code in the queried log.', - 'type' => 'string', - 'example' => '400', - ], - 'errorCode' => [ - 'title' => '', - 'description' => 'The error code in the queried log. This parameter is empty if no error is reported for the request.', - 'type' => 'string', - 'example' => 'IncorrectStatus.TransitRouter'."\n", - ], - 'errorMessage' => [ - 'title' => '', - 'description' => 'The error message in the queried log. This parameter is empty if no error is reported for the request.', - 'type' => 'string', - 'example' => 'The resource is not in a valid state for the operation.'."\n", - ], + 'apiStyle' => ['title' => '', 'description' => 'The API style. Valid values: ROA and RPC.', 'type' => 'string', 'example' => 'rpc'], + 'logRequestId' => ['title' => '', 'description' => 'The RequestId that was passed in.', 'type' => 'string', 'example' => '123E4567-E89B-12D3-A456-426614174000'], + 'httpStatusCode' => ['title' => '', 'description' => 'The HTTP status code in the queried log.', 'type' => 'string', 'example' => '400'], + 'errorCode' => ['title' => '', 'description' => 'The error code in the queried log. This field is empty if the queried request did not return an error.', 'type' => 'string', 'example' => 'IncorrectStatus.TransitRouter'."\n"], + 'errorMessage' => ['title' => '', 'description' => 'The error message in the queried log. This field is empty if the queried request did not return an error.', 'type' => 'string', 'example' => 'The resource is not in a valid state for the operation.'."\n"], 'accessDeniedDetail' => [ 'title' => '', - 'description' => 'The details of the permission error.', + 'description' => 'The detailed information about the access denied error.', 'type' => 'object', 'properties' => [ - 'policyType' => [ - 'title' => '', - 'description' => 'The type of the policy that caused the permission error.', - 'type' => 'string', - 'example' => ' '."\n" - .'AccountLevelIdentityBasedPolicy'."\n", - ], - 'authPrincipalOwnerId' => [ - 'title' => '', - 'description' => 'The UID of the Alibaba Cloud account to which the current identity belongs.', - 'type' => 'string', - 'example' => '1001234561234567'."\n", - ], - 'authPrincipalType' => [ - 'title' => '', - 'description' => 'The identity type of the operator.', - 'type' => 'string', - 'example' => 'SubUser'."\n", - ], - 'authPrincipalDisplayName' => [ - 'title' => '', - 'description' => 'The identity.', - 'type' => 'string', - 'example' => '205618123456123456'."\n", - ], - 'noPermissionType' => [ - 'title' => '', - 'description' => 'The reason why the permission was denied.', - 'type' => 'string', - 'example' => 'ImplicitDeny'."\n", - ], - 'authAction' => [ - 'title' => '', - 'description' => 'The specific operation that caused the permission error.', - 'type' => 'string', - 'example' => 'openapiexplorer:GetRequestLog'."\n", - ], - 'encodedDiagnosticMessage' => [ - 'title' => '', - 'description' => 'The encoded diagnostic information. Call the \\`DecodeDiagnosticMessage\\` operation of RAM to obtain more diagnostic information.', - 'type' => 'string', - 'example' => '-'."\n", - ], + 'policyType' => ['title' => '', 'description' => 'The type of the policy that caused the access denied error.', 'type' => 'string', 'example' => ' '."\n" + .'AccountLevelIdentityBasedPolicy'."\n"], + 'authPrincipalOwnerId' => ['title' => '', 'description' => 'The UID of the Alibaba Cloud account to which the current identity belongs.', 'type' => 'string', 'example' => '1001234561234567'."\n"], + 'authPrincipalType' => ['title' => '', 'description' => 'The identity type of the operator.', 'type' => 'string', 'example' => 'SubUser'."\n"], + 'authPrincipalDisplayName' => ['title' => '', 'description' => 'The identity identifier.', 'type' => 'string', 'example' => '205618123456123456'."\n"], + 'noPermissionType' => ['title' => '', 'description' => 'The reason for the access denied error.', 'type' => 'string', 'example' => 'ImplicitDeny'."\n"], + 'authAction' => ['title' => '', 'description' => 'The specific action that caused the access denied error.', 'type' => 'string', 'example' => 'openapiexplorer:GetRequestLog'."\n"], + 'encodedDiagnosticMessage' => ['title' => '', 'description' => 'The encoded information for diagnostics. Call the DecodeDiagnosticMessage operation of RAM for further diagnosis to obtain more diagnostic information.', 'type' => 'string', 'example' => '-'."\n"], ], 'example' => '', ], - 'httpMethod' => [ - 'title' => '', - 'description' => 'The HTTP request method.', - 'type' => 'string', - 'example' => 'GET'."\n", - ], - 'requestDuration' => [ - 'title' => '', - 'description' => 'The time that elapses from when the gateway receives the request to when the gateway returns the response. Unit: ms.', - 'type' => 'string', - 'example' => '188', - ], - 'sdkRequestTime' => [ - 'title' => '', - 'description' => 'The time when the request was initiated. The time is in the \\`yyyy-MM-ddTHH:mm:ssZ\\` format and is in UTC.', - 'type' => 'string', - 'example' => '2025-01-21T07:43:06Z'."\n", - ], - 'gatewayProcessTime' => [ - 'title' => '', - 'description' => 'The time when the gateway received the request. The time is in the \\`yyyy-MM-ddTHH:mm:ssZ\\` format and is in UTC.', - 'type' => 'string', - 'example' => '2025-01-21T07:43:06Z'."\n" - ."\n", - ], - 'regionId' => [ - 'title' => '', - 'description' => 'The ID of the region.', - 'type' => 'string', - 'example' => 'cn-hangzhou'."\n", - ], - 'endpoint' => [ - 'title' => '', - 'description' => 'The endpoint of the service in the region.', - 'type' => 'string', - 'example' => 'ecs.cn-hangzhou.aliyuncs.com'."\n", - ], + 'httpMethod' => ['title' => '', 'description' => 'The HTTP request method.', 'type' => 'string', 'example' => 'GET'."\n"], + 'requestDuration' => ['title' => '', 'description' => 'The time from when the gateway receives the request to when it returns the response. Unit: milliseconds (ms).', 'type' => 'string', 'example' => '188'], + 'sdkRequestTime' => ['title' => '', 'description' => 'The time when the request was initiated.'."\n" + .'The date is in ISO 8601 format and uses UTC time in the format of yyyy-MM-ddTHH:mm:ssZ.', 'type' => 'string', 'example' => '2025-01-21T07:43:06Z'."\n"], + 'gatewayProcessTime' => ['title' => '', 'description' => 'The time when the gateway received the request.'."\n" + .'The date is in ISO 8601 format and uses UTC time in the format of yyyy-MM-ddTHH:mm:ssZ.', 'type' => 'string', 'example' => '2025-01-21T07:43:06Z'."\n" + ."\n"], + 'regionId' => ['title' => '', 'description' => 'The service region ID.', 'type' => 'string', 'example' => 'cn-hangzhou'."\n"], + 'endpoint' => ['title' => '', 'description' => 'The endpoint corresponding to the service region.', 'type' => 'string', 'example' => 'ecs.cn-hangzhou.aliyuncs.com'."\n"], 'throttlingResult' => [ 'title' => '', - 'description' => 'The result of the throttling check.\\`FC.PASS\\`: The request was not blocked by throttling.\\`FC.DENY\\`: The request was blocked by throttling.', + 'description' => 'The rate limit check result. Valid values:'."\n" + .'- FC.PASS: not blocked by the rate limit check.'."\n" + .'- FC.DENY: blocked by the rate limit check.', 'type' => 'string', - 'enum' => [ - 'FC.PASS', - 'FC.DENY', - ], + 'enum' => ['FC.PASS', 'FC.DENY'], 'example' => 'FC.PASS'."\n", ], ], @@ -2558,50 +1778,24 @@ ], 'callerInfo' => [ 'title' => '', - 'description' => 'The information about the caller.', + 'description' => 'The caller information.', 'type' => 'object', 'properties' => [ 'callerType' => [ 'title' => '', - 'description' => 'The type of the caller. Valid values:'."\n" - ."\n" - .'1. customer: An Alibaba Cloud account.'."\n" - ."\n" - .'2. sub: A RAM user.'."\n" - ."\n" - .'3. AssumedRoleUser: A temporary identity that uses a Security Token Service (STS) token.', + 'description' => 'The caller type. Valid values:'."\n" + .'- customer: Alibaba Cloud account.'."\n" + .'- sub: RAM user.'."\n" + .'- AssumedRoleUser: STS token-based temporary identity.', 'type' => 'string', - 'enum' => [ - 'customer', - 'sub', - 'AssumedRoleUser', - ], + 'enum' => ['customer', 'sub', 'AssumedRoleUser'], 'example' => 'sub'."\n", ], - 'callerIp' => [ - 'title' => '', - 'description' => 'The IP address of the caller.', - 'type' => 'string', - 'example' => '100.68.xxx.xxx'."\n", - ], - 'masterAccountId' => [ - 'title' => '', - 'description' => 'The ID of the Alibaba Cloud account.', - 'type' => 'string', - 'example' => '1973374733454118'."\n", - ], - 'callerAccountId' => [ - 'title' => '', - 'description' => 'The ID of the caller\'s account.', - 'type' => 'string', - 'example' => '241009849925897811'."\n", - ], - 'userAgent' => [ - 'title' => '', - 'description' => 'The user agent.', - 'type' => 'string', - 'example' => 'AlibabaCloud API Workbench'."\n", - ], + 'callerIp' => ['title' => '', 'description' => 'The IP address of the caller.', 'type' => 'string', 'example' => '100.68.xxx.xxx'."\n"], + 'masterAccountId' => ['title' => '', 'description' => 'The Alibaba Cloud account ID.', 'type' => 'string', 'example' => '1973374733454118'."\n"], + 'callerAccountId' => ['title' => '', 'description' => 'The caller account ID.', 'type' => 'string', 'example' => '241009849925897811'."\n"], + 'userAgent' => ['title' => '', 'description' => 'The user agent information.', 'type' => 'string', 'example' => 'AlibabaCloud API Workbench'."\n"], + 'vpcId' => ['type' => 'string', 'example' => 'vpc-abcd', 'description' => '', 'title' => ''], ], 'example' => '', ], @@ -2610,76 +1804,44 @@ 'description' => 'The authentication information.', 'type' => 'object', 'properties' => [ - 'signatureVersion' => [ - 'title' => '', - 'description' => 'The signature version.', - 'type' => 'string', - 'example' => 'unknown'."\n", - ], + 'signatureVersion' => ['title' => '', 'description' => 'The signature version.', 'type' => 'string', 'example' => 'unknown'."\n"], 'signatureMethod' => [ 'title' => '', - 'description' => 'The signature algorithm. Valid values:'."\n" - ."\n" - .'- \\`HMAC-SHA1\\`: The request is signed using the HMAC-SHA1 algorithm.'."\n" - ."\n" - .'- \\`HMAC-SHA256\\`: The request is signed using the HMAC-SHA256 algorithm.', + 'description' => 'The signature method. Valid values:'."\n" + .'- HMAC-SHA1: uses the HMAC-SHA1 algorithm for signing.'."\n" + .'- HMAC-SHA256: uses the HMAC-SHA256 algorithm for signing.', 'type' => 'string', - 'enum' => [], 'example' => 'HMAC-SHA256', + 'enum' => [], ], 'authenticationType' => [ 'title' => '', 'description' => 'The authentication type. Valid values:'."\n" - ."\n" - .'- \\`AK\\`: an AccessKey, which can be a permanent AccessKey, a temporary AccessKey, or an STS token.'."\n" - ."\n" - .'- \\`PRIVATEKEY\\`: an AccessKey for asymmetric key encryption.'."\n" - ."\n" - .'- \\`BEARERTOKEN\\`: an authentication mechanism that is widely used in the OAuth 2.0 framework and cloud services.'."\n" - ."\n" - .'- \\`CUSTOM\\_SPI\\`: an efficient and secure authentication method that is suitable for the delivery and management of Software as a Service (SaaS) products in Alibaba Cloud Marketplace.'."\n" - ."\n" - .'- \\`Anonymous\\`: anonymous access.'."\n" - ."\n" - .'- \\`DPS\\`: similar to an AccessKey, but uses a product-specific signature algorithm that is different from the official Alibaba Cloud algorithm.', + .'- AK: includes permanent AccessKey pairs, temporary AccessKey pairs, and STS tokens.'."\n" + .'- PRIVATEKEY: an asymmetric encryption type of AccessKey pair.'."\n" + .'- BEARERTOKEN: a mechanism to authenticate identities, widely used in the OAuth 2.0 framework and cloud services.'."\n" + .'- CUSTOM_SPI: an efficient and secure authentication method for the delivery and management of SaaS products in Alibaba Cloud Marketplace.'."\n" + .'- Anonymous: anonymous access.'."\n" + .'- DPS: similar to AK, but uses a different signature algorithm from the official Alibaba Cloud algorithm. Exclusive to specific products.', 'type' => 'string', 'enum' => [], 'example' => 'AK', ], + 'ak' => ['type' => 'string', 'example' => 'LTAI1234abcd', 'description' => '', 'title' => ''], ], 'example' => '', ], 'parameters' => [ 'title' => '', - 'description' => 'The request parameters.', + 'description' => 'The request parameter information.', 'type' => 'array', 'items' => [ 'type' => 'object', 'properties' => [ - 'name' => [ - 'title' => '', - 'description' => 'The name of the request parameter.', - 'type' => 'string', - 'example' => 'InstanceType'."\n", - ], - 'value' => [ - 'title' => '', - 'description' => 'The value of the request parameter.', - 'type' => 'any', - 'example' => 'ecs.g6.large'."\n", - ], - 'required' => [ - 'title' => '', - 'description' => 'Specifies whether the request parameter is required.', - 'type' => 'boolean', - 'example' => 'false'."\n", - ], - 'type' => [ - 'title' => '', - 'description' => 'The type of the request parameter.', - 'type' => 'string', - 'example' => 'string'."\n", - ], + 'name' => ['title' => '', 'description' => 'The request parameter name.', 'type' => 'string', 'example' => 'InstanceType'."\n"], + 'value' => ['title' => '', 'description' => 'The request parameter value.', 'type' => 'any', 'example' => 'ecs.g6.large'."\n"], + 'required' => ['title' => '', 'description' => 'Indicates whether the request parameter is required.', 'type' => 'boolean', 'example' => 'false'."\n"], + 'type' => ['title' => '', 'description' => 'The request parameter type.', 'type' => 'string', 'example' => 'string'."\n"], ], 'description' => '', 'title' => '', @@ -2689,34 +1851,19 @@ ], 'responses' => [ 'title' => '', - 'description' => 'The information returned for the request.', + 'description' => 'The response information for the request.', 'type' => 'object', 'properties' => [ - 'responseBody' => [ - 'title' => '', - 'description' => 'The returned information.', - 'type' => 'string', - 'example' => '-'."\n", - ], - 'responseBodyFormat' => [ - 'title' => '', - 'description' => 'The format of the response body. Valid values: \\`JSON\\`, \\`XML\\`, and \\`HTML\\`.', - 'type' => 'string', - 'example' => 'JSON'."\n", - ], + 'responseBody' => ['title' => '', 'description' => 'The response body.', 'type' => 'string', 'example' => '-'."\n"], + 'responseBodyFormat' => ['title' => '', 'description' => 'The response body format. Valid values: JSON, XML, and HTML.', 'type' => 'string', 'example' => 'JSON'."\n"], ], 'example' => '', ], ], 'example' => '', ], - 'requestId' => [ - 'title' => '', - 'description' => 'The ID of the request.', - 'type' => 'string', - 'example' => ' '."\n" - .'9BFC4AC1-6BE4-5405-BDEC-CA288D404812'."\n", - ], + 'requestId' => ['title' => '', 'description' => 'The request ID.', 'type' => 'string', 'example' => ' '."\n" + .'9BFC4AC1-6BE4-5405-BDEC-CA288D404812'."\n"], ], 'example' => '', ], @@ -2724,60 +1871,42 @@ ], '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' => 'The parameter logRequestId is invalid. Make sure that the request ID you provide originates from a request you made to a OpenAPI.', - ], + ['errorCode' => 'InvalidParam.LogRequestId', 'errorMessage' => 'Please ensure that the request ID you provided originates from a request you made to a certain OpenAPI.', 'description' => 'The parameter logRequestId is invalid. Make sure that the request ID you provide originates from a request you made to a 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' => 'The log associated with this logRequestId does not exist, has expired, or you do not have permission to view it.', - ], + ['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' => 'The log associated with this logRequestId does not exist, has expired, or you do not have permission to view it.'], ], ], - 'staticInfo' => [ - 'returnType' => 'synchronous', - ], - 'title' => 'GetOwnRequestLog', - 'summary' => 'Queries the details of an OpenAPI call log for your account using the request ID returned from an API call. This operation is used for troubleshooting.', + 'staticInfo' => ['returnType' => 'synchronous'], + 'title' => 'Query API call logs of the current account', + 'summary' => 'Queries the log details of OpenAPI calls made by the current account based on the Request ID returned by the API, for troubleshooting purposes.', 'description' => 'This API does not support authorization.', '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 },\\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"}]', + '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"}]', + 'translator' => 'machine', ], 'GetProductEndpoints' => [ + 'summary' => 'Quries the endpoint information for a cloud service.', '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', ], @@ -2785,18 +1914,11 @@ [ 'name' => 'product', 'in' => 'query', - 'schema' => [ - 'type' => 'string', - 'required' => true, - 'description' => 'The product code.'."\n" - ."\n" - .'- Call the GetRequestLog operation and find the product code in the response.'."\n" - ."\n" - .'- Find the product code in the URL of the OpenAPI Portal page for the product. For example, <props="china">the URL for the Short Message Service (SMS) OpenAPI Portal page is https\\://api.aliyun.com/product/Dysmsapi. The product code is Dysmsapi.</props>'."\n" - .' <props="intl">the URL for the Short Message Service (SMS) OpenAPI Portal page is https\\://api.alibabacloud.com/product/Dysmsapi. The product code is Dysmsapi.</props>', - 'title' => '', - 'example' => 'Ecs', - ], + 'schema' => ['description' => 'The product code. You can find it in two ways:'."\n" + ."\n" + .'- Call the `GetRequestLog` operation. The product code will be included in the response data.'."\n" + ."\n" + .'- The product code is the last part of the service\'s URL in OpenAPI Explorer. For example, <props="china">the OpenAPI Explorer URL for Short Message Service is https\\://api.aliyun.com/product/Dysmsapi. Therefore, the product code is Dysmsapi.</props><props="intl">the OpenAPI Explorer URL for Short Message Service is https\\://api.alibabacloud.com/product/Dysmsapi. Therefore, the product code is Dysmsapi.</props>', 'type' => 'string', 'required' => true, 'example' => 'Ecs', 'title' => ''], ], ], 'responses' => [ @@ -2811,11 +1933,8 @@ ], ], 'errorCodes' => [], - 'staticInfo' => [ - 'returnType' => 'synchronous', - ], + 'staticInfo' => ['returnType' => 'synchronous'], 'title' => 'GetProductEndpoints', - 'summary' => 'Retrieves the endpoint information for a product.', 'changeSet' => [], 'flowControl' => [ 'flowControlList' => [], @@ -2824,36 +1943,23 @@ 'responseDemo' => '[{"errorExample":"","example":"{}","type":"json"}]', ], 'GetRequestLog' => [ - 'summary' => 'Queries the details of a request log using the request ID that is returned from an API call. This operation is useful for troubleshooting.', - 'description' => 'You can query call logs across different RAM users or Alibaba Cloud accounts using RAM authorization or role assumption. For more information, see [Cross-account API error diagnosis authorization](~~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', ], @@ -2861,215 +1967,83 @@ [ 'name' => 'logRequestId', 'in' => 'query', - 'schema' => [ - 'description' => 'The request ID of the log to query. The request ID is the unique identifier of an API request. The ID must be in the UUID format and in uppercase.', - 'type' => 'string', - 'required' => true, - 'example' => '123E4567-E89B-12D3-A456-426614174000', - 'title' => '', - ], + 'schema' => ['title' => '', 'description' => 'The request ID of the log to query.'."\n" + .'The unique identifier of the API request (in UUID format and must be uppercase).', 'type' => 'string', 'required' => true, 'example' => '123E4567-E89B-12D3-A456-426614174000'], ], ], 'responses' => [ 200 => [ - 'description' => '查询成功', 'schema' => [ - 'title' => 'Schema of Response', - 'description' => 'The response schema.', + 'title' => '', + 'description' => 'Schema of Response', 'type' => 'object', 'properties' => [ 'logInfo' => [ 'title' => '', - 'description' => 'The details of the API request log.', + 'description' => 'The detailed information of the API request log.', 'type' => 'object', 'properties' => [ 'basicInfo' => [ 'title' => '', - 'description' => 'The basic information about the API request.', + 'description' => 'The basic information of the API request.', 'type' => 'object', 'properties' => [ - 'api' => [ - 'description' => 'The name of the API that was called.', - 'type' => 'string', - 'title' => '', - 'example' => 'RunInstances', - ], + 'api' => ['title' => '', 'description' => 'The API name of the queried request.', 'type' => 'string', 'example' => 'RunInstances'], 'apiDoc' => [ 'title' => '', 'description' => 'The API reference information.', 'type' => 'object', 'properties' => [ - 'aliyunSite' => [ - 'description' => 'The link to the API reference on the Alibaba Cloud China Website (www\\.aliyun.com).', - 'type' => 'string', - 'title' => '', - 'example' => 'https://api.aliyun.com/document/Ecs/2014-05-26/RunInstances', - ], - 'alibabacloudSite' => [ - 'description' => 'The link to the API reference on the Alibaba Cloud International Website (www\\.alibabacloud.com).', - 'type' => 'string', - 'title' => '', - 'example' => 'https://api.alibabacloud.com/document/Ecs/2014-05-26/RunInstances', - ], + 'aliyunSite' => ['title' => '', 'description' => 'The documentation link for the China site.', 'type' => 'string', 'example' => 'https://api.aliyun.com/document/Ecs/2014-05-26/RunInstances'], + 'alibabacloudSite' => ['title' => '', 'description' => 'The documentation link for the international site.', 'type' => 'string', 'example' => 'https://api.alibabacloud.com/document/Ecs/2014-05-26/RunInstances'], ], 'example' => '', ], - 'apiVersion' => [ - 'description' => 'The API version.', - 'type' => 'string', - 'title' => '', - 'example' => '2014-05-26', - ], - 'product' => [ - 'description' => 'The product code.', - 'type' => 'string', - 'title' => '', - 'example' => 'Ecs', - ], + 'apiVersion' => ['title' => '', 'description' => 'The API version information.', 'type' => 'string', 'example' => '2014-05-26'], + 'product' => ['title' => '', 'description' => 'The product code.', 'type' => 'string', 'example' => 'Ecs'], 'productName' => [ 'title' => '', - 'description' => 'The product name, which includes the Chinese and English names.', + 'description' => 'The product name information, including the Chinese name and English name.', 'type' => 'object', 'properties' => [ - 'cnName' => [ - 'description' => 'The Chinese name of the product.', - 'type' => 'string', - 'title' => '', - 'example' => '云服务器 ECS', - ], - 'enName' => [ - 'description' => 'The English name of the product.', - 'type' => 'string', - 'title' => '', - 'example' => 'Elastic Compute Service', - ], + 'cnName' => ['title' => '', 'description' => 'The Chinese name of the product.', 'type' => 'string', 'example' => '云服务器 ECS'], + 'enName' => ['title' => '', 'description' => 'The English name of the product.', 'type' => 'string', 'example' => 'Elastic Compute Service'], ], 'example' => '', ], - 'apiStyle' => [ - 'description' => 'The API style. Valid values: ROA and RPC.', - 'type' => 'string', - 'title' => '', - 'example' => 'roa', - ], - 'logRequestId' => [ - 'description' => 'The request ID that you specified.', - 'type' => 'string', - 'title' => '', - 'example' => '123E4567-E89B-12D3-A456-426614174000', - ], - 'httpStatusCode' => [ - 'description' => 'The HTTP status code in the log.', - 'type' => 'string', - 'title' => '', - 'example' => '404', - ], - 'errorCode' => [ - 'description' => 'The error code in the log. This field is empty if no error is reported for the request.', - 'type' => 'string', - 'title' => '', - 'example' => 'IncorrectStatus.TransitRouter', - ], - 'errorMessage' => [ - 'description' => 'The error message in the log. This field is empty if no error is reported for the request.', - 'type' => 'string', - 'title' => '', - 'example' => 'The resource is not in a valid state for the operation.', - ], + 'apiStyle' => ['title' => '', 'description' => 'The API style, which can be ROA or RPC.', 'type' => 'string', 'example' => 'roa'], + 'logRequestId' => ['title' => '', 'description' => 'The input request ID.', 'type' => 'string', 'example' => '123E4567-E89B-12D3-A456-426614174000'], + 'httpStatusCode' => ['title' => '', 'description' => 'The HTTP status code in the queried log.', 'type' => 'string', 'example' => '404'], + 'errorCode' => ['title' => '', 'description' => 'The error code in the queried log. This field is empty if the queried request did not return an error.', 'type' => 'string', 'example' => 'IncorrectStatus.TransitRouter'], + 'errorMessage' => ['title' => '', 'description' => 'The error message in the queried log. This field is empty if the queried request did not return an error.', 'type' => 'string', 'example' => 'The resource is not in a valid state for the operation.'], 'accessDeniedDetail' => [ 'title' => '', - 'description' => 'The details of the access denied error. This field is returned only if an authentication error occurs for the specified request ID.', + 'description' => 'The details of the access denied error. This field is present if the queried request ID has an authentication error. Otherwise, this field is not present.', 'type' => 'object', 'properties' => [ - 'policyType' => [ - 'description' => 'The type of the policy that denies the access.', - 'type' => 'string', - 'title' => '', - 'example' => 'AccountLevelIdentityBasedPolicy', - ], - 'authPrincipalOwnerId' => [ - 'description' => 'The UID of the Alibaba Cloud account to which the current identity belongs.', - 'type' => 'string', - 'title' => '', - 'example' => '1001234561234567', - ], - 'authPrincipalType' => [ - 'description' => 'The identity type of the operator.', - 'type' => 'string', - 'title' => '', - 'example' => 'SubUser', - ], - 'authPrincipalDisplayName' => [ - 'description' => 'The identity.', - 'type' => 'string', - 'title' => '', - 'example' => '205618123456123456', - ], - 'noPermissionType' => [ - 'description' => 'The reason why the access is denied.', - 'type' => 'string', - 'title' => '', - 'example' => 'ImplicitDeny', - ], - 'authAction' => [ - 'description' => 'The specific operation that is denied.', - 'type' => 'string', - 'title' => '', - 'example' => 'openapiexplorer:GetRequestLog', - ], - 'encodedDiagnosticMessage' => [ - 'description' => 'The encoded diagnostic message. To obtain more diagnostic information, call the DecodeDiagnosticMessage operation of RAM.', - 'type' => 'string', - 'title' => '', - 'example' => '-', - ], + 'policyType' => ['title' => '', 'description' => 'The type of the policy that denied access.', 'type' => 'string', 'example' => 'AccountLevelIdentityBasedPolicy'], + 'authPrincipalOwnerId' => ['title' => '', 'description' => 'The Alibaba Cloud account ID to which the current identity belongs.', 'type' => 'string', 'example' => '1001234561234567'], + 'authPrincipalType' => ['title' => '', 'description' => 'The identity type of the operator.', 'type' => 'string', 'example' => 'SubUser'], + 'authPrincipalDisplayName' => ['title' => '', 'description' => 'The identity identifier.', 'type' => 'string', 'example' => '205618123456123456'], + 'noPermissionType' => ['title' => '', 'description' => 'The reason for the access denial.', 'type' => 'string', 'example' => 'ImplicitDeny'], + 'authAction' => ['title' => '', 'description' => 'The specific action that caused the access denial.', 'type' => 'string', 'example' => 'openapiexplorer:GetRequestLog'], + 'encodedDiagnosticMessage' => ['title' => '', 'description' => 'The encoded diagnostic message. You can call the DecodeDiagnosticMessage operation of RAM to decode this message for further diagnostics.', 'type' => 'string', 'example' => '-'], ], 'example' => '', ], - 'httpMethod' => [ - 'description' => 'The HTTP request method. Examples: GET, PUT, and POST.', - 'type' => 'string', - 'title' => '', - 'example' => 'GET', - ], - 'requestDuration' => [ - 'description' => 'The time that elapses from when the gateway receives a request to when it returns a response. Unit: milliseconds (ms).', - 'type' => 'string', - 'title' => '', - 'example' => '188', - ], - 'sdkRequestTime' => [ - 'description' => 'The time when the request was initiated. The time is in the yyyy-MM-ddTHH:mm:ssZ format. The time is displayed in UTC.', - 'type' => 'string', - 'title' => '', - 'example' => '2025-01-21T07:43:06Z', - ], - 'gatewayProcessTime' => [ - 'description' => 'The time when the gateway received the request. The time is in the yyyy-MM-ddTHH:mm:ssZ format. The time is displayed in UTC.', - 'type' => 'string', - 'title' => '', - 'example' => '2025-01-21T07:43:06Z', - ], - 'regionId' => [ - 'description' => 'The ID of the area where the endpoint is deployed.', - 'type' => 'string', - 'title' => '', - 'example' => 'cn-hangzhou', - ], - 'endpoint' => [ - 'description' => 'The endpoint of the area where the endpoint is deployed.', - 'type' => 'string', - 'title' => '', - 'example' => 'ecs.cn-hangzhou.aliyuncs.com', - ], + 'httpMethod' => ['title' => '', 'description' => 'The HTTP request method, such as GET, PUT, or POST.', 'type' => 'string', 'example' => 'GET'], + 'requestDuration' => ['title' => '', 'description' => 'The time from when the gateway receives the request to when it returns the response. Unit: milliseconds (ms).', 'type' => 'string', 'example' => '188'], + 'sdkRequestTime' => ['title' => '', 'description' => 'The time when the request was initiated.'."\n" + .'The time is in the ISO 8601 standard in UTC. Format: yyyy-MM-ddTHH:mm:ssZ.', 'type' => 'string', 'example' => '2025-01-21T07:43:06Z'], + 'gatewayProcessTime' => ['title' => '', 'description' => 'The time when the gateway received the request.'."\n" + .'The time is in the ISO 8601 standard in UTC. Format: yyyy-MM-ddTHH:mm:ssZ.', 'type' => 'string', 'example' => '2025-01-21T07:43:06Z'], + 'regionId' => ['title' => '', 'description' => 'The region ID of the service.', 'type' => 'string', 'example' => 'cn-hangzhou'], + 'endpoint' => ['title' => '', 'description' => 'The endpoint corresponding to the service region.', 'type' => 'string', 'example' => 'ecs.cn-hangzhou.aliyuncs.com'], 'throttlingResult' => [ - 'description' => 'The result of the throttling check. FC.PASS: The request was not blocked by the throttling check and no rate limiting occurred. FC.DENY: The request was blocked by the throttling check and rate limiting occurred.', - 'type' => 'string', - 'enum' => [ - 'FC.PASS', - 'FC.DENY', - ], 'title' => '', + 'description' => 'The rate limit check result. FC.PASS: Not blocked by the rate limit check (no rate limiting occurred). FC.DENY: Blocked by the rate limit check (rate limiting occurred).', + 'type' => 'string', + 'enum' => ['FC.PASS', 'FC.DENY'], 'example' => 'FC.PASS', ], ], @@ -3077,50 +2051,24 @@ ], 'callerInfo' => [ 'title' => '', - 'description' => 'The information about the caller.', + 'description' => 'The caller information.', 'type' => 'object', 'properties' => [ 'callerType' => [ - 'description' => 'The type of the caller.'."\n" - ."\n" - .'1. customer: Alibaba Cloud account'."\n" - ."\n" - .'2. sub: RAM user'."\n" - ."\n" - .'3. AssumedRoleUser: A temporary identity that is created using a Security Token Service (STS) token.', - 'type' => 'string', - 'enum' => [ - 'customer', - 'sub', - 'AssumedRoleUser', - ], 'title' => '', - 'example' => 'sub', - ], - 'callerIp' => [ - 'description' => 'The IP address of the caller.', - 'type' => 'string', - 'title' => '', - 'example' => '100.68.xxx.xxx', - ], - 'masterAccountId' => [ - 'description' => 'The ID of the Alibaba Cloud account.', + 'description' => 'The caller type. Valid values:'."\n" + .'1. customer: Alibaba Cloud account.'."\n" + .'2. sub: RAM user.'."\n" + .'3. AssumedRoleUser: STS token-based temporary identity.', 'type' => 'string', - 'title' => '', - 'example' => '1973374733454118', - ], - 'callerAccountId' => [ - 'description' => 'The ID of the caller\'s account.', - 'type' => 'string', - 'title' => '', - 'example' => '241009849925897811', - ], - 'userAgent' => [ - 'description' => 'The user agent.', - 'type' => 'string', - 'title' => '', - 'example' => 'AlibabaCloud API Workbench', + 'enum' => ['customer', 'sub', 'AssumedRoleUser'], + 'example' => 'sub', ], + 'callerIp' => ['title' => '', 'description' => 'The IP address of the caller.', 'type' => 'string', 'example' => '100.68.xxx.xxx'], + 'masterAccountId' => ['title' => '', 'description' => 'The primary account ID.', 'type' => 'string', 'example' => '1973374733454118'], + 'callerAccountId' => ['title' => '', 'description' => 'The account ID of the caller.', 'type' => 'string', 'example' => '241009849925897811'], + 'userAgent' => ['title' => '', 'description' => 'The user agent information.', 'type' => 'string', 'example' => 'AlibabaCloud API Workbench'], + 'vpcId' => ['title' => '', 'description' => 'The source VPC ID.', 'type' => 'string', 'example' => 'vpc-abcd'], ], 'example' => '', ], @@ -3129,42 +2077,30 @@ 'description' => 'The authentication information.', 'type' => 'object', 'properties' => [ - 'signatureVersion' => [ - 'description' => 'The signature version.', - 'type' => 'string', - 'title' => '', - 'example' => 'unknown', - ], + 'signatureVersion' => ['title' => '', 'description' => 'The signature version.', 'type' => 'string', 'example' => 'unknown'], 'signatureMethod' => [ - 'description' => 'The signature method.'."\n" - ."\n" - .'- HMAC-SHA1: The request is signed using the HMAC-SHA1 algorithm.'."\n" - ."\n" - .'- HMAC-SHA256: The request is signed using the HMAC-SHA256 algorithm.', + 'title' => '', + 'description' => 'The signature method. Valid values:'."\n" + .' * HMAC-SHA1: Signs with the HMAC-SHA1 algorithm.'."\n" + .' * HMAC-SHA256: Signs with the HMAC-SHA256 algorithm.', 'type' => 'string', 'example' => 'HMAC-SHA256', 'enum' => [], - 'title' => '', ], 'authenticationType' => [ - 'description' => 'The authentication type.'."\n" - ."\n" - .'- AK: An AccessKey pair, which can be a permanent AccessKey pair, a temporary AccessKey pair, or an STS token.'."\n" - ."\n" - .'- PRIVATEKEY: An AccessKey pair that uses asymmetric key encryption.'."\n" - ."\n" - .'- BEARERTOKEN: An identity verification mechanism that is widely used in the OAuth 2.0 framework and cloud services.'."\n" - ."\n" - .'- CUSTOM\\_SPI: An efficient and secure authentication method that is used for the delivery and management of Software as a Service (SaaS) products in Alibaba Cloud Marketplace.'."\n" - ."\n" - .'- Anonymous: Anonymous access.'."\n" - ."\n" - .'- DPS: Similar to an AccessKey pair, but uses a signature algorithm that is different from the official Alibaba Cloud algorithm. This method is specific to certain products.', + 'title' => '', + 'description' => 'The authentication type. Valid values:'."\n" + .' * AK: Includes permanent AccessKey pairs, temporary AccessKey pairs, and STS tokens.'."\n" + .' * PRIVATEKEY: An asymmetric encryption type of AccessKey pair.'."\n" + .' * BEARERTOKEN: An identity verification mechanism widely used in the OAuth 2.0 framework and cloud services.'."\n" + .' * CUSTOM_SPI: An efficient and secure authenticate method for the delivery and management of SaaS products in Alibaba Cloud Marketplace.'."\n" + .' * Anonymous: Anonymity access.'."\n" + .' * DPS: Similar to AK, but uses a different signature algorithm from the official Alibaba Cloud algorithm. This type is exclusive to specific products.', 'type' => 'string', 'enum' => [], - 'title' => '', 'example' => 'AK', ], + 'ak' => ['title' => '', 'description' => 'The AccessKey ID used to initiate the call corresponding to the request ID.', 'type' => 'string', 'example' => 'LTAI1234abcd'], ], 'example' => '', ], @@ -3175,30 +2111,10 @@ 'items' => [ 'type' => 'object', 'properties' => [ - 'name' => [ - 'description' => 'The name of the request parameter.', - 'type' => 'string', - 'title' => '', - 'example' => 'InstanceType', - ], - 'value' => [ - 'description' => 'The value of the request parameter.', - 'type' => 'any', - 'title' => '', - 'example' => 'ecs.g6.large'."\n", - ], - 'required' => [ - 'description' => 'Indicates whether the request parameter is required.', - 'type' => 'boolean', - 'title' => '', - 'example' => 'false', - ], - 'type' => [ - 'description' => 'The type of the request parameter.', - 'type' => 'string', - 'title' => '', - 'example' => 'string', - ], + 'name' => ['title' => '', 'description' => 'The request parameter name.', 'type' => 'string', 'example' => 'InstanceType'], + 'value' => ['title' => '', 'description' => 'The request parameter value.', 'type' => 'any', 'example' => 'ecs.g6.large'."\n"], + 'required' => ['title' => '', 'description' => 'Indicates whether the request parameter is required.', 'type' => 'boolean', 'example' => 'false'], + 'type' => ['title' => '', 'description' => 'The type of the request parameter.', 'type' => 'string', 'example' => 'string'], ], 'description' => '', 'title' => '', @@ -3208,33 +2124,18 @@ ], 'responses' => [ 'title' => '', - 'description' => 'The response information that corresponds to the request.', + 'description' => 'The response information of the request.', 'type' => 'object', 'properties' => [ - 'responseBody' => [ - 'description' => 'The response information.', - 'type' => 'string', - 'title' => '', - 'example' => '-', - ], - 'responseBodyFormat' => [ - 'description' => 'The type of the response body. Valid values: JSON, XML, and HTML.', - 'type' => 'string', - 'title' => '', - 'example' => 'JSON', - ], + 'responseBody' => ['title' => '', 'description' => 'The response body.', 'type' => 'string', 'example' => '-'], + 'responseBodyFormat' => ['title' => '', 'description' => 'The response body format. Valid values: JSON, XML, and HTML.', 'type' => 'string', 'example' => 'JSON'], ], 'example' => '', ], ], 'example' => '', ], - 'requestId' => [ - 'description' => 'The ID of the request.', - 'type' => 'string', - 'title' => '', - 'example' => '9BFC4AC1-6BE4-5405-BDEC-CA288D404812', - ], + 'requestId' => ['title' => '', 'description' => 'The request ID of the current request.', 'type' => 'string', 'example' => '9BFC4AC1-6BE4-5405-BDEC-CA288D404812'], ], 'example' => '', ], @@ -3242,25 +2143,16 @@ ], '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' => 'The parameter logRequestId is invalid. Make sure that the request ID you provide originates from a request you made to a OpenAPI.', - ], + ['errorCode' => 'InvalidParam.LogRequestId', 'errorMessage' => 'Please ensure that the request ID you provided originates from a request you made to a certain OpenAPI.', 'description' => 'The parameter logRequestId is invalid. Make sure that the request ID you provide originates from a request you made to a 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' => 'The log associated with this logRequestId does not exist, has expired, or you do not have permission to view it.', - ], + ['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' => 'The log associated with this logRequestId does not exist, has expired, or you do not have permission to view it.'], ], ], - '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"}]', - 'title' => 'GetRequestLog', + 'staticInfo' => ['returnType' => 'synchronous'], + 'title' => 'Query API call logs', + 'summary' => 'Queries the log details of an API request by the request ID returned by the API. This operation can be used for troubleshooting.', + 'description' => 'By using RAM authorization or role assumption, you can query call logs across RAM users or across Alibaba Cloud accounts. For more information about authorization, see [Cross-account API error diagnostics authorization](~~2868101~~).', 'changeSet' => [], 'flowControl' => [ 'flowControlList' => [], @@ -3273,74 +2165,69 @@ 'authLevel' => 'operate', 'actionConditions' => [], 'resources' => [ - [ - 'validationType' => 'always', - 'product' => 'OpenAPIExplorer', - 'resourceType' => 'All Resource', - 'arn' => '*', - ], + ['validationType' => 'always', 'product' => 'OpenAPIExplorer', 'resourceType' => 'All Resource', '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"}]', + 'translator' => 'machine', ], - 'ListApiDefinitions' => [ - 'summary' => 'Retrieves the OpenAPI metadata for a product.', - 'path' => '/api/definitions', - 'methods' => [ - 'get', - ], - 'schemes' => [ - 'https', - ], + 'GetSdkDependencies' => [ + 'summary' => 'Retrieves SDK dependency information.', + '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' => 'The SDK call type. Valid values are `typed` for the product-specific SDK mode and `generic` for the generic call mode. The default is `typed`.', 'type' => 'string', - 'required' => true, - 'description' => 'The product code.'."\n" - ."\n" - .'- Call the GetRequestLog operation to obtain the product code from the response.'."\n" - ."\n" - .'- Find the product code in the URL of the OpenAPI Portal. For example, <props="china">the URL of the OpenAPI Portal for Short Message Service is https\\://api.aliyun.com/product/Dysmsapi. The product code for Short Message Service is Dysmsapi.</props>'."\n" - .' <props="intl">the URL of the OpenAPI Portal for Short Message Service is https\\://api.alibabacloud.com/product/Dysmsapi. The product code for Short Message Service is Dysmsapi.</props>', + 'example' => 'typed', + 'default' => 'typed', + 'enum' => ['typed', 'generic'], 'title' => '', - 'example' => 'Ecs', + 'required' => false, ], ], [ - 'name' => 'apiVersion', + 'name' => 'product', + 'in' => 'query', + 'schema' => ['description' => 'The cloud product code.', 'type' => 'string', 'required' => true, 'example' => 'Ecs', 'title' => ''], + ], + [ + 'name' => 'version', + 'in' => 'query', + 'schema' => ['description' => 'The OpenAPI version.', 'type' => 'string', 'required' => false, 'example' => '2014-05-26', 'title' => ''], + ], + [ + 'name' => 'language', 'in' => 'query', 'schema' => [ + 'description' => 'The SDK programming language. If specified, the response contains only dependencies for that language.', 'type' => 'string', 'required' => true, - 'description' => 'The version of the API.', + 'example' => 'java', + 'enum' => ['java', 'java-async', 'python', 'typescript', 'go', 'php', 'csharp', 'cpp', 'swift', 'nodejs'], 'title' => '', - 'example' => '2014-05-26', ], ], ], @@ -3348,6 +2235,96 @@ 200 => [ 'schema' => [ 'type' => 'object', + 'properties' => [ + 'code' => ['description' => 'The service status code. A value of `0` indicates a successful request.', 'type' => 'integer', 'format' => 'int32', 'example' => '0', 'title' => ''], + 'data' => [ + 'type' => 'array', + 'items' => [ + 'type' => 'object', + 'properties' => [ + 'packageName' => ['description' => 'The SDK package name.', 'type' => 'string', 'example' => 'com.aliyun/ecs20140526', 'title' => ''], + 'sdkVersion' => ['description' => 'The SDK package version.', 'type' => 'string', 'example' => '8.7.5', 'title' => ''], + 'platform' => ['description' => 'The SDK package management platform. Examples include `github`, `maven`, `pypi`, `nuget`, and `npm`.', 'type' => 'string', 'example' => 'maven', 'title' => ''], + 'install' => ['description' => 'The command or configuration for installing the SDK. For Java, this is a Maven XML block. For other languages, it is the installation command for the appropriate package manager.', 'type' => 'string', 'example' => '<dependency>\\n <groupId>com.aliyun</groupId>\\n <artifactId>ecs20140526</artifactId>\\n <version>8.7.5</version>\\n</dependency>', 'title' => ''], + ], + 'example' => '{"packageName":"com.aliyun/ecs20140526","sdkVersion":"8.7.5","platform":"maven","install":"<dependency>...</dependency>"}', + 'title' => '', + 'description' => 'Details of a single SDK dependency.', + ], + 'example' => '[{"packageName":"com.aliyun/ecs20140526","sdkVersion":"8.7.5","platform":"maven","install":"<dependency>...</dependency>"}]', + 'title' => '', + 'description' => 'An array of objects containing the SDK dependency information. Each object represents the latest dependency for a specific language.', + ], + ], + 'description' => '', + 'title' => '', + 'example' => '', + ], + ], + ], + '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' => 'GetSdkDependencies', + 'description' => 'You can use RAM authorization or role assumption to query call logs across multiple RAM users or Alibaba Cloud accounts. For details about authorization methods, see [Cross-account API Error Diagnosis Authorization](~~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\\": \\"<dependency>\\\\\\\\n <groupId>com.aliyun</groupId>\\\\\\\\n <artifactId>ecs20140526</artifactId>\\\\\\\\n <version>8.7.5</version>\\\\\\\\n</dependency>\\"\\n }\\n ]\\n}","type":"json"}]', + ], + 'ListApiDefinitions' => [ + 'summary' => 'Retrieves the OpenAPI metadata for a product.', + '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' => ['type' => 'string', 'required' => true, 'description' => 'The product code.'."\n" + ."\n" + .'- Call the GetRequestLog operation to obtain the product code from the response.'."\n" + ."\n" + .'- Find the product code in the URL of the OpenAPI Portal. For example, <props="china">the URL of the OpenAPI Portal for Short Message Service is https\\://api.aliyun.com/product/Dysmsapi. The product code for Short Message Service is Dysmsapi.</props>'."\n" + .' <props="intl">the URL of the OpenAPI Portal for Short Message Service is https\\://api.alibabacloud.com/product/Dysmsapi. The product code for Short Message Service is Dysmsapi.</props>', 'title' => '', 'example' => 'Ecs'], + ], + [ + 'name' => 'apiVersion', + 'in' => 'query', + 'schema' => ['type' => 'string', 'required' => true, 'description' => 'The version of the API.', 'title' => '', 'example' => '2014-05-26'], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'type' => 'object', 'properties' => [], 'description' => 'The open metadata.', 'title' => '', @@ -3356,9 +2333,7 @@ ], ], 'errorCodes' => [], - 'staticInfo' => [ - 'returnType' => 'synchronous', - ], + 'staticInfo' => ['returnType' => 'synchronous'], 'title' => 'ListApiDefinitions', 'changeSet' => [], 'flowControl' => [ @@ -3367,34 +2342,160 @@ 'ramActions' => [], 'responseDemo' => '[{"errorExample":"","example":"{}","type":"json"}]', ], + 'ListApiMcpServerCores' => [ + 'path' => '/apimcpservercores', + 'methods' => ['get'], + 'schemes' => ['https'], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'consumes' => ['application/json'], + 'produces' => ['application/json'], + 'operationType' => 'read', + 'systemTags' => [ + 'operationType' => 'list', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeNodes' => ['FEATUREopenapiexplorer7MPML0'], + ], + 'parameters' => [ + [ + 'name' => 'id', + 'in' => 'query', + 'schema' => ['description' => 'The unique identifier.', 'type' => 'string', 'required' => false, 'example' => 'v6ZZ7ftCzEILW***', 'title' => ''], + ], + [ + 'name' => 'nextToken', + 'in' => 'query', + 'schema' => ['description' => 'The pagination cursor.'."\n" + ."\n" + .'> A non-empty value indicates that more data is available.', 'type' => 'string', 'required' => false, 'example' => 'AAAAAZjtYxxxxxxxx', 'title' => ''], + ], + [ + 'name' => 'maxResults', + 'in' => 'query', + 'schema' => ['description' => 'The maximum number of results to return. The maximum value is 100. The default value is 20.', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '10', 'title' => ''], + ], + [ + 'name' => 'skip', + 'in' => 'query', + 'schema' => ['description' => 'The number of results to skip.', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '5', 'title' => ''], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'type' => 'object', + 'properties' => [ + 'requestId' => ['description' => 'The request ID.', 'type' => 'string', 'example' => 'A707AFA8-1A4C-5B2A-A165-8436C1EA38DB', 'title' => ''], + 'nextToken' => ['description' => 'The token to retrieve the next page of results.'."\n" + ."\n" + .'> A non-empty value indicates that more results are available.', 'type' => 'string', 'example' => 'AAAAAZjtYxxxxxxxx', 'title' => ''], + 'totalCount' => ['description' => 'The total number of entries.', 'type' => 'integer', 'format' => 'int32', 'example' => '5', 'title' => ''], + 'maxResults' => ['description' => 'The maximum number of entries per page. Maximum value: 100. Default value: 20.', 'type' => 'integer', 'format' => 'int32', 'example' => '20', 'title' => ''], + 'apiMcpServerCores' => [ + 'type' => 'array', + 'items' => [ + 'type' => 'object', + 'properties' => [ + 'id' => ['description' => 'The ID of the MCP Core service.', 'type' => 'string', 'example' => 'UFGUzvjc3cdrPy6Z', 'title' => ''], + 'oauthClientId' => ['description' => 'The client ID for a custom OAuth configuration.'."\n" + ."\n" + .'`Only web and native applications are supported, and the OAuth scope must include /acs/mcp-server.`', 'type' => 'string', 'deprecated' => false, 'pattern' => '', 'readOnly' => false, 'default' => '', 'example' => '403*************370', 'title' => ''], + 'createTime' => ['description' => 'The time when the service was created.', 'type' => 'string', 'format' => 'iso8601', 'example' => '2025-05-16 11:17:02', 'title' => ''], + 'vpcWhitelists' => [ + 'type' => 'array', + 'items' => ['description' => 'The VPC ID of the source VPC in the VPC whitelist.', 'type' => 'string', 'deprecated' => false, 'readOnly' => false, 'example' => '[]', 'title' => ''], + 'deprecated' => false, + 'readOnly' => false, + 'description' => 'The VPC ID of the source VPC in the VPC whitelist.', + 'title' => '', + 'example' => '', + ], + 'enableAssumeRole' => ['description' => 'Indicates whether cross-account access is enabled.', 'type' => 'boolean', 'deprecated' => false, 'readOnly' => false, 'default' => '', 'example' => 'true', 'title' => ''], + 'assumeRoleOverridePolicy' => ['description' => 'The permission policy for role assumption.', 'type' => 'string', 'format' => 'json', 'deprecated' => false, 'pattern' => '', 'readOnly' => false, 'default' => '', 'example' => '{"Version":"1","Statement":[{"Effect":"Allow","Action":["ecs:Describe*"],"Resource":"*"}]}', 'title' => ''], + 'assumeRoleName' => ['description' => 'The name of the Resource Access Management (RAM) role in the target account to assume for cross-account access.', 'type' => 'string', 'deprecated' => false, 'pattern' => '', 'readOnly' => false, 'default' => '', 'example' => 'test', 'title' => ''], + 'publicAccessType' => [ + 'description' => 'The public access type. Valid values:', + 'enumValueTitles' => ['private' => 'Disabled', 'public' => 'Enabled', 'inherit' => 'The account-level configuration is used.'], + 'type' => 'string', + 'deprecated' => false, + 'pattern' => '', + 'readOnly' => false, + 'default' => '', + 'example' => 'public', + 'title' => '', + ], + 'enableCustomVpcWhitelist' => ['description' => 'Indicates whether a custom Virtual Private Cloud (VPC) whitelist is enabled. If this parameter is disabled, the account-level configuration is used.', 'type' => 'boolean', 'deprecated' => false, 'readOnly' => false, 'default' => '', 'example' => 'true', 'title' => ''], + 'urls' => [ + 'type' => 'object', + 'properties' => [ + 'sse' => ['description' => 'The connection endpoint for the SSE protocol.', 'type' => 'string', 'deprecated' => false, 'pattern' => '', 'default' => '', 'example' => 'https://openapi-mcp.cn-hangzhou.aliyuncs.com/accounts/xxxx/id/xxxx/sse', 'title' => ''], + 'mcp' => ['description' => 'The connection endpoint for the streamable HTTP protocol. We recommend that you use this protocol.', 'type' => 'string', 'deprecated' => false, 'pattern' => '', 'default' => '', 'example' => 'https://openapi-mcp.cn-hangzhou.aliyuncs.com/accounts/xxxx/id/xxxx/mcp', 'title' => ''], + 'vpcSse' => ['description' => 'The connection endpoint for the SSE protocol in a VPC.', 'type' => 'string', 'deprecated' => false, 'pattern' => '', 'default' => '', 'example' => 'https://openapi-mcp-cn.vpc-proxy.aliyuncs.com/accounts/xxxx/id/xxxx/sse', 'title' => ''], + 'vpcMcp' => ['description' => 'The connection endpoint for the streamable HTTP protocol in a VPC.', 'type' => 'string', 'deprecated' => false, 'pattern' => '', 'default' => '', 'example' => 'https://openapi-mcp-cn.vpc-proxy.aliyuncs.com/accounts/xxxx/id/xxxx/mcp', 'title' => ''], + ], + 'deprecated' => false, + 'description' => 'The connection endpoints.', + 'title' => '', + 'example' => '', + ], + 'requiredRamPolicy' => ['description' => 'The RAM policy that is required to use the MCP Core service.', 'type' => 'string', 'deprecated' => false, 'pattern' => '', 'default' => '', 'example' => '{"Version":"1","Statement":[{"Effect":"Allow","Action":["ecs:Describe*"],"Resource":"*"}]}', 'title' => ''], + ], + 'description' => '', + 'title' => '', + 'example' => '', + ], + 'description' => 'The list of MCP Core services.', + 'title' => '', + 'example' => '', + ], + ], + 'description' => '', + 'title' => '', + 'example' => '', + ], + ], + ], + 'errorCodes' => [ + 400 => [ + ['errorCode' => 'InvalidParam.NextToken', 'errorMessage' => 'The specified NextToken is not valid.', 'description' => 'The specified nextToken is invalid.'], + ['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' => '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.'], + ], + 500 => [ + ['errorCode' => 'InternalServerError', 'errorMessage' => 'The request has failed due to a temporary failure of the server.', 'description' => ''], + ], + ], + 'title' => 'ListApiMcpServerCores', + 'summary' => 'Lists ApiMcpServerCore resources.', + 'description' => 'This API is used to query public information, so authorization is not required.', + 'changeSet' => [], + 'flowControl' => [ + 'flowControlList' => [], + ], + '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"}]', + ], 'ListApiMcpServerSystemTools' => [ 'summary' => 'Lists the system tools supported by the MCP service.', 'path' => '/mcpSystemTools', - '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' => 'list', 'riskType' => 'none', 'chargeType' => 'free', - 'abilityTreeNodes' => [ - 'FEATUREopenapiexplorer7MPML0', - ], + 'abilityTreeNodes' => ['FEATUREopenapiexplorer7MPML0'], 'tenantRelevance' => 'publicInformation', ], 'parameters' => [ @@ -3402,45 +2503,20 @@ 'name' => 'maxResults', 'in' => 'query', 'allowEmptyValue' => true, - 'schema' => [ - 'type' => 'integer', - 'format' => 'int32', - 'maximum' => '100', - 'minimum' => '0', - 'default' => '20', - 'description' => 'The maximum number of entries to return on each page. The maximum value is 100. The default value is 20.', - 'required' => false, - 'title' => '', - 'example' => '20', - ], + 'schema' => ['type' => 'integer', 'format' => 'int32', 'maximum' => '100', 'minimum' => '0', 'default' => '20', 'description' => 'The maximum number of entries to return on each page. The maximum value is 100. The default value is 20.', 'required' => false, 'title' => '', 'example' => '20'], ], [ 'name' => 'skip', 'in' => 'query', 'allowEmptyValue' => true, - 'schema' => [ - 'type' => 'integer', - 'format' => 'int32', - 'minimum' => '0', - 'default' => '0', - 'description' => 'The number of entries to skip.', - 'required' => false, - 'title' => '', - 'example' => '5', - ], + 'schema' => ['type' => 'integer', 'format' => 'int32', 'minimum' => '0', 'default' => '0', 'description' => 'The number of entries to skip.', 'required' => false, 'title' => '', 'example' => '5'], ], [ 'name' => 'nextToken', 'in' => 'query', - 'schema' => [ - 'type' => 'string', - 'description' => 'The token to start the next query. Set this parameter to the NextToken value returned by the last API call.'."\n" - ."\n" - .'> Do not specify this parameter for the first query. If a query does not return all results, pass the NextToken value from the previous response to the next query to continue.', - 'required' => false, - 'title' => '', - 'example' => 'AAAAAZjtYxxxxxxxx', - ], + 'schema' => ['type' => 'string', 'description' => 'The token to start the next query. Set this parameter to the NextToken value returned by the last API call.'."\n" + ."\n" + .'> Do not specify this parameter for the first query. If a query does not return all results, pass the NextToken value from the previous response to the next query to continue.', 'required' => false, 'title' => '', 'example' => 'AAAAAZjtYxxxxxxxx'], ], ], 'responses' => [ @@ -3448,51 +2524,19 @@ 'schema' => [ 'type' => 'object', 'properties' => [ - 'requestId' => [ - 'type' => 'string', - 'description' => 'The request ID.', - 'title' => '', - 'example' => '9BFC4AC1-6BE4-5405-BDEC-CA288D404812', - ], - 'nextToken' => [ - 'type' => 'string', - 'description' => 'The NextToken value. Use this value to retrieve more results.'."\n" - ."\n" - .'> If this parameter is not returned, no more results are available.', - 'title' => '', - 'example' => 'AAAAAZjtYxxxxxxxx', - ], - 'maxResults' => [ - 'type' => 'integer', - 'format' => 'int32', - 'description' => 'The maximum number of entries to return on each page. The maximum value is 100. The default value is 20.', - 'title' => '', - 'example' => '20', - ], - 'totalCount' => [ - 'type' => 'integer', - 'format' => 'int32', - 'description' => 'The total number of records.', - 'title' => '', - 'example' => '22', - ], + 'requestId' => ['type' => 'string', 'description' => 'The request ID.', 'title' => '', 'example' => '9BFC4AC1-6BE4-5405-BDEC-CA288D404812'], + 'nextToken' => ['type' => 'string', 'description' => 'The NextToken value. Use this value to retrieve more results.'."\n" + ."\n" + .'> If this parameter is not returned, no more results are available.', 'title' => '', 'example' => 'AAAAAZjtYxxxxxxxx'], + 'maxResults' => ['type' => 'integer', 'format' => 'int32', 'description' => 'The maximum number of entries to return on each page. The maximum value is 100. The default value is 20.', 'title' => '', 'example' => '20'], + 'totalCount' => ['type' => 'integer', 'format' => 'int32', 'description' => 'The total number of records.', 'title' => '', 'example' => '22'], 'systemTools' => [ 'type' => 'array', 'items' => [ 'type' => 'object', 'properties' => [ - 'name' => [ - 'type' => 'string', - 'description' => 'The name of the system tool.', - 'title' => '', - 'example' => 'mcp-system', - ], - 'description' => [ - 'type' => 'string', - 'description' => 'The description of the system tool.', - 'title' => '', - 'example' => 'system tool description', - ], + 'name' => ['type' => 'string', 'description' => 'The name of the system tool.', 'title' => '', 'example' => 'mcp-system'], + 'description' => ['type' => 'string', 'description' => 'The description of the system tool.', 'title' => '', 'example' => 'system tool description'], ], 'description' => 'A system tool.', 'title' => '', @@ -3511,18 +2555,10 @@ ], 'errorCodes' => [ 400 => [ - [ - 'errorCode' => 'InvalidParam.NextToken', - 'errorMessage' => 'The specified NextToken is not valid.', - 'description' => 'The specified nextToken is invalid.', - ], + ['errorCode' => 'InvalidParam.NextToken', 'errorMessage' => 'The specified NextToken is not valid.', 'description' => 'The specified nextToken is invalid.'], ], 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' => 'ListApiMcpServerSystemTools', @@ -3538,12 +2574,7 @@ 'authLevel' => 'operate', 'actionConditions' => [], 'resources' => [ - [ - 'validationType' => 'always', - 'product' => 'OpenAPIExplorer', - 'resourceType' => 'All Resource', - 'arn' => '*', - ], + ['validationType' => 'always', 'product' => 'OpenAPIExplorer', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], ], @@ -3551,666 +2582,355 @@ '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' => 'This operation queries a list of all API MCP servers in an Alibaba Cloud account.', + 'summary' => 'Queries the list of all API MCP servers under the parent account.', 'path' => '/apimcpservers', - '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' => 'list', 'riskType' => 'none', 'chargeType' => 'free', - 'abilityTreeNodes' => [ - 'FEATUREopenapiexplorer7MPML0', - ], + 'abilityTreeNodes' => ['FEATUREopenapiexplorer7MPML0'], 'tenantRelevance' => 'publicInformation', ], 'parameters' => [ [ 'name' => 'id', 'in' => 'query', - 'schema' => [ - 'type' => 'string', - 'description' => 'The ID of the API MCP service.', - 'required' => false, - 'title' => '', - 'example' => 'v6ZZ7ftCzEILW***', - ], + 'schema' => ['description' => 'The ID of the API MCP server.', 'type' => 'string', 'required' => false, 'example' => 'v6ZZ7ftCzEILW***', 'title' => ''], ], [ 'name' => 'nextToken', 'in' => 'query', - 'schema' => [ - 'type' => 'string', - 'description' => 'The token that is used to start the next query. Set this parameter to the \\`nextToken\\` value that was returned from the previous API call.'."\n" - ."\n" - .'> This parameter is not required for the first query. If a query does not return all results, pass the \\`nextToken\\` value from the previous query to continue.', - 'required' => false, - 'title' => '', - 'example' => 'AAAAAZjtYxxxxxxxx', - ], + 'schema' => ['description' => 'The token for the next query. Set this parameter to the NextToken value returned in the previous API call.'."\n" + ."\n" + .'> You do not need to specify this parameter for the first query. If a single query does not return all results, pass the NextToken value from the previous response to continue the query.', 'type' => 'string', 'required' => false, 'example' => 'AAAAAZjtYxxxxxxxx', 'title' => ''], ], [ 'name' => 'maxResults', 'in' => 'query', 'allowEmptyValue' => true, - 'schema' => [ - 'type' => 'integer', - 'format' => 'int32', - 'maximum' => '100', - 'minimum' => '0', - 'exclusiveMinimum' => true, - 'default' => '20', - 'description' => 'The maximum number of entries to return on each page for a paged query. The maximum value is 100. The default value is 20.', - 'required' => false, - 'title' => '', - 'example' => '10', - ], + 'schema' => ['description' => 'The maximum number of entries per page for a paged query. Maximum value: 100. Default value: 20.', 'type' => 'integer', 'format' => 'int32', 'maximum' => '100', 'minimum' => '0', 'exclusiveMinimum' => true, 'default' => '20', 'required' => false, 'example' => '10', 'title' => ''], ], [ 'name' => 'skip', 'in' => 'query', 'allowEmptyValue' => true, - 'schema' => [ - 'type' => 'integer', - 'format' => 'int32', - 'minimum' => '0', - 'default' => '0', - 'description' => 'The number of data entries to skip.', - 'required' => false, - 'title' => '', - 'example' => '5', - ], + 'schema' => ['description' => 'The number of data entries to skip.', 'type' => 'integer', 'format' => 'int32', 'minimum' => '0', 'default' => '0', 'required' => false, 'example' => '5', 'title' => ''], ], [ 'name' => 'description', 'in' => 'query', - 'schema' => [ - 'type' => 'string', - 'description' => 'The description of the API MCP service.', - 'required' => false, - 'title' => '', - 'example' => '这是一个API MCP服务器。', - ], + 'schema' => ['description' => 'The description of the API MCP server.', 'type' => 'string', 'required' => false, 'example' => '这是一个API MCP服务器。', 'title' => ''], ], [ 'name' => 'language', 'in' => 'query', 'schema' => [ + 'description' => 'The documentation language of the API MCP server. Chinese or English API documentation is supported. Different language prompts may produce different AI response results.', 'type' => 'string', - 'enum' => [ - 'EN_US', - 'ZH_CN', - ], - 'description' => 'The language of the API reference for the API MCP service. The language of the prompt can affect the response from the AI. Valid values: \\`ZH\\_CN\\`, \\`EN\\_US\\`.', + 'enum' => ['EN_US', 'ZH_CN'], 'required' => false, - 'title' => '', 'example' => 'ZH_CN', + 'title' => '', ], ], [ 'name' => 'createTime', 'in' => 'query', - 'schema' => [ - 'type' => 'string', - 'description' => 'The time when the API MCP server was created.', - 'required' => false, - 'title' => '', - 'example' => '2024-10-30T02:10:13Z', - ], + 'schema' => ['description' => 'The creation time of the API MCP server.', 'type' => 'string', 'required' => false, 'example' => '2024-10-30T02:10:13Z', 'title' => ''], ], [ 'name' => 'updateTime', 'in' => 'query', - 'schema' => [ - 'type' => 'string', - 'description' => 'The time when the API MCP server was last updated.', - 'required' => false, - 'title' => '', - 'example' => '2024-06-05T02:27:39Z', - ], + 'schema' => ['description' => 'The update time of the API MCP server.', 'type' => 'string', 'required' => false, 'example' => '2024-06-05T02:27:39Z', 'title' => ''], ], [ 'name' => 'sourceType', 'in' => 'query', - 'schema' => [ - 'type' => 'string', - 'description' => 'The type of the API MCP service.'."\n" - ."\n" - .'- custom: a custom service'."\n" - ."\n" - .'- system: a system service', - 'required' => false, - 'title' => '', - 'example' => 'system', - ], + 'schema' => ['description' => 'The type of the API MCP server.'."\n" + ."\n" + .'Valid values:'."\n" + .'- custom: custom server'."\n" + .'- system: system server.', 'type' => 'string', 'required' => false, 'example' => 'system', 'title' => ''], ], [ 'name' => 'keyword', 'in' => 'query', - 'schema' => [ - 'type' => 'string', - 'description' => 'The search keyword. Supports fuzzy search by API name and exact search by API ID.', - 'required' => false, - 'title' => '', - 'example' => 'oss', - ], + 'schema' => ['description' => 'The search keyword. Fuzzy match by API name or exact match by API ID is supported.', 'type' => 'string', 'required' => false, 'example' => 'oss', 'title' => ''], ], ], 'responses' => [ 200 => [ 'schema' => [ + 'description' => 'The request result.', 'type' => 'object', 'properties' => [ - 'requestId' => [ - 'type' => 'string', - 'description' => 'The request ID.', - 'title' => '', - 'example' => ' '."\n" - .'9BFC4AC1-6BE4-5405-BDEC-CA288D404812'."\n", - ], - 'nextToken' => [ - 'type' => 'string', - 'description' => 'The paging cursor.'."\n" - ."\n" - .'> If this parameter is not empty, more data is available.', - 'title' => '', - 'example' => 'AAAAAZjtYxxxxxxxx', - ], - 'totalCount' => [ - 'type' => 'integer', - 'format' => 'int32', - 'description' => 'The total number of entries.', - 'title' => '', - 'example' => '5', - ], - 'maxResults' => [ - 'type' => 'integer', - 'format' => 'int32', - 'description' => 'The maximum number of entries returned per page.', - 'title' => '', - 'example' => '30', - ], + 'requestId' => ['description' => 'The request ID.', 'type' => 'string', 'example' => ' '."\n" + .'9BFC4AC1-6BE4-5405-BDEC-CA288D404812'."\n", 'title' => ''], + 'nextToken' => ['description' => 'The pagination token.'."\n" + .'> A non-empty value indicates that more data is available.', 'type' => 'string', 'example' => 'AAAAAZjtYxxxxxxxx', 'title' => ''], + 'totalCount' => ['description' => 'The total number of data entries.', 'type' => 'integer', 'format' => 'int32', 'example' => '5', 'title' => ''], + 'maxResults' => ['description' => 'The maximum number of entries per page.', 'type' => 'integer', 'format' => 'int32', 'example' => '30', 'title' => ''], 'apiMcpServers' => [ + 'description' => 'The list of queried API MCP servers.', 'type' => 'array', 'items' => [ + 'description' => 'The API MCP server information.', 'type' => 'object', 'properties' => [ - 'id' => [ - 'type' => 'string', - 'description' => 'The ID of the API MCP service.', - 'title' => '', - 'example' => 'v6ZZ7ftCzEILW***', - ], - 'description' => [ - 'type' => 'string', - 'description' => 'The description of the API MCP server.', - 'title' => '', - 'example' => '这是一个API MCP服务器。', - ], + 'id' => ['description' => 'The ID of the API MCP server.', 'type' => 'string', 'example' => 'v6ZZ7ftCzEILW***', 'title' => ''], + 'description' => ['description' => 'The description of the API MCP server.', 'type' => 'string', 'example' => '这是一个API MCP服务器。', 'title' => ''], 'apis' => [ + 'description' => 'The list of API information.', 'type' => 'array', 'items' => [ + 'description' => 'The API information.', 'type' => 'object', 'properties' => [ - 'product' => [ - 'type' => 'string', - 'description' => 'The product code.'."\n" - ."\n" - .'- Call the GetRequestLog operation and obtain the product code from the response.'."\n" - ."\n" - .'- Find the product code from the URL of the OpenAPI Portal. For example, the URL for the OpenAPI Portal of Short Message Service is https\\://api.alibabacloud.com/product/Dysmsapi. The product code is Dysmsapi.', - 'title' => '', - 'example' => 'Ecs', - ], - 'apiVersion' => [ - 'type' => 'string', - 'description' => 'The POP version of the API that is exposed to the MCP server.', - 'title' => '', - 'example' => '2014-05-26', - ], + 'product' => ['description' => 'The product code.'."\n" + ."\n" + .'- Call the GetRequestLog operation and obtain the product code from the response.'."\n" + ."\n" + .'- Find the product code from the OpenAPI portal URL. For example, <props="china">the OpenAPI portal URL for Short Message Service is https://api.aliyun.com/product/Dysmsapi. The product code obtained from this URL is Dysmsapi.</props>'."\n" + .'<props="intl">the OpenAPI portal URL for Short Message Service is https://api.alibabacloud.com/product/Dysmsapi. The product code obtained from this URL is Dysmsapi.</props>.', 'type' => 'string', 'example' => 'Ecs', 'title' => ''], + 'apiVersion' => ['description' => 'The POP version of the API exposed to the MCP server.', 'type' => 'string', 'example' => '2014-05-26', 'title' => ''], 'selectors' => [ + 'description' => 'The list of API name matching rules.', 'type' => 'array', - 'items' => [ - 'type' => 'string', - 'description' => 'An API name matching rule.', - 'title' => '', - 'example' => '*Bucket', - ], - 'description' => 'A list of API name matching rules.', + 'items' => ['description' => 'The API name matching rule.', 'type' => 'string', 'example' => '*Bucket', 'title' => ''], 'title' => '', 'example' => '', ], ], - 'description' => 'The API information.', 'title' => '', 'example' => '', ], - 'description' => 'A list of API information.', 'title' => '', 'example' => '', ], 'additionalApiDescriptions' => [ + 'description' => 'The list of supplementary API descriptions.', 'type' => 'array', 'items' => [ + 'description' => 'The supplementary API description.', 'type' => 'object', 'properties' => [ - 'product' => [ - 'type' => 'string', - 'description' => 'The product code.'."\n" - ."\n" - .'- Call the GetRequestLog operation and obtain the product code from the response.'."\n" - ."\n" - .'- Find the product code from the URL of the OpenAPI Portal. For example, the URL for the OpenAPI Portal of Short Message Service is https\\://api.alibabacloud.com/product/Dysmsapi. The product code is Dysmsapi.', - 'title' => '', - 'example' => 'Ecs', - ], - 'apiVersion' => [ - 'type' => 'string', - 'description' => 'The POP version of the API that is exposed to the MCP server.', - 'title' => '', - 'example' => '2014-05-26', - ], - 'apiName' => [ - 'type' => 'string', - 'description' => 'The API name.', - 'title' => '', - 'example' => 'DescribeRegions', - ], - 'apiOverrideJson' => [ - 'type' => 'string', - 'description' => 'The API metadata in JSON format, which can be used to overwrite the \\`summary\\` and \\`parameters\\` fields. For an example of the format, see https\\://api.alibabacloud.com/meta/v1/products/Ecs/versions/2014-05-26/apis/DescribeInstances/api.json.', - 'title' => '', - 'example' => '{'."\n" - .' "summary": "本接口支持根据不同请求条件查询实例列表,并关联查询实例的详细信息。"'."\n" - .'}', - ], - 'executeCliCommand' => [ - 'type' => 'boolean', - 'description' => 'Specifies whether to return the command-line interface (CLI) command for execution. In this mode, the API call is not executed. Instead, the corresponding CLI command is returned. This mode is suitable for long-running tasks executed using the Alibaba Cloud CLI.', - 'title' => '', - 'example' => 'true', - ], - 'enableOutputSchema' => [ - 'type' => 'boolean', - 'description' => 'Specifies whether to return the schema of the response parameters. Returning the schema increases the size of the API MCP server. The default value is null, which means the schema is not returned.', - 'title' => '', - 'example' => 'true', - ], + 'product' => ['description' => 'The product code.'."\n" + ."\n" + .'- Call the GetRequestLog operation and obtain the product code from the response.'."\n" + ."\n" + .'- Find the product code from the OpenAPI portal URL. For example, <props="china">the OpenAPI portal URL for Short Message Service is https://api.aliyun.com/product/Dysmsapi. The product code obtained from this URL is Dysmsapi.</props>'."\n" + .'<props="intl">the OpenAPI portal URL for Short Message Service is https://api.alibabacloud.com/product/Dysmsapi. The product code obtained from this URL is Dysmsapi.</props>.', 'type' => 'string', 'example' => 'Ecs', 'title' => ''], + 'apiVersion' => ['description' => 'The POP version of the API exposed to the MCP server.', 'type' => 'string', 'example' => '2014-05-26', 'title' => ''], + 'apiName' => ['description' => 'The API name.', 'type' => 'string', 'example' => 'DescribeRegions', 'title' => ''], + 'apiOverrideJson' => ['description' => 'The API metadata in JSON format. Refer to the format at https://api.aliyun.com/meta/v1/products/Ecs/versions/2014-05-26/apis/DescribeInstances/api.json. Overriding the summary and parameters fields is supported.', 'type' => 'string', 'example' => '{'."\n" + .' "summary": "本接口支持根据不同请求条件查询实例列表,并关联查询实例的详细信息。"'."\n" + .'}', 'title' => ''], + 'executeCliCommand' => ['description' => 'Specifies whether to return the CLI execute command. In this mode, the API is not actually called. Instead, the corresponding CLI command is returned. This is suitable for long-running tasks that require Alibaba Cloud CLI to execute.', 'type' => 'boolean', 'example' => 'true', 'title' => ''], + 'enableOutputSchema' => ['description' => 'Specifies whether to return the output parameter schema. Returning the output parameter schema increases the overall size of the API MCP server. Default value: null, which indicates that the output parameter schema is not returned.', 'type' => 'boolean', 'example' => 'true', 'title' => ''], + 'toolAlias' => ['description' => 'The tool alias. Set this to a custom name, such as list_ecs_regions. The alias can contain letters, digits, hyphens (-), and underscores (_). Duplicate aliases are not allowed.', 'type' => 'string', 'example' => 'list_ecs_regions', 'title' => ''], 'constParameters' => [ + 'description' => 'The list of constant input parameters. These parameters are not included in the output during API parameter parsing.', 'type' => 'array', 'items' => [ + 'description' => 'The constant input parameter.', 'type' => 'object', 'properties' => [ - 'key' => [ - 'type' => 'string', - 'description' => 'The parameter name. Only top-level parameter names are supported. For ROA-style APIs, you can specify parameters such as \\`body.xx\\`. You cannot set values for nested parameters.', - 'title' => '', - 'example' => 'InstanceId', - ], - 'value' => [ - 'type' => 'any', - 'description' => 'The value of the parameter.', - 'title' => '', - 'example' => '1234', - ], + 'key' => ['description' => 'The parameter name. Only first-level parameter names are supported. For ROA-style APIs, you can set the value to body.xx. Values beyond the top-level parameter are not allowed.', 'type' => 'string', 'example' => 'InstanceId', 'title' => ''], + 'value' => ['description' => 'The value of the parameter.', 'type' => 'any', 'example' => '1234', 'title' => ''], ], - 'description' => 'A constant input parameter.', 'title' => '', 'example' => '', ], - 'description' => 'A list of constant input parameters. These parameters are not included in the output during API parameter parsing.', 'title' => '', 'example' => '', ], ], - 'description' => 'A supplementary API description.', 'title' => '', 'example' => '', ], - 'description' => 'A list of supplementary API descriptions.', 'title' => '', 'example' => '', ], - 'createTime' => [ - 'type' => 'string', - 'description' => 'The time when the API MCP server was created.', - 'title' => '', - 'example' => '2024-12-10T03:20:21Z', - ], - 'updateTime' => [ - 'type' => 'string', - 'description' => 'The time when the API MCP server was last updated.', - 'title' => '', - 'example' => '2025-01-10T02:11:43Z', - ], + 'createTime' => ['description' => 'The creation time of the API MCP server.', 'type' => 'string', 'example' => '2024-12-10T03:20:21Z', 'title' => ''], + 'updateTime' => ['description' => 'The update time of the API MCP server.', 'type' => 'string', 'example' => '2025-01-10T02:11:43Z', 'title' => ''], 'prompts' => [ + 'description' => 'The list of prompt configurations.', 'type' => 'array', 'items' => [ + 'description' => 'The prompt configuration.', 'type' => 'object', 'properties' => [ - 'name' => [ - 'type' => 'string', - 'description' => 'The name of the prompt.', - 'title' => '', - 'example' => 'test', - ], - 'description' => [ - 'type' => 'string', - 'description' => 'The description of the prompt.', - 'title' => '', - 'example' => 'prompt description', - ], - 'content' => [ - 'type' => 'string', - 'description' => 'The content of the prompt. Variables are specified in the \\`{{xxx}}\\` format. \\`xxx\\` is a variable that must be defined in the \\`arguments\\` parameter.', - 'title' => '', - 'example' => 'prompt正文,{{name}}', - ], + 'name' => ['description' => 'The prompt name.', 'type' => 'string', 'example' => 'test', 'title' => ''], + 'description' => ['description' => 'The prompt description.', 'type' => 'string', 'example' => 'prompt description', 'title' => ''], + 'content' => ['description' => 'The content of the prompt. Variables are specified in the {{xxx}} format, where xxx is a variable that must be defined in the arguments parameter.', 'type' => 'string', 'example' => 'prompt正文,{{name}}', 'title' => ''], 'arguments' => [ + 'description' => 'The list of parameters supported by the prompt.', 'type' => 'array', 'items' => [ + 'description' => 'The parameter supported by the prompt.', 'type' => 'object', 'properties' => [ - 'name' => [ - 'type' => 'string', - 'description' => 'The parameter name.', - 'title' => '', - 'example' => 'test', - ], - 'description' => [ - 'type' => 'string', - 'description' => 'The description of the parameter.', - 'title' => '', - 'example' => 'argument description', - ], - 'required' => [ - 'type' => 'boolean', - 'description' => 'Specifies whether the parameter is required.', - 'title' => '', - 'example' => 'true', - ], + 'name' => ['description' => 'The parameter name.', 'type' => 'string', 'example' => 'test', 'title' => ''], + 'description' => ['description' => 'The description of the parameter.', 'type' => 'string', 'example' => 'argument description', 'title' => ''], + 'required' => ['description' => 'Indicates whether the parameter is required.', 'type' => 'boolean', 'example' => 'true', 'title' => ''], ], - 'description' => 'A parameter that the prompt supports.', 'title' => '', 'example' => '', ], - 'description' => 'A list of parameters that the prompt supports.', 'title' => '', 'example' => '', ], ], - 'description' => 'A prompt configuration.', 'title' => '', 'example' => '', ], - 'description' => 'A list of prompt configurations.', 'title' => '', 'example' => '', ], 'language' => [ + 'description' => 'The documentation language of the API MCP server. Chinese or English API documentation is supported. Different language prompts may produce different AI response results.', + 'enumValueTitles' => ['EN_US' => 'EN_US', 'ZH_CN' => 'ZH_CN'], 'type' => 'string', - 'description' => 'The language of the API reference for the API MCP service. You can select Chinese or English. The language of the prompt can affect the response from the AI.', - 'enumValueTitles' => [ - 'EN_US' => 'EN\\_US', - 'ZH_CN' => 'ZH\\_CN', - ], - 'title' => '', 'example' => 'ZH_CN', + 'title' => '', ], 'urls' => [ + 'description' => 'The connection information of the API MCP server.', 'type' => 'object', 'properties' => [ - 'sse' => [ - 'type' => 'string', - 'description' => 'The connection information for the Server-Sent Events (SSE) protocol.', - 'title' => '', - 'example' => 'https://openapi-mcp.cn-hangzhou.aliyuncs.com/accounts/xxxx/custom/xxx/id/xxxx/sse', - ], - 'mcp' => [ - 'type' => 'string', - 'description' => 'The connection information for the streamable HTTP protocol. This protocol is recommended.', - 'title' => '', - 'example' => 'https://openapi-mcp.cn-hangzhou.aliyuncs.com/accounts/xxxx/custom/xxx/id/xxxx/mcp', - ], - 'vpcSse' => [ - 'type' => 'string', - 'description' => 'The endpoint for the SSE protocol in a VPC.', - 'title' => '', - 'example' => 'https://openapi-mcp-cn.vpc-proxy.aliyuncs.com/accounts/xxxx/custom/xxx/id/xxxx/sse', - ], - 'vpcMcp' => [ - 'type' => 'string', - 'description' => 'The endpoint for the streamable HTTP protocol in a VPC.', - 'title' => '', - 'example' => 'https://openapi-mcp-cn.vpc-proxy.aliyuncs.com/accounts/xxxx/custom/xxx/id/xxxx/mcp', - ], + 'sse' => ['description' => 'The SSE protocol connection information.', 'type' => 'string', 'example' => 'https://openapi-mcp.cn-hangzhou.aliyuncs.com/accounts/xxxx/custom/xxx/id/xxxx/sse', 'title' => ''], + 'mcp' => ['description' => 'The streamable HTTP protocol connection information. This is the recommended option.', 'type' => 'string', 'example' => 'https://openapi-mcp.cn-hangzhou.aliyuncs.com/accounts/xxxx/custom/xxx/id/xxxx/mcp', 'title' => ''], + 'vpcSse' => ['description' => 'The SSE protocol endpoint within a VPC.', 'type' => 'string', 'example' => 'https://openapi-mcp-cn.vpc-proxy.aliyuncs.com/accounts/xxxx/custom/xxx/id/xxxx/sse', 'title' => ''], + 'vpcMcp' => ['description' => 'The streamable HTTP protocol endpoint within a VPC.', 'type' => 'string', 'example' => 'https://openapi-mcp-cn.vpc-proxy.aliyuncs.com/accounts/xxxx/custom/xxx/id/xxxx/mcp', 'title' => ''], ], - 'description' => 'The connection information for the API MCP service.', 'title' => '', 'example' => '', ], 'systemTools' => [ + 'description' => 'The list of system tools.', 'type' => 'array', - 'items' => [ - 'type' => 'string', - 'description' => 'The name of the system tool.', - 'title' => '', - 'example' => 'FetchRamActionDetails', - ], - 'description' => 'A list of system tools.', + 'items' => ['description' => 'The system tool name.', 'type' => 'string', 'example' => 'FetchRamActionDetails', 'title' => ''], 'title' => '', 'example' => '', ], - 'name' => [ - 'type' => 'string', - 'description' => 'The name of the MCP server. The name must be 3 to 64 characters in length. It can contain lowercase letters and digits, and cannot start with a digit. The name must be unique within the same Alibaba Cloud account.', - 'title' => '', - 'example' => 'mcp-demo', - ], - 'sourceType' => [ - 'type' => 'string', - 'description' => 'The type of the API MCP service.'."\n" - ."\n" - .'- custom: a custom service'."\n" - ."\n" - .'- system: a system service', - 'title' => '', - 'example' => 'system', - ], + 'name' => ['description' => 'The MCP server name. The name consists of 3 to 64 characters, including lowercase letters (a-z) and digits (0-9). The name cannot start with a digit and must be unique within the parent account.', 'type' => 'string', 'example' => 'mcp-demo', 'title' => ''], + 'sourceType' => ['description' => 'The type of the API MCP server.'."\n" + ."\n" + .'Valid values:'."\n" + .'- custom: custom server'."\n" + .'- system: system server.', 'type' => 'string', 'example' => 'system', 'title' => ''], 'systemMcpServerInfo' => [ + 'description' => 'The system MCP server information.', 'type' => 'object', 'properties' => [ - 'product' => [ - 'type' => 'string', - 'description' => 'The product code.'."\n" - ."\n" - .'- Call the GetRequestLog operation and obtain the product code from the response.'."\n" - ."\n" - .'- Find the product code from the URL of the OpenAPI Portal. For example, the URL for the OpenAPI Portal of Short Message Service is https\\://api.alibabacloud.com/product/Dysmsapi. The product code is Dysmsapi.', - 'title' => '', - 'example' => 'Ecs', - ], - 'name' => [ - 'type' => 'string', - 'description' => 'The name of the system MCP service.', - 'title' => '', - 'example' => 'mcp-system', - ], + 'product' => ['description' => 'The product code.'."\n" + ."\n" + .'- Call the GetRequestLog operation and obtain the product code from the response.'."\n" + ."\n" + .'- Find the product code from the OpenAPI portal URL. For example, <props="china">the OpenAPI portal URL for Short Message Service is https://api.aliyun.com/product/Dysmsapi. The product code obtained from this URL is Dysmsapi.</props>'."\n" + .'<props="intl">the OpenAPI portal URL for Short Message Service is https://api.alibabacloud.com/product/Dysmsapi. The product code obtained from this URL is Dysmsapi.</props>.', 'type' => 'string', 'example' => 'Ecs', 'title' => ''], + 'name' => ['description' => 'The service name of the system MCP server.', 'type' => 'string', 'example' => 'mcp-system', 'title' => ''], ], - 'description' => 'A list of system MCP services.', 'title' => '', 'example' => '', ], - 'oauthClientId' => [ - 'type' => 'string', - 'description' => 'The custom OAuth client ID that is used for a custom OAuth configuration.'."\n" - ."\n" - .'``Only web and native applications are supported. The OAuth scope must include `/acs/mcp-server`.``', - 'title' => '', - 'example' => '403*************370', - ], - 'instructions' => [ - 'type' => 'string', - 'description' => 'The MCP instruction. It prompts the large language model on how to use the MCP. The client must support the \\`Instructions\\` field of the standard MCP protocol.', - 'title' => '', - 'example' => 'test', - ], - 'enableAssumeRole' => [ - 'type' => 'boolean', - 'description' => 'Specifies whether to enable multi-account access.', - 'title' => '', - 'example' => 'true', - ], - 'assumeRoleName' => [ - 'type' => 'string', - 'description' => 'The name of the RAM role in the destination account that is assumed for cross-account operations when multi-account access is enabled.', - 'title' => '', - 'example' => 'test', - ], - 'assumeRoleExtraPolicy' => [ - 'type' => 'string', - 'description' => 'The extra policy for role assumption when multi-account access is enabled. If this policy is specified, the permissions for the role assumption are based on this policy and overwrite the permissions that are defined for the role.', - 'title' => '', - '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' => 'The custom OAuth Client ID used when a custom OAuth configuration is selected.'."\n" + ."\n" + .'`Only Web/Native applications are supported, and the OAuth scope must include /acs/mcp-server.`.', 'type' => 'string', 'example' => '403*************370', 'title' => ''], + 'instructions' => ['description' => 'The MCP instructions that guide the large language model on how to use this MCP server. The client must support the Instructions field of the MCP standard protocol.', 'type' => 'string', 'example' => 'test', 'title' => ''], + 'enableAssumeRole' => ['description' => 'Specifies whether to enable multi-account access.', 'type' => 'boolean', 'example' => 'true', 'title' => ''], + 'assumeRoleName' => ['description' => 'The name of the RAM role to assume in the target account when multi-account access is enabled for cross-account operations.', 'type' => 'string', 'example' => 'test', 'title' => ''], + 'assumeRoleExtraPolicy' => ['description' => 'The additional policy for role assumption when multi-account access is enabled. When this policy is specified, the permissions for role assumption are based on this value, overriding the permissions defined in the role itself.', '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" + .'}', 'title' => ''], 'terraformTools' => [ + 'description' => 'The list of Terraform tools.', 'type' => 'array', 'items' => [ + 'description' => 'Terraform Tool 。', 'type' => 'object', 'properties' => [ - 'code' => [ - 'type' => 'string', - 'description' => 'The code for the Terraform tool. For more information, see [HCL language overview](https://www.alibabacloud.com/help/en/terraform/terraform-configuration-and-hcl-language-overview).', - 'title' => '', - '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' => [ - 'type' => 'string', - 'description' => 'The name of the Terraform tool.', - 'title' => '', - 'example' => 'test', - ], - 'description' => [ - 'type' => 'string', - 'description' => 'The description of the Terraform tool.', - 'title' => '', - 'example' => 'Terraform Tool description', - ], - 'async' => [ - 'type' => 'boolean', - 'description' => 'Specifies whether to execute tasks asynchronously. If this parameter is set to true, the system immediately proceeds to the next task after a task is initiated, without waiting for each resource operation to complete.', - 'title' => '', - 'example' => 'true', - ], + 'code' => ['description' => 'The Terraform tool code. [HCL language overview](https://www.alibabacloud.com/help/en/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" + .'}', 'title' => ''], + 'name' => ['description' => 'The Terraform tool name.', 'type' => 'string', 'example' => 'test', 'title' => ''], + 'description' => ['description' => 'The description of the Terraform tool.', 'type' => 'string', 'example' => 'Terraform Tool description', 'title' => ''], + 'async' => ['description' => 'Specifies whether the execution is asynchronous. When enabled, the system proceeds to the next task immediately after initiating a task, without waiting for each resource operation to complete.', 'type' => 'boolean', 'example' => 'true', 'title' => ''], 'destroyPolicy' => [ - 'type' => 'string', - 'description' => 'The deletion policy. After a task is executed, the system applies one of the following cleanup policies to temporary resources based on the task execution status.'."\n" - ."\n" - .'- NEVER: Does not delete any created resources, regardless of whether the task succeeds or fails.'."\n" + 'description' => 'The deletion policy. After a task is completed, the system applies the following cleanup policies to temporary resources based on the task execution status.'."\n" ."\n" - .'- ALWAYS: Immediately destroys all related resources after execution, regardless of whether the task succeeds or fails.'."\n" - ."\n" - .'- ON\\_FAILURE: Deletes related resources only if the task fails. If the task succeeds, the resources are retained.', - 'enumValueTitles' => [ - 'ON_FAILURE' => 'ON\\_FAILURE', - 'NEVER' => 'NEVER', - 'ALWAYS' => 'ALWAYS', - ], - 'title' => '', + .'Valid values:'."\n" + .'- NEVER: Never delete. All created resources are retained regardless of whether the task succeeds or fails.'."\n" + .'- ALWAYS: Always delete. All related resources are destroyed immediately after execution, regardless of whether the task succeeds or fails.'."\n" + .'- ON_FAILURE: Delete on failure. Related resources are deleted only when the task fails. Resources are retained when the task succeeds.', + 'enumValueTitles' => ['ON_FAILURE' => 'ON_FAILURE', 'NEVER' => 'NEVER', 'ALWAYS' => 'ALWAYS'], + 'type' => 'string', 'example' => 'ON_FAILURE', + 'title' => '', ], ], - 'description' => 'A Terraform tool.', 'title' => '', 'example' => '', ], - 'description' => 'A list of Terraform tools.', 'title' => '', 'example' => '', ], 'publicAccess' => [ + 'description' => 'Specifies whether to enable public network access.', 'type' => 'string', - 'enum' => [ - 'on', - 'off', - 'follow', - ], - 'description' => 'Specifies whether to enable access over the Internet.', - 'title' => '', + 'enum' => ['on', 'off', 'follow'], 'example' => 'on', - ], - 'enableCustomVpcWhitelist' => [ - 'type' => 'boolean', - 'description' => 'Specifies whether to enable a custom VPC whitelist. If this parameter is disabled, the account-level configuration is used.', 'title' => '', - 'example' => 'true', ], + 'enableCustomVpcWhitelist' => ['description' => 'Specifies whether to enable a custom VPC whitelist. If not enabled, the account-level configuration is used.', 'type' => 'boolean', 'example' => 'true', 'title' => ''], 'vpcWhitelists' => [ + 'description' => 'The VPC whitelist that restricts access sources after public network access is disabled. If not specified or empty, no source restriction is applied.', 'type' => 'array', - 'items' => [ - 'type' => 'string', - 'description' => 'An entry in the VPC whitelist. The value is the ID of a source VPC.', - 'title' => '', - 'example' => 'vpc-j6cgd2if5lg**0xs6m5se', - ], - 'description' => 'The VPC whitelist that specifies the allowed source VPCs after Internet access is disabled. If this parameter is not set or is left empty, the source is not restricted.', + 'items' => ['description' => 'The VPC whitelist entry. The value is the source VPC ID.', 'type' => 'string', 'example' => 'vpc-j6cgd2if5lg**0xs6m5se', 'title' => ''], 'title' => '', 'example' => '', ], ], - 'description' => 'The information about the API MCP service.', 'title' => '', 'example' => '', ], - 'description' => 'The list of queried API MCP servers.', 'title' => '', 'example' => '', ], ], - 'description' => 'The request result.', 'title' => '', 'example' => '', ], @@ -4218,26 +2938,14 @@ ], 'errorCodes' => [ 400 => [ - [ - 'errorCode' => 'InvalidParam.NextToken', - 'errorMessage' => 'The specified NextToken is not valid.', - 'description' => 'The specified nextToken is invalid.', - ], - [ - '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' => '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.', - ], + ['errorCode' => 'InvalidParam.NextToken', 'errorMessage' => 'The specified NextToken is not valid.', 'description' => 'The specified nextToken is invalid.'], + ['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' => '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.'], ], 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' => 'ListApiMcpServers', + 'title' => 'Query API MCP server list', 'changeSet' => [], 'flowControl' => [ 'flowControlList' => [], @@ -4250,486 +2958,357 @@ '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 \\"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"}]', + ], + 'ListProducts' => [ + 'summary' => 'Lists all Alibaba Cloud products. You can filter the results by keyword.', + 'path' => '/listProducts', + 'methods' => ['get'], + 'schemes' => ['https'], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'consumes' => ['application/json'], + 'produces' => ['application/json'], + 'operationType' => 'read', + 'systemTags' => [ + 'operationType' => 'none', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeNodes' => ['FEATUREopenapiexplorer7MPML0'], + 'tenantRelevance' => 'publicInformation', + ], + 'parameters' => [ + [ + 'name' => 'filter', + 'in' => 'query', + 'schema' => ['description' => 'A keyword to filter products. If omitted, all Alibaba Cloud products are returned.', 'type' => 'string', 'required' => false, 'example' => 'ECS', 'title' => ''], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'type' => 'object', + 'properties' => [ + 'products' => [ + 'type' => 'array', + 'items' => [ + 'type' => 'object', + 'properties' => [ + 'code' => ['description' => 'The unique product code.', 'type' => 'string', 'example' => 'Ecs', 'title' => ''], + 'name' => ['description' => 'The name of the cloud product.', 'type' => 'string', 'example' => '云服务器 ECS', 'title' => ''], + 'description' => ['description' => 'The description of the cloud product.', 'type' => 'string', 'example' => '场景化封装数据智能分析管理。为云上的文档、图片数据,提供一站式数据处理、分析、检索等管控体验。针对不同的业务场景,封装整合完整的处理能力,让数据快速流转。', 'title' => ''], + 'shortName' => ['description' => 'The short name of the cloud product.', 'type' => 'string', 'example' => 'ECS', 'title' => ''], + 'group' => ['description' => 'The product group.', 'type' => 'string', 'example' => '弹性计算', 'title' => ''], + 'style' => ['description' => 'The API style.', 'type' => 'string', 'example' => 'RPC', 'title' => ''], + 'versions' => [ + 'type' => 'array', + 'items' => ['description' => 'An API version.', 'type' => 'string', 'example' => '2022-02-20', 'title' => ''], + 'description' => 'The available API versions.', + 'title' => '', + 'example' => '', + ], + 'recommendVersions' => [ + 'type' => 'array', + 'items' => ['type' => 'string', 'example' => '2014-05-26', 'description' => '', 'title' => ''], + 'description' => '', + 'title' => '', + 'example' => '', + ], + 'defaultVersion' => ['description' => 'The default API version.', 'type' => 'string', 'example' => '2014-05-26', 'title' => ''], + 'categoryName' => ['description' => 'The name of the level-1 product category.', 'type' => 'string', 'example' => 'ECS', 'title' => ''], + 'category2Name' => ['description' => 'The name of the level-2 product category.', 'type' => 'string', 'example' => 'Computing', 'title' => ''], + ], + 'description' => 'Details of a cloud product.', + 'title' => '', + 'example' => '', + ], + 'description' => 'The product list.', + 'title' => '', + 'example' => '', ], + 'requestId' => ['description' => 'The request ID.', 'type' => 'string', 'example' => '9BFC4AC1-6BE4-5405-BDEC-CA288D404812', 'title' => ''], ], + 'description' => 'The response body.', + 'title' => '', + 'example' => '', ], ], ], - '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"}]', + 'errorCodes' => [], + 'title' => 'ListProducts', + 'description' => 'This API retrieves public information and does not require authorization.', + '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"}]', + 'translator' => 'machine', ], 'UpdateApiMcpServer' => [ - 'summary' => 'Updates an API MCP service.', + 'summary' => 'Modifies an API MCP service.', 'path' => '/apimcpserver', - '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'], ], 'parameters' => [ [ 'name' => 'clientToken', 'in' => 'query', - 'schema' => [ - 'type' => 'string', - 'description' => 'A client token that you can use to ensure the idempotence of the request. Generate a unique value from your client. The token can contain only ASCII characters and must be no more than 64 characters long. We recommend that you use a UUID. The token is valid for three days.', - 'required' => false, - 'title' => '', - 'example' => '123e4567-e89b-12d3-a456-426655440000', - ], + 'schema' => ['description' => 'Ensures the idempotency of the request. Generate a unique parameter value from your client to ensure that the value is unique across different requests. ClientToken supports only ASCII characters and cannot exceed 64 characters in length. We recommend that you use a UUID. The token expires after 3 days.', 'type' => 'string', 'required' => false, 'example' => '123e4567-e89b-12d3-a456-426655440000', 'title' => ''], ], [ 'name' => 'id', 'in' => 'query', - 'schema' => [ - 'type' => 'string', - 'required' => true, - 'description' => 'The ID of the API MCP service.', - 'title' => '', - 'example' => 'v6ZZ7ftCzEILW***', - ], + 'schema' => ['description' => 'The ID of the API MCP service.', 'type' => 'string', 'required' => true, 'example' => 'v6ZZ7ftCzEILW***', 'title' => ''], ], [ 'name' => 'body', 'in' => 'body', 'style' => 'json', 'schema' => [ + 'description' => 'The request body.', 'type' => 'object', 'properties' => [ - 'description' => [ - 'type' => 'string', - 'description' => 'The description of the API MCP server.', - 'required' => false, - 'title' => '', - 'example' => '这是一个API MCP服务器。', - ], + 'description' => ['description' => 'The description of the API MCP server.', 'type' => 'string', 'required' => false, 'example' => '这是一个API MCP服务器。', 'title' => ''], 'apis' => [ + 'description' => 'The list of APIs to modify.', 'type' => 'array', 'items' => [ + 'description' => 'The API information.', 'type' => 'object', 'properties' => [ - 'product' => [ - 'type' => 'string', - 'required' => false, - 'description' => 'The product code.'."\n" - ."\n" - .'- Call the GetRequestLog operation to obtain the product code from the response.'."\n" - ."\n" - .'- Find the product code from the URL of the product in OpenAPI Explorer. For example, the URL for Short Message Service is https\\://api.alibabacloud.com/product/Dysmsapi. The product code is \\`Dysmsapi\\`.', - 'title' => '', - 'example' => 'Ecs', - ], - 'apiVersion' => [ - 'type' => 'string', - 'required' => false, - 'description' => 'The POP version of the API that is exposed to the MCP server.', - 'title' => '', - 'example' => '2014-05-26', - ], + 'product' => ['description' => 'The product code.'."\n" + ."\n" + .'- Call the GetRequestLog operation to obtain the product code from the response.'."\n" + ."\n" + .'- Find the product code from the URL of the OpenAPI portal. For example, <props="china">the OpenAPI portal URL for Short Message Service is https://api.aliyun.com/product/Dysmsapi. Based on this URL, the product code for Short Message Service is Dysmsapi.</props>'."\n" + .'<props="intl">the OpenAPI portal URL for Short Message Service is https://api.alibabacloud.com/product/Dysmsapi. Based on this URL, the product code for Short Message Service is Dysmsapi.</props>.', 'type' => 'string', 'required' => false, 'example' => 'Ecs', 'title' => ''], + 'apiVersion' => ['description' => 'The POP version to which the API exposed to the MCP SERVER belongs.', 'type' => 'string', 'required' => false, 'example' => '2014-05-26', 'title' => ''], 'selectors' => [ + 'description' => 'The list of API name matching rules.', 'type' => 'array', - 'items' => [ - 'type' => 'string', - 'required' => false, - 'description' => 'An API name matching rule.', - 'title' => '', - 'example' => '*Bucket', - ], + 'items' => ['description' => 'The API name matching rule.', 'type' => 'string', 'required' => false, 'example' => '*Bucket', 'title' => ''], 'required' => false, - 'description' => 'A list of API name matching rules.', 'title' => '', 'example' => '', ], ], 'required' => false, - 'description' => 'The API information.', 'title' => '', 'example' => '', ], 'required' => false, - 'description' => 'The list of APIs to modify.', 'title' => '', 'example' => '', ], 'additionalApiDescriptions' => [ + 'description' => 'The list of supplementary API descriptions.', 'type' => 'array', 'items' => [ + 'description' => 'The supplementary API description.', 'type' => 'object', 'properties' => [ - 'product' => [ - 'type' => 'string', - 'description' => 'The product code.'."\n" - ."\n" - .'- Call the GetRequestLog operation to obtain the product code from the response.'."\n" - ."\n" - .'- Find the product code from the URL of the product in OpenAPI Explorer. For example, the URL for Short Message Service is https\\://api.alibabacloud.com/product/Dysmsapi. The product code is \\`Dysmsapi\\`.', - 'required' => false, - 'title' => '', - 'example' => 'Ecs', - ], - 'apiVersion' => [ - 'type' => 'string', - 'description' => 'The POP version of the API that is exposed to the MCP server.', - 'required' => false, - 'title' => '', - 'example' => '2014-05-26', - ], - 'apiName' => [ - 'type' => 'string', - 'description' => 'The API name.', - 'required' => false, - 'title' => '', - 'example' => 'DescribeRegions', - ], - 'apiOverrideJson' => [ - 'type' => 'string', - 'description' => 'The API metadata in JSON format. For more information about the format, see https\\://api.aliyun.com/meta/v1/products/Ecs/versions/2014-05-26/apis/DescribeInstances/api.json. You can overwrite the summary and parameters fields.', - 'required' => false, - 'title' => '', - 'example' => '{'."\n" - .' "summary": "本接口支持根据不同请求条件查询实例列表,并关联查询实例的详细信息。"'."\n" - .'}'."\n", - ], - 'executeCliCommand' => [ - 'type' => 'boolean', - 'description' => 'Specifies whether to return the command-line interface (CLI) command for execution. In this mode, the API call is not actually executed. Instead, the corresponding CLI command is returned. This is suitable for long-running tasks that need to be executed using Alibaba Cloud CLI.', - 'required' => false, - 'title' => '', - 'example' => 'true', - ], - 'enableOutputSchema' => [ - 'type' => 'boolean', - 'description' => 'Specifies whether to return the schema of the response parameters. Returning the response parameter schema increases the overall size of the API MCP server. The default value is null, which means the response parameter schema is not returned.', - 'required' => false, - 'title' => '', - 'example' => 'true', - ], + 'product' => ['description' => 'The product code.'."\n" + ."\n" + .'- Call the GetRequestLog operation to obtain the product code from the response.'."\n" + ."\n" + .'- Find the product code from the URL of the OpenAPI portal. For example, <props="china">the OpenAPI portal URL for Short Message Service is https://api.aliyun.com/product/Dysmsapi. Based on this URL, the product code for Short Message Service is Dysmsapi.</props>'."\n" + .'<props="intl">the OpenAPI portal URL for Short Message Service is https://api.alibabacloud.com/product/Dysmsapi. Based on this URL, the product code for Short Message Service is Dysmsapi.</props>.', 'type' => 'string', 'required' => false, 'example' => 'Ecs', 'title' => ''], + 'apiVersion' => ['description' => 'The POP version to which the API exposed to the MCP SERVER belongs.', 'type' => 'string', 'required' => false, 'example' => '2014-05-26', 'title' => ''], + 'apiName' => ['description' => 'The API name.', 'type' => 'string', 'required' => false, 'example' => 'DescribeRegions', 'title' => ''], + 'apiOverrideJson' => ['description' => 'The API metadata in JSON format. Refer to the format at https://api.aliyun.com/meta/v1/products/Ecs/versions/2014-05-26/apis/DescribeInstances/api.json. You can override the summary and parameters fields.', 'type' => 'string', 'required' => false, 'example' => '{'."\n" + .' "summary": "本接口支持根据不同请求条件查询实例列表,并关联查询实例的详细信息。"'."\n" + .'}'."\n", 'title' => ''], + 'executeCliCommand' => ['description' => 'Specifies whether to return the CLI execution command. In this pattern, the API is not actually invoked. Instead, the corresponding CLI command is returned. This is suitable for long-running nodes that require Cloud Assistant CLI to execute.', 'type' => 'boolean', 'required' => false, 'example' => 'true', 'title' => ''], + 'enableOutputSchema' => ['description' => 'Specifies whether to return the schema of response elements. Returning the response element schema increases the overall size of the API MCP SERVER. Default value: null, which indicates that the response element schema is not returned.', 'type' => 'boolean', 'required' => false, 'example' => 'true', 'title' => ''], + 'toolAlias' => ['description' => 'The tool alias. Set this to a custom name, such as list_ecs_regions. The alias can contain letters, digits, hyphens (-), and underscores (_). Aliases must be unique.', 'type' => 'string', 'required' => false, 'example' => 'list_ecs_regions', 'title' => ''], 'constParameters' => [ + 'description' => 'The list of constant input parameters. These parameters are not included in the API parameter output during parsing.', 'type' => 'array', 'items' => [ + 'description' => 'The constant input parameter.', 'type' => 'object', 'properties' => [ - 'key' => [ - 'type' => 'string', - 'description' => 'The parameter name. Only first-level parameter names are supported. For ROA-style APIs, you can set parameters such as body.xx. You cannot set values for parameters beyond the top level.', - 'required' => false, - 'title' => '', - 'example' => 'InstanceId', - ], - 'value' => [ - 'type' => 'any', - 'description' => 'The value of the parameter.', - 'required' => false, - 'title' => '', - 'example' => '1234', - ], + 'key' => ['description' => 'The parameter name. Only first-level parameter names are supported. For ROA-style APIs, you can set the parameter to body.xx. You cannot set values beyond top-level parameters.', 'type' => 'string', 'required' => false, 'example' => 'InstanceId', 'title' => ''], + 'value' => ['description' => 'The parameter value.', 'type' => 'any', 'required' => false, 'example' => '1234', 'title' => ''], ], - 'description' => 'A constant input parameter.', 'required' => false, 'title' => '', 'example' => '', ], - 'description' => 'A list of constant input parameters. These parameters are not included in the output during API parameter parsing.', 'required' => false, 'title' => '', 'example' => '', ], ], - 'description' => 'A supplementary API description.', 'required' => false, 'title' => '', 'example' => '', ], - 'description' => 'A list of supplementary API descriptions.', 'required' => false, 'title' => '', 'example' => '', ], 'prompts' => [ + 'description' => 'The list of prompt configurations.', 'type' => 'array', 'items' => [ + 'description' => 'The prompt configuration.', 'type' => 'object', 'properties' => [ - 'name' => [ - 'type' => 'string', - 'description' => 'The prompt name.', - 'required' => false, - 'title' => '', - 'example' => 'test', - ], - 'description' => [ - 'type' => 'string', - 'description' => 'The description.', - 'required' => false, - 'title' => '', - 'example' => 'prompt description', - ], - 'content' => [ - 'type' => 'string', - 'description' => 'The content of the prompt. Variables are specified in the {{xxx}} format. The xxx variable must be defined in the arguments parameter.', - 'required' => false, - 'title' => '', - 'example' => 'prompt正文,{{name}}', - ], + 'name' => ['description' => 'The prompt name.', 'type' => 'string', 'required' => false, 'example' => 'test', 'title' => ''], + 'description' => ['description' => 'The description.', 'type' => 'string', 'required' => false, 'example' => 'prompt description', 'title' => ''], + 'content' => ['description' => 'The content of the prompt. Variables are specified in the {{xxx}} format, where xxx is a variable that must be defined in the arguments parameter.', 'type' => 'string', 'required' => false, 'example' => 'prompt正文,{{name}}', 'title' => ''], 'arguments' => [ + 'description' => 'The list of parameters supported by the prompt.', 'type' => 'array', 'items' => [ + 'description' => 'The parameter supported by the prompt.', 'type' => 'object', 'properties' => [ - 'name' => [ - 'type' => 'string', - 'description' => 'The parameter name.', - 'required' => false, - 'title' => '', - 'example' => 'test', - ], - 'description' => [ - 'type' => 'string', - 'description' => 'The description of the parameter.', - 'required' => false, - 'title' => '', - 'example' => 'argument description', - ], - 'required' => [ - 'type' => 'boolean', - 'description' => 'Specifies whether the parameter is required.', - 'required' => false, - 'title' => '', - 'example' => 'true', - ], + 'name' => ['description' => 'The parameter name.', 'type' => 'string', 'required' => false, 'example' => 'test', 'title' => ''], + 'description' => ['description' => 'The parameter description.', 'type' => 'string', 'required' => false, 'example' => 'argument description', 'title' => ''], + 'required' => ['description' => 'Specifies whether the parameter is required.', 'type' => 'boolean', 'required' => false, 'example' => 'true', 'title' => ''], ], - 'description' => 'A parameter that the prompt supports.', 'required' => false, 'title' => '', 'example' => '', ], - 'description' => 'A list of parameters that the prompt supports.', 'required' => false, 'title' => '', 'example' => '', ], ], - 'description' => 'A prompt configuration.', 'required' => false, 'title' => '', 'example' => '', ], - 'description' => 'A list of prompt configurations.', 'required' => false, 'title' => '', 'example' => '', ], 'language' => [ + 'description' => 'The documentation language of the API MCP service. You can select Chinese or English API documentation. Different languages may produce different AI response results.', 'type' => 'string', - 'enum' => [ - 'EN_US', - 'ZH_CN', - ], - 'description' => 'The language of the API documentation for the API MCP service. You can select Chinese or English. Different language prompts may affect the AI\'s response.', + 'enum' => ['EN_US', 'ZH_CN'], 'required' => false, - 'title' => '', 'example' => 'ZH_CN', + 'title' => '', ], 'systemTools' => [ + 'description' => 'The list of system tools.', 'type' => 'array', - 'items' => [ - 'type' => 'string', - 'description' => 'The name of the system tool.', - 'required' => false, - 'title' => '', - 'example' => 'FetchRamActionDetails', - ], - 'description' => 'A list of system tools.', + 'items' => ['description' => 'The system tool name.', 'type' => 'string', 'required' => false, 'example' => 'FetchRamActionDetails', 'title' => ''], 'required' => false, 'title' => '', 'example' => '', ], - 'oauthClientId' => [ - 'type' => 'string', - 'description' => 'The custom OAuth client ID to use when you select a custom OAuth configuration.'."\n" - ."\n" - .'`Only web and native applications are supported. The OAuth scope must include /acs/mcp-server.`', - 'required' => false, - 'title' => '', - 'example' => '403*************370', - ], - 'instructions' => [ - 'type' => 'string', - 'description' => 'The MCP instruction. It prompts the large language model on how to use this MCP. The client must support the Instructions field of the standard MCP protocol.', - 'required' => false, - 'title' => '', - 'example' => 'test', - ], - 'enableAssumeRole' => [ - 'type' => 'boolean', - 'description' => 'Specifies whether to enable multi-account access.', - 'required' => false, - 'title' => '', - 'example' => 'true', - ], - 'assumeRoleName' => [ - 'type' => 'string', - 'description' => 'The name of the RAM role in the destination account that is assumed for cross-account operations when multi-account access is enabled.', - 'required' => false, - 'title' => '', - 'example' => 'test', - ], - 'assumeRoleExtraPolicy' => [ - 'type' => 'string', - 'description' => 'An additional policy for role assumption when multi-account access is enabled. If this policy exists, the permissions for the role assumption are based on this policy, which overwrites the permissions defined for the role itself.', - 'required' => false, - 'title' => '', - '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' => 'The custom OAuth Client ID used when a custom OAuth configuration is selected.'."\n" + ."\n" + .'`Only Web/Native applications are supported, and the OAuth scope must include /acs/mcp-server.`.', 'type' => 'string', 'required' => false, 'example' => '403*************370', 'title' => ''], + 'instructions' => ['description' => 'The MCP instructions that guide the large language model on how to use this MCP. The client must support the Instructions field in the MCP standard protocol.', 'type' => 'string', 'required' => false, 'example' => 'test', 'title' => ''], + 'enableAssumeRole' => ['description' => 'Specifies whether to enable multi-account access.', 'type' => 'boolean', 'required' => false, 'example' => 'true', 'title' => ''], + 'assumeRoleName' => ['description' => 'The name of the RAM role to assume in the target account when performing cross-account operations with multi-account access enabled.', 'type' => 'string', 'required' => false, 'example' => 'test', 'title' => ''], + 'assumeRoleExtraPolicy' => ['description' => 'The additional policy for role assumption when multi-account access is enabled. If this policy is specified, the permissions for role assumption are based on this value, overriding the permissions defined in the role itself.', '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" + .'}', 'title' => ''], 'publicAccess' => [ - 'type' => 'string', - 'enum' => [ - 'on', - 'off', - 'follow', - ], 'description' => 'Specifies whether to enable public network access.', + 'type' => 'string', + 'enum' => ['on', 'off', 'follow'], 'required' => false, - 'title' => '', 'example' => 'on', - ], - 'enableCustomVpcWhitelist' => [ - 'type' => 'boolean', - 'description' => 'Specifies whether to enable a custom VPC whitelist. If this is disabled, the account-level configuration is used.', - 'required' => false, 'title' => '', - 'example' => 'true', ], + 'enableCustomVpcWhitelist' => ['description' => 'Specifies whether to enable a custom VPC whitelist. If not enabled, the account-level configuration is used.', 'type' => 'boolean', 'required' => false, 'example' => 'true', 'title' => ''], 'terraformTools' => [ + 'description' => 'The list of Terraform tools.', 'type' => 'array', 'items' => [ + 'description' => 'Terraform Tool。', 'type' => 'object', 'properties' => [ - 'code' => [ - 'type' => 'string', - 'description' => 'The Terraform tool code. For more information, see [HCL language overview](https://www.alibabacloud.com/help/en/terraform/latest/hcl-language-overview).', - 'required' => false, - 'title' => '', - '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' => [ - 'type' => 'string', - 'description' => 'The name of the Terraform tool.', - 'required' => false, - 'title' => '', - 'example' => 'test', - ], - 'description' => [ - 'type' => 'string', - 'description' => 'The description of the Terraform tool.', - 'required' => false, - 'title' => '', - 'example' => 'Terraform Tool description', - ], - 'async' => [ - 'type' => 'boolean', - 'description' => 'Specifies whether to execute the task asynchronously. If this is enabled, the system immediately proceeds to the next task after it initiates a task execution, without waiting for each resource operation to complete.', - 'required' => false, - 'title' => '', - 'example' => 'true', - ], + 'code' => ['description' => 'The Terraform tool code. [HCL language overview](https://www.alibabacloud.com/help/en/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" + .'}', 'title' => ''], + 'name' => ['description' => 'The Terraform tool name.', 'type' => 'string', 'required' => false, 'example' => 'test', 'title' => ''], + 'description' => ['description' => 'The Terraform tool description.', 'type' => 'string', 'required' => false, 'example' => 'Terraform Tool description', 'title' => ''], + 'async' => ['description' => 'Specifies whether to execute asynchronously. When enabled, the system proceeds to the next task immediately after initiating a task, without waiting for each resource operation to complete.', 'type' => 'boolean', 'required' => false, 'example' => 'true', 'title' => ''], 'destroyPolicy' => [ - 'type' => 'string', - 'enum' => [ - 'NEVER', - 'ALWAYS', - 'ON_FAILURE', - ], - 'description' => 'The deletion policy. After a task is executed, the system applies one of the following cleanup policies to the temporary resources based on the task execution status.'."\n" - ."\n" - .'- NEVER: Does not delete any created resources, regardless of whether the task succeeds or fails.'."\n" - ."\n" - .'- ALWAYS: Immediately destroys all related resources after execution, regardless of whether the task succeeds or fails.'."\n" + 'description' => 'The deletion policy. After a task is completed, the system applies the following cleanup policies to temporary resources based on the task execution status.'."\n" ."\n" - .'- ON\\_FAILURE: Deletes related resources only if the task fails. If the task succeeds, the resources are retained.', + .'- NEVER: Resources are not deleted regardless of whether the task succeeds or fails.'."\n" + .'- ALWAYS: All related resources are destroyed immediately after the task is completed, regardless of whether the task succeeds or fails.'."\n" + .'- ON_FAILURE: Related resources are deleted only when the task fails. If the task succeeds, the resources are retained.', + 'type' => 'string', + 'enum' => ['NEVER', 'ALWAYS', 'ON_FAILURE'], 'required' => false, - 'title' => '', 'example' => 'ON_FAILURE', + 'title' => '', ], ], - 'description' => 'A Terraform tool.', 'required' => false, 'title' => '', 'example' => '', ], - 'description' => 'A list of Terraform tools.', 'required' => false, 'title' => '', 'example' => '', ], 'vpcWhitelists' => [ + 'description' => 'The VPC whitelist that restricts the source when public network access is disabled. If this parameter is not set or is empty, no source restriction is applied.', 'type' => 'array', - 'items' => [ - 'type' => 'string', - 'description' => 'An allowed source VPC. The value is the source VPC ID.', - 'required' => false, - 'title' => '', - 'example' => 'vpc-j6cgd2if5lg**0xs6m5se', - ], - 'description' => 'The VPC whitelist that specifies the allowed source VPCs after public network access is disabled. If you do not set this parameter or leave it empty, access from all sources is allowed.', + 'items' => ['description' => 'The VPC whitelist entry. The value is the source VPC ID.', 'type' => 'string', 'required' => false, 'example' => 'vpc-j6cgd2if5lg**0xs6m5se', 'title' => ''], 'required' => false, 'title' => '', 'example' => '', ], ], - 'description' => 'The request body.', 'required' => false, 'title' => '', 'example' => '', @@ -4739,17 +3318,12 @@ 'responses' => [ 200 => [ 'schema' => [ + 'description' => 'The request result.', 'type' => 'object', 'properties' => [ - 'requestId' => [ - 'type' => 'string', - 'description' => 'The request ID.', - 'title' => '', - 'example' => ' '."\n" - .'9BFC4AC1-6BE4-5405-BDEC-CA288D404812'."\n", - ], + 'requestId' => ['description' => 'The request ID.', 'type' => 'string', 'example' => ' '."\n" + .'9BFC4AC1-6BE4-5405-BDEC-CA288D404812'."\n", 'title' => ''], ], - 'description' => 'The request result.', 'title' => '', 'example' => '', ], @@ -4757,115 +3331,38 @@ ], 'errorCodes' => [ 400 => [ - [ - 'errorCode' => 'Missing.Id', - 'errorMessage' => 'Id is mandatory for this action.', - 'description' => '', - ], - [ - 'errorCode' => 'Missing.Apis.PopCode', - 'errorMessage' => 'Apis.PopCode is mandatory for this action.', - 'description' => 'The required parameter popCode is missing in the Apis parameter.', - ], - [ - 'errorCode' => 'Missing.Apis.PopVersion', - 'errorMessage' => 'Apis.PopVersion is mandatory for this action.', - 'description' => 'Apis.PopVersion is mandatory for this action.', - ], - [ - 'errorCode' => 'InvalidParam.Apis.PopVersion', - 'errorMessage' => 'Unsupported product version: %s of product code: %s.', - 'description' => 'Product% s does not support xxx version.', - ], - [ - 'errorCode' => 'InvalidParam.Apis.PopCode', - 'errorMessage' => 'Unsupported product code: %s.', - 'description' => 'The specified product name does not exist', - ], - [ - 'errorCode' => 'Missing.Apis.Selectors', - 'errorMessage' => 'Apis.Selectors is mandatory for this action.', - 'description' => 'Apis.Selectors is a required parameter', - ], - [ - 'errorCode' => 'InvalidParam.Language', - 'errorMessage' => 'Unsupported language: %s.', - 'description' => 'Specify multilingual wu\'xi', - ], - [ - 'errorCode' => 'InvalidParam.AdditionalApiDescription.PopVersion', - 'errorMessage' => 'Unsupported product version: %s of product code: %s.', - 'description' => 'Product% s does not support version% s.', - ], - [ - 'errorCode' => 'InvalidParam.AdditionalApiDescription.PopCode', - 'errorMessage' => 'Unsupported product code: %s.', - 'description' => 'The specified product does not exist', - ], - [ - 'errorCode' => 'InvalidParam.SystemTools', - 'errorMessage' => 'System tool %s is not supported.', - 'description' => '', - ], - [ - 'errorCode' => 'Missing.TerraformTools.Description', - 'errorMessage' => 'TerraformTools.Description is mandatory for this action.', - 'description' => 'Missing required parameter TerraformTools.Description', - ], - [ - 'errorCode' => 'Missing.TerraformTools.Code', - 'errorMessage' => 'TerraformTools.Code is mandatory for this action.', - 'description' => 'The required parameter TerraformTools.Code is missing.', - ], - [ - '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' => 'The request used the same client token as the previous request, but with different parameters. Do not reuse the same token in requests with different parameters. Each request must use a unique token.', - ], - [ - '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' => 'The Terraform tool name must be 3 to 63 characters in length and can contain only lowercase letters, numbers, underscores, and hyphens.', - ], - [ - 'errorCode' => 'Missing.TerraformTools.Name', - 'errorMessage' => 'TerraformTools.Name is mandatory for this action.', - 'description' => '', - ], - [ - 'errorCode' => 'InvalidParam.TerraformTools.Code', - 'errorMessage' => 'The Terraform tool code is not valid: %s. Please check the syntax and try again.', - 'description' => 'The specified TerraformTools.Code parameter is invalid.', - ], - [ - 'errorCode' => 'InvalidParam.ClientToken', - 'errorMessage' => 'The specified client token is not valid.', - 'description' => 'The idempotent parameter is incorrect, please check.', - ], + ['errorCode' => 'Missing.Id', 'errorMessage' => 'Id is mandatory for this action.', 'description' => ''], + ['errorCode' => 'Missing.Apis.PopCode', 'errorMessage' => 'Apis.PopCode is mandatory for this action.', 'description' => 'The required parameter popCode is missing in the Apis parameter.'], + ['errorCode' => 'Missing.Apis.PopVersion', 'errorMessage' => 'Apis.PopVersion is mandatory for this action.', 'description' => 'Apis.PopVersion is mandatory for this action.'], + ['errorCode' => 'InvalidParam.Apis.PopVersion', 'errorMessage' => 'Unsupported product version: %s of product code: %s.', 'description' => 'Product% s does not support xxx version.'], + ['errorCode' => 'InvalidParam.Apis.PopCode', 'errorMessage' => 'Unsupported product code: %s.', 'description' => 'The specified product name does not exist'], + ['errorCode' => 'Missing.Apis.Selectors', 'errorMessage' => 'Apis.Selectors is mandatory for this action.', 'description' => 'Apis.Selectors is a required parameter'], + ['errorCode' => 'InvalidParam.Language', 'errorMessage' => 'Unsupported language: %s.', 'description' => 'Specify multilingual wu\'xi'], + ['errorCode' => 'InvalidParam.AdditionalApiDescription.PopVersion', 'errorMessage' => 'Unsupported product version: %s of product code: %s.', 'description' => 'Product% s does not support version% s.'], + ['errorCode' => 'InvalidParam.AdditionalApiDescription.PopCode', 'errorMessage' => 'Unsupported product code: %s.', 'description' => 'The specified product does not exist'], + ['errorCode' => 'InvalidParam.SystemTools', 'errorMessage' => 'System tool %s is not supported.', 'description' => ''], + ['errorCode' => 'Missing.TerraformTools.Description', 'errorMessage' => 'TerraformTools.Description is mandatory for this action.', 'description' => 'Missing required parameter TerraformTools.Description'], + ['errorCode' => 'Missing.TerraformTools.Code', 'errorMessage' => 'TerraformTools.Code is mandatory for this action.', 'description' => 'The required parameter TerraformTools.Code is missing.'], + ['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' => 'The request used the same client token as the previous request, but with different parameters. Do not reuse the same token in requests with different parameters. Each request must use a unique token.'], + ['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' => 'The Terraform tool name must be 3 to 63 characters in length and can contain only lowercase letters, numbers, underscores, and hyphens.'], + ['errorCode' => 'Missing.TerraformTools.Name', 'errorMessage' => 'TerraformTools.Name is mandatory for this action.', 'description' => ''], + ['errorCode' => 'InvalidParam.TerraformTools.Code', 'errorMessage' => 'The Terraform tool code is not valid: %s. Please check the syntax and try again.', 'description' => 'The specified TerraformTools.Code parameter is invalid.'], + ['errorCode' => 'InvalidParam.ClientToken', 'errorMessage' => 'The specified client token is not valid.', 'description' => 'The idempotent parameter is incorrect, please check.'], + ['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' => 'System-level services do not allow update or delete operations.', - ], + ['errorCode' => 'OperationNotAllowed.SystemServer', 'errorMessage' => 'System type servers are not allowed to be updated or deleted.', 'description' => 'System-level services do not allow update or delete operations.'], ], [ - [ - 'errorCode' => 'NotFound.ApiMcpServer', - 'errorMessage' => 'Specified MCP server not found.', - 'description' => 'The MCP service with the specified ID does not exist.', - ], + ['errorCode' => 'NotFound.ApiMcpServer', 'errorMessage' => 'Specified MCP server not found.', 'description' => 'The MCP service with the specified ID does not exist.'], ], 409 => [ - [ - 'errorCode' => 'Exists.TerraformTools.Name', - 'errorMessage' => 'The Terraform tool name already exists.', - 'description' => 'The specified Terraform tool name already exists.', - ], + ['errorCode' => 'Exists.TerraformTools.Name', 'errorMessage' => 'The Terraform tool name already exists.', 'description' => 'The specified Terraform tool name already exists.'], + ['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' => 'UpdateApiMcpServer', + 'title' => 'Modify an API MCP service', 'changeSet' => [], 'flowControl' => [ 'flowControlList' => [], @@ -4878,45 +3375,131 @@ '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' => 'Updates an ApiMcpServerCore resource.', + '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' => 'A client-generated token to ensure request idempotence. When you retry a request, use the same token to prevent the system from performing the operation twice.', 'type' => 'string', 'required' => false, 'example' => '123e4567-e89b-12d3-a456-426655440000', 'title' => ''], + ], + [ + 'name' => 'id', + 'in' => 'query', + 'schema' => ['description' => 'The ID of the ApiMcpServerCore resource.', 'type' => 'string', 'required' => true, 'example' => 'v6ZZ7ftCzEILW***', 'title' => ''], + ], + [ + 'name' => 'body', + 'in' => 'body', + 'style' => 'json', + 'schema' => [ + 'type' => 'object', + 'properties' => [ + 'oauthClientId' => ['description' => 'The client ID for a custom OAuth configuration.'."\n" + ."\n" + .'Only web and native applications are supported. The OAuth scope must include `/acs/mcp-server`.', 'type' => 'string', 'required' => false, 'example' => '403*************370', 'title' => ''], + 'vpcWhitelists' => [ + 'type' => 'array', + 'items' => ['description' => 'The ID of a source VPC.', 'type' => 'string', 'required' => false, 'example' => 'vpc-j6cgd2if5lg**0xs6m5se', 'title' => ''], + 'description' => 'The source VPC IDs to add to the VPC whitelist.', + 'required' => false, + 'title' => '', + 'example' => '', ], + 'enableAssumeRole' => ['description' => 'Specifies whether to enable multi-account access.', 'type' => 'boolean', 'required' => false, 'example' => 'true', 'title' => ''], + 'assumeRoleOverridePolicy' => ['description' => 'The AssumeRole override policy.', 'type' => 'string', 'required' => false, 'example' => '{\\"Version\\":\\"1\\",\\"Statement\\":[{\\"Effect\\":\\"Allow\\",\\"Action\\":[\\"ecs:Describe*\\"],\\"Resource\\":\\"*\\"}]}', 'title' => ''], + 'assumeRoleName' => ['description' => 'The name of the RAM role to assume in the target account when multi-account access is enabled.', 'type' => 'string', 'required' => false, 'example' => 'test', 'title' => ''], + 'publicAccessType' => [ + 'description' => 'Specifies whether to enable public access, disable it, or inherit the account-level configuration. Valid values: `public`, `private`, and `inherit`.', + 'enumValueTitles' => ['private' => 'Disables public access.', 'public' => 'Enables public access.', 'inherit' => 'Uses the account-level configuration.'], + 'type' => 'string', + 'required' => false, + 'example' => 'public', + 'title' => '', + ], + 'enableCustomVpcWhitelist' => ['description' => 'Specifies whether to enable a custom VPC whitelist. If disabled, the account-level configuration is used.', 'type' => 'boolean', 'required' => false, 'example' => 'true', 'title' => ''], ], + 'description' => 'The request body.', + 'required' => false, + 'title' => '', + 'example' => '', ], ], ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'type' => 'object', + 'properties' => [ + 'requestId' => ['description' => 'The request ID.', 'type' => 'string', 'example' => ' '."\n" + .'9BFC4AC1-6BE4-5405-BDEC-CA288D404812'."\n", 'title' => ''], + ], + 'description' => '', + 'title' => '', + 'example' => '', + ], + ], + ], + 'errorCodes' => [ + 400 => [ + ['errorCode' => 'Missing.Id', 'errorMessage' => 'Id is mandatory for this action.', 'description' => ''], + ['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' => 'The request used the same client token as the previous request, but with different parameters. Do not reuse the same token in requests with different parameters. Each request must use a unique token.'], + ['errorCode' => 'InvalidParam.ClientToken', 'errorMessage' => 'The specified client token is not valid.', 'description' => 'The idempotent parameter is incorrect, please check.'], + ], + 404 => [ + ['errorCode' => 'NotFound.ApiMcpServer', 'errorMessage' => 'Specified MCP server not found.', 'description' => 'The MCP service with the specified ID does not exist.'], + ], + ], + 'title' => 'UpdateApiMcpServerCore', + 'description' => 'Because this operation queries only public information, it does not require authorization.', + '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' => [ @@ -4927,22 +3510,10 @@ 'schema' => [ 'type' => 'object', 'properties' => [ - 'enablePublicAccess' => [ - 'type' => 'boolean', - 'description' => 'Specifies whether to enable public network access for all API MCP Servers in your account, including the system MCP Server. By default, public network access is enabled. If you disable it, you can only access the servers through their VPC domain names.', - 'required' => false, - 'title' => '', - 'example' => 'true', - ], + 'enablePublicAccess' => ['type' => 'boolean', 'description' => 'Specifies whether to enable public network access for all API MCP Servers in your account, including the system MCP Server. By default, public network access is enabled. If you disable it, you can only access the servers through their VPC domain names.', 'required' => false, 'title' => '', 'example' => 'true'], 'vpcWhitelists' => [ 'type' => 'array', - 'items' => [ - 'type' => 'string', - 'description' => 'The ID of a source VPC to add to the whitelist.', - 'required' => false, - 'title' => '', - 'example' => 'vpc-j6cgd2if5lg**0xs6m5se', - ], + 'items' => ['type' => 'string', 'description' => 'The ID of a source VPC to add to the whitelist.', 'required' => false, 'title' => '', 'example' => 'vpc-j6cgd2if5lg**0xs6m5se'], 'description' => 'The VPC whitelist. After disabling public network access, use this parameter to specify allowed source VPCs. If you do not set this parameter or leave it empty, all source VPCs are allowed.', 'required' => false, 'title' => '', @@ -4961,13 +3532,8 @@ 'schema' => [ 'type' => 'object', 'properties' => [ - 'requestId' => [ - 'type' => 'string', - 'description' => 'The request ID.', - 'title' => '', - 'example' => ' '."\n" - .'9BFC4AC1-6BE4-5405-BDEC-CA288D404812'."\n", - ], + 'requestId' => ['type' => 'string', 'description' => 'The request ID.', 'title' => '', 'example' => ' '."\n" + .'9BFC4AC1-6BE4-5405-BDEC-CA288D404812'."\n"], ], 'description' => 'The response.', 'title' => '', @@ -4990,12 +3556,7 @@ 'authLevel' => 'resource', 'actionConditions' => [], 'resources' => [ - [ - 'validationType' => 'always', - 'product' => 'OpenAPIExplorer', - 'resourceType' => 'All Resource', - 'arn' => '*', - ], + ['validationType' => 'always', 'product' => 'OpenAPIExplorer', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], ], @@ -5004,401 +3565,72 @@ ], ], 'endpoints' => [ - [ - 'regionId' => 'cn-hangzhou', - 'regionName' => 'China (Hangzhou)', - 'areaId' => 'asiaPacific', - 'areaName' => 'Asia Pacific', - 'public' => 'openapi-mcp.cn-hangzhou.aliyuncs.com', - 'endpoint' => 'openapi-mcp.cn-hangzhou.aliyuncs.com', - 'vpc' => '', - ], - [ - 'regionId' => 'ap-southeast-1', - 'regionName' => 'Singapore', - 'areaId' => 'asiaPacific', - 'areaName' => 'Asia Pacific', - 'public' => 'openapi-mcp.ap-southeast-1.aliyuncs.com', - 'endpoint' => 'openapi-mcp.ap-southeast-1.aliyuncs.com', - 'vpc' => '', - ], - [ - 'regionId' => 'public', - 'regionName' => 'Public network', - 'areaId' => 'other', - 'areaName' => 'Other', - 'public' => 'openapiexplorer.aliyuncs.com', - 'endpoint' => 'openapiexplorer.aliyuncs.com', - 'vpc' => '', - ], + ['regionId' => 'cn-hangzhou', 'regionName' => 'China (Hangzhou)', 'areaId' => 'asiaPacific', 'areaName' => 'Asia Pacific', 'public' => 'openapi-mcp.cn-hangzhou.aliyuncs.com', 'endpoint' => 'openapi-mcp.cn-hangzhou.aliyuncs.com', 'vpc' => ''], + ['regionId' => 'ap-southeast-1', 'regionName' => 'Singapore', 'areaId' => 'asiaPacific', 'areaName' => 'Asia Pacific', 'public' => 'openapi-mcp.ap-southeast-1.aliyuncs.com', 'endpoint' => 'openapi-mcp.ap-southeast-1.aliyuncs.com', 'vpc' => ''], + ['regionId' => 'public', 'regionName' => 'Public network', 'areaId' => 'other', 'areaName' => 'Other', 'public' => 'openapiexplorer.aliyuncs.com', 'endpoint' => 'openapiexplorer.aliyuncs.com', 'vpc' => ''], ], 'errorCodes' => [ - [ - 'code' => 'AccountMismatch', - 'message' => 'The specified client token dose not belong to your account.', - 'http_code' => 400, - 'description' => 'The parentId corresponding to idempotent parameters are inconsistent.', - ], - [ - 'code' => 'Exists.Name', - 'message' => 'The MCP server name already exists.', - 'http_code' => 409, - 'description' => '', - ], - [ - 'code' => 'Exists.TerraformTools.Name', - 'message' => 'The Terraform tool name already exists.', - 'http_code' => 409, - 'description' => 'The specified Terraform tool name already exists.', - ], - [ - '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' => 'The request used the same client token as the previous request, but with different parameters. Do not reuse the same token in requests with different parameters. Each request must use a unique token.', - ], - [ - 'code' => 'InternalServerError', - 'message' => 'The request has failed due to a temporary failure of the server.', - 'http_code' => 500, - 'description' => '', - ], - [ - 'code' => 'InvalidApiMcpServer.NotFound', - 'message' => 'The specified ApiMcpServer does not exist.', - 'http_code' => 404, - 'description' => 'The specified ApiMcpServer does not exist.', - ], - [ - 'code' => 'InvalidParam.AcceptLanguage', - 'message' => 'Accepted language should only be zh-CN or en-US.', - 'http_code' => 400, - 'description' => 'Invalid argument, only accepted languages are zh-CN or en-US.', - ], - [ - 'code' => 'InvalidParam.AdditionalApiDescription.PopCode', - 'message' => 'Unsupported product code: %s.', - 'http_code' => 400, - 'description' => 'The specified product does not exist', - ], - [ - 'code' => 'InvalidParam.AdditionalApiDescription.PopVersion', - 'message' => 'Unsupported product version: %s of product code: %s.', - 'http_code' => 400, - 'description' => 'Product% s does not support version% s.', - ], - [ - 'code' => 'InvalidParam.Apis', - 'message' => 'Apis is mandatory for this action.', - 'http_code' => 400, - 'description' => 'Apis is mandatory for this action.', - ], - [ - 'code' => 'InvalidParam.Apis.PopCode', - 'message' => 'Unsupported product code: %s.', - 'http_code' => 400, - 'description' => 'The specified product name does not exist', - ], - [ - 'code' => 'InvalidParam.Apis.PopVersion', - 'message' => 'Unsupported product version: %s of product code: %s.', - 'http_code' => 400, - 'description' => 'Product% s does not support xxx version.', - ], - [ - 'code' => 'InvalidParam.ClientToken', - 'message' => 'The specified client token is not valid.', - 'http_code' => 400, - 'description' => 'The idempotent parameter is incorrect, please check.', - ], - [ - 'code' => 'InvalidParam.Code', - 'message' => 'Empty code is not valid.', - 'http_code' => 400, - 'description' => 'The Code parameter is an invalid empty string.', - ], - [ - 'code' => 'InvalidParam.ErrorCode', - 'message' => 'The errorCode should be a string and cannot be empty.', - 'http_code' => 400, - 'description' => 'The ErrorCode parameter is invalid. It should be a string and cannot be empty.', - ], - [ - 'code' => 'InvalidParam.ErrorMessage', - 'message' => 'The errorMessage should be a string or null.', - 'http_code' => 400, - 'description' => 'The parameter errorMessage is invalid. ErrorMessage should be a string or null.', - ], - [ - 'code' => 'InvalidParam.Language', - 'message' => 'Unsupported language: %s.', - 'http_code' => 400, - 'description' => 'Specify multilingual wu\'xi', - ], - [ - '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' => 'The parameter logRequestId is invalid. Make sure that the request ID you provide originates from a request you made to a OpenAPI.', - ], - [ - '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' => 'The parameter name does not conform to the specification of length 3-16 and contains only lowercase letters, numbers, underscores, and hyphens.', - ], - [ - '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' => 'The name must be 3 to 63 characters in length and can contain only lowercase letters, numbers, underscores, and hyphens.', - ], - [ - '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' => 'The name must be 3 to 64 characters in length and can contain only lowercase letters, numbers, underscores, and hyphens.', - ], - [ - 'code' => 'InvalidParam.NextToken', - 'message' => 'The specified NextToken is not valid.', - 'http_code' => 400, - 'description' => 'The specified nextToken is invalid.', - ], - [ - 'code' => 'InvalidParam.ParentId', - 'message' => 'ParentId is mandatory for this action.', - 'http_code' => 400, - 'description' => 'ParentId is mandatory for this action.', - ], - [ - 'code' => 'InvalidParam.Path', - 'message' => 'Path is mandatory for this action.', - 'http_code' => 400, - 'description' => 'Path is mandatory for this action.', - ], - [ - 'code' => 'InvalidParam.PopCode', - 'message' => 'PopCode is mandatory for this action.', - 'http_code' => 400, - 'description' => 'PopCode is mandatory for this action.', - ], - [ - 'code' => 'InvalidParam.PopVersion', - 'message' => 'PopVersion is mandatory for this action.', - 'http_code' => 400, - 'description' => 'PopVersion is mandatory for this action.', - ], - [ - 'code' => 'InvalidParam.Product', - 'message' => 'The product should be a string or null.', - 'http_code' => 400, - 'description' => 'The argument product is not valid, it should be a string or null.', - ], - [ - 'code' => 'InvalidParam.Selectors', - 'message' => 'Selectors is mandatory for this action.', - 'http_code' => 400, - 'description' => 'Selectors is mandatory for this action.', - ], - [ - 'code' => 'InvalidParam.SystemTools', - 'message' => 'System tool %s is not supported.', - 'http_code' => 400, - 'description' => '', - ], - [ - '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' => 'The parameter TerraformName does not conform to the specification of length 3-63, containing only lowercase letters, numbers, underscores, and hyphens.', - ], - [ - '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' => 'The Terraform tool name must be 3 to 64 characters in length and can contain only lowercase letters, numbers, underscores, and hyphens.', - ], - [ - 'code' => 'InvalidParam.TerraformTool.Code', - 'message' => 'The Terraform tool code is not valid. Please check the syntax and try again.', - 'http_code' => 400, - 'description' => 'The specified TerraformTool.Code parameter is invalid.', - ], - [ - 'code' => 'InvalidParam.TerraformTools.Code', - 'message' => 'The Terraform tool code is not valid. Please check the syntax and try again.', - 'http_code' => 400, - 'description' => 'The specified TerraformTools.Code parameter is invalid.', - ], - [ - 'code' => 'InvalidParam.TerraformTools.Code', - 'message' => 'The Terraform tool code is not valid: %s. Please check the syntax and try again.', - 'http_code' => 400, - 'description' => 'The specified TerraformTools.Code parameter is invalid.', - ], - [ - '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' => 'The Terraform tool name must be 3 to 63 characters in length and can contain only lowercase letters, numbers, underscores, and hyphens.', - ], - [ - 'code' => 'Missing.AccountId', - 'message' => 'x-acs-account-id is mandatory in request header for this action.', - 'http_code' => 400, - 'description' => 'The required parameter x-acs-account-id is missing in the request header.', - ], - [ - 'code' => 'Missing.Apis', - 'message' => 'Apis is mandatory for this action.', - 'http_code' => 400, - 'description' => 'Missing required parameter Apis', - ], - [ - 'code' => 'Missing.Apis.PopCode', - 'message' => 'Apis.PopCode is mandatory for this action.', - 'http_code' => 400, - 'description' => 'The required parameter popCode is missing in the Apis parameter.', - ], - [ - 'code' => 'Missing.Apis.PopVersion', - 'message' => 'Apis.PopVersion is mandatory for this action.', - 'http_code' => 400, - 'description' => 'Apis.PopVersion is mandatory for this action.', - ], - [ - 'code' => 'Missing.Apis.Selectors', - 'message' => 'Apis.Selectors is mandatory for this action.', - 'http_code' => 400, - 'description' => 'Apis.Selectors is a required parameter', - ], - [ - 'code' => 'Missing.CallerUid', - 'message' => 'x-acs-caller-uid is mandatory in request header for this action.', - 'http_code' => 400, - 'description' => 'The required parameter x-acs-caller-uid is missing in the request header.', - ], - [ - 'code' => 'Missing.Code', - 'message' => 'Code is mandatory for this action.', - 'http_code' => 400, - 'description' => 'The required parameter Code is missing.', - ], - [ - 'code' => 'Missing.Id', - 'message' => 'Id is mandatory for this action.', - 'http_code' => 400, - 'description' => '', - ], - [ - 'code' => 'Missing.Name', - 'message' => 'Name is mandatory for this action.', - 'http_code' => 400, - 'description' => '', - ], - [ - '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' => 'In the STS role-playing scenario, the required parameter x-acs-sts-token-principal-id is missing in the request header.', - ], - [ - 'code' => 'Missing.TerraformName', - 'message' => 'TerraformName is mandatory for this action.', - 'http_code' => 400, - 'description' => 'Missing required parameter', - ], - [ - 'code' => 'Missing.TerraformTools.Code', - 'message' => 'TerraformTools.Code is mandatory for this action.', - 'http_code' => 400, - 'description' => 'The required parameter TerraformTools.Code is missing.', - ], - [ - 'code' => 'Missing.TerraformTools.Description', - 'message' => 'TerraformTools.Description is mandatory for this action.', - 'http_code' => 400, - 'description' => 'Missing required parameter TerraformTools.Description', - ], - [ - 'code' => 'Missing.TerraformTools.Name', - 'message' => 'TerraformTools.Name is mandatory for this action.', - 'http_code' => 400, - 'description' => '', - ], - [ - 'code' => 'MissingParam.Calleruid', - 'message' => 'x-acs-caller-uid is mandatory in request header for this action.', - 'http_code' => 400, - 'description' => 'The required parameter x-acs-caller-uid is missing in the request header.', - ], - [ - 'code' => 'MissingParam.CreateUid', - 'message' => 'CreateUid is mandatory for this action.', - 'http_code' => 400, - 'description' => 'Missing caller UID, which is the x-acs-caller-uid parameter in the request header.', - ], - [ - 'code' => 'MissingParam.ParentId', - 'message' => 'ParentId is mandatory for this action.', - 'http_code' => 400, - 'description' => 'ParentId is a required parameter, which is the x-acs-account-id parameter in the request header.', - ], - [ - 'code' => 'MissingParam.PrincipalId', - 'message' => 'PrincipalId is mandatory for this action.', - 'http_code' => 400, - 'description' => 'In the STS role-playing scenario, the PrincipalId parameter is missing. This parameter is the x-acs-sts-token-principal-id parameter in the request header.', - ], - [ - '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' => 'In the STS assumeRole scenario, the required parameter x-acs-sts-token-principal-id is missing in the request header.', - ], - [ - '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' => '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.', - ], - [ - 'code' => 'NotFound.ApiMcpServer', - 'message' => 'Specified MCP server not found.', - 'http_code' => 404, - 'description' => 'The MCP service with the specified ID does not exist.', - ], - [ - 'code' => 'NotFound.Product', - 'message' => 'The provided product does not exist.', - 'http_code' => 404, - 'description' => 'The product name you provided does not exist.', - ], - [ - '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' => 'The log associated with this logRequestId does not exist, has expired, or you do not have permission to view it.', - ], - [ - 'code' => 'OperationNotAllowed.SystemServer', - 'message' => 'System type servers are not allowed to be updated or deleted.', - 'http_code' => 403, - 'description' => 'System-level services do not allow update or delete operations.', - ], - [ - 'code' => 'QuotaExceeded', - 'message' => 'The number of MCP server created by the user has reached the upper limit.', - 'http_code' => 429, - 'description' => 'The number of MCP server created by the user has reached the upper limit.', - ], - [ - 'code' => 'TerraformToolName.exists', - 'message' => 'The specified Terraform tool name already exists.', - 'http_code' => 409, - 'description' => 'The specified Terraform tool name already exists.', - ], + ['code' => 'InvalidApiMcpServer.NotFound', 'message' => 'The specified ApiMcpServer does not exist.', 'http_code' => 404, 'description' => 'The specified ApiMcpServer does not exist.'], + ['code' => 'InvalidParam.AcceptLanguage', 'message' => 'Accepted language should only be zh-CN or en-US.', 'http_code' => 400, 'description' => 'Invalid argument, only accepted languages are zh-CN or en-US.'], + ['code' => 'InvalidParam.Apis', 'message' => 'Apis is mandatory for this action.', 'http_code' => 400, 'description' => 'Apis is mandatory for this action.'], + ['code' => 'InvalidParam.ErrorCode', 'message' => 'The errorCode should be a string and cannot be empty.', 'http_code' => 400, 'description' => 'The ErrorCode parameter is invalid. It should be a string and cannot be empty.'], + ['code' => 'InvalidParam.ErrorMessage', 'message' => 'The errorMessage should be a string or null.', 'http_code' => 400, 'description' => 'The parameter errorMessage is invalid. ErrorMessage should be a string or 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' => 'The parameter logRequestId is invalid. Make sure that the request ID you provide originates from a request you made to a OpenAPI.'], + ['code' => 'InvalidParam.ParentId', 'message' => 'ParentId is mandatory for this action.', 'http_code' => 400, 'description' => 'ParentId is mandatory for this action.'], + ['code' => 'InvalidParam.Path', 'message' => 'Path is mandatory for this action.', 'http_code' => 400, 'description' => 'Path is mandatory for this action.'], + ['code' => 'InvalidParam.PopCode', 'message' => 'PopCode is mandatory for this action.', 'http_code' => 400, 'description' => 'PopCode is mandatory for this action.'], + ['code' => 'InvalidParam.PopVersion', 'message' => 'PopVersion is mandatory for this action.', 'http_code' => 400, 'description' => 'PopVersion is mandatory for this action.'], + ['code' => 'InvalidParam.Product', 'message' => 'The product should be a string or null.', 'http_code' => 400, 'description' => 'The argument product is not valid, it should be a string or null.'], + ['code' => 'InvalidParam.Selectors', 'message' => 'Selectors is mandatory for this action.', 'http_code' => 400, 'description' => 'Selectors is mandatory for this action.'], + ['code' => 'NotFound.Product', 'message' => 'The provided product does not exist.', 'http_code' => 404, 'description' => 'The product name you provided does not exist.'], + ['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' => 'The log associated with this logRequestId does not exist, has expired, or you do not have permission to view it.'], + ['code' => 'InvalidParam.TerraformTool.Code', 'message' => 'The Terraform tool code is not valid. Please check the syntax and try again.', 'http_code' => 400, 'description' => 'The specified TerraformTool.Code parameter is invalid.'], + ['code' => 'TerraformToolName.exists', 'message' => 'The specified Terraform tool name already exists.', 'http_code' => 409, 'description' => 'The specified Terraform tool name already exists.'], + ['code' => 'OperationNotAllowed.SystemServer', 'message' => 'System type servers are not allowed to be updated or deleted.', 'http_code' => 403, 'description' => 'System-level services do not allow update or delete operations.'], + ['code' => 'AccountMismatch', 'message' => 'The specified client token dose not belong to your account.', 'http_code' => 400, 'description' => 'The parentId corresponding to idempotent parameters are inconsistent.'], + ['code' => 'Missing.Name', 'message' => 'Name is mandatory for this action.', 'http_code' => 400, 'description' => ''], + ['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 is a required parameter, which is the x-acs-account-id parameter in the request header.'], + ['code' => 'Exists.Name', 'message' => 'The MCP server name already exists.', 'http_code' => 409, 'description' => ''], + ['code' => 'QuotaExceeded', 'message' => 'The number of MCP server created by the user has reached the upper limit.', 'http_code' => 429, 'description' => 'The number of MCP server created by the user has reached the upper limit.'], + ['code' => 'MissingParam.CreateUid', 'message' => 'CreateUid is mandatory for this action.', 'http_code' => 400, 'description' => 'Missing caller UID, which is the x-acs-caller-uid parameter in the request header.'], + ['code' => 'Missing.TerraformTools.Code', 'message' => 'TerraformTools.Code is mandatory for this action.', 'http_code' => 400, 'description' => 'The required parameter TerraformTools.Code is missing.'], + ['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' => '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.'], + ['code' => 'Missing.Id', 'message' => 'Id is mandatory for this action.', 'http_code' => 400, 'description' => ''], + ['code' => 'Missing.Apis', 'message' => 'Apis is mandatory for this action.', 'http_code' => 400, 'description' => 'Missing required parameter Apis'], + ['code' => 'InvalidParam.Apis.PopVersion', 'message' => 'Unsupported product version: %s of product code: %s.', 'http_code' => 400, 'description' => 'Product% s does not support xxx version.'], + ['code' => 'Missing.Apis.PopVersion', 'message' => 'Apis.PopVersion is mandatory for this action.', 'http_code' => 400, 'description' => 'Apis.PopVersion is mandatory for this action.'], + ['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' => 'The request used the same client token as the previous request, but with different parameters. Do not reuse the same token in requests with different parameters. Each request must use a unique token.'], + ['code' => 'Missing.Apis.Selectors', 'message' => 'Apis.Selectors is mandatory for this action.', 'http_code' => 400, 'description' => 'Apis.Selectors is a required parameter'], + ['code' => 'InvalidParam.Language', 'message' => 'Unsupported language: %s.', 'http_code' => 400, 'description' => 'Specify multilingual wu\'xi'], + ['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' => 'The parameter name does not conform to the specification of length 3-16 and contains only lowercase letters, numbers, underscores, and hyphens.'], + ['code' => 'MissingParam.PrincipalId', 'message' => 'PrincipalId is mandatory for this action.', 'http_code' => 400, 'description' => 'In the STS role-playing scenario, the PrincipalId parameter is missing. This parameter is the x-acs-sts-token-principal-id parameter in the request header.'], + ['code' => 'InvalidParam.Apis.PopCode', 'message' => 'Unsupported product code: %s.', 'http_code' => 400, 'description' => 'The specified product name does not exist'], + ['code' => 'Missing.Apis.PopCode', 'message' => 'Apis.PopCode is mandatory for this action.', 'http_code' => 400, 'description' => 'The required parameter popCode is missing in the Apis parameter.'], + ['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' => 'The parameter TerraformName does not conform to the specification of length 3-63, containing only lowercase letters, numbers, underscores, and hyphens.'], + ['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' => 'Product% s does not support version% s.'], + ['code' => 'Missing.TerraformTools.Description', 'message' => 'TerraformTools.Description is mandatory for this action.', 'http_code' => 400, 'description' => 'Missing required parameter TerraformTools.Description'], + ['code' => 'InvalidParam.NextToken', 'message' => 'The specified NextToken is not valid.', 'http_code' => 400, 'description' => 'The specified nextToken is invalid.'], + ['code' => 'NotFound.ApiMcpServer', 'message' => 'Specified MCP server not found.', 'http_code' => 404, 'description' => 'The MCP service with the specified ID does not exist.'], + ['code' => 'InvalidParam.AdditionalApiDescription.PopCode', 'message' => 'Unsupported product code: %s.', 'http_code' => 400, 'description' => 'The specified product does not exist'], + ['code' => 'Missing.TerraformName', 'message' => 'TerraformName is mandatory for this action.', 'http_code' => 400, 'description' => 'Missing required parameter'], + ['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' => 'The name must be 3 to 63 characters in length and can contain only lowercase letters, numbers, underscores, and hyphens.'], + ['code' => 'InvalidParam.TerraformTools.Code', 'message' => 'The Terraform tool code is not valid. Please check the syntax and try again.', 'http_code' => 400, 'description' => 'The specified TerraformTools.Code parameter is invalid.'], + ['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' => 'The Terraform tool name must be 3 to 64 characters in length and can contain only lowercase letters, numbers, underscores, and hyphens.'], + ['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' => 'The name must be 3 to 64 characters in length and can contain only lowercase letters, numbers, underscores, and hyphens.'], + ['code' => 'Exists.TerraformTools.Name', 'message' => 'The Terraform tool name already exists.', 'http_code' => 409, 'description' => 'The specified Terraform tool name already exists.'], + ['code' => 'Missing.TerraformTools.Name', 'message' => 'TerraformTools.Name is mandatory for this action.', 'http_code' => 400, 'description' => ''], + ['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' => 'The Terraform tool name must be 3 to 63 characters in length and can contain only lowercase letters, numbers, underscores, and hyphens.'], + ['code' => 'Missing.AccountId', 'message' => 'x-acs-account-id is mandatory in request header for this action.', 'http_code' => 400, 'description' => 'The required parameter x-acs-account-id is missing in the request header.'], + ['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' => 'In the STS assumeRole scenario, the required parameter x-acs-sts-token-principal-id is missing in the request header.'], + ['code' => 'MissingParam.Calleruid', 'message' => 'x-acs-caller-uid is mandatory in request header for this action.', 'http_code' => 400, 'description' => 'The required parameter x-acs-caller-uid is missing in the request header.'], + ['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' => 'In the STS role-playing scenario, the required parameter x-acs-sts-token-principal-id is missing in the request header.'], + ['code' => 'Missing.CallerUid', 'message' => 'x-acs-caller-uid is mandatory in request header for this action.', 'http_code' => 400, 'description' => 'The required parameter x-acs-caller-uid is missing in the request header.'], + ['code' => 'Missing.Code', 'message' => 'Code is mandatory for this action.', 'http_code' => 400, 'description' => 'The required parameter Code is missing.'], + ['code' => 'InvalidParam.Code', 'message' => 'Empty code is not valid.', 'http_code' => 400, 'description' => 'The Code parameter is an invalid empty string.'], + ['code' => 'InvalidParam.TerraformTools.Code', 'message' => 'The Terraform tool code is not valid: %s. Please check the syntax and try again.', 'http_code' => 400, 'description' => 'The specified TerraformTools.Code parameter is invalid.'], + ['code' => 'InvalidParam.ClientToken', 'message' => 'The specified client token is not valid.', 'http_code' => 400, 'description' => 'The idempotent parameter is incorrect, please check.'], ], 'changeSet' => [], 'flowControl' => [ @@ -5407,117 +3639,111 @@ 'ram' => [ 'productCode' => 'OpenAPIExplorer', 'productName' => 'OpenAPI Explorer', - 'ramCodes' => [ - 'openapiexplorer', - ], + 'ramCodes' => ['openapiexplorer'], 'ramLevel' => 'RESOURCE', 'ramConditions' => [], 'ramActions' => [ [ - 'apiName' => 'UpdateApiMcpServer', + 'apiName' => 'ListApiMcpServerSystemTools', 'description' => '', - 'operationType' => 'update', + 'operationType' => 'list', 'ramAction' => [ - 'action' => 'openapiexplorer:UpdateApiMcpServer', + 'action' => 'openapiexplorer:ListApiMcpServerSystemTools', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'OpenAPIExplorer', 'resourceType' => 'All Resource', 'arn' => '*'], + ], + ], + ], + [ + 'apiName' => 'ListApiMcpServers', + 'description' => '', + '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', + 'apiName' => 'DeleteApiMcpServerCore', 'description' => '', - 'operationType' => 'get', + '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', + 'apiName' => 'UpdateApiMcpServer', 'description' => '', - 'operationType' => 'list', + 'operationType' => 'update', 'ramAction' => [ - 'action' => 'openapiexplorer:ListApiMcpServerSystemTools', - 'authLevel' => 'operate', + 'action' => 'openapiexplorer:UpdateApiMcpServer', + 'authLevel' => 'resource', 'actionConditions' => [], 'resources' => [ - [ - 'validationType' => 'always', - 'product' => 'OpenAPIExplorer', - 'resourceType' => 'All Resource', - 'arn' => '*', - ], + ['validationType' => 'always', 'product' => 'OpenAPIExplorer', 'resourceType' => 'ApiMcpServer', 'arn' => 'acs:openapiexplorer::{#accountId}:apimcpserver/{#id}'], ], ], ], [ - 'apiName' => 'GetRequestLog', + 'apiName' => 'DeleteApiMcpServer', 'description' => '', - 'operationType' => 'get', + 'operationType' => 'delete', 'ramAction' => [ - 'action' => 'openapiexplorer:GetRequestLog', - 'authLevel' => 'operate', + 'action' => 'openapiexplorer:DeleteApiMcpServer', + 'authLevel' => 'resource', 'actionConditions' => [], 'resources' => [ - [ - 'validationType' => 'always', - 'product' => 'OpenAPIExplorer', - 'resourceType' => 'All Resource', - 'arn' => '*', - ], + ['validationType' => 'always', 'product' => 'OpenAPIExplorer', 'resourceType' => 'ApiMcpServer', 'arn' => 'acs:openapiexplorer::{#accountId}:apimcpserver/{#id}'], ], ], ], [ - 'apiName' => 'GenerateCLICommand', + 'apiName' => 'CreateApiMcpServerCore', 'description' => '', - 'operationType' => 'none', + 'operationType' => 'create', 'ramAction' => [ - 'action' => 'openapiexplorer:GenerateCLICommand', - 'authLevel' => 'operate', + 'action' => 'openapiexplorer:CreateApiMcpServerCore', + 'authLevel' => 'resource', 'actionConditions' => [], 'resources' => [ - [ - 'validationType' => 'always', - 'product' => 'OpenAPIExplorer', - 'resourceType' => 'All Resource', - 'arn' => '*', - ], + ['validationType' => 'always', 'product' => 'OpenAPIExplorer', 'resourceType' => 'ApiMcpServerCore', 'arn' => 'acs:openapiexplorer::{#accountId}:apimcpservercore/*'], ], ], ], [ - 'apiName' => 'DeleteApiMcpServer', + 'apiName' => 'UpdateApiMcpServerCore', 'description' => '', - 'operationType' => 'delete', + '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' => '', + 'operationType' => 'list', + 'ramAction' => [ + 'action' => 'openapiexplorer:ListApiMcpServerCores', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'OpenAPIExplorer', 'resourceType' => 'ApiMcpServerCore', 'arn' => 'acs:openapiexplorer::{#accountId}:apimcpservercore/*'], ], ], ], @@ -5530,12 +3756,20 @@ 'authLevel' => 'resource', 'actionConditions' => [], 'resources' => [ - [ - 'validationType' => 'always', - 'product' => 'OpenAPIExplorer', - 'resourceType' => 'All Resource', - 'arn' => '*', - ], + ['validationType' => 'always', 'product' => 'OpenAPIExplorer', 'resourceType' => 'All Resource', 'arn' => '*'], + ], + ], + ], + [ + 'apiName' => 'GetRequestLog', + 'description' => '', + 'operationType' => 'get', + 'ramAction' => [ + 'action' => 'openapiexplorer:GetRequestLog', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'OpenAPIExplorer', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], ], @@ -5548,86 +3782,69 @@ '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' => 'ApiMcpServerValidateHcl', + 'apiName' => 'GetApiMcpServerCore', 'description' => '', - 'operationType' => 'none', + 'operationType' => 'get', 'ramAction' => [ - 'action' => 'openapiexplorer:ApiMcpServerValidateHcl', - 'authLevel' => 'operate', + 'action' => 'openapiexplorer:GetApiMcpServerCore', + 'authLevel' => 'resource', 'actionConditions' => [], 'resources' => [ - [ - 'validationType' => 'always', - 'product' => 'OpenAPIExplorer', - 'resourceType' => 'All Resource', - 'arn' => '*', - ], + ['validationType' => 'always', 'product' => 'OpenAPIExplorer', 'resourceType' => 'ApiMcpServerCore', 'arn' => 'acs:openapiexplorer::{#accountId}:apimcpservercore/{#Id}'], ], ], ], [ - 'apiName' => 'UpdateApiMcpServerUserConfig', + 'apiName' => 'GetApiMcpServer', 'description' => '', - 'operationType' => 'update', + 'operationType' => 'get', 'ramAction' => [ - 'action' => 'openapiexplorer:UpdateApiMcpServerUserConfig', + 'action' => 'openapiexplorer:GetApiMcpServer', 'authLevel' => 'resource', 'actionConditions' => [], 'resources' => [ - [ - 'validationType' => 'always', - 'product' => 'OpenAPIExplorer', - 'resourceType' => 'All Resource', - 'arn' => '*', - ], + ['validationType' => 'always', 'product' => 'OpenAPIExplorer', 'resourceType' => 'ApiMcpServer', 'arn' => 'acs:openapiexplorer::{#accountId}:apimcpserver/{#id}'], ], ], ], [ - 'apiName' => 'ListApiMcpServers', + 'apiName' => 'ApiMcpServerValidateHcl', 'description' => '', - 'operationType' => 'list', + 'operationType' => 'none', 'ramAction' => [ - 'action' => 'openapiexplorer:ListApiMcpServers', + 'action' => 'openapiexplorer:ApiMcpServerValidateHcl', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'OpenAPIExplorer', 'resourceType' => 'All Resource', 'arn' => '*'], + ], + ], + ], + [ + 'apiName' => 'UpdateApiMcpServerUserConfig', + 'description' => '', + 'operationType' => 'update', + 'ramAction' => [ + 'action' => 'openapiexplorer:UpdateApiMcpServerUserConfig', 'authLevel' => 'resource', 'actionConditions' => [], 'resources' => [ - [ - 'validationType' => 'always', - 'product' => 'OpenAPIExplorer', - 'resourceType' => 'ApiMcpServer', - 'arn' => 'acs:openapiexplorer::{#accountId}:apimcpserver/*', - ], + ['validationType' => 'always', 'product' => 'OpenAPIExplorer', 'resourceType' => 'All Resource', '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'], ], ], ]; |
