MuleSoft DX MCP Server

1.3.1

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-schema
projectPath: 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-schema
projectPath *: 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
xmlContent *: string
globalConfigPath: string
projectPomPath: string
connectorGavs: array

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-schema
projectPath *: 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-schema
projectPath: 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
highAvailability: boolean
performanceOptimization: boolean
minimumReplicas: number
appName: 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-schema
environmentName *: 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
includeCpuMetrics: boolean
includeHeapMetrics: boolean
includeLogs: boolean
logLevel: string
logsPage: number
timeFrame: string

Update 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-schema
applicationId *: 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
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-schema
projectPath *: string
Path to the Mule project directory to run locally
javaHome *: string

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-schema
name *: 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
organizationId: string
Optional. The ID of the organization. Defaults to the organization of the current session.
vendor: string
version: 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-schema
fabricId *: 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
cleanupCluster: boolean
namespace: 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-schema
namespace *: 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-schema
operation *: 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
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
tags: string
Optional. Stringified array of string values to save as an asset's tags. Used for asset creation.
projectPath: string
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
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-schema
searchQuery: 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
sharedWithMe: boolean
Include the assets that were shared with you.
sortCriteria: string
ascending: boolean
Sort results in ascending order.
exchangeScope: string
minMuleVersion: 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-schema
includeFlows: boolean
includeMessages: boolean
includeDataThroughput: boolean
includeErrorCount: boolean
includeCallVolume: boolean
includeLatency: boolean
latencyPercentile: string
entityName: string
Optional. Name of the application or API.
entityType: string

Get 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-schema
includeReuseMetrics: boolean

Manage 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-schema
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.
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
groupId: string
Group ID of the policy asset in Anypoint Exchange. Required to apply a new policy.
assetId: string
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-schema
organizationId: string
Optional. The ID of the organization where instances reside. The default is the ID of the default organization.
environmentName: string
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
includeAvailablePolicies: boolean

Create 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-schema
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.
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
groupId: string
Optional. Group ID of the API asset in Anypoint Exchange.
assetId: string
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-schema
feature *: string

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-schema
projectName *: string
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
language *: string
languageVersion: string
fragmentType: string
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-schema
naturalLanguagePrompt *: 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.