# MuleSoft DX MCP Server The MuleSoft DX MCP Server is a Model Context Protocol (MCP) implementation that facilitates interaction between large language models (LLMs) and the Anypoint Platform. Create and deploy Mule applicat... - **Version:** 1.3.1 - **MCP Spec:** [mcp.yaml](https://dev-portal.mulesoft.com/mcps/mulesoft-mcp-server/mcp.yaml) ## Tools (21) ### create_mule_project Create an integration project. **Input Parameters:** | Parameter | Type | Description | Required | |-----------|------|-------------|----------| | `projectPath` | string | Optional directory to create project in (defaults to current workspace) | no | | `projectName` | string | Optional name for the project (defaults to a generated name) | no | ### generate_mule_flow Generate, modify, or enhance Mule flows or subflows. Always Use this tool for ANY request involving flow/sub-flow changes or modifications, including: Java method calls, logging, Salesforce operations, adding connectors, transformations, or any flow/sub-flow modifications. **Input Parameters:** | Parameter | Type | Description | Required | |-----------|------|-------------|----------| | `projectPath` | string | Path to the existing Mule project directory where the flow should be modified | yes | | `projectXmlPath` | string | Path to the existing Mule project xml file where the flow should be modified | yes | | `originalPrompt` | string | MUST be the original user query without any modifications - use for requests like: updating flows, adding Java methods, logging, Salesforce operations, connectors, or any flow changes | yes | | `xmlContent` | string | Provide all relevant flow or sub-flow sections from the app.xml that are necessary to understand and fulfill the user request. This applies to both creating a new flow and updating an existing one. If the request depends on or references multiple flows or sub-flows (e.g., creating a new flow that calls an existing flow via flow-ref), include ALL those relevant sections together in a single call for proper context. If a single flow is too large, include only the specific valid section or sub-section requested by the user, wrapped inside <flow>...</flow>. Exclude connector configurations and global elements. For new projects with no existing XML content, provide an empty string. | yes | | `globalConfigPath` | string | FILE PATH (not file contents) to the existing global.xml or connector config xml file. MUST provide the full path to the file if it exists (e.g., /path/to/project/src/main/mule/global.xml). If the file exists in the project, you MUST provide its path. If not provided, will automatically look for src/main/mule/global.xml in the project directory | no | | `projectPomPath` | string | FILE PATH (not file contents) to the existing pom.xml file. MUST provide the full path to the file if it exists (e.g., /path/to/project/pom.xml). If the file exists in the project, you MUST provide its path. If not provided, will automatically look for pom.xml in the project root directory | no | | `connectorGavs` | array | Optional list of connector coordinates in groupId:assetId:version format (e.g., ["com.mulesoft.connectors:mule-salesforce-connector:10.18.0"]). Use when connectors are pre-determined from a technical summary. | no | ### create_mcp_server Create a MuleSoft MCP server. This tool handles requests for creating MCP servers using the Anypoint Connector for MCP (MCP Connector). Prerequisite: Install the MCP Connector. **Input Parameters:** | Parameter | Type | Description | Required | |-----------|------|-------------|----------| | `projectPath` | string | Path where the Mule project folder is located. | yes | | `projectXmlPath` | string | Path where the Mule project XML file is located. | yes | | `originalPrompt` | string | The original user input without modifications. Use this input for requests to update a flow, add a Java method, logging, and any other flow changes. | yes | ### deploy_mule_application Deploy your application to CloudHub 2.0 or Runtime Fabric and run it. You can deploy from a local project or Anypoint Exchange asset. This tool supports security, high availability, and performance optimization deployment options. **Input Parameters:** | Parameter | Type | Description | Required | |-----------|------|-------------|----------| | `projectPath` | string | Optional. Path to Maven project root directory. | no | | `groupId` | string | Optional. Group ID of the asset in Anypoint Exchange. | no | | `artifactId` | string | Optional. Artifact ID of the asset in Anypoint Exchange. | no | | `version` | string | Optional. Version of the asset or application. | no | | `organizationId` | string | Optional. The ID of the organization to deploy the application to. | no | | `secure` | boolean | Optional. Enables enhanced security features. | no | | `highAvailability` | boolean | Optional. Enables high availability features. | no | | `performanceOptimization` | boolean | Optional. Enable performance optimization features. | no | | `minimumReplicas` | number | Optional. Minimum number of replicas if high availability or performance optimization is enabled. Minimum is 1. | no | | `appName` | string | Optional. The name of the application you want to deploy. | no | | `environmentName` | string | Optional. Name of the environment to deploy the app to. | no | | `deploymentTargetName` | string | Optional. Name of the deployment target. | no | | `runtimeVersion` | string | Optional. Runtime version to use. | no | ### list_applications Get information about all applications in the environment you specify. You can also specify an optional deployment name. Results are sorted by last update date and time, in descending order. **Input Parameters:** | Parameter | Type | Description | Required | |-----------|------|-------------|----------| | `environmentName` | string | Name of the environment to list applications from. | yes | | `appName` | string | Optional. Specify an application you want to search for. | no | | `organizationId` | string | Optional. The ID of the organization to list applications from. | no | | `page` | number | The page number of the result. | no | | `includeCpuMetrics` | boolean | Set value to true to include CPU metrics when searching for an application. | no | | `includeHeapMetrics` | boolean | Set value to true to include used and total heap metrics when searching for an application. | no | | `includeLogs` | boolean | Set value to true to include logs from searching for an application. Maximum 500 entries. | no | | `logLevel` | string | If Include Log is true, this parameter contains the level of log detail. Valid values are INFO, DEBUG, WARN, ERROR. Default is ERROR. | no | | `logsPage` | number | Page number of log. Maximum is 20. Default is 1. | no | | `timeFrame` | string | Optional. If Include CPU Metrics, Include Help Metrics Or Include Logs is true, then this parameter contains the timeframe for metrics. Valid values are 5m, 15m, 30m, 1h, 3h, 6h, 12h, 24h, 3d, 5d, 7d, 15d, and 30d. The default value is 30m. | no | ### update_mule_application Update a Mule application deployed to CloudHub 2.0 or Runtime Fabric. Update runtime version, configuration, and other application settings. **Input Parameters:** | Parameter | Type | Description | Required | |-----------|------|-------------|----------| | `applicationId` | string | The ID of the application to update with the latest Mule runtime patch release. | yes | | `environmentId` | string | The ID of the environment where the application is deployed. | yes | | `organizationId` | string | Optional. The ID of the organization where the application is deployed. | no | | `runtimeVersion` | string | Optional. Mule runtime version to use. For example, 4.9.4:2e-java17. | no | | `hasPersistentObjectStore` | boolean | Optional. Whether to enable persistent object store. | no | | `replicaSize` | string | Optional. Replica size for CloudHub 2.0 applications. Express size in vCores or instance type size. | no | | `cpuReserved` | string | Optional. Reserved vCPUs for the application. For example, 1. | no | | `cpuLimit` | string | Optional. Maximum vCPUs for the application. For example, 2. | no | | `memory` | string | Optional. Memory allocation for the allocation in GB. For example, 1. | no | | `replicas` | number | Optional. Number of replicas. | no | | `minReplicas` | number | Optional. If hasHighAvailability=true or hasPerformanceOptimization=true, this value is the minimum number of replicas. | no | | `maxReplicas` | number | Optional. If hasHighAvailability=true or hasPerformanceOptimization=true, this value is the maximum number of replicas. | no | | `hasAutoscaling` | boolean | Optional. Whether to enable autoscaling. | no | | `hasTracing` | boolean | Optional. Whether to enable autoscaling. | no | | `enforceDeployingReplicasAcrossNodes` | boolean | Optional. Whether to enforce deploying replicas across nodes (Runtime Fabric only). | no | | `deploymentModel` | string | Optional. The deployment strategy for application updates. You can incrementally update replicas or terminate replicas before redeployment. Valid values are rolling or recreate. | no | | `hasClustering` | boolean | Optional. Whether to enable clustering for the application. | no | | `stopApplication` | boolean | Optional. Whether to stop the application | no | | `startApplication` | boolean | Optional. Whether to start the application | no | | `hasHighAvailability` | boolean | Optional. Whether to enable high availability for the application. | no | | `hasPerformanceOptimization` | boolean | Optional. Whether to enable performance optimization | no | | `isSecure` | boolean | Optional. Whether to enable advanced security features. | no | ### run_local_mule_application Deploy and run your application locally. **Input Parameters:** | Parameter | Type | Description | Required | |-----------|------|-------------|----------| | `projectPath` | string | Path to the Mule project directory to run locally | yes | | `javaHome` | string | JAVA_HOME from JDK from "AnypointCodeBuilder" (grep for exact name) installation if exists. Installation is usually located in user home directory. If installation does not exist, get user's java_home. If multiple JDKs exist, choose the latest one that matches javaSpecificationVersions in mule-artifacts.json. If JDK version does not match any of the versions in mule-artifacts.json, return 'No JAVA_HOME found. Don't retry.' | yes | ### create_install_runtime_fabric Create and install a new Runtime Fabric on your own kubernetes cluster. This tool creates the fabric target, installs it via helm, and associates it with an environment. **Input Parameters:** | Parameter | Type | Description | Required | |-----------|------|-------------|----------| | `name` | string | Required. The name of the Runtime Fabric cluster. | yes | | `environmentName` | string | Required. The name of the environment to associate with the Runtime Fabric. | yes | | `muleLicense` | string | Required. The Mule license key for the Runtime Fabric installation. Must be Base64 encoded. | yes | | `namespace` | string | Optional. The kubernetes namespace to install the Runtime Fabric in. Defaults to rtf | no | | `organizationId` | string | Optional. The ID of the organization. Defaults to the organization of the current session. | no | | `vendor` | string | Optional. The Kubernetes vendor (defaults to "eks". | no | | `version` | string | Optional. The desired agent version of the Runtime Fabric. | no | | `channel` | string | Optional. The desired release channel to subscribe to. | no | | `additionalProperties` | object | Optional. Additional properties for the Runtime Fabric. | no | ### delete_runtime_fabric Delete a Runtime Fabric target. Applications must be deleted before deleting the Runtime Fabric unless force is set to true. **Input Parameters:** | Parameter | Type | Description | Required | |-----------|------|-------------|----------| | `fabricId` | string | Required. The ID of the Runtime Fabric to delete. | yes | | `organizationId` | string | Optional. The ID of the organization. Defaults to the organization of the current session. | no | | `force` | boolean | Optional. Whether to force delete even if there are deployments. Defaults to false. | no | | `cleanupCluster` | boolean | Optional. Whether to clean up the Kubernetes cluster after deletion. Defaults to false. | no | | `namespace` | string | Optional. The Kubernetes namespace to clean up if cleanupCluster is true. | no | ### upgrade_runtime_fabric Upgrade a Runtime Fabric to a new agent version. **Input Parameters:** | Parameter | Type | Description | Required | |-----------|------|-------------|----------| | `namespace` | string | Required. The kubernetes namespace where the Runtime Fabric is installed. | yes | | `agentVersion` | string | Required. The desired agent version of the Runtime Fabric. | yes | ### create_and_manage_assets Create, update, and delete assets in Anypoint Exchange. **Input Parameters:** | Parameter | Type | Description | Required | |-----------|------|-------------|----------| | `operation` | string | The type of operation. Valid values are 'Create', 'Update' and 'Delete'. | yes | | `groupId` | string | Group ID of the asset in Anypoint Exchange. | no | | `assetId` | string | The ID of the asset. | no | | `version` | string | Version of the asset. Example: 1.4.0. Required for asset creation. | no | | `organizationId` | string | The ID of the org where the asset will be published. Optional for asset creation. | no | | `classifier` | string | The type of asset. Valid values are: raml-fragment, raml, oas, wsdl, http-api, custom, evented-api, graphql, mule-application, mule-plugin. Required for asset creation. | no | | `name` | string | The name of the asset. Required for asset creation. Optional for asset update. | no | | `description` | string | Optional. The description of the asset to create, update. | no | | `assetLink` | string | The URL of the asset. Required when creating wsdl or http assets. | no | | `apiVersion` | string | The product version of API assets. Required when creating raml, oas, wsdl or http assets. | no | | `main` | string | The main file of the asset. Required when creating raml, raml-fragment, oas and wsdl assets. | no | | `dependencies` | string | A stringified array of dependency json objects, where each object consists of groupId, assetId and version. Required when creating api-group assets. | no | | `originalFormatVersion` | string | The version of the API spec format. Required for asset creation. | no | | `metadata` | string | Optional. Stringified value of a design center json object describing asset projectId, branchId and commitId. Used for asset creation. | no | | `keywords` | string | Optional. Stringified array of string values to save as an asset's attributes. Can be used to find assets by using keywords in the search. Used for asset creation. | no | | `tags` | string | Optional. Stringified array of string values to save as an asset's tags. Used for asset creation. | no | | `projectPath` | string | The asset project file or project root directory. Required for raml, raml-fragment, oas, evented-api, wsdl, mule-plugin, mule-application asset creation. | no | | `assetPropertiesFilePath` | string | Optional. The path to the asset properties file. File should be pom.xml or it should have .pom extension. Used for asset creation. | no | | `deleteType` | string | Optional. Type of deletion to be performed. Valid values are 'soft-delete' and 'hard-delete'; which mean logical and physical deletion of the asset, respectively. Default value is soft-delete. Used for asset deletion. | no | | `contactName` | string | Optional. New contact name of the asset. Used for asset update. | no | | `contactEmail` | string | Optional. New contact email of the asset. Used for asset update. | no | | `iconFile` | string | Optional. Path to the icon file that need to be added to Asset. File can be png, jpg or other image formats. Used for asset update. | no | ### search_asset Search for an asset in an organization and Anypoint Exchange. Returns the first asset in the user's own organization that matches input criteria. If no assets are found in the user's organization, then the tool returns assets in Anypoint Exchange that exactly or partially match searchQuery. **Input Parameters:** | Parameter | Type | Description | Required | |-----------|------|-------------|----------| | `searchQuery` | string | The query with criteria for the search. Do not send this parameter if nothing is specified. | no | | `assetFilters` | array | Show results that match the asset type filters. | no | | `statuses` | array | Show results that match the status. Valid values are deprecated, development, or published. The status stable is same as published. | no | | `organizationId` | string | The ID of the organization you want to search. The default value is the ID of the user's organization from the current session. | no | | `maxResults` | number | The maximum number of assets to return in the result set. Range is between 1-10. Do not send this parameter if nothing is specified. | no | | `sharedWithMe` | boolean | Include the assets that were shared with you. | no | | `sortCriteria` | string | Sort search results by name, last_modified_date, version_boosted_relevancy, or relevance. If any other value is passed, default it to relevance. | no | | `ascending` | boolean | Sort results in ascending order. | no | | `exchangeScope` | string | Determines whether to search MuleSoft's public portal or your organization's private Exchange. Default value is private. | no | | `minMuleVersion` | string | The minimum Mule Runtime version to filter the results by. | no | ### get_platform_insights See how your organization leverages the Anypoint Platform through usage and operational insights. These include: - Usage trends for apps, such as flow count, message counts, and data throughput by business group and environment. Usage trends are for the current month. If it's early in the month, you get usage for the last full month. - API and app call volume across consumers for last 7 days. - API and app performance metrics such as errors and latency for last 7 days. **Input Parameters:** | Parameter | Type | Description | Required | |-----------|------|-------------|----------| | `includeFlows` | boolean | Optional. Whether app usage trends for flows are included. The default is false. | no | | `includeMessages` | boolean | Optional. Whether app usage trends for messages are included. The default is false. | no | | `includeDataThroughput` | boolean | Optional. Whether app usage trends for data throughput are included. The default is false. | no | | `includeErrorCount` | boolean | Optional. Whether error counts from apps and APIs are included. The default is false. | no | | `includeCallVolume` | boolean | Optional. Whether call volume from apps and APIs are included. The default is false. | no | | `includeLatency` | boolean | Optional. Whether P99 latency is included in the response time. The default is false. | no | | `latencyPercentile` | string | Optional. If includeLatency=true, this parameter contains the percentile to measure latency. Valid values are P99, P95, P90, and P75. The default value is P99. If an invalid value is provided, P99 is used instead. | no | | `entityName` | string | Optional. Name of the application or API. | no | | `entityType` | string | Optional. Type of entity. Valid values are application and api. | no | ### get_reuse_metrics Get visibility into how assets are reused across your organization. Drive efficiency, consistency, and cost savings by reducing duplication. Includes sandbox and production environments. Metrics are a year-to-date snapshot. **Input Parameters:** | Parameter | Type | Description | Required | |-----------|------|-------------|----------| | `includeReuseMetrics` | boolean | Optional. Whether the output includes reuse metrics for applications. The default is false. | no | ### manage_api_instance_policy Apply a new policy to an API instance and update an existing policy configuration. **Input Parameters:** | Parameter | Type | Description | Required | |-----------|------|-------------|----------| | `organizationId` | string | Optional. The ID of the organization where instances reside. The default value is the ID of the user's organization from the current session. | no | | `environmentName` | string | Optional. The name of the environment where instances reside. The default is the environment for the organization specified in organizationId. | no | | `apiInstanceId` | string | Id of the API instance. | yes | | `operation` | string | Operation to perform on the API instance. Valid values are apply and update. | yes | | `policyId` | string | ID of the policy to configure. Required to update an existing policy configuration. | no | | `policyConfiguration` | string | Configuration object for the policy. Required to apply a new policy. | no | | `pointcutData` | string | Optional. JSON array of pointcut objects for conditional policy application. Each item may include methodRegex, uriTemplateRegex, headers (name to regex), and host (regex). Example: [{"methodRegex":".*","uriTemplateRegex":".*","headers":{"Content-Type":"application/json"},"host":"api\\.example\\.com"}] | no | | `groupId` | string | Group ID of the policy asset in Anypoint Exchange. Required to apply a new policy. | no | | `assetId` | string | Asset ID of the policy asset in Anypoint Exchange. Required to apply a new policy. Use list_api_instances tool with includeAvailablePolicies=true and the apiInstanceId to get available policy assets. | no | | `assetVersion` | string | Version of the policy asset in Anypoint Exchange. Required to apply a new policy. | no | ### list_api_instances Get information for instances in an environment. You can also filter by an instance ID or label. Instance list is paginated (To get all intances or count of instances iterate with the page parameter). Optionally include applied or available policies. Available policies require an apiInstanceId parameter. **Input Parameters:** | Parameter | Type | Description | Required | |-----------|------|-------------|----------| | `organizationId` | string | Optional. The ID of the organization where instances reside. The default is the ID of the default organization. | no | | `environmentName` | string | Optional. The name of the environment where instances reside. The default is the name of the default environment for the organization specified in organizationId. | no | | `apiInstanceId` | string | Optional. Required if includeAvailablePolicies=true. | no | | `apiInstanceLabel` | string | Optional. Label or name of the API instance. | no | | `page` | number | Page number of the results. Each page contains information for up to 10 instances. | yes | | `includeAppliedPolicies` | boolean | Whether to include applied policies in results. | no | | `includeAvailablePolicies` | boolean | Whether to include available policies in results. Requires apiInstanceId. | no | ### create_and_manage_api_instances Create and configure API instances in Anypoint API Manager. **Input Parameters:** | Parameter | Type | Description | Required | |-----------|------|-------------|----------| | `organizationId` | string | Optional. The ID of the organization where the instance resides. The default value is the ID of the user's organization from the current session. | no | | `environmentName` | string | Optional. The name of the environment where the instance resides. The default is the environment for the organization specified in organizationId. | no | | `apiInstanceId` | string | Optional. Required if you're configuring an API instance. | no | | `operation` | string | {"description":"Operation to perform on the API instance. Valid values are create and configureBasicEndpointInMuleApplication.","options":{"create":"Create a new API instance","configureBasicEndpointInMuleApplication":"It requires an apiInstanceId. Configure a basic endpoint api instance in a Mule application project (Also known as API Autodiscovery)"}} | yes | | `groupId` | string | Optional. Group ID of the API asset in Anypoint Exchange. | no | | `assetId` | string | Required to create an API instance. ID of the API asset in Anypoint Exchange. It may be provided as the name of the API. To request it ask for the API Asset ID. | no | | `assetVersion` | string | Optional. Version of the API asset in Anypoint Exchange. | no | | `apiInstanceLabel` | string | Optional. Label or name of the API instance. | no | | `runtimeEngine` | string | Optional. Engine the API instance runs on. Valid value is mule4. | no | | `muleProxyType` | string | Optional. Valid value is basicEndpoint. | no | | `endpointUri` | string | Optional if muleProxyType=basicEndpoint. Endpoint URI of the API instance, also known as upstream. | no | | `consumerEndpoint` | string | Optional. Consumer endpoint of the API instance. | no | | `providerId` | string | Optional. Provider ID of the API instance. | no | ### manage_flex_gateway_policy_project Provides instructions to the LLM on how to manage a Flex Gateway custom policy project. Operations include creating the project, setting up the configuration, building the project, publishing a development version of the project, and publishing a release version of the project. Prerequisites: https://docs.mulesoft.com/pdk/latest/policies-pdk-prerequisites ### get_flex_gateway_policy_example Get a Flex Gateway policy example to help you configure your Rust source code. You can get example policies that manipulate a request's header and body, make HTTP and gRPC calls to external services, share data between requests and responses, reject requests, perform sleep operations, and the use of PDK's libraries. **Input Parameters:** | Parameter | Type | Description | Required | |-----------|------|-------------|----------| | `feature` | string | Valid values are authentication (propagate authentication information to other policies), body_manipulation (read or update request/response body), body_stream (read request/response body by chunks), cache (use the cache library to share data across workers), contracts (authenticate and authorize against the management plane), control_flow (stop request flow and generate a custom response), cors (use the Cross-Origin Resource Sharing library), data_storage (store and retrieve data using the Data Storage Library), dataweave (define and evaluate custom DataWeave expressions), grpc (gRPC call to external service), header_manipulation (CRUD for request/response headers), http_call (HTTP call to external service), ip_filter (allow or block requests based on IP addresses and CIDR ranges), jwt (JSON Web Token parsing and validation), jwt_generate (generate JSON Web Tokens), lock (synchronize workers), logger (print custom messages), metadata (access metadata of the policy, api, and environment), oauth2_token_introspection (validate OAuth2 tokens), policy_violation (mark requests as violations in monitoring traffic), rate_limiting (allow or block requests based on rate limits), request_data (share data between requests and responses), timer (perform sleep operations), worker_variable (share data across requests of a single worker). | yes | ### create_api_spec_project Create and scaffold an API spec or fragment project. You can specify the project name, location, and spec language (RAML, OAS, etc.). **Input Parameters:** | Parameter | Type | Description | Required | |-----------|------|-------------|----------| | `projectName` | string | Unique name of the project. This name is used as the API spec title in Exchange, the name of the spec file, and the name of the project’s root directory. For example, if the project name is OAS Example, the spec filename is oas-example. | yes | | `projectPath` | string | Parent location of the project. The default is the parent folder of the current workspace. The project will reside in a subfolder of projectPath. | yes | | `isApiEnabledForTopicsAndActions` | boolean | Whether the project is enabled for topics and agent actions through MuleSoft for Agentforce: Topic Center. Only OAS 3.0 is supported for topics and actions. The default is false. | no | | `language` | string | Language of the API spec. Valid values are oas (OpenAPI specs), oas-components (OpenAPI fragments), raml, raml-fragment (libraries or datatypes), json-schema (JSON schema fragments), avro-schema (Avro schema fragments for AsyncAPI), evented-api (AsyncAPI), protobuf (gRPC API spec), protobuf-library (gRPC Fragments). | yes | | `languageVersion` | string | If language=oas or oas-components, valid values are 2.0 and 3.0. If language=raml or raml-fragment, valid values are 1.0 and 0.8. If language=evented-api, valid value is 2.6. If language is protobuf or protobuf-library, valid value is proto3. | no | | `fragmentType` | string | Required when language=raml-fragment. Valid values are trait, resource-type, library, overlay, extension, type, user-documentation, example, annotation-type, and security-scheme. | no | | `format` | string | Optional. Valid values are json, yaml, avsc (Avro schema) and proto (Protobuf). If language=oas or oas-components, the default is yaml. | no | ### generate_api_spec Generate, modify, or enhance an API spec using AI. **Input Parameters:** | Parameter | Type | Description | Required | |-----------|------|-------------|----------| | `naturalLanguagePrompt` | string | Input to the Large Language Model (LLM). | yes | | `language` | string | Language of the API spec. Valid values are OAS (OpenAPI specs), RAML and RAML Fragments (for API_FRAGMENT project types) or protobuf (for gRPC specs). | yes | | `languageVersion` | string | Language version to use. If projectType property received is API_FRAGMENT you must use "" as languageVersion. | yes | | `projectType` | string | Valid values are API_SPEC or API_FRAGMENT. | yes | | `specSyntax` | string | Syntax of the generated API spec. Some examples are json, yaml, proto, RAML. If it's a API FRAGMENT use RAML as specSyntax. | yes |