Overview
Statistics
21
Tools
0
Prompts
0
Resources
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 applications, create API specs, search for assets in Anypoint Exchange, get platform insights, and more.
Available Tools
The MuleSoft DX MCP Server has tools for application development, application management, policy management, and usage and insights. For more information, see MuleSoft MCP Server Overview.Setup and Configuration
Set up authentication by creating a connected app that acts on its own behalf. Then, you can install the server and configure it for your IDE. For more information, see Getting Started.Installation
npm i mulesoft-mcp-server
For setup and configuration details, see the Getting Started guide.
View IDE configuration snippets for Claude Code, Cursor, and VS Code.
Transport
- Kind
stdio- Command
npx mulesoft-mcp-server start
This is a local MCP server that runs via stdio transport. It is not available for interactive testing in the browser.
Capabilities
tools- listChanged
Create Mule Project create_mule_project
TOOL
create_mule_project
Create an integration project.
Input Schema
json-schemaprojectPath:
string
Optional directory to create project in (defaults to current workspace)
projectName:
string
Optional name for the project (defaults to a generated name)
Generate Mule Flow generate_mule_flow
TOOL
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 Schema
json-schemaprojectPath *:
string
Path to the existing Mule project directory where the flow should be modified
projectXmlPath *:
string
Path to the existing Mule project xml file where the flow should be modified
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
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.
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
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
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.
Create Mcp Server create_mcp_server
TOOL
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 Schema
json-schemaprojectPath *:
string
Path where the Mule project folder is located.
projectXmlPath *:
string
Path where the Mule project XML file is located.
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.
Deploy Mule Application deploy_mule_application
TOOL
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 Schema
json-schemaprojectPath:
string
Optional. Path to Maven project root directory.
groupId:
string
Optional. Group ID of the asset in Anypoint Exchange.
artifactId:
string
Optional. Artifact ID of the asset in Anypoint Exchange.
version:
string
Optional. Version of the asset or application.
organizationId:
string
Optional. The ID of the organization to deploy the application to.
secure:
boolean
Optional. Enables enhanced security features.
default:
FalsehighAvailability:
boolean
Optional. Enables high availability features.
default:
FalseperformanceOptimization:
boolean
Optional. Enable performance optimization features.
default:
FalseminimumReplicas:
number
Optional. Minimum number of replicas if high availability or performance optimization is enabled. Minimum is 1.
default:
1appName:
string
Optional. The name of the application you want to deploy.
environmentName:
string
Optional. Name of the environment to deploy the app to.
deploymentTargetName:
string
Optional. Name of the deployment target.
runtimeVersion:
string
Optional. Runtime version to use.
List Applications list_applications
TOOL
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 Schema
json-schemaenvironmentName *:
string
Name of the environment to list applications from.
appName:
string
Optional. Specify an application you want to search for.
organizationId:
string
Optional. The ID of the organization to list applications from.
page:
number
The page number of the result.
default:
1includeCpuMetrics:
boolean
Set value to true to include CPU metrics when searching for an application.
default:
FalseincludeHeapMetrics:
boolean
Set value to true to include used and total heap metrics when searching for an application.
default:
FalseincludeLogs:
boolean
Set value to true to include logs from searching for an application. Maximum 500 entries.
default:
FalselogLevel:
string
If Include Log is true, this parameter contains the level of log detail. Valid values are INFO, DEBUG, WARN, ERROR. Default is ERROR.
default:
ERRORlogsPage:
number
Page number of log. Maximum is 20. Default is 1.
default:
1timeFrame:
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.
default:
30mUpdate Mule Application update_mule_application
TOOL
update_mule_application
Update a Mule application deployed to CloudHub 2.0 or Runtime Fabric. Update runtime version, configuration, and other application settings.
Input Schema
json-schemaapplicationId *:
string
The ID of the application to update with the latest Mule runtime patch release.
environmentId *:
string
The ID of the environment where the application is deployed.
organizationId:
string
Optional. The ID of the organization where the application is deployed.
runtimeVersion:
string
Optional. Mule runtime version to use. For example, 4.9.4:2e-java17.
hasPersistentObjectStore:
boolean
Optional. Whether to enable persistent object store.
replicaSize:
string
Optional. Replica size for CloudHub 2.0 applications. Express size in vCores or instance type size.
cpuReserved:
string
Optional. Reserved vCPUs for the application. For example, 1.
cpuLimit:
string
Optional. Maximum vCPUs for the application. For example, 2.
memory:
string
Optional. Memory allocation for the allocation in GB. For example, 1.
replicas:
number
Optional. Number of replicas.
minReplicas:
number
Optional. If hasHighAvailability=true or hasPerformanceOptimization=true, this value is the minimum number of replicas.
maxReplicas:
number
Optional. If hasHighAvailability=true or hasPerformanceOptimization=true, this value is the maximum number of replicas.
hasAutoscaling:
boolean
Optional. Whether to enable autoscaling.
hasTracing:
boolean
Optional. Whether to enable autoscaling.
enforceDeployingReplicasAcrossNodes:
boolean
Optional. Whether to enforce deploying replicas across nodes (Runtime Fabric only).
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.
hasClustering:
boolean
Optional. Whether to enable clustering for the application.
stopApplication:
boolean
Optional. Whether to stop the application
startApplication:
boolean
Optional. Whether to start the application
hasHighAvailability:
boolean
Optional. Whether to enable high availability for the application.
hasPerformanceOptimization:
boolean
Optional. Whether to enable performance optimization
isSecure:
boolean
Optional. Whether to enable advanced security features.
Run Local Mule Application run_local_mule_application
TOOL
run_local_mule_application
Deploy and run your application locally.
Input Schema
json-schemaprojectPath *:
string
Path to the Mule project directory to run locally
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.'
Create Install Runtime Fabric create_install_runtime_fabric
TOOL
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 Schema
json-schemaname *:
string
Required. The name of the Runtime Fabric cluster.
environmentName *:
string
Required. The name of the environment to associate with the Runtime Fabric.
muleLicense *:
string
Required. The Mule license key for the Runtime Fabric installation. Must be Base64 encoded.
namespace:
string
Optional. The kubernetes namespace to install the Runtime Fabric in. Defaults to rtf
default:
rtforganizationId:
string
Optional. The ID of the organization. Defaults to the organization of the current session.
vendor:
string
Optional. The Kubernetes vendor (defaults to "eks".
default:
eksversion:
string
Optional. The desired agent version of the Runtime Fabric.
channel:
string
Optional. The desired release channel to subscribe to.
additionalProperties:
object
Optional. Additional properties for the Runtime Fabric.
Delete Runtime Fabric delete_runtime_fabric
TOOL
delete_runtime_fabric
Delete a Runtime Fabric target. Applications must be deleted before deleting the Runtime Fabric unless force is set to true.
Input Schema
json-schemafabricId *:
string
Required. The ID of the Runtime Fabric to delete.
organizationId:
string
Optional. The ID of the organization. Defaults to the organization of the current session.
force:
boolean
Optional. Whether to force delete even if there are deployments. Defaults to false.
default:
FalsecleanupCluster:
boolean
Optional. Whether to clean up the Kubernetes cluster after deletion. Defaults to false.
default:
Falsenamespace:
string
Optional. The Kubernetes namespace to clean up if cleanupCluster is true.
Upgrade Runtime Fabric upgrade_runtime_fabric
TOOL
upgrade_runtime_fabric
Upgrade a Runtime Fabric to a new agent version.
Input Schema
json-schemanamespace *:
string
Required. The kubernetes namespace where the Runtime Fabric is installed.
agentVersion *:
string
Required. The desired agent version of the Runtime Fabric.
Create And Manage Assets create_and_manage_assets
TOOL
create_and_manage_assets
Create, update, and delete assets in Anypoint Exchange.
Input Schema
json-schemaoperation *:
string
The type of operation. Valid values are 'Create', 'Update' and 'Delete'.
groupId:
string
Group ID of the asset in Anypoint Exchange.
assetId:
string
The ID of the asset.
version:
string
Version of the asset. Example: 1.4.0. Required for asset creation.
organizationId:
string
The ID of the org where the asset will be published. Optional for asset creation.
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.
name:
string
The name of the asset. Required for asset creation. Optional for asset update.
description:
string
Optional. The description of the asset to create, update.
assetLink:
string
The URL of the asset. Required when creating wsdl or http assets.
apiVersion:
string
The product version of API assets. Required when creating raml, oas, wsdl or http assets.
main:
string
The main file of the asset. Required when creating raml, raml-fragment, oas and wsdl assets.
dependencies:
string
A stringified array of dependency json objects, where each object consists of groupId, assetId and version. Required when creating api-group assets.
originalFormatVersion:
string
The version of the API spec format. Required for asset creation.
metadata:
string
Optional. Stringified value of a design center json object describing asset projectId, branchId and commitId. Used for asset creation.
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.
tags:
string
Optional. Stringified array of string values to save as an asset's tags. Used for asset creation.
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.
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.
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.
contactName:
string
Optional. New contact name of the asset. Used for asset update.
contactEmail:
string
Optional. New contact email of the asset. Used for asset update.
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.
Search Asset search_asset
TOOL
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 Schema
json-schemasearchQuery:
string
The query with criteria for the search. Do not send this parameter if nothing is specified.
assetFilters:
array
Show results that match the asset type filters.
statuses:
array
Show results that match the status. Valid values are deprecated, development, or published. The status stable is same as published.
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.
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.
default:
5, min: 1, max: 10sharedWithMe:
boolean
Include the assets that were shared with you.
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.
default:
relevanceascending:
boolean
Sort results in ascending order.
exchangeScope:
string
Determines whether to search MuleSoft's public portal or your organization's private Exchange. Default value is private.
default:
privateminMuleVersion:
string
The minimum Mule Runtime version to filter the results by.
Get Platform Insights get_platform_insights
TOOL
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 Schema
json-schemaincludeFlows:
boolean
Optional. Whether app usage trends for flows are included. The default is false.
default:
FalseincludeMessages:
boolean
Optional. Whether app usage trends for messages are included. The default is false.
default:
FalseincludeDataThroughput:
boolean
Optional. Whether app usage trends for data throughput are included. The default is false.
default:
FalseincludeErrorCount:
boolean
Optional. Whether error counts from apps and APIs are included. The default is false.
default:
FalseincludeCallVolume:
boolean
Optional. Whether call volume from apps and APIs are included. The default is false.
default:
FalseincludeLatency:
boolean
Optional. Whether P99 latency is included in the response time. The default is false.
default:
FalselatencyPercentile:
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.
default:
p99entityName:
string
Optional. Name of the application or API.
entityType:
string
Optional. Type of entity. Valid values are application and api.
default:
applicationGet Reuse Metrics get_reuse_metrics
TOOL
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 Schema
json-schemaincludeReuseMetrics:
boolean
Optional. Whether the output includes reuse metrics for applications. The default is false.
default:
FalseManage Api Instance Policy manage_api_instance_policy
TOOL
manage_api_instance_policy
Apply a new policy to an API instance and update an existing policy configuration.
Input Schema
json-schemaorganizationId:
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.
environmentName:
string
Optional. The name of the environment where instances reside. The default is the environment for the organization specified in organizationId.
apiInstanceId *:
string
Id of the API instance.
operation *:
string
Operation to perform on the API instance. Valid values are apply and update.
policyId:
string
ID of the policy to configure. Required to update an existing policy configuration.
policyConfiguration:
string
Configuration object for the policy. Required to apply a new policy.
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"}]
groupId:
string
Group ID of the policy asset in Anypoint Exchange. Required to apply a new policy.
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.
assetVersion:
string
Version of the policy asset in Anypoint Exchange. Required to apply a new policy.
List Api Instances list_api_instances
TOOL
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 Schema
json-schemaorganizationId:
string
Optional. The ID of the organization where instances reside. The default is the ID of the default organization.
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.
apiInstanceId:
string
Optional. Required if includeAvailablePolicies=true.
apiInstanceLabel:
string
Optional. Label or name of the API instance.
page *:
number
Page number of the results. Each page contains information for up to 10 instances.
includeAppliedPolicies:
boolean
Whether to include applied policies in results.
default:
FalseincludeAvailablePolicies:
boolean
Whether to include available policies in results. Requires apiInstanceId.
default:
FalseCreate And Manage Api Instances create_and_manage_api_instances
TOOL
create_and_manage_api_instances
Create and configure API instances in Anypoint API Manager.
Input Schema
json-schemaorganizationId:
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.
environmentName:
string
Optional. The name of the environment where the instance resides. The default is the environment for the organization specified in organizationId.
apiInstanceId:
string
Optional. Required if you're configuring an API instance.
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)"}}
groupId:
string
Optional. Group ID of the API asset in Anypoint Exchange.
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.
assetVersion:
string
Optional. Version of the API asset in Anypoint Exchange.
apiInstanceLabel:
string
Optional. Label or name of the API instance.
runtimeEngine:
string
Optional. Engine the API instance runs on. Valid value is mule4.
muleProxyType:
string
Optional. Valid value is basicEndpoint.
endpointUri:
string
Optional if muleProxyType=basicEndpoint. Endpoint URI of the API instance, also known as upstream.
consumerEndpoint:
string
Optional. Consumer endpoint of the API instance.
providerId:
string
Optional. Provider ID of the API instance.
Manage Flex Gateway Policy Project manage_flex_gateway_policy_project
TOOL
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
Input Schema
This tool accepts no arguments.
Get Flex Gateway Policy Example get_flex_gateway_policy_example
TOOL
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 Schema
json-schemafeature *:
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).
Create Api Spec Project create_api_spec_project
TOOL
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 Schema
json-schemaprojectName *:
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.
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.
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.
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).
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.
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.
format:
string
Optional. Valid values are json, yaml, avsc (Avro schema) and proto (Protobuf). If language=oas or oas-components, the default is yaml.
Generate Api Spec generate_api_spec
TOOL
generate_api_spec
Generate, modify, or enhance an API spec using AI.
Input Schema
json-schemanaturalLanguagePrompt *:
string
Input to the Large Language Model (LLM).
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).
languageVersion *:
string
Language version to use. If projectType property received is API_FRAGMENT you must use "" as languageVersion.
projectType *:
string
Valid values are API_SPEC or API_FRAGMENT.
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.