summaryrefslogtreecommitdiff
path: root/data/en_us/openapiexplorer
diff options
context:
space:
mode:
authorZhineng Li <[email protected]>2026-02-13 10:54:11 +0800
committerZhineng Li <[email protected]>2026-02-13 10:54:11 +0800
commit7347bac4ab7e136157fc94777e6cf87ef9e08599 (patch)
tree0dec367dac6e152161a6f7cc0dba6ebbef1f34a2 /data/en_us/openapiexplorer
downloadacs-metadata-full-1.0.0+20260212.tar.gz
acs-metadata-full-1.0.0+20260212.zip
Diffstat (limited to 'data/en_us/openapiexplorer')
-rw-r--r--data/en_us/openapiexplorer/2024-11-30/api-docs.php5633
1 files changed, 5633 insertions, 0 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
new file mode 100644
index 0000000..7f7f5f2
--- /dev/null
+++ b/data/en_us/openapiexplorer/2024-11-30/api-docs.php
@@ -0,0 +1,5633 @@
+<?php return [
+ 'version' => '1.0',
+ 'info' => [
+ 'style' => 'ROA',
+ 'product' => 'OpenAPIExplorer',
+ 'version' => '2024-11-30',
+ ],
+ 'directories' => [
+ [
+ 'children' => [
+ 'UpdateApiMcpServerUserConfig',
+ 'GetApiMcpServerUserConfig',
+ ],
+ 'type' => 'directory',
+ 'title' => 'Global settings of OpenAPI MCP Server',
+ ],
+ [
+ 'children' => [
+ 'GetApiDefinition',
+ 'ListApiDefinitions',
+ 'GetProductEndpoints',
+ 'GenerateCLICommand',
+ ],
+ 'type' => 'directory',
+ 'title' => 'Open metadata',
+ ],
+ [
+ 'children' => [
+ 'CreateApiMcpServer',
+ 'UpdateApiMcpServer',
+ 'GetApiMcpServer',
+ 'DeleteApiMcpServer',
+ 'ListApiMcpServers',
+ 'ApiMcpServerValidateHcl',
+ 'ListApiMcpServerSystemTools',
+ ],
+ 'type' => 'directory',
+ 'title' => 'OpenAPI MCP Server',
+ ],
+ [
+ 'children' => [
+ 'GetErrorCodeSolutions',
+ 'GetRequestLog',
+ 'GetOwnRequestLog',
+ ],
+ 'type' => 'directory',
+ 'title' => 'Diagnostics',
+ ],
+ ],
+ 'components' => [
+ 'schemas' => [],
+ ],
+ 'apis' => [
+ 'ApiMcpServerValidateHcl' => [
+ 'path' => '/terraform/validate',
+ 'methods' => [
+ 'post',
+ ],
+ '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' => 'body',
+ 'in' => 'body',
+ 'style' => 'json',
+ '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"
+ .'}',
+ ],
+ ],
+ 'description' => 'The request body.',
+ 'required' => false,
+ 'title' => '',
+ 'example' => '',
+ ],
+ ],
+ ],
+ 'responses' => [
+ 200 => [
+ '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',
+ ],
+ '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.',
+ ],
+ 'description' => 'The list of error messages.',
+ 'title' => '',
+ 'example' => '',
+ ],
+ 'warnings' => [
+ 'type' => 'array',
+ 'items' => [
+ 'type' => 'string',
+ 'description' => 'The content of the warning message.',
+ 'title' => '',
+ 'example' => 'Warning.',
+ ],
+ '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"
+ .' }',
+ ],
+ '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.',
+ ],
+ ],
+ 'description' => 'The response.',
+ 'title' => '',
+ 'example' => '',
+ ],
+ ],
+ ],
+ '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.',
+ ],
+ ],
+ 500 => [
+ [
+ 'errorCode' => 'InternalServerError',
+ 'errorMessage' => 'The request has failed due to a temporary failure of the server.',
+ 'description' => '',
+ ],
+ ],
+ ],
+ 'title' => 'ApiMcpServerValidateHcl',
+ 'summary' => 'Validates the syntax of HashiCorp Configuration Language (HCL) for Terraform.',
+ 'changeSet' => [],
+ 'flowControl' => [
+ 'flowControlList' => [],
+ ],
+ 'ramActions' => [
+ [
+ 'operationType' => 'none',
+ 'ramAction' => [
+ 'action' => 'openapiexplorer:ApiMcpServerValidateHcl',
+ 'authLevel' => 'operate',
+ 'actionConditions' => [],
+ 'resources' => [
+ [
+ 'validationType' => 'always',
+ 'product' => 'OpenAPIExplorer',
+ 'resourceType' => 'All Resource',
+ 'arn' => '*',
+ ],
+ ],
+ ],
+ ],
+ ],
+ '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' => [
+ 'path' => '/apimcpserver',
+ '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' => [
+ '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服务。',
+ ],
+ 'language' => [
+ '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.',
+ 'required' => false,
+ 'title' => '',
+ 'example' => 'ZH_CN',
+ ],
+ 'apis' => [
+ 'type' => 'array',
+ 'items' => [
+ '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',
+ ],
+ 'selectors' => [
+ 'type' => 'array',
+ 'items' => [
+ 'type' => 'string',
+ 'required' => true,
+ 'description' => 'The API name matching rule.',
+ 'title' => '',
+ 'example' => '*Bucket',
+ ],
+ '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' => [
+ 'type' => 'array',
+ 'items' => [
+ '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',
+ ],
+ 'constParameters' => [
+ 'type' => 'array',
+ 'items' => [
+ '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',
+ ],
+ ],
+ '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' => [
+ 'type' => 'array',
+ 'items' => [
+ '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}}',
+ ],
+ 'arguments' => [
+ 'type' => 'array',
+ 'items' => [
+ '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',
+ ],
+ ],
+ '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',
+ ],
+ 'systemTools' => [
+ 'type' => 'array',
+ 'items' => [
+ 'type' => 'string',
+ 'description' => 'A system tool.',
+ 'required' => false,
+ 'title' => '',
+ 'example' => 'FetchRamActionDetails',
+ ],
+ 'description' => 'The list of system tools.',
+ '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"
+ .'}',
+ ],
+ 'publicAccess' => [
+ 'type' => 'string',
+ 'enum' => [
+ 'on',
+ 'off',
+ 'follow',
+ ],
+ 'description' => 'Specifies whether to enable public network access.',
+ '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',
+ ],
+ 'terraformTools' => [
+ 'type' => 'array',
+ 'items' => [
+ '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',
+ ],
+ '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"
+ ."\n"
+ .'- ON\\_FAILURE: Deletes related resources only when the task execution fails. If the task execution succeeds, the resources are retained.',
+ 'required' => false,
+ 'title' => '',
+ 'example' => 'ON_FAILURE',
+ ],
+ ],
+ 'description' => 'A Terraform tool.',
+ 'required' => false,
+ 'title' => '',
+ 'example' => '',
+ ],
+ 'description' => 'The list of Terraform tools.',
+ 'required' => false,
+ 'title' => '',
+ 'example' => '',
+ ],
+ 'vpcWhitelists' => [
+ '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.',
+ 'required' => false,
+ 'title' => '',
+ 'example' => '',
+ ],
+ ],
+ 'description' => 'Creates an API MCP service.',
+ 'required' => false,
+ 'title' => '',
+ 'example' => '',
+ ],
+ ],
+ ],
+ 'responses' => [
+ 200 => [
+ 'schema' => [
+ '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***',
+ ],
+ 'urls' => [
+ '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',
+ ],
+ ],
+ 'description' => 'The connection information for the API MCP service.',
+ 'title' => '',
+ 'example' => '',
+ ],
+ ],
+ 'description' => 'The request result.',
+ 'title' => '',
+ 'example' => '',
+ ],
+ ],
+ ],
+ '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.',
+ ],
+ ],
+ 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.',
+ ],
+ ],
+ 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' => 'CreateApiMcpServer',
+ 'summary' => 'Creates an API MCP service.',
+ 'changeSet' => [],
+ 'flowControl' => [
+ 'flowControlList' => [],
+ ],
+ 'ramActions' => [
+ [
+ 'operationType' => 'create',
+ 'ramAction' => [
+ 'action' => 'openapiexplorer:CreateApiMcpServer',
+ 'authLevel' => 'resource',
+ 'actionConditions' => [],
+ 'resources' => [
+ [
+ '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://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"}]',
+ ],
+ 'DeleteApiMcpServer' => [
+ 'summary' => 'Deletes an API MCP service.',
+ 'path' => '/apimcpserver',
+ 'methods' => [
+ 'delete',
+ ],
+ 'schemes' => [
+ 'https',
+ ],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'consumes' => [
+ 'application/json',
+ ],
+ 'produces' => [
+ 'application/json',
+ ],
+ 'operationType' => 'write',
+ 'systemTags' => [
+ 'operationType' => 'delete',
+ 'riskType' => 'none',
+ 'chargeType' => 'free',
+ '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',
+ ],
+ ],
+ [
+ 'name' => 'id',
+ 'in' => 'query',
+ 'schema' => [
+ 'type' => 'string',
+ 'required' => true,
+ 'description' => 'The ID of the API MCP service.',
+ 'title' => '',
+ 'example' => 'v6ZZ7ftCzEILW***',
+ ],
+ ],
+ ],
+ 'responses' => [
+ 200 => [
+ 'schema' => [
+ 'type' => 'object',
+ 'properties' => [
+ 'requestId' => [
+ 'type' => 'string',
+ 'description' => 'The request ID.',
+ 'title' => '',
+ 'example' => '9BFC4AC1-6BE4-5405-BDEC-CA288D404812',
+ ],
+ ],
+ 'description' => 'The response.',
+ '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.',
+ ],
+ ],
+ 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' => 'NotFound.ApiMcpServer',
+ 'errorMessage' => 'Specified MCP server not found.',
+ 'description' => 'The MCP service with the specified ID does not exist.',
+ ],
+ ],
+ ],
+ 'title' => 'DeleteApiMcpServer',
+ 'changeSet' => [],
+ 'flowControl' => [
+ 'flowControlList' => [],
+ ],
+ 'ramActions' => [
+ [
+ 'operationType' => 'delete',
+ 'ramAction' => [
+ 'action' => 'openapiexplorer:DeleteApiMcpServer',
+ 'authLevel' => 'resource',
+ 'actionConditions' => [],
+ 'resources' => [
+ [
+ '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',
+ ],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'consumes' => [
+ 'application/json',
+ ],
+ 'produces' => [
+ 'application/json',
+ ],
+ 'operationType' => 'read',
+ 'systemTags' => [
+ 'operationType' => 'none',
+ 'riskType' => 'none',
+ 'chargeType' => 'free',
+ 'abilityTreeNodes' => [
+ 'FEATUREopenapiexplorerCHYMZJ',
+ ],
+ 'autoTest' => true,
+ 'tenantRelevance' => 'publicInformation',
+ ],
+ 'parameters' => [
+ [
+ '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' => '',
+ ],
+ ],
+ [
+ 'name' => 'apiVersion',
+ 'in' => 'formData',
+ 'schema' => [
+ 'description' => 'The version of the API.',
+ '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' => '',
+ ],
+ ],
+ [
+ 'name' => 'regionId',
+ 'in' => 'formData',
+ 'schema' => [
+ 'description' => 'The ID of the region.',
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'cn-hangzhou',
+ 'title' => '',
+ ],
+ ],
+ [
+ 'name' => 'apiParams',
+ 'in' => 'formData',
+ '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' => '',
+ ],
+ 'description' => 'The request parameters.',
+ 'required' => false,
+ 'title' => '',
+ 'example' => '',
+ 'deprecated' => true,
+ ],
+ ],
+ [
+ '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' => '',
+ ],
+ ],
+ [
+ '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' => '',
+ ],
+ ],
+ ],
+ 'responses' => [
+ 200 => [
+ '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' => '',
+ ],
+ ],
+ 'title' => '',
+ 'description' => 'The request result.',
+ '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' => '',
+ ],
+ ],
+ ],
+ 'staticInfo' => [
+ 'returnType' => 'synchronous',
+ ],
+ 'title' => 'GenerateCLICommand',
+ 'changeSet' => [],
+ 'flowControl' => [
+ 'flowControlList' => [],
+ ],
+ 'ramActions' => [
+ [
+ 'operationType' => 'none',
+ 'ramAction' => [
+ 'action' => 'openapiexplorer:GenerateCLICommand',
+ 'authLevel' => 'operate',
+ 'actionConditions' => [],
+ 'resources' => [
+ [
+ '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"}]',
+ ],
+ 'GetApiDefinition' => [
+ 'path' => '/api/definition',
+ '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 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',
+ ],
+ ],
+ [
+ 'name' => 'apiVersion',
+ 'in' => 'query',
+ 'schema' => [
+ 'type' => 'string',
+ 'required' => true,
+ 'description' => 'The API version.',
+ 'title' => '',
+ 'example' => '2014-05-26',
+ ],
+ ],
+ [
+ 'name' => 'api',
+ 'in' => 'query',
+ 'schema' => [
+ 'type' => 'string',
+ 'required' => true,
+ 'description' => 'The API name.',
+ 'title' => '',
+ 'example' => 'DescribeRegions',
+ ],
+ ],
+ ],
+ 'responses' => [
+ 200 => [
+ 'schema' => [
+ 'type' => 'object',
+ 'properties' => [],
+ 'description' => 'The open metadata of the API.',
+ 'title' => '',
+ 'example' => '',
+ ],
+ ],
+ ],
+ 'errorCodes' => [],
+ 'staticInfo' => [
+ 'returnType' => 'synchronous',
+ ],
+ 'title' => 'GetApiDefinition',
+ 'summary' => 'Retrieves the OpenAPI metadata for an API in a product.',
+ 'changeSet' => [],
+ 'flowControl' => [
+ 'flowControlList' => [],
+ ],
+ 'ramActions' => [],
+ 'responseDemo' => '[{"errorExample":"","example":"{}","type":"json"}]',
+ ],
+ 'GetApiMcpServer' => [
+ 'summary' => 'Retrieves the details of a specific API MCP service.',
+ 'path' => '/apimcpserver',
+ 'methods' => [
+ 'get',
+ ],
+ 'schemes' => [
+ 'https',
+ ],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'consumes' => [
+ 'application/json',
+ ],
+ 'produces' => [
+ 'application/json',
+ ],
+ 'operationType' => 'read',
+ 'systemTags' => [
+ 'operationType' => 'get',
+ 'riskType' => 'none',
+ 'chargeType' => 'free',
+ 'abilityTreeNodes' => [
+ 'FEATUREopenapiexplorer7MPML0',
+ ],
+ ],
+ 'parameters' => [
+ [
+ 'name' => 'id',
+ 'in' => 'query',
+ 'schema' => [
+ 'type' => 'string',
+ 'required' => true,
+ 'description' => 'The ID of the API MCP service.',
+ 'title' => '',
+ 'example' => 'v6ZZ7ftCzEILW***',
+ ],
+ ],
+ ],
+ 'responses' => [
+ 200 => [
+ 'schema' => [
+ '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 服务器',
+ ],
+ 'apis' => [
+ 'type' => 'array',
+ 'items' => [
+ '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',
+ ],
+ 'selectors' => [
+ 'type' => 'array',
+ 'items' => [
+ 'type' => 'string',
+ 'description' => 'The API name matching rule.',
+ 'title' => '',
+ 'example' => '*Bucket',
+ ],
+ 'description' => 'A list of API name matching rules.',
+ 'title' => '',
+ 'example' => '',
+ ],
+ ],
+ 'description' => 'The API information.',
+ 'title' => '',
+ 'example' => '',
+ ],
+ 'description' => 'A list of API information.',
+ 'title' => '',
+ 'example' => '',
+ ],
+ 'additionalApiDescriptions' => [
+ 'type' => 'array',
+ 'items' => [
+ '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',
+ ],
+ 'constParameters' => [
+ 'type' => 'array',
+ 'items' => [
+ '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',
+ ],
+ ],
+ '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',
+ ],
+ 'prompts' => [
+ 'type' => 'array',
+ 'items' => [
+ '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}}',
+ ],
+ 'arguments' => [
+ 'type' => 'array',
+ 'items' => [
+ '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' => '',
+ ],
+ ],
+ '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' => [
+ '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',
+ ],
+ 'urls' => [
+ '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',
+ ],
+ ],
+ 'description' => 'The connection information for the MCP server.',
+ 'title' => '',
+ 'example' => '',
+ ],
+ 'systemTools' => [
+ 'type' => 'array',
+ 'items' => [
+ 'type' => 'string',
+ 'description' => 'The name of the system tool.',
+ 'title' => '',
+ 'example' => 'FetchRamActionDetails',
+ ],
+ 'description' => 'A list of system tools.',
+ '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"
+ .'}',
+ ],
+ 'apiInfos' => [
+ 'type' => 'array',
+ 'items' => [
+ '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',
+ ],
+ ],
+ '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',
+ ],
+ 'systemMcpServerInfo' => [
+ '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',
+ ],
+ ],
+ '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',
+ ],
+ 'terraformTools' => [
+ 'type' => 'array',
+ 'items' => [
+ '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',
+ ],
+ '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"
+ ."\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' => '',
+ 'example' => 'ON_FAILURE',
+ ],
+ ],
+ '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"
+ .'}',
+ ],
+ 'publicAccess' => [
+ 'type' => 'string',
+ 'enum' => [
+ 'on',
+ 'off',
+ 'follow',
+ ],
+ 'description' => 'Indicates whether to enable public access.',
+ 'title' => '',
+ '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',
+ ],
+ 'vpcWhitelists' => [
+ '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.',
+ 'title' => '',
+ 'example' => '',
+ ],
+ ],
+ 'description' => 'The request result.',
+ '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' => 'GetApiMcpServer',
+ 'changeSet' => [],
+ 'flowControl' => [
+ 'flowControlList' => [],
+ ],
+ 'ramActions' => [
+ [
+ 'operationType' => 'get',
+ 'ramAction' => [
+ 'action' => 'openapiexplorer:GetApiMcpServer',
+ 'authLevel' => 'resource',
+ 'actionConditions' => [],
+ 'resources' => [
+ [
+ '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"}]',
+ ],
+ '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' => [
+ 'type' => 'string',
+ 'description' => 'The request ID.',
+ 'title' => '',
+ 'example' => 'A707AFA8-1A4C-5B2A-A165-8436C1EA38DB',
+ ],
+ 'accountId' => [
+ 'type' => 'string',
+ 'description' => 'The ID of your Alibaba Cloud account.',
+ 'title' => '',
+ 'example' => '162302724684579*',
+ ],
+ '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.',
+ 'title' => '',
+ 'example' => 'true',
+ ],
+ 'vpcWhitelists' => [
+ 'type' => 'array',
+ 'items' => [
+ 'type' => 'string',
+ 'description' => 'The ID of a source VPC in the whitelist.',
+ 'title' => '',
+ 'example' => 'vpc-j6cgd2if5lg**0xs6m5se',
+ ],
+ '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',
+ ],
+ ],
+ 'description' => '',
+ 'title' => '',
+ 'example' => '',
+ ],
+ ],
+ ],
+ 'errorCodes' => [],
+ 'title' => 'GetApiMcpServerUserConfig',
+ 'changeSet' => [],
+ 'flowControl' => [
+ 'flowControlList' => [],
+ ],
+ 'ramActions' => [
+ [
+ 'operationType' => 'get',
+ 'ramAction' => [
+ 'action' => 'openapiexplorer:GetApiMcpServerUserConfig',
+ 'authLevel' => 'resource',
+ 'actionConditions' => [],
+ 'resources' => [
+ [
+ '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',
+ ],
+ 'schemes' => [
+ 'https',
+ ],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'consumes' => [
+ 'application/json',
+ ],
+ 'produces' => [
+ 'application/json',
+ ],
+ 'operationType' => 'read',
+ 'deprecated' => false,
+ 'systemTags' => [
+ 'operationType' => 'get',
+ 'riskType' => 'none',
+ 'chargeType' => 'free',
+ 'abilityTreeNodes' => [
+ 'FEATUREopenapiexplorerFS9SI4',
+ ],
+ 'autoTest' => true,
+ 'tenantRelevance' => 'publicInformation',
+ ],
+ 'parameters' => [
+ [
+ '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' => '',
+ ],
+ ],
+ [
+ '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' => '',
+ ],
+ ],
+ [
+ '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' => '',
+ ],
+ ],
+ [
+ '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' => '',
+ 'required' => false,
+ 'example' => 'zh-CN',
+ ],
+ ],
+ ],
+ 'responses' => [
+ 200 => [
+ 'schema' => [
+ 'title' => 'Schema of Response',
+ 'description' => 'The response parameters.',
+ '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.',
+ 'type' => 'array',
+ 'items' => [
+ 'description' => 'The solution.',
+ '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.',
+ ],
+ ],
+ 'title' => '',
+ 'example' => '',
+ ],
+ 'example' => '',
+ ],
+ 'requestId' => [
+ 'description' => 'The request ID.',
+ 'type' => 'string',
+ 'title' => '',
+ 'example' => 'A707AFA8-1A4C-5B2A-A165-8436C1EA38DB',
+ ],
+ ],
+ 'example' => '',
+ ],
+ ],
+ ],
+ '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.',
+ ],
+ ],
+ 404 => [
+ [
+ '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.',
+ 'changeSet' => [],
+ 'flowControl' => [
+ 'flowControlList' => [],
+ ],
+ 'ramActions' => [],
+ 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"solutions\\": [\\n {\\n \\"content\\": \\"Unsupported transit router status\\\\\\\\n====\\\\\\\\n\\\\\\\\nCause\\\\\\\\n----\\\\\\\\n\\\\\\\\nThe transit router is in an unstable state.\\\\\\\\n\\\\\\\\n* * *\\\\\\\\n\\\\\\\\nSolution\\\\\\\\n----\\\\\\\\n\\\\\\\\nTry again after the transit router enters a stable state. You can check whether the transit router is in a stable state based on the following information.\\\\\\\\n\\\\\\\\nExample\\\\\\\\n------\\\\\\\\n\\\\\\\\nBefore you proceed, make sure that the transit route is in a stable state.\\\\\\\\n\\\\\\\\n1. Go to the console. If the status of the transit router in the Transit Router list is Available, the transit router is in a stable state.\\\\\\\\n\\\\\\\\n2. Call the ListTransitRouters operation. If Active is returned for Status, the transit router is in a stable state.\\",\\n \\"solutionId\\": \\"0017-00000502\\",\\n \\"product\\": \\"Ecs\\",\\n \\"productName\\": \\"Elastic Compute Service\\",\\n \\"errorCode\\": \\"IncorrectStatus.TransitRouter\\",\\n \\"errorMessage\\": \\"The resource is not in a valid state for the operation.\\"\\n }\\n ],\\n \\"requestId\\": \\"A707AFA8-1A4C-5B2A-A165-8436C1EA38DB\\"\\n}","type":"json"}]',
+ ],
+ 'GetOwnRequestLog' => [
+ 'path' => '/getOwnRequestLog',
+ 'methods' => [
+ 'get',
+ ],
+ 'schemes' => [
+ 'https',
+ ],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'consumes' => [
+ 'application/json',
+ 'application/x-www-form-urlencoded',
+ ],
+ 'produces' => [
+ 'application/json',
+ ],
+ 'operationType' => 'read',
+ 'deprecated' => false,
+ 'systemTags' => [
+ 'operationType' => 'get',
+ 'riskType' => 'none',
+ 'chargeType' => 'free',
+ 'abilityTreeNodes' => [
+ 'FEATUREopenapiexplorer64CEGV',
+ ],
+ 'autoTest' => true,
+ 'tenantRelevance' => 'publicInformation',
+ ],
+ 'parameters' => [
+ [
+ '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',
+ ],
+ ],
+ ],
+ 'responses' => [
+ 200 => [
+ 'schema' => [
+ 'title' => 'Schema of Response',
+ 'description' => 'The response schema.',
+ 'type' => 'object',
+ 'properties' => [
+ 'logInfo' => [
+ 'title' => '',
+ 'description' => 'The details of the API request log.',
+ 'type' => 'object',
+ 'properties' => [
+ 'basicInfo' => [
+ 'title' => '',
+ '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",
+ ],
+ 'apiDoc' => [
+ 'title' => '',
+ 'description' => 'Information about the API reference.',
+ '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',
+ ],
+ ],
+ 'example' => '',
+ ],
+ 'apiVersion' => [
+ 'title' => '',
+ 'description' => 'The API version.',
+ '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.',
+ '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",
+ ],
+ ],
+ '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",
+ ],
+ 'accessDeniedDetail' => [
+ 'title' => '',
+ 'description' => 'The details of the permission 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",
+ ],
+ ],
+ '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",
+ ],
+ '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.',
+ 'type' => 'string',
+ 'enum' => [
+ 'FC.PASS',
+ 'FC.DENY',
+ ],
+ 'example' => 'FC.PASS'."\n",
+ ],
+ ],
+ 'example' => '',
+ ],
+ 'callerInfo' => [
+ 'title' => '',
+ 'description' => 'The information about the caller.',
+ '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.',
+ 'type' => 'string',
+ '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",
+ ],
+ ],
+ 'example' => '',
+ ],
+ 'authenticationInfo' => [
+ 'title' => '',
+ 'description' => 'The authentication information.',
+ 'type' => 'object',
+ 'properties' => [
+ '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.',
+ 'type' => 'string',
+ 'enum' => [],
+ 'example' => 'HMAC-SHA256',
+ ],
+ '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.',
+ 'type' => 'string',
+ 'enum' => [],
+ 'example' => 'AK',
+ ],
+ ],
+ 'example' => '',
+ ],
+ 'parameters' => [
+ 'title' => '',
+ 'description' => 'The request parameters.',
+ '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",
+ ],
+ ],
+ 'description' => '',
+ 'title' => '',
+ 'example' => '',
+ ],
+ 'example' => '',
+ ],
+ 'responses' => [
+ 'title' => '',
+ 'description' => 'The information returned 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",
+ ],
+ ],
+ 'example' => '',
+ ],
+ ],
+ 'example' => '',
+ ],
+ 'requestId' => [
+ 'title' => '',
+ 'description' => 'The ID of the request.',
+ 'type' => 'string',
+ 'example' => ' '."\n"
+ .'9BFC4AC1-6BE4-5405-BDEC-CA288D404812'."\n",
+ ],
+ ],
+ 'example' => '',
+ ],
+ ],
+ ],
+ '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.',
+ ],
+ ],
+ 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.',
+ ],
+ ],
+ ],
+ '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.',
+ '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"}]',
+ ],
+ 'GetProductEndpoints' => [
+ 'path' => '/product/endpoints',
+ '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 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',
+ ],
+ ],
+ ],
+ 'responses' => [
+ 200 => [
+ 'schema' => [
+ 'type' => 'object',
+ 'properties' => [],
+ 'description' => 'The endpoint information.',
+ 'title' => '',
+ 'example' => '',
+ ],
+ ],
+ ],
+ 'errorCodes' => [],
+ 'staticInfo' => [
+ 'returnType' => 'synchronous',
+ ],
+ 'title' => 'GetProductEndpoints',
+ 'summary' => 'Retrieves the endpoint information for a product.',
+ 'changeSet' => [],
+ 'flowControl' => [
+ 'flowControlList' => [],
+ ],
+ 'ramActions' => [],
+ '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',
+ ],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'consumes' => [
+ 'application/json',
+ 'application/x-www-form-urlencoded',
+ ],
+ 'produces' => [
+ 'application/json',
+ ],
+ 'operationType' => 'read',
+ 'deprecated' => false,
+ 'systemTags' => [
+ 'operationType' => 'get',
+ 'riskType' => 'none',
+ 'chargeType' => 'free',
+ 'abilityTreeNodes' => [
+ 'FEATUREopenapiexplorer64CEGV',
+ ],
+ 'autoTest' => true,
+ 'tenantRelevance' => 'publicInformation',
+ ],
+ 'parameters' => [
+ [
+ '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' => '',
+ ],
+ ],
+ ],
+ 'responses' => [
+ 200 => [
+ 'description' => '查询成功',
+ 'schema' => [
+ 'title' => 'Schema of Response',
+ 'description' => 'The response schema.',
+ 'type' => 'object',
+ 'properties' => [
+ 'logInfo' => [
+ 'title' => '',
+ 'description' => 'The details of the API request log.',
+ 'type' => 'object',
+ 'properties' => [
+ 'basicInfo' => [
+ 'title' => '',
+ 'description' => 'The basic information about the API request.',
+ 'type' => 'object',
+ 'properties' => [
+ 'api' => [
+ 'description' => 'The name of the API that was called.',
+ 'type' => 'string',
+ 'title' => '',
+ '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',
+ ],
+ ],
+ 'example' => '',
+ ],
+ 'apiVersion' => [
+ 'description' => 'The API version.',
+ 'type' => 'string',
+ 'title' => '',
+ 'example' => '2014-05-26',
+ ],
+ 'product' => [
+ 'description' => 'The product code.',
+ 'type' => 'string',
+ 'title' => '',
+ 'example' => 'Ecs',
+ ],
+ 'productName' => [
+ 'title' => '',
+ 'description' => 'The product name, which includes the Chinese and English names.',
+ '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',
+ ],
+ ],
+ '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.',
+ ],
+ '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.',
+ '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' => '-',
+ ],
+ ],
+ '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',
+ ],
+ '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' => '',
+ 'example' => 'FC.PASS',
+ ],
+ ],
+ 'example' => '',
+ ],
+ 'callerInfo' => [
+ 'title' => '',
+ 'description' => 'The information about the caller.',
+ '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.',
+ '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',
+ ],
+ ],
+ 'example' => '',
+ ],
+ 'authenticationInfo' => [
+ 'title' => '',
+ 'description' => 'The authentication information.',
+ 'type' => 'object',
+ 'properties' => [
+ 'signatureVersion' => [
+ 'description' => 'The signature version.',
+ 'type' => 'string',
+ 'title' => '',
+ '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.',
+ '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.',
+ 'type' => 'string',
+ 'enum' => [],
+ 'title' => '',
+ 'example' => 'AK',
+ ],
+ ],
+ 'example' => '',
+ ],
+ 'parameters' => [
+ 'title' => '',
+ 'description' => 'The request parameter information.',
+ 'type' => 'array',
+ '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',
+ ],
+ ],
+ 'description' => '',
+ 'title' => '',
+ 'example' => '',
+ ],
+ 'example' => '',
+ ],
+ 'responses' => [
+ 'title' => '',
+ 'description' => 'The response information that corresponds to 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',
+ ],
+ ],
+ 'example' => '',
+ ],
+ ],
+ 'example' => '',
+ ],
+ 'requestId' => [
+ 'description' => 'The ID of the request.',
+ 'type' => 'string',
+ 'title' => '',
+ 'example' => '9BFC4AC1-6BE4-5405-BDEC-CA288D404812',
+ ],
+ ],
+ 'example' => '',
+ ],
+ ],
+ ],
+ '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.',
+ ],
+ ],
+ 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.',
+ ],
+ ],
+ ],
+ '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',
+ 'changeSet' => [],
+ 'flowControl' => [
+ 'flowControlList' => [],
+ ],
+ 'ramActions' => [
+ [
+ 'operationType' => 'get',
+ 'ramAction' => [
+ 'action' => 'openapiexplorer:GetRequestLog',
+ 'authLevel' => 'operate',
+ 'actionConditions' => [],
+ 'resources' => [
+ [
+ 'validationType' => 'always',
+ 'product' => 'OpenAPIExplorer',
+ 'resourceType' => 'All Resource',
+ 'arn' => '*',
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ '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' => '',
+ 'example' => '',
+ ],
+ ],
+ ],
+ 'errorCodes' => [],
+ 'staticInfo' => [
+ 'returnType' => 'synchronous',
+ ],
+ 'title' => 'ListApiDefinitions',
+ 'changeSet' => [],
+ 'flowControl' => [
+ 'flowControlList' => [],
+ ],
+ 'ramActions' => [],
+ 'responseDemo' => '[{"errorExample":"","example":"{}","type":"json"}]',
+ ],
+ 'ListApiMcpServerSystemTools' => [
+ 'summary' => 'Lists the system tools supported by the MCP service.',
+ 'path' => '/mcpSystemTools',
+ 'methods' => [
+ 'get',
+ ],
+ 'schemes' => [
+ 'https',
+ ],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'consumes' => [
+ 'application/json',
+ ],
+ 'produces' => [
+ 'application/json',
+ ],
+ 'operationType' => 'read',
+ 'systemTags' => [
+ 'operationType' => 'list',
+ 'riskType' => 'none',
+ 'chargeType' => 'free',
+ 'abilityTreeNodes' => [
+ 'FEATUREopenapiexplorer7MPML0',
+ ],
+ 'tenantRelevance' => 'publicInformation',
+ ],
+ 'parameters' => [
+ [
+ 'name' => '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',
+ ],
+ ],
+ [
+ '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',
+ ],
+ ],
+ [
+ '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',
+ ],
+ ],
+ ],
+ 'responses' => [
+ 200 => [
+ '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',
+ ],
+ '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',
+ ],
+ ],
+ 'description' => 'A system tool.',
+ 'title' => '',
+ 'example' => '',
+ ],
+ 'description' => 'The list of system tools.',
+ 'title' => '',
+ 'example' => '',
+ ],
+ ],
+ 'description' => 'The request result.',
+ 'title' => '',
+ 'example' => '',
+ ],
+ ],
+ ],
+ 'errorCodes' => [
+ 400 => [
+ [
+ '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' => '',
+ ],
+ ],
+ ],
+ 'title' => 'ListApiMcpServerSystemTools',
+ 'changeSet' => [],
+ 'flowControl' => [
+ 'flowControlList' => [],
+ ],
+ 'ramActions' => [
+ [
+ 'operationType' => 'list',
+ 'ramAction' => [
+ 'action' => 'openapiexplorer:ListApiMcpServerSystemTools',
+ 'authLevel' => 'operate',
+ 'actionConditions' => [],
+ 'resources' => [
+ [
+ 'validationType' => 'always',
+ 'product' => 'OpenAPIExplorer',
+ 'resourceType' => 'All Resource',
+ 'arn' => '*',
+ ],
+ ],
+ ],
+ ],
+ ],
+ 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"requestId\\": \\"9BFC4AC1-6BE4-5405-BDEC-CA288D404812\\",\\n \\"nextToken\\": \\"AAAAAZjtYxxxxxxxx\\",\\n \\"maxResults\\": 20,\\n \\"totalCount\\": 22,\\n \\"systemTools\\": [\\n {\\n \\"name\\": \\"mcp-system\\",\\n \\"description\\": \\"system tool description\\"\\n }\\n ]\\n}","type":"json"}]',
+ ],
+ 'ListApiMcpServers' => [
+ 'summary' => 'This operation queries a list of all API MCP servers in an Alibaba Cloud account.',
+ 'path' => '/apimcpservers',
+ 'methods' => [
+ 'get',
+ ],
+ 'schemes' => [
+ 'https',
+ ],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'consumes' => [
+ 'application/json',
+ ],
+ 'produces' => [
+ 'application/json',
+ ],
+ 'operationType' => 'read',
+ 'systemTags' => [
+ 'operationType' => 'list',
+ 'riskType' => 'none',
+ 'chargeType' => 'free',
+ 'abilityTreeNodes' => [
+ 'FEATUREopenapiexplorer7MPML0',
+ ],
+ 'tenantRelevance' => 'publicInformation',
+ ],
+ 'parameters' => [
+ [
+ 'name' => 'id',
+ 'in' => 'query',
+ 'schema' => [
+ 'type' => 'string',
+ 'description' => 'The ID of the API MCP service.',
+ 'required' => false,
+ 'title' => '',
+ 'example' => 'v6ZZ7ftCzEILW***',
+ ],
+ ],
+ [
+ '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',
+ ],
+ ],
+ [
+ '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',
+ ],
+ ],
+ [
+ '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',
+ ],
+ ],
+ [
+ 'name' => 'description',
+ 'in' => 'query',
+ 'schema' => [
+ 'type' => 'string',
+ 'description' => 'The description of the API MCP service.',
+ 'required' => false,
+ 'title' => '',
+ 'example' => '这是一个API MCP服务器。',
+ ],
+ ],
+ [
+ 'name' => 'language',
+ 'in' => 'query',
+ 'schema' => [
+ '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\\`.',
+ 'required' => false,
+ 'title' => '',
+ 'example' => 'ZH_CN',
+ ],
+ ],
+ [
+ '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',
+ ],
+ ],
+ [
+ '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',
+ ],
+ ],
+ [
+ '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',
+ ],
+ ],
+ [
+ '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',
+ ],
+ ],
+ ],
+ 'responses' => [
+ 200 => [
+ 'schema' => [
+ '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',
+ ],
+ 'apiMcpServers' => [
+ 'type' => 'array',
+ 'items' => [
+ '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服务器。',
+ ],
+ 'apis' => [
+ 'type' => 'array',
+ 'items' => [
+ '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',
+ ],
+ 'selectors' => [
+ 'type' => 'array',
+ 'items' => [
+ 'type' => 'string',
+ 'description' => 'An API name matching rule.',
+ 'title' => '',
+ 'example' => '*Bucket',
+ ],
+ 'description' => 'A list of API name matching rules.',
+ 'title' => '',
+ 'example' => '',
+ ],
+ ],
+ 'description' => 'The API information.',
+ 'title' => '',
+ 'example' => '',
+ ],
+ 'description' => 'A list of API information.',
+ 'title' => '',
+ 'example' => '',
+ ],
+ 'additionalApiDescriptions' => [
+ 'type' => 'array',
+ 'items' => [
+ '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',
+ ],
+ 'constParameters' => [
+ 'type' => 'array',
+ 'items' => [
+ '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',
+ ],
+ ],
+ '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',
+ ],
+ 'prompts' => [
+ 'type' => 'array',
+ 'items' => [
+ '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}}',
+ ],
+ 'arguments' => [
+ 'type' => 'array',
+ 'items' => [
+ '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',
+ ],
+ ],
+ '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' => [
+ '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',
+ ],
+ 'urls' => [
+ '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',
+ ],
+ ],
+ 'description' => 'The connection information for the API MCP service.',
+ 'title' => '',
+ 'example' => '',
+ ],
+ 'systemTools' => [
+ 'type' => 'array',
+ 'items' => [
+ 'type' => 'string',
+ 'description' => 'The name of the system tool.',
+ 'title' => '',
+ 'example' => 'FetchRamActionDetails',
+ ],
+ 'description' => 'A list of system tools.',
+ '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',
+ ],
+ 'systemMcpServerInfo' => [
+ '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',
+ ],
+ ],
+ '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"
+ .'}',
+ ],
+ 'terraformTools' => [
+ 'type' => 'array',
+ 'items' => [
+ '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',
+ ],
+ '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"
+ ."\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' => '',
+ 'example' => 'ON_FAILURE',
+ ],
+ ],
+ 'description' => 'A Terraform tool.',
+ 'title' => '',
+ 'example' => '',
+ ],
+ 'description' => 'A list of Terraform tools.',
+ 'title' => '',
+ 'example' => '',
+ ],
+ 'publicAccess' => [
+ 'type' => 'string',
+ 'enum' => [
+ 'on',
+ 'off',
+ 'follow',
+ ],
+ 'description' => 'Specifies whether to enable access over the Internet.',
+ 'title' => '',
+ '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',
+ ],
+ 'vpcWhitelists' => [
+ '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.',
+ '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' => '',
+ ],
+ ],
+ ],
+ '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' => 'ListApiMcpServers',
+ 'changeSet' => [],
+ 'flowControl' => [
+ 'flowControlList' => [],
+ ],
+ 'ramActions' => [
+ [
+ 'operationType' => 'list',
+ 'ramAction' => [
+ 'action' => 'openapiexplorer:ListApiMcpServers',
+ 'authLevel' => 'resource',
+ 'actionConditions' => [],
+ 'resources' => [
+ [
+ 'validationType' => 'always',
+ 'product' => 'OpenAPIExplorer',
+ 'resourceType' => 'ApiMcpServer',
+ 'arn' => 'acs:openapiexplorer::{#accountId}:apimcpserver/*',
+ ],
+ ],
+ ],
+ ],
+ ],
+ 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"requestId\\": \\"\\\\t\\\\n9BFC4AC1-6BE4-5405-BDEC-CA288D404812\\\\n\\",\\n \\"nextToken\\": \\"AAAAAZjtYxxxxxxxx\\",\\n \\"totalCount\\": 5,\\n \\"maxResults\\": 30,\\n \\"apiMcpServers\\": [\\n {\\n \\"id\\": \\"v6ZZ7ftCzEILW***\\",\\n \\"description\\": \\"这是一个API MCP服务器。\\",\\n \\"apis\\": [\\n {\\n \\"product\\": \\"Ecs\\",\\n \\"apiVersion\\": \\"2014-05-26\\",\\n \\"selectors\\": [\\n \\"*Bucket\\"\\n ]\\n }\\n ],\\n \\"additionalApiDescriptions\\": [\\n {\\n \\"product\\": \\"Ecs\\",\\n \\"apiVersion\\": \\"2014-05-26\\",\\n \\"apiName\\": \\"DescribeRegions\\",\\n \\"apiOverrideJson\\": \\"{\\\\n \\\\\\"summary\\\\\\": \\\\\\"本接口支持根据不同请求条件查询实例列表,并关联查询实例的详细信息。\\\\\\"\\\\n}\\",\\n \\"executeCliCommand\\": true,\\n \\"enableOutputSchema\\": true,\\n \\"constParameters\\": [\\n {\\n \\"key\\": \\"InstanceId\\",\\n \\"value\\": \\"1234\\"\\n }\\n ]\\n }\\n ],\\n \\"createTime\\": \\"2024-12-10T03:20:21Z\\",\\n \\"updateTime\\": \\"2025-01-10T02:11:43Z\\",\\n \\"prompts\\": [\\n {\\n \\"name\\": \\"test\\",\\n \\"description\\": \\"prompt description\\",\\n \\"content\\": \\"prompt正文,{{name}}\\",\\n \\"arguments\\": [\\n {\\n \\"name\\": \\"test\\",\\n \\"description\\": \\"argument description\\",\\n \\"required\\": true\\n }\\n ]\\n }\\n ],\\n \\"language\\": \\"ZH_CN\\",\\n \\"urls\\": {\\n \\"sse\\": \\"https://openapi-mcp.cn-hangzhou.aliyuncs.com/accounts/xxxx/custom/xxx/id/xxxx/sse\\",\\n \\"mcp\\": \\"https://openapi-mcp.cn-hangzhou.aliyuncs.com/accounts/xxxx/custom/xxx/id/xxxx/mcp\\",\\n \\"vpcSse\\": \\"https://openapi-mcp-cn.vpc-proxy.aliyuncs.com/accounts/xxxx/custom/xxx/id/xxxx/sse\\",\\n \\"vpcMcp\\": \\"https://openapi-mcp-cn.vpc-proxy.aliyuncs.com/accounts/xxxx/custom/xxx/id/xxxx/mcp\\"\\n },\\n \\"systemTools\\": [\\n \\"FetchRamActionDetails\\"\\n ],\\n \\"name\\": \\"mcp-demo\\",\\n \\"sourceType\\": \\"system\\",\\n \\"systemMcpServerInfo\\": {\\n \\"product\\": \\"Ecs\\",\\n \\"name\\": \\"mcp-system\\"\\n },\\n \\"oauthClientId\\": \\"403*************370\\",\\n \\"instructions\\": \\"test\\",\\n \\"enableAssumeRole\\": true,\\n \\"assumeRoleName\\": \\"test\\",\\n \\"assumeRoleExtraPolicy\\": \\"{\\\\n \\\\\\"Version\\\\\\": \\\\\\"1\\\\\\",\\\\n \\\\\\"Statement\\\\\\": [\\\\n {\\\\n \\\\\\"Effect\\\\\\": \\\\\\"Allow\\\\\\",\\\\n \\\\\\"Action\\\\\\": [\\\\n \\\\\\"ecs:Describe*\\\\\\",\\\\n \\\\\\"vpc:Describe*\\\\\\",\\\\n \\\\\\"vpc:List*\\\\\\"\\\\n ],\\\\n \\\\\\"Resource\\\\\\": \\\\\\"*\\\\\\"\\\\n }\\\\n ]\\\\n}\\",\\n \\"terraformTools\\": [\\n {\\n \\"code\\": \\"variable \\\\\\"name\\\\\\" {\\\\n default = \\\\\\"terraform-example\\\\\\"\\\\n}\\\\n\\\\nprovider \\\\\\"alicloud\\\\\\" {\\\\n region = \\\\\\"cn-beijing\\\\\\"\\\\n}\\\\n\\\\nresource \\\\\\"alicloud_vpc\\\\\\" \\\\\\"default\\\\\\" {\\\\n ipv6_isp = \\\\\\"BGP\\\\\\"\\\\n description = \\\\\\"test\\\\\\"\\\\n cidr_block = \\\\\\"10.0.0.0/8\\\\\\"\\\\n vpc_name = var.name\\\\n enable_ipv6 = true\\\\n}\\",\\n \\"name\\": \\"test\\",\\n \\"description\\": \\"Terraform Tool description\\",\\n \\"async\\": true,\\n \\"destroyPolicy\\": \\"ON_FAILURE\\"\\n }\\n ],\\n \\"publicAccess\\": \\"on\\",\\n \\"enableCustomVpcWhitelist\\": true,\\n \\"vpcWhitelists\\": [\\n \\"vpc-j6cgd2if5lg**0xs6m5se\\"\\n ]\\n }\\n ]\\n}","type":"json"}]',
+ ],
+ 'UpdateApiMcpServer' => [
+ 'summary' => 'Updates an API MCP service.',
+ 'path' => '/apimcpserver',
+ 'methods' => [
+ 'patch',
+ ],
+ 'schemes' => [
+ 'https',
+ ],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'consumes' => [
+ 'application/json',
+ ],
+ 'produces' => [
+ 'application/json',
+ ],
+ 'operationType' => 'write',
+ 'systemTags' => [
+ 'operationType' => 'update',
+ 'riskType' => 'none',
+ 'chargeType' => 'free',
+ 'abilityTreeNodes' => [
+ 'FEATUREopenapiexplorer7MPML0',
+ ],
+ ],
+ 'parameters' => [
+ [
+ 'name' => 'clientToken',
+ 'in' => 'query',
+ 'schema' => [
+ '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',
+ ],
+ ],
+ [
+ 'name' => 'id',
+ 'in' => 'query',
+ 'schema' => [
+ 'type' => 'string',
+ 'required' => true,
+ 'description' => 'The ID of the API MCP service.',
+ 'title' => '',
+ 'example' => 'v6ZZ7ftCzEILW***',
+ ],
+ ],
+ [
+ 'name' => 'body',
+ 'in' => 'body',
+ 'style' => 'json',
+ 'schema' => [
+ 'type' => 'object',
+ 'properties' => [
+ 'description' => [
+ 'type' => 'string',
+ 'description' => 'The description of the API MCP server.',
+ 'required' => false,
+ 'title' => '',
+ 'example' => '这是一个API MCP服务器。',
+ ],
+ 'apis' => [
+ 'type' => 'array',
+ 'items' => [
+ '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',
+ ],
+ 'selectors' => [
+ 'type' => 'array',
+ 'items' => [
+ 'type' => 'string',
+ 'required' => false,
+ 'description' => 'An API name matching rule.',
+ 'title' => '',
+ 'example' => '*Bucket',
+ ],
+ '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' => [
+ 'type' => 'array',
+ 'items' => [
+ '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',
+ ],
+ 'constParameters' => [
+ 'type' => 'array',
+ 'items' => [
+ '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',
+ ],
+ ],
+ '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' => [
+ 'type' => 'array',
+ 'items' => [
+ '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}}',
+ ],
+ 'arguments' => [
+ 'type' => 'array',
+ 'items' => [
+ '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',
+ ],
+ ],
+ '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' => [
+ '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.',
+ 'required' => false,
+ 'title' => '',
+ 'example' => 'ZH_CN',
+ ],
+ 'systemTools' => [
+ 'type' => 'array',
+ 'items' => [
+ 'type' => 'string',
+ 'description' => 'The name of the system tool.',
+ 'required' => false,
+ 'title' => '',
+ 'example' => 'FetchRamActionDetails',
+ ],
+ 'description' => 'A list of system tools.',
+ '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"
+ .'}',
+ ],
+ 'publicAccess' => [
+ 'type' => 'string',
+ 'enum' => [
+ 'on',
+ 'off',
+ 'follow',
+ ],
+ 'description' => 'Specifies whether to enable public network access.',
+ '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',
+ ],
+ 'terraformTools' => [
+ 'type' => 'array',
+ 'items' => [
+ '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',
+ ],
+ '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"
+ ."\n"
+ .'- ON\\_FAILURE: Deletes related resources only if the task fails. If the task succeeds, the resources are retained.',
+ 'required' => false,
+ 'title' => '',
+ 'example' => 'ON_FAILURE',
+ ],
+ ],
+ 'description' => 'A Terraform tool.',
+ 'required' => false,
+ 'title' => '',
+ 'example' => '',
+ ],
+ 'description' => 'A list of Terraform tools.',
+ 'required' => false,
+ 'title' => '',
+ 'example' => '',
+ ],
+ 'vpcWhitelists' => [
+ '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.',
+ 'required' => false,
+ 'title' => '',
+ 'example' => '',
+ ],
+ ],
+ 'description' => 'The request body.',
+ 'required' => false,
+ 'title' => '',
+ 'example' => '',
+ ],
+ ],
+ ],
+ 'responses' => [
+ 200 => [
+ 'schema' => [
+ 'type' => 'object',
+ 'properties' => [
+ 'requestId' => [
+ 'type' => 'string',
+ 'description' => 'The request ID.',
+ 'title' => '',
+ 'example' => ' '."\n"
+ .'9BFC4AC1-6BE4-5405-BDEC-CA288D404812'."\n",
+ ],
+ ],
+ 'description' => 'The request result.',
+ 'title' => '',
+ 'example' => '',
+ ],
+ ],
+ ],
+ '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.',
+ ],
+ ],
+ 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' => '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.',
+ ],
+ ],
+ ],
+ 'title' => 'UpdateApiMcpServer',
+ 'changeSet' => [],
+ 'flowControl' => [
+ 'flowControlList' => [],
+ ],
+ 'ramActions' => [
+ [
+ 'operationType' => 'update',
+ 'ramAction' => [
+ 'action' => 'openapiexplorer:UpdateApiMcpServer',
+ 'authLevel' => 'resource',
+ 'actionConditions' => [],
+ 'resources' => [
+ [
+ '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"}]',
+ ],
+ 'UpdateApiMcpServerUserConfig' => [
+ 'path' => '/userconfig/update',
+ 'methods' => [
+ 'patch',
+ ],
+ 'schemes' => [
+ 'https',
+ ],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'consumes' => [
+ 'application/json',
+ ],
+ 'produces' => [
+ 'application/json',
+ ],
+ 'operationType' => 'write',
+ 'systemTags' => [
+ 'operationType' => 'update',
+ 'riskType' => 'none',
+ 'chargeType' => 'free',
+ 'abilityTreeNodes' => [
+ 'FEATUREopenapiexplorer7MPML0',
+ ],
+ 'tenantRelevance' => 'publicInformation',
+ ],
+ 'parameters' => [
+ [
+ 'name' => 'body',
+ 'in' => 'body',
+ 'style' => 'json',
+ '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',
+ ],
+ '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',
+ ],
+ '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' => '',
+ 'example' => '',
+ ],
+ ],
+ 'description' => 'The request body.',
+ 'required' => false,
+ 'title' => '',
+ 'example' => '',
+ ],
+ ],
+ ],
+ 'responses' => [
+ 200 => [
+ 'schema' => [
+ 'type' => 'object',
+ 'properties' => [
+ 'requestId' => [
+ 'type' => 'string',
+ 'description' => 'The request ID.',
+ 'title' => '',
+ 'example' => ' '."\n"
+ .'9BFC4AC1-6BE4-5405-BDEC-CA288D404812'."\n",
+ ],
+ ],
+ 'description' => 'The response.',
+ 'title' => '',
+ 'example' => '',
+ ],
+ ],
+ ],
+ 'errorCodes' => [],
+ 'title' => 'UpdateApiMcpServerUserConfig',
+ 'summary' => 'Updates the global API MCP Server configuration for a user.',
+ 'changeSet' => [],
+ 'flowControl' => [
+ 'flowControlList' => [],
+ ],
+ 'ramActions' => [
+ [
+ 'operationType' => 'patch',
+ 'ramAction' => [
+ 'action' => 'openapiexplorer:UpdateApiMcpServerUserConfig',
+ 'authLevel' => 'resource',
+ 'actionConditions' => [],
+ 'resources' => [
+ [
+ 'validationType' => 'always',
+ 'product' => 'OpenAPIExplorer',
+ 'resourceType' => 'All Resource',
+ 'arn' => '*',
+ ],
+ ],
+ ],
+ ],
+ ],
+ 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"requestId\\": \\"\\\\t\\\\n9BFC4AC1-6BE4-5405-BDEC-CA288D404812\\\\n\\"\\n}","type":"json"}]',
+ ],
+ ],
+ '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' => '',
+ ],
+ ],
+ '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.',
+ ],
+ ],
+ 'changeSet' => [],
+ 'flowControl' => [
+ 'flowControlList' => [],
+ ],
+ 'ram' => [
+ 'productCode' => 'OpenAPIExplorer',
+ 'productName' => 'OpenAPI Explorer',
+ 'ramCodes' => [
+ 'openapiexplorer',
+ ],
+ 'ramLevel' => 'RESOURCE',
+ 'ramConditions' => [],
+ 'ramActions' => [
+ [
+ 'apiName' => 'UpdateApiMcpServer',
+ 'description' => '',
+ 'operationType' => 'update',
+ 'ramAction' => [
+ 'action' => 'openapiexplorer:UpdateApiMcpServer',
+ 'authLevel' => 'resource',
+ 'actionConditions' => [],
+ 'resources' => [
+ [
+ 'validationType' => 'always',
+ 'product' => 'OpenAPIExplorer',
+ 'resourceType' => 'ApiMcpServer',
+ 'arn' => 'acs:openapiexplorer::{#accountId}:apimcpserver/{#id}',
+ ],
+ ],
+ ],
+ ],
+ [
+ 'apiName' => 'GetApiMcpServer',
+ 'description' => '',
+ 'operationType' => 'get',
+ 'ramAction' => [
+ 'action' => 'openapiexplorer:GetApiMcpServer',
+ 'authLevel' => 'resource',
+ 'actionConditions' => [],
+ 'resources' => [
+ [
+ 'validationType' => 'always',
+ 'product' => 'OpenAPIExplorer',
+ 'resourceType' => 'ApiMcpServer',
+ 'arn' => 'acs:openapiexplorer::{#accountId}:apimcpserver/{#id}',
+ ],
+ ],
+ ],
+ ],
+ [
+ 'apiName' => 'ListApiMcpServerSystemTools',
+ 'description' => '',
+ 'operationType' => 'list',
+ 'ramAction' => [
+ 'action' => 'openapiexplorer:ListApiMcpServerSystemTools',
+ 'authLevel' => 'operate',
+ 'actionConditions' => [],
+ 'resources' => [
+ [
+ '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' => '*',
+ ],
+ ],
+ ],
+ ],
+ [
+ 'apiName' => 'GenerateCLICommand',
+ 'description' => '',
+ 'operationType' => 'none',
+ 'ramAction' => [
+ 'action' => 'openapiexplorer:GenerateCLICommand',
+ 'authLevel' => 'operate',
+ 'actionConditions' => [],
+ 'resources' => [
+ [
+ 'validationType' => 'always',
+ 'product' => 'OpenAPIExplorer',
+ 'resourceType' => 'All Resource',
+ 'arn' => '*',
+ ],
+ ],
+ ],
+ ],
+ [
+ 'apiName' => 'DeleteApiMcpServer',
+ 'description' => '',
+ 'operationType' => 'delete',
+ 'ramAction' => [
+ 'action' => 'openapiexplorer:DeleteApiMcpServer',
+ 'authLevel' => 'resource',
+ 'actionConditions' => [],
+ 'resources' => [
+ [
+ 'validationType' => 'always',
+ 'product' => 'OpenAPIExplorer',
+ 'resourceType' => 'ApiMcpServer',
+ 'arn' => 'acs:openapiexplorer::{#accountId}:apimcpserver/{#id}',
+ ],
+ ],
+ ],
+ ],
+ [
+ 'apiName' => 'GetApiMcpServerUserConfig',
+ 'description' => '',
+ 'operationType' => 'get',
+ 'ramAction' => [
+ 'action' => 'openapiexplorer:GetApiMcpServerUserConfig',
+ 'authLevel' => 'resource',
+ 'actionConditions' => [],
+ 'resources' => [
+ [
+ 'validationType' => 'always',
+ 'product' => 'OpenAPIExplorer',
+ 'resourceType' => 'All Resource',
+ 'arn' => '*',
+ ],
+ ],
+ ],
+ ],
+ [
+ 'apiName' => 'CreateApiMcpServer',
+ 'description' => '',
+ 'operationType' => 'create',
+ 'ramAction' => [
+ 'action' => 'openapiexplorer:CreateApiMcpServer',
+ 'authLevel' => 'resource',
+ 'actionConditions' => [],
+ 'resources' => [
+ [
+ 'validationType' => 'always',
+ 'product' => 'OpenAPIExplorer',
+ 'resourceType' => 'ApiMcpServer',
+ 'arn' => 'acs:openapiexplorer::{#accountId}:apimcpserver/*',
+ ],
+ ],
+ ],
+ ],
+ [
+ 'apiName' => 'ApiMcpServerValidateHcl',
+ 'description' => '',
+ 'operationType' => 'none',
+ 'ramAction' => [
+ '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' => '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/*',
+ ],
+ ],
+ ],
+ ],
+ ],
+ '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/*',
+ ],
+ ],
+ ],
+];