# mulesoft MCP Connector - Full Documentation --- product: MCP Connector version: 0.1 --- # MCP Connector 0.1.0-BETA > For the full documentation index, see: https://docs.mulesoft.com/llms.txt Anypoint Connector for MCP (MCP Connector) uses the Model Context Protocol (MCP) to enable AI clients that support MCP to invoke and interact with APIs, connectors, and apps. > [!NOTE] MCP Connector is a beta connector that is subject to the Beta Services Terms at > [Agreements - Salesforce.com](https://www.salesforce.com/company/legal/) or a written Unified > Pilot Agreement if executed by Customer, and the Non-GA Gen AI and Non-GA Credit Consumption terms > in the > [Product Terms Directory](https://ptd.salesforce.com/?_ga=2.247987783.1372150065.1709219475-629000709.1639001992). > Use of this beta connector with external systems or services consumes > [Mule messages](https://docs.mulesoft.com/general/usage-metrics) and is at the Customer’s sole discretion. Use MCP Connector to connect LLM applications with your APIs. APIs with complex endpoints can be exposed as simpler, more atomic tools or resources that are better suited for agentic clients. The key is to decide on what is straightforward, repeatable, and optimal for agent actions, and start there. MCP is an open protocol that enables seamless integration between LLM applications and external data, services, and tools. MCP is a new standard allowing LLM and agent applications to communicate with each other (and with preexisting systems) in a consistent way. The MCP protocol: - Enhances AI precision by supplying AI with relevant information, leading to more accurate responses. - Empowers AI to manage intricate tasks that require access to external data or services. - Promotes interoperability between AI models and external systems, simplifying integration into workflows. MCP Connector: - Makes Mule applications, connectors, and custom APIs available to AI clients, such as Claude, Cursor, and Windsurf, that support MCP. This enables you to rapidly and seamlessly build an agentic interface to expose Mule APIs to these clients. - Enables you to write Mule apps that can act as both an MCP server and a client. The resulting Mule MCP server runs inside of Mule, which means you don’t need to configure your own hosting environment. Mule has your agentic needs covered end-to-end. - Acting as an MCP server, MuleSoft allows AI clients to leverage existing API-led investments, legacy systems, and SaaS applications that don’t natively support MCP. - Acting as an MCP client, MuleSoft makes it possible to build integrations and orchestrations in which Agents are just another system in the choreography. - Enables you to introduce AI agents into your existing Enterprise ecosystem using Mule as the orchestration layer. This makes the capabilities of your Mule APIs and applications available to a growing ecosystem of AI agents. For information about compatibility and fixed issues, see the MCP Connector Release Notes. ## Before You Begin To use this connector, you must be familiar with: - Anypoint Connectors - Mule runtime engine (Mule) - Elements and global elements in a Mule flow - How to create a Mule app using Anypoint Code Builder or Anypoint Studio Before creating an app, you must have: - Java 17 - Apache Maven - Anypoint Platform - Credentials to connect with the target resource - The latest versions of Anypoint Code Builder or Anypoint Studio ## Common Use Cases for the Connector These are some common use cases for the connector: - Customer Service Use AI agents to help human agents to be more efficient by handling time-intensive tasks like reviewing case histories, analyzing reported issues, and retrieving relevant information. - Sales Improve sales teams' success by accelerating prospect research, generating customized collateral, and preparing contracts. - Marketing Empower marketing teams with AI-driven support for drafting social media content, conducting market research, and analyzing campaign performance. ## Connection Types - SSE Client Enables MCP Connector to establish a persistent, one-way (server-sent) connection to an MCP server using the Server-Sent Events (SSE) standard. This type of connection allows the MCP server to push real-time updates and messages to the client without the need for the client to constantly poll for new information. - SSE Server Exposes the MCP server using the Server-Sent Events (SSE) transport. This allows MCP clients to establish persistent, one-way connections to this server to receive real-time updates and messages. ## Next Step After you complete the prerequisites, you’re ready to create an app and configure the connector using [Anypoint Studio](https://docs.mulesoft.com/mcp-connector/0.1/mcp-connector-studio) or [Anypoint Code Builder](https://docs.mulesoft.com/mcp-connector/0.1/mcp-connector-acb). ## See Also - [Anypoint Connectors Overview](https://docs.mulesoft.com/connectors/introduction/introduction-to-anypoint-connectors) - [Using Anypoint Code Builder to Configure a Connector](https://docs.mulesoft.com/connectors/introduction/intro-config-use-acb) - [Using Anypoint Studio to Configure a Connector](https://docs.mulesoft.com/connectors/introduction/intro-config-use-studio) - [MCP Connector Reference](https://docs.mulesoft.com/mcp-connector/0.1/mcp-connector-reference) - [MuleSoft MCP Support: Get Started With Model Context Protocol](https://blogs.mulesoft.com/news/model-context-protocol/) - [Model Context Protocol](https://modelcontextprotocol.io/docs/getting-started/intro) - [Salesforce Help](https://help.salesforce.com) --- product: MCP Connector version: 0.1 --- # MCP Connector 0.1.0-BETA - Applying Security to the MCP Server > For the full documentation index, see: https://docs.mulesoft.com/llms.txt MCP Connector enables server-side authentication for MCP clients. In these examples, it uses the stateful Server-Sent Events (SSE) connection and the **On New Session Listener** source to implement custom security logic, including OAuth access token validation. ## Server-Side Authentication With On New Session Listener The MCP specification emphasizes session management and SSE connections maintain state. The **On New Session Listener** source offers a key point for implementing server-side authentication. This example illustrates a basic flow triggered by this listener, showing how to access the auto-generated `sessionId` and the HTTP headers sent by the connecting client, which can then be used for custom authentication logic. This is an example flow that uses the **On New Session Listener** source: ```xml ``` The flow executes each time a new client connects to the MCP server application. The payload contains the auto-generated `sessionId` and the `additionalProperties`, which when using the SSE connection type, maps to the request HTTP headers. At this point, you can implement your own authentication logic. For instance, the `#[payload.additionalProperties.authorization]` expression gets the HTTP authorization header, which you can validate later. ### Validate OAuth Access Tokens Optionally, you can use the [Mule OAuth 2.0 Provider](https://docs.mulesoft.com/api-manager/latest/mule-oauth-provider-landing-page) to implement and validate OAuth access tokens. In this example flow, the access token is validated using the OAuth provider, and the session is rejected if the token is invalid: ```xml ``` The new session is rejected if one of two things happens: - The `rejectWithStatusCode` parameter is assigned a non null value (or an expression that resolves to a non null value), or - The flow fails, in which case a status code 500 is reported. In this example, the OAuth validation error is handled so that the status code is mapped to a `401 - UNAUTHORIZED` code. ## Client-Side Authentication In the client, the authentication parameter accepts all the authentication strategies defined in HTTP Connector, and [OAuth Module](https://docs.mulesoft.com/oauth-module/latest/) if it’s also added to the project. Operations like **Call Tool** also accept additional properties, which in the case of SSE map to request headers. This makes it possible to add custom authentication headers like API keys, for example: ```xml ``` ## Next Step After you complete configuring the connector, you can try the [Examples](https://docs.mulesoft.com/mcp-connector/0.1/mcp-connector-examples). ## See Also - [Introduction to Anypoint Connectors](https://docs.mulesoft.com/connectors/introduction/introduction-to-anypoint-connectors) - [Salesforce Help](https://help.salesforce.com) --- product: MCP Connector version: 0.1 --- # MCP Connector 0.1.0-BETA - Examples > For the full documentation index, see: https://docs.mulesoft.com/llms.txt These are some examples of how to use existing APIs to build agents using MCP Connector. ## Create an MCP Server and Tools These examples show you the process of creating an MCP server within your Mule app and defining two distinct tools that the MCP server will expose: one for retrieving a dynamic list of approved vendors with their product categories, and another for initiating the creation of purchase orders with specified details. These examples illustrate the concept of MCP tools as invocable Remote Procedure Calls (RPCs). ### Create the MCP Server Configuration This example demonstrates how to configure an MCP server within your Mule application using the Server-Sent Events (SSE) transport. This configuration builds upon an existing HTTP Listener configuration, allowing your Mule instance to serve both MCP endpoints and traditional HTTP-based APIs simultaneously on the same port. ```xml ``` ### Write a Tool That Provides a List of Vendors This example illustrates how to create an MCP tool that retrieves a dynamic list of approved vendors from an external system (in this case, SAP Concur). The example demonstrates how to use the `` to define a callable tool and how to process the data to provide the agent with relevant vendor information, including their assigned product category from the `Custom19` field. ```xml #(1) Get all approved vendors #(2) #(4) ```
1The tool is implemented through a Mule flow that’s triggered through the <mcp:tool-listener>.
2The <mcp:description> provides a natural language explanation of the tool’s purpose, enabling the LLM to understand when to use it.
3The <mcp:parameters-schema> defines the input arguments for the tool. In this simple example, it’s an empty JSON schema indicating no input parameters are required.
4The <mcp:responses> section defines the output of the tool. Here, it specifies that the tool returns a text response containing the raw JSON payload produced by the flow.
This flow first retrieves a list of vendors from SAP Concur using the dedicated connector, then transforms the data using DataWeave to filter for approved vendors and map the relevant fields, including the product category from the custom field. The resulting JSON output provides the LLM with the necessary information to select a vendor. ### Write a Tool That Creates the Purchase Order This example demonstrates the creation of an MCP tool that allows an agent to initiate the creation of a purchase order in SAP Concur. The example highlights how to define input parameters for a tool using a JSON schema, including natural language descriptions for each parameter to help the LLM in understanding and populating the required information. ```xml ``` The flow then uses the connector to create the order and returns a single line of text, including the order’s ID. There’s no need for a formatted response. ## Configure the MCP Client to Use Third-Party MCP Servers The previous examples showed you how to write a tool that draws from existing Anypoint Connectors. You can also use third-party MCP servers that are already implemented and ready to use. These examples show you how you can integrate your Mule applications with existing third-party MCP servers by configuring the MCP Client and using the **Call Tool** operation. Here is an example of the MCP Client configured with the Google Maps MCP server deployed to Heroku: ```xml ``` The ability to configure the client connection unlocks third-party MCP servers and opens the door to application networks. After the MCP Client configuration is defined, you can use the **Call tool** (`mcp-call-tool`) operation to invoke specific tools exposed by the MCP server. The **Call Tool** operation dynamically retrieves the metadata (including available tools and their arguments) from the target MCP server, providing DataSense auto-completion within your Mule flow. This example builds a simple weather tool to return the forecast at a particular coordinate: ```xml Provides the weather at given coordinates expressed as latitude and longitude> ``` This tool uses the OpenMeteo API to return the forecast at a particular coordinate. To handle weather lookups by address instead of coordinates, you can compose a new MCP tool that leverages the Google Maps MCP Server (configured earlier) to get coordinates and then uses the `get-weather-by-coordinates` tool (which internally calls the OpenMeteo API): ```xml Provides the weather at a specific address ``` In this example, the composition is written manually rather than feeding the LLM with all the tools individually because: - The LLM must have access to all the MCP servers. - The LLM must be able to securely authenticate to all of the MCP servers. - When the LLM is in charge of the orchestration, things like governance and tracing become complicated. In some use cases, letting the LLM be in charge of the entire orchestration makes sense, but in others, a manual composition is preferable. ## See Also - [Applying Security to the MCP Server](https://docs.mulesoft.com/mcp-connector/0.1/mcp-connector-config-topics) - [MCP Connector Reference](https://docs.mulesoft.com/mcp-connector/0.1/mcp-connector-reference) - [MuleSoft MCP Support: Get Started With Model Context Protocol](https://blogs.mulesoft.com/news/model-context-protocol/) - [Introduction to Anypoint Connectors](https://docs.mulesoft.com/connectors/introduction/introduction-to-anypoint-connectors) - [Salesforce Help](https://help.salesforce.com) --- product: MCP Connector version: 0.1 --- # MCP Connector 0.1.0-BETA Reference > For the full documentation index, see: https://docs.mulesoft.com/llms.txt Anypoint Connector for MCP (MCP Connector) allows Mule applications to act as both MCP servers and clients. This beta version includes support for tools and resources. ## Configurations ### Client Configuration element that acts as a client and connects to an MCP server. #### Parameters
NameTypeDescriptionDefault ValueRequired

Name

String

Name for this configuration. Connectors reference the configuration with this name.

x

Connection

The connection types to provide to this configuration.

x

Client Name

String

Name the client uses to identify itself during the protocol initialization phase. This isn’t the same as the name given to this config element (which is later referenced through config-ref parameters). This name doesn’t need to be unique.

x

Client Version

String

Version the client uses to identify itself during the protocol initialization phase. This doesn’t need to match the connector or Mule application version.

x

Name

String

ID used to reference this configuration.

x

Expiration Policy

Configures the minimum amount of time that a dynamic configuration instance can remain idle before Mule considers it eligible for expiration.

#### Connection Types ##### SSE Client The SSE (Server-Sent Events) Client connection type enables MCP Connector to establish a persistent, one-way (server-sent) connection to an MCP server using the SSE standard. This type of connection allows the MCP server to push real-time updates and messages to the client without the need for the client to constantly poll for new information. ###### Parameters
NameTypeDescriptionDefault ValueRequired

Server Url

String

Base URL for the target MCP server.

x

Sse Endpoint Path

String

/sse

Request Timeout

Number

Sets the duration to wait for server responses before timing out requests.

30

Request Timeout Unit

Enumeration, one of:

  • NANOSECONDS

  • MICROSECONDS

  • MILLISECONDS

  • SECONDS

  • MINUTES

  • HOURS

  • DAYS

Time Unit for the Request Timeout parameter.

SECONDS

Reconnection Delay

Number

Specifies how long to wait before reinitializing the SSE connection when it times out or closes.

500

Reconnection Delay Unit

Enumeration, one of:

  • NANOSECONDS

  • MICROSECONDS

  • MILLISECONDS

  • SECONDS

  • MINUTES

  • HOURS

  • DAYS

Time Unit for the Reconnection Delay.

MILLISECONDS

Authentication

HttpRequestAuthentication

Tls Context Factory

Reconnection

When the application is deployed, a connectivity test is performed on all connectors. If set to true, deployment fails if the test doesn’t pass after exhausting the associated reconnection strategy.

## Supported Operations - [Call Tool](#CallTool) - [List Resources](#ListResources) - [List Tools](#ListTools) - [Ping](#Ping) - [Read Resource](#ReadResource) ### Server Configuration element to act as an MCP server. #### Parameters
NameTypeDescriptionDefault ValueRequired

Name

String

Name for this configuration. Connectors reference the configuration with this name.

x

Connection

Connection types to provide to this configuration.

x

Server Name

String

Name this server uses to identify itself during the protocol initialization phase. This isn’t the same as the name given to this config element (which is later referenced through config-ref parameters). This name doesn’t need to be unique.

x

Server Version

String

Version this client uses to identify itself during the protocol initialization phase. This doesn’t need to match the connector or Mule application version.

x

Name

String

ID used to reference this configuration.

x

Subscribe

Boolean

Whether to allow clients to subscribe to resource updates.

true

List Changed

Boolean

Whether to enable notifications for changes to the tool list.

true

#### Connection Types ##### SSE Server Exposes the MCP server using the Server-Sent Events (SSE) transport. This allows MCP clients to establish persistent, one-way connections to this server to receive real-time updates and messages. > [!NOTE] This connection type works only if Mule is started with the > `mule.http.service.implementation=NETTY` system property. ###### Parameters
NameTypeDescriptionDefault ValueRequired

Listener Config

String

Reference to the <http:listener-config> used to expose the SSE and messaging endpoints.

x

Sse Endpoint Path

String

Endpoint path clients use to initiate the SSE connection.

/sse

Messages Path

String

Path the messaging endpoint request will be sent to.

/message

Reconnection

When the application is deployed, a connectivity test is performed on all connectors. If set to true, deployment fails if the test doesn’t pass after exhausting the associated reconnection strategy.

## Supported Operations - [Add Static Resource](#AddStaticResource) ## Associated Sources - [On New Session Listener](#OnNewSessionListener) - [Resource listener](#ResourceListener) - [Tool Listener](#ToolListener) ## Operations ## Call Tool `` Invokes a tool in a remote MCP server. ### Parameters
NameTypeDescriptionDefault ValueRequired

Configuration

String

Name of the configuration to use.

x

Tool Name

String

Name of the tool to invoke.

x

Arguments

Object

The tool’s input arguments.

#[payload]

Config Ref

ConfigurationProvider

Name of the configuration to use to execute this component.

x

Additional Properties

Object

#[null]

Target Variable

String

Name of the variable that stores the operation’s output.

Target Value

String

Expression that evaluates the operation’s output. The outcome of the expression is stored in the Target Variable field.

#[payload]

Error Mappings

Array of Error Mapping

Set of error mappings

Reconnection Strategy

Retry strategy in case of connectivity errors.

### Output

Type

Call Tool Response

Attributes Type

Any

### For Configurations - [Client](#Client) ### Throws - MCP:CONNECTIVITY - MCP:RETRY\_EXHAUSTED ## List Resources `` Lists all the available resources in the remote MCP server. ### Parameters
NameTypeDescriptionDefault ValueRequired

Configuration

String

Name of the configuration to use.

x

Config Ref

ConfigurationProvider

Name of the configuration to use to execute this component.

x

Streaming Strategy

Configures how Mule processes streams. Repeatable streams are the default behavior.

Target Variable

String

Name of the variable that stores the operation’s output.

Target Value

String

Expression that evaluates the operation’s output. The outcome of the expression is stored in the Target Variable field.

#[payload]

Error Mappings

Array of Error Mapping

Set of error mappings

Reconnection Strategy

Retry strategy in case of connectivity errors.

### Output

Type

Array of Resource Metadata

### For Configurations - [Client](#Client) ### Throws - MCP:CONNECTIVITY - MCP:RETRY\_EXHAUSTED ## List Tools `` Lists all the available tools in the remote MCP server. ### Parameters
NameTypeDescriptionDefault ValueRequired

Configuration

String

Name of the configuration to use.

x

Config Ref

ConfigurationProvider

Name of the configuration to use to execute this component.

x

Streaming Strategy

Configures how Mule processes streams. Repeatable streams are the default behavior.

Target Variable

String

Name of the variable that stores the operation’s output.

Target Value

String

Expression that evaluates the operation’s output. The outcome of the expression is stored in the Target Variable field.

#[payload]

Error Mappings

Array of Error Mapping

Set of error mappings

Reconnection Strategy

Retry strategy in case of connectivity errors.

### Output

Type

Array of Tool Metadata

### For Configurations - [Client](#Client) ### Throws - MCP:CONNECTIVITY - MCP:RETRY\_EXHAUSTED ## Ping `` Pings the remote server. ### Parameters
NameTypeDescriptionDefault ValueRequired

Configuration

String

Name of the configuration to use.

x

Config Ref

ConfigurationProvider

Name of the configuration to use to execute this component.

x

Target Variable

String

Name of the variable that stores the operation’s output.

Target Value

String

Expression that evaluates the operation’s output. The outcome of the expression is stored in the Target Variable field.

#[payload]

Error Mappings

Array of Error Mapping

Set of error mappings.

Reconnection Strategy

Retry strategy in case of connectivity errors.

### Output

Type

Any

Attributes Type

Any

### For Configurations - [Client](#Client) ### Throws - MCP:CONNECTIVITY - MCP:RETRY\_EXHAUSTED ## Read Resource `` Reads a resource referenced by its URI. ### Parameters
NameTypeDescriptionDefault ValueRequired

Configuration

String

Name of the configuration to use.

x

Uri

String

x

Config Ref

ConfigurationProvider

Name of the configuration to use to execute this component.

x

Additional Properties

Object

#[null]

Target Variable

String

Name of the variable that stores the operation’s output.

Target Value

String

Expression that evaluates the operation’s output. The outcome of the expression is stored in the Target Variable field.

#[payload]

Error Mappings

Array of Error Mapping

Set of error mappings

Reconnection Strategy

Retry strategy in case of connectivity errors.

### Output

Type

Resource Content

Attributes Type

Any

### For Configurations - [Client](#Client) ### Throws - MCP:CONNECTIVITY - MCP:RETRY\_EXHAUSTED ## Add Static Resource `` Dynamically adds a resource by providing its metadata and static content. ### Parameters
NameTypeDescriptionDefault ValueRequired

Configuration

String

Name of the configuration to use.

x

Name

String

Resource name.

x

Uri

String

Resource URI.

x

Description

String

Resource description.

x

Mime Type

String

Resource MIME type.

x

Resource Content

Resource definition.

x

Config Ref

ConfigurationProvider

Name of the configuration to use to execute this component.

x

Error Mappings

Array of Error Mapping

Set of error mappings.

Reconnection Strategy

Retry strategy in case of connectivity errors.

### For Configurations - [Server](#Server) ### Throws - MCP:CONNECTIVITY - MCP:RETRY\_EXHAUSTED ## Sources ## On New Session Listener `` ### Parameters
NameTypeDescriptionDefault ValueRequired

Configuration

String

Name of the configuration to use.

x

Primary Node Only

Boolean

Determines whether to execute this source on only the primary node when running Mule instances in a cluster.

Config Ref

ConfigurationProvider

Name of the configuration to use to execute this component.

x

Redelivery Policy

Defines a policy for processing the redelivery of the same message.

Reject With Status Code

Number

Reject With Message

String

### Output

Type

New Session Request

Attributes Type

Any

### For Configurations - [Server](#Server) ## Resource listener `` Exposes a resource whose content is generated by the execution of the owning flow. The flow will be executed for every received resources/read request. The user can choose to implement the flow so that the resource content is static or to make it dynamic. For instance, a dynamic resource could be a expenses.csv file, that is actually the result of executing a live DB query. Or a static resource could be a file obtained through Amazon S3 and locally cached using the component. ### Parameters
NameTypeDescriptionDefault ValueRequired

Configuration

String

Name of the configuration to use.

x

Name

String

Name of the resource.

x

Description

String

Detailed enough description for an LLM to determine when to read this resource.

x

Uri

String

Resource URI.

x

Resource Mime Type

String

Resource MIME type.

x

Primary Node Only

Boolean

Determines whether to execute this source on only the primary node when running Mule instances in a cluster.

Config Ref

ConfigurationProvider

Name of the configuration to use to execute this component.

x

Redelivery Policy

Defines a policy for processing the redelivery of the same message.

Reconnection Strategy

Retry strategy in case of connectivity errors.

Resource Content

Defines the resource content and type. These parameters are evaluated when the flow finishes successfully (when the payload and variables available).

x

### Output

Type

Resource Request

Attributes Type

### For Configurations - [Server](#Server) ## Tool Listener `` Exposes a tool whose result is generated by the execution of the owning flow. The flow will be executed for every received tools/call request. When triggered, the flow will be executed with a message whose payload is a Java map holding the input arguments. The tool response is generated when the flow finishes either successfully or with error. In both cases, the response can include several content items of different types. If no error response is defined, then a text content item holding the error’s description will be generated automatically. ### Parameters
NameTypeDescriptionDefault ValueRequired

Configuration

String

Name of the configuration to use.

x

Name

String

The tool’s name

x

Description

String

A detailed enough description for an LLM to determine when this tool should be called

x

Parameters Schema

String

A JSON schema defining an object whose fields will act as the tool’s input arguments

x

Primary Node Only

Boolean

Determines whether to execute this source on only the primary node when running Mule instances in a cluster.

Config Ref

ConfigurationProvider

Name of the configuration to use to execute this component.

x

Redelivery Policy

Defines a policy for processing the redelivery of the same message.

Reconnection Strategy

Retry strategy in case of connectivity errors.

Responses

Response items when the flow finishes successfully.

x

On Error Responses

Content items when the flow finishes in error.

### Output

Type

Object

Attributes Type

Request Attributes

### For Configurations - [Server](#Server) ## Types ### TLS Configures TLS to provide secure communications for the Mule app.
FieldTypeDescriptionDefault ValueRequired

Enabled Protocols

String

Comma-separated list of protocols enabled for this context.

Enabled Cipher Suites

String

Comma-separated list of cipher suites enabled for this context.

Trust Store

Configures the TLS truststore.

Key Store

Configures the TLS keystore.

Revocation Check

Configures a revocation checking mechanism.

### Truststore Configures the truststore for TLS.
FieldTypeDescriptionDefault ValueRequired

Path

String

Path to the truststore. Mule resolves the path relative to the current classpath and file system.

Password

String

Password used to protect the truststore.

Type

String

Type of store.

Algorithm

String

Encryption algorithm that the truststore uses.

Insecure

Boolean

If true, Mule stops performing certificate validations. Setting this to true can make connections vulnerable to attacks.

### Keystore Configures the keystore for the TLS protocol. The keystore you generate contains a private key and a public certificate.
FieldTypeDescriptionDefault ValueRequired

Path

String

Path to the keystore. Mule resolves the path relative to the current classpath and file system.

Type

String

Type of store.

Alias

String

Alias of the key to use when the keystore contains multiple private keys. By default, Mule uses the first key in the file.

Key Password

String

Password used to protect the private key.

Password

String

Password used to protect the keystore.

Algorithm

String

Encryption algorithm that the keystore uses.

### Standard Revocation Check Configures standard revocation checks for TLS certificates.
FieldTypeDescriptionDefault ValueRequired

Only End Entities

Boolean

Which elements to verify in the certificate chain:

  • true

Verify only the last element in the certificate chain.

  • false

Verify all elements in the certificate chain.

Prefer Crls

Boolean

How to check certificate validity:

  • true

Check the Certification Revocation List (CRL) for certificate validity.

  • false

Use the Online Certificate Status Protocol (OCSP) to check certificate validity.

No Fallback

Boolean

Whether to use the secondary method to check certificate validity:

  • true

Use the method that wasn’t specified in the Prefer Crls field (the secondary method) to check certificate validity.

  • false

Don’t use the secondary method to check certificate validity.

Soft Fail

Boolean

What to do if the revocation server can’t be reached or is busy:

  • true

Avoid verification failure.

  • false

Allow the verification to fail.

### Custom OCSP Responder Configures a custom OCSP responder for certification revocation checks.
FieldTypeDescriptionDefault ValueRequired

Url

String

URL of the OCSP responder.

Cert Alias

String

Alias of the signing certificate for the OCSP response. If specified, the alias must be in the truststore.

### CRL File Specifies the location of the certification revocation list (CRL) file.
FieldTypeDescriptionDefault ValueRequired

Path

String

Path to the CRL file.

### Reconnection Configures a reconnection strategy for an operation.
FieldTypeDescriptionDefault ValueRequired

Fails Deployment

Boolean

When the application is deployed, a connectivity test is performed on all connectors. If set to true, deployment fails if the test doesn’t pass after exhausting the associated reconnection strategy.

Reconnection Strategy

Reconnection strategy to use.

### Reconnect
FieldTypeDescriptionDefault ValueRequired

Frequency

Number

How often in milliseconds to reconnect.

Count

Number

How many reconnection attempts to make.

blocking

Boolean

If false, the reconnection strategy runs in a separate, non-blocking thread.

true

### Reconnect Forever
FieldTypeDescriptionDefault ValueRequired

Frequency

Number

How often in milliseconds to reconnect.

blocking

Boolean

If false, the reconnection strategy runs in a separate, non-blocking thread.

true

### Expiration Policy Configures an expiration policy strategy.
FieldTypeDescriptionDefault ValueRequired

Max Idle Time

Number

Configures the maximum amount of time that a dynamic configuration instance can remain idle before Mule considers it eligible for expiration.

Time Unit

Enumeration, one of:

  • NANOSECONDS

  • MICROSECONDS

  • MILLISECONDS

  • SECONDS

  • MINUTES

  • HOURS

  • DAYS

Time unit for the Max Idle Time field.

### Call Tool Response
FieldTypeDescriptionDefault ValueRequired

Contents

x

Error

Boolean

false

### Call Tool Response Content
FieldTypeDescriptionDefault ValueRequired

Type

Enumeration, one of:

  • text

  • image

  • resource

Content type.

x

Text

String

Content’s payload when type is text.

Mime Type

String

Content’s MIME type.

Data

Binary

Content’s payload when type is image.

Resource

Content’s payload when type is resource.

Audience

Array of Enumeration, one of:

  • USER

  • ASSISTANT

Describes who the intended consumer of this data is. It can include multiple entries to indicate content useful for multiple audiences.

Priority

Number

Describes how important this data is for operating the server. A value of 1 means "most important", which indicates that the data is required. A value of 0 means "least important", which indicates that the data is entirely optional.

### Resource Content
FieldTypeDescriptionDefault ValueRequired

Uri

String

Resource URI

x

Mime Type

String

Resource MIME type.

x

Text

String

Content of a text resource. Null for BLOB data types.

Blob

Binary

Content of a BLOB resource. Null for text data types.

### Error Mapping
FieldTypeDescriptionDefault ValueRequired

Source

Enumeration, one of:

  • ANY

  • REDELIVERY_EXHAUSTED

  • TRANSFORMATION

  • EXPRESSION

  • SECURITY

  • CLIENT_SECURITY

  • SERVER_SECURITY

  • ROUTING

  • CONNECTIVITY

  • RETRY_EXHAUSTED

  • TIMEOUT

Target

String

x

### Resource Metadata
FieldTypeDescriptionDefault ValueRequired

Uri

String

Resource URI.

x

Name

String

Name of the resource.

x

Description

String

Description of the resource.

x

Mime Type

String

MIME type of the resource.

x

### Repeatable In Memory Iterable
FieldTypeDescriptionDefault ValueRequired

Initial Buffer Size

Number

The amount of memory to allocate to consume the stream and provide random access to it. If the stream contains more data than can fit into this buffer, then the buffer expands according to the Buffer Size Increment value, with an upper limit of the Max In Memory Size value. instances.

100

Buffer Size Increment

Number

Amount by which the buffer size expands if it exceeds its initial size. Setting a value of 0 or lower specifies that the buffer can’t expand.

100

Max Buffer Size

Number

Maximum size of the buffer. If the buffer size exceeds this value, Mule raises a STREAM_MAXIMUM_SIZE_EXCEEDED error. A value of less than or equal to 0 means no limit.

### Repeatable File Store Iterable
FieldTypeDescriptionDefault ValueRequired

In Memory Objects

Number

Maximum number of instances to keep in memory. If more than the maximum is required, content on the disk is buffered.

Buffer Unit

Enumeration, one of:

  • BYTE

  • KB

  • MB

  • GB

Unit for the In Memory Objects field.

### Tool Metadata
FieldTypeDescriptionDefault ValueRequired

Name

String

Name of the tool.

x

Description

String

A detailed enough description for an LLM to determine when to call this tool.

x

Input Schema

String

JSON Schema describing the tool’s input parameters.

x

### New Session Request
FieldTypeDescriptionDefault ValueRequired

Session Id

String

x

Additional Properties

Object

x

### Redelivery Policy Configures the redelivery policy for executing requests that generate errors. You can add a redelivery policy to any source in a flow.
FieldTypeDescriptionDefault ValueRequired

Max Redelivery Count

Number

Maximum number of times that a redelivered request can be processed unsuccessfully before returning a REDELIVERY_EXHAUSTED error.

Message Digest Algorithm

String

Secure hashing algorithm to use if the Use Secure Hash field is true. If the payload of the message is a Java object, Mule ignores this value and returns the value that the payload’s hashCode() returned.

Message Identifier

One or more expressions that determine if a message was redelivered. This property can be set only if the Use Secure Hash field is false.

Object Store

ObjectStore

Configures the object store that stores the redelivery counter for each message.

### Redelivery Policy Message Identifier Configures how to identify a redelivered message and how to find out when the message was redelivered.
FieldTypeDescriptionDefault ValueRequired

Use Secure Hash

Boolean

If true, Mule uses a secure hash algorithm to identify a redelivered message.

Id Expression

String

One or more expressions that determine when a message was redelivered. You can set this property only if the Use Secure Hash field is false.

### Resource Request
FieldTypeDescriptionDefault ValueRequired

Requested Uri

String

x

### Request Attributes
FieldTypeDescriptionDefault ValueRequired

Session Id

String

x

Request Id

String

x

Additional Properties

Object

Additional values attached to the request as HTTP Headers.

x

### Text Tool Response Content
FieldTypeDescriptionDefault ValueRequired

Text

String

x

Audience

Array of Enumeration, one of:

  • USER

  • ASSISTANT

Describes who the intended consumer of this data is. It can include multiple entries to indicate content that’s useful for multiple audiences.

Priority

Number

Describes how important this data is for operating the server. A value of 1 means "most important", which indicates that the data is required. A value of 0 means "least important", which indicates that the data is entirely optional.

### Image Tool Response Content
FieldTypeDescriptionDefault ValueRequired

Audience

Array of Enumeration, one of:

  • USER

  • ASSISTANT

Describes who the intended consumer of this data is. It can include multiple entries to indicate content useful for multiple audiences.

Priority

Number

Describes how important this data is for operating the server. A value of 1 means "most important", which indicates that the data is required. A value of 0 means "least important", which indicates that the data is entirely optional.

Data

Binary

The raw image content, without Base64 encoding.

Mime Type

String

The image MIME type.

### Text Resource Tool Response Content
FieldTypeDescriptionDefault ValueRequired

Audience

Array of Enumeration, one of:

  • USER

  • ASSISTANT

Describes who the intended consumer of this data is. It can include multiple entries to indicate content useful for multiple audiences.

Priority

Number

Describes how important this data is for operating the server. A value of 1 means "most important", which indicates that the data is required. A value of 0 means "least important", which indicates that the data is entirely optional.

Uri

String

Resource URI.

Mime Type

String

The resource MIME type.

Text

String

Resource text.

### Blob Resource Tool Response Content
FieldTypeDescriptionDefault ValueRequired

Audience

Array of Enumeration, one of:

  • USER

  • ASSISTANT

Describes who the intended consumer of this data is. It can include multiple entries to indicate content useful for multiple audiences.

Priority

Number

Describes how important this data is for operating the server. A value of 1 means "most important", which indicates that the data is required. A value of 0 means "least important", which indicates that the data is entirely optional.

Blob

Binary

The raw resource content, without Base64 encoding.

x

Uri

String

Resource URI.

Mime Type

String

The resource MIME type.

### Text Resource
FieldTypeDescriptionDefault ValueRequired

Text

String

Text content.

x

### Blob Resource
FieldTypeDescriptionDefault ValueRequired

Blob

Binary

The raw resource content, without Base64 encoding.

x

## See Also - [Using Anypoint Code Builder to Configure a Connector](https://docs.mulesoft.com/connectors/introduction/intro-config-use-acb) - [Using Studio to Configure a Connector](https://docs.mulesoft.com/connectors/introduction/intro-config-use-studio) - [MCP Connector Overview](https://docs.mulesoft.com/mcp-connector/0.1/) - [Salesforce Help](https://help.salesforce.com) --- product: MCP Connector version: 0.1 --- # MCP Connector 0.1.0-BETA XML and Maven Support > For the full documentation index, see: https://docs.mulesoft.com/llms.txt Although you can manually code a Mule app in XML, it is more efficient to use Anypoint Code Builder or Studio: - If you manually code a Mule runtime engine (Mule) app in XML, either from the Anypoint Code Builder or Studio XML editor, or from a text editor, you can access the connector from your app by adding reference statements to both your XML Mule flow and the Apache Maven `pom.xml` file. - If you add the connector in Anypoint Code Builder or Studio, the XML is automatically populated the code with the connector’s namespace and schema location and it also adds a dependency to the `pom.xml` file. ## Add a Namespace for the Connector Paste the following code inside the `mule` tag of the header of your configuration XML: ```xml http://www.mulesoft.org/schema/mule/mcp http://www.mulesoft.org/schema/mule/mcp/current/mule-mcp.xsd ``` This example shows how the namespace statements are placed in the `` XML block: ```xml ``` ## Add a POM File Dependency The Apache Maven `pom.xml` file generated by Anypoint Studio contains dependencies for a Mule app. If you code a Mule app manually, include this XML snippet in your `pom.xml` file to enable access to this connector: ```xml com.mulesoft.connector mule-mcp-connector x.x.x mule-plugin ``` Replace `x.x.x` with the version that corresponds to the connector you are using. To obtain the most up-to-date `pom.xml` file information: 1. Go to [Anypoint Exchange](https://www.mulesoft.com/exchange/). 2. In Exchange, click **Login** and supply your Anypoint Platform username and password. 3. In Exchange, search for `mcp`. 4. Select the connector. 5. Click **Dependency Snippets** near the upper right of the screen. ## Next Step After completing your namespace and pom.xml file, you can try the [Examples](https://docs.mulesoft.com/mcp-connector/0.1/mcp-connector-examples). ## See Also - [Introduction to Anypoint Connectors](https://docs.mulesoft.com/connectors/introduction/introduction-to-anypoint-connectors) - [Salesforce Help](https://help.salesforce.com) --- product: MCP Connector version: 1.0 --- # MCP Connector 1.0 > For the full documentation index, see: https://docs.mulesoft.com/llms.txt Anypoint Connector for MCP (MCP Connector) uses the Model Context Protocol (MCP) to enable AI clients that support MCP to invoke and interact with APIs, connectors, and apps. Use MCP Connector to connect LLM applications with your APIs. Expose APIs with complex endpoints as simpler, more atomic tools or resources that are better suited for agentic clients. Decide on what is straightforward, repeatable, and optimal for agent actions, and start there. MCP is an open protocol that enables integration between LLM applications and external data, services, and tools. The MCP protocol: - Enhances AI precision by supplying AI with relevant information, leading to more accurate responses. - Empowers AI to manage intricate tasks that require access to external data or services. - Promotes interoperability between AI models and external systems, simplifying integration into workflows. MCP Connector: - Enables you to expose your Mule apps, connectors, and custom APIs using the MCP protocol to further enable agentic experiences from agents in Claude, Cursor, Windsurf, and your own agents. - Enables you to write Mule apps that can act as both an MCP server and a client. The resulting MCP server or client runs inside of Mule, which means you don’t need to configure your own hosting environment. - When acting as an MCP server, Mule allows AI clients to use existing API-led investments, legacy systems, and SaaS applications that don’t natively support MCP. - When acting as an MCP client, Mule helps you create connections and orchestrations where AI agents are added as just another system in the workflow. - Allows you to incorporate AI agents into your existing Enterprise ecosystem, using Mule as the orchestration layer. - Supports Streamable HTTP for both server and client (recommended) and SSE (for both server and client) [transport methods](#connection-types). - Supports custom response headers on every exposed endpoint, including `/sse`, `/messages`, and `/mcp`. Use custom response headers for security, operational, integration, and governance benefits. This makes the capabilities of your Mule APIs and applications available to a growing ecosystem of AI agents. For information about compatibility and fixed issues, see the MCP Connector Release Notes. ## Before You Begin To use this connector, you must be familiar with: - Anypoint Connectors - Mule runtime engine (Mule) - Elements and global elements in a Mule flow - How to create a Mule app using Anypoint Code Builder or Anypoint Studio Before creating an app, you must have: - Java 17 - Apache Maven - Anypoint Platform - Credentials to connect with the target resource - The latest versions of Anypoint Code Builder or Anypoint Studio ## Common Use Cases for the Connector These are some common use cases for the connector: - Customer Service Use AI agents to help human agents be more efficient by handling time-intensive tasks like reviewing case histories, analyzing reported issues, and retrieving relevant information. - Sales Improve sales teams' success by accelerating prospect research, generating customized collateral, and preparing contracts. - Marketing Empower marketing teams with AI-driven support for drafting social media content, conducting market research, and analyzing campaign performance. ## Connection Types - Streamable HTTP Allows you to deploy multiple instances of your MCP server to run behind a load balancer without clients knowing about the individual server URLs. Clients connect to a single endpoint (like `/mcp`) and the load balancer distributes requests across all your MCP server instances. This is particularly useful for scalability in cloud environments, where you might have multiple replicas of your Mule app running. When acting as an MCP client, Streamable HTTP enables your Mule application to connect to remote MCP servers using the same scalable, load-balanced approach. - SSE Client Enables MCP Connector to establish a persistent, one-way (server-sent) connection to an MCP server using the Server-Sent Events (SSE) standard. This type of connection allows the MCP server to push real-time updates and messages to the client without the need for the client to constantly poll for new information. - SSE Server Exposes the MCP server using the Server-Sent Events (SSE) transport. This allows MCP clients to establish persistent, one-way connections to this server to receive real-time updates and messages. ### Streamable HTTP Limitations The Streamable HTTP connection type has no support for: - Calling the GET `/mcp` endpoint for getting notifications - Resumability and Redelivery ## Next Step After you complete the prerequisites, you’re ready to create an app and configure the connector using [Anypoint Studio](https://docs.mulesoft.com/mcp-connector/1.0/mcp-connector-studio) or [Anypoint Code Builder](https://docs.mulesoft.com/mcp-connector/1.0/mcp-connector-acb). ## See Also - [Anypoint Connectors Overview](https://docs.mulesoft.com/connectors/introduction/introduction-to-anypoint-connectors) - [Using Anypoint Code Builder to Configure a Connector](https://docs.mulesoft.com/connectors/introduction/intro-config-use-acb) - [Using Anypoint Studio to Configure a Connector](https://docs.mulesoft.com/connectors/introduction/intro-config-use-studio) - [MCP Connector Reference](https://docs.mulesoft.com/mcp-connector/1.0/mcp-connector-reference) - [MuleSoft MCP Support: Get Started With Model Context Protocol](https://blogs.mulesoft.com/news/model-context-protocol/) - [Model Context Protocol](https://modelcontextprotocol.io/docs/getting-started/intro) - [Salesforce Help](https://help.salesforce.com) --- product: MCP Connector version: 1.0 --- # MCP Connector 1.0 - Applying Security to the MCP Server > For the full documentation index, see: https://docs.mulesoft.com/llms.txt MCP Connector enables server-side authentication for MCP clients. In these examples, it uses the stateful Server-Sent Events (SSE) connection and the **On New Session Listener** source to implement custom security logic, including OAuth access token validation. ## Server-Side Authentication With On New Session Listener The MCP specification emphasizes session management and SSE connections maintain state. The **On New Session Listener** source offers a key point for implementing server-side authentication. This example illustrates a basic flow triggered by this listener, showing how to access the auto-generated `sessionId` and the HTTP headers sent by the connecting client, which can then be used for custom authentication logic. This is an example flow that uses the **On New Session Listener** source: ```xml ``` The flow executes each time a new client connects to the MCP server application. The payload contains the auto-generated `sessionId` and the `additionalProperties`, which when using the SSE connection type, maps to the request HTTP headers. At this point, you can implement your own authentication logic. For instance, the `#[payload.additionalProperties.authorization]` expression gets the HTTP authorization header, which you can validate later. ### Validate OAuth Access Tokens Optionally, you can use the [Mule OAuth 2.0 Provider](https://docs.mulesoft.com/api-manager/latest/mule-oauth-provider-landing-page) to implement and validate OAuth access tokens. In this example flow, the access token is validated using the OAuth provider, and the session is rejected if the token is invalid: ```xml ``` The new session is rejected if either of these things happen: - The `rejectWithStatusCode` parameter is assigned a non null value (or an expression that resolves to a non null value), or - The flow fails, in which case a status code 500 is reported. In this example, the OAuth validation error is handled so that the status code is mapped to a `401 - UNAUTHORIZED` code. ## Client-Side Authentication In the client, the authentication parameter accepts all the authentication strategies defined in HTTP Connector, and [OAuth Module](https://docs.mulesoft.com/oauth-module/latest/) if it’s also added to the project. Operations like **Call Tool** also accept additional properties, which in the case of SSE map to request headers. This makes it possible to add custom authentication headers like API keys, for example: ```xml ``` ## Next Step After you configure the connector, you can try the [Examples](https://docs.mulesoft.com/mcp-connector/1.0/mcp-connector-examples). ## See Also - [Introduction to Anypoint Connectors](https://docs.mulesoft.com/connectors/introduction/introduction-to-anypoint-connectors) - [Salesforce Help](https://help.salesforce.com) --- product: MCP Connector version: 1.0 --- # MCP Connector 1.0 - Examples > For the full documentation index, see: https://docs.mulesoft.com/llms.txt These are some examples of how to use existing APIs to build agents using MCP Connector. ## Create an MCP Server and Tools These examples show you the process of creating an MCP server within your Mule app and defining two distinct tools that the MCP server will expose: one for retrieving a dynamic list of approved vendors with their product categories, and another for initiating the creation of purchase orders with specified details. These examples illustrate the concept of MCP tools as invocable Remote Procedure Calls (RPCs). ### Create the MCP Server Configuration This example demonstrates how to configure an MCP server within your Mule application using the Streamable HTTP transport. When acting as an MCP client, MuleSoft facilitates the creation of integrations and orchestrations where AI Agents are integrated as just another system in the workflow. ```xml <<1>> <<2>> <<3>> <<4>> ```
1The HTTP listener configuration defines the endpoint where the MCP server is exposed.
2The MCP server configuration uses the Streamable HTTP transport.
3Headers are added to all responses for version tracking and server identification.
4Property placeholders are used for configuration values to support different environments.
### Create a Tool That Provides a List of Vendors This example illustrates how to create an MCP tool that retrieves a dynamic list of approved vendors from an external system (in this case, SAP Concur). The example demonstrates how to use the `` to define a callable tool and how to process the data to provide the agent with relevant vendor information, including their assigned product category from the `Custom19` field. First, set up the SAP Concur configuration with retry and timeout settings: ```xml <<1>> <<2>> 30 <<3>> SECONDS <<4>> 3600000 MILLISECONDS ```
1The SAP Concur configuration includes OAuth authentication settings.
2A reconnection strategy is configured to handle temporary connection issues.
3Request timeout is set to 30 seconds to prevent hanging requests.
4A cache configuration is added to improve performance with a one hour TTL.
Now, create the main flow that handles vendor retrieval with pagination and caching: ```xml <<1>> Get all approved vendors with optional pagination > "$schema": "http://json-schema.org/draft-07/schema#", "type": "object", "properties": { "pageSize": { "type": "integer", "description": "Number of vendors to return per page", "minimum": 1, "maximum": 100, "default": 50 }, "pageNumber": { "type": "integer", "description": "Page number to retrieve", "minimum": 1, "default": 1 } }, "required": [] }]]> <<3>> <<4>> <<5>> ```
1The <mcp:tool-listener> defines the interface for the vendor retrieval tool with pagination support.
2The <mcp:parameters-schema> schema includes validation for page size and page number.
3The cache component improves performance by storing results for 1 hour.
4The DataWeave transformation filters approved vendors and adds pagination metadata.
5Error handling covers connectivity, authentication, and unexpected errors.
### Create a Tool That Creates Purchase Orders This example demonstrates the creation of an MCP tool that allows an agent to initiate the creation of a purchase order in SAP Concur. The example highlights how to define input parameters for a tool using a JSON schema, including natural language descriptions for each parameter to help the LLM in understanding and populating the required information. ```xml <<1>> Create a new purchase order in SAP Concur with validation > "$schema": "http://json-schema.org/draft-07/schema#", "type": "object", "properties": { "name": { "type": "string", "description": "Name for the purchase order.", "minLength": 1, "maxLength": 100 }, "description": { "type": "string", "description": "Purchase order description.", "minLength": 1, "maxLength": 500 }, "vendorCode": { "type": "string", "description": "Code that identifies the vendor.", "pattern": "^[A-Z0-9]{3,10}$" }, "itemDescription": { "type": "string", "description": "Description of the item purchased in this order.", "minLength": 1, "maxLength": 200 }, "price": { "type": "number", "description": "Monetary amount of the purchase order.", "minimum": 0.01, "maximum": 999999.99 }, "currency": { "type": "string", "description": "Currency code for the purchase order monetary amount.", "pattern": "^[A-Z]{3}$" } }, "required": ["name", "description", "vendorCode", "itemDescription", "price", "currency"] }]]> <<3>> <<4>> <<5>> ```
1The tool listener defines the purchase order creation interface with comprehensive input validation.
2The parameters schema includes validation rules for all fields, including length limits and patterns.
3A vendor existence check is performed before creating the purchase order.
4The DataWeave transformation validates the vendor check response.
5Error handling covers connectivity, authentication, validation, and unexpected errors.
## Configure the MCP Client to Use Third-Party MCP Servers The previous examples showed you how to write tools that draw from existing Anypoint Connectors. Now, take a look at how to use third-party MCP servers. ### Create a Weather Service Using Multiple MCP Servers This example shows how to integrate your Mule applications with existing third-party MCP servers using Streamable HTTP transport by configuring the MCP Client and using the **Call Tool** operation. > [!NOTE] When connecting to third-party MCP servers, ensure they support Streamable HTTP transport. > If a third-party server only supports SSE transport, you may need to use the SSE client connection > or contact the service provider for Streamable HTTP support. First, set up the client configurations with timeout and retry settings: ```xml <<1>> 30 SECONDS <<2>> <<3>> ```
1The HTTP request configuration includes timeout and retry settings for the weather API.
2The Google Maps MCP client configuration uses Streamable HTTP transport with custom headers and reconnection settings.
3The Weather MCP server configuration uses Streamable HTTP transport and exposes the weather service endpoints with custom headers.
Now, create the weather service flows with error handling and caching: ```xml <<1>> 900000 MILLISECONDS <<2>> Provides the weather at given coordinates expressed as latitude and longitude <<3>> <<4>> Provides the weather at a specific address <<5>> ```
1The cache configuration stores weather data for 15 minutes to reduce API calls.
2The coordinates-based weather flow includes input validation and caching.
3The address-based weather flow demonstrates tool composition by:
  • First converting the address to coordinates using Google Maps

  • Then using those coordinates to get the weather

4Both flows include comprehensive error handling for different scenarios.
5The DataWeave transformation validates the Google Maps response before proceeding.
While LLMs can orchestrate these tools directly, there are cases where manual composition in Mule is preferable: - When you need guaranteed access to all MCP servers - When authentication needs to be handled securely - When you need strong governance and tracing capabilities ## See Also - [Applying Security to the MCP Server](https://docs.mulesoft.com/mcp-connector/1.0/mcp-connector-config-topics) - [MCP Connector Reference](https://docs.mulesoft.com/mcp-connector/1.0/mcp-connector-reference) - [MuleSoft MCP Support: Get Started With Model Context Protocol](https://blogs.mulesoft.com/news/model-context-protocol/) - [Introduction to Anypoint Connectors](https://docs.mulesoft.com/connectors/introduction/introduction-to-anypoint-connectors) - [Salesforce Help](https://help.salesforce.com) --- product: MCP Connector version: 1.0 --- # MCP Connector 1.0 Reference > For the full documentation index, see: https://docs.mulesoft.com/llms.txt Anypoint Connector for MCP (MCP Connector) allows Mule applications to act as both MCP servers and clients. When acting as an MCP client, MuleSoft facilitates the creation of integrations and orchestrations where AI agents are integrated as just another system in the workflow. ## Configurations ### Client Configuration element that acts as a client and connects to an MCP server. #### Parameters
NameTypeDescriptionDefault ValueRequired

Name

String

Name for this configuration. Connectors reference the configuration with this name.

Yes

Connection

The connection types to provide to this configuration.

Yes

Client Name

String

Name the client uses to identify itself during the protocol initialization phase. This isn’t the same as the name given to this config element (which is later referenced through config-ref parameters). This name doesn’t need to be unique.

Yes

Client Version

String

Version the client uses to identify itself during the protocol initialization phase. This doesn’t need to match the connector or Mule application version.

Yes

Name

String

ID used to reference this configuration.

Yes

Expiration Policy

Configures the minimum amount of time that a dynamic configuration instance can remain idle before Mule considers it eligible for expiration.

#### Connection Types ##### SSE Client Streamable HTTP transport is recommended. The SSE (Server-Sent Events) Client connection type enables MCP Connector to establish a persistent, one-way (server-sent) connection to an MCP server using the SSE standard. This type of connection allows the MCP server to push real-time updates and messages to the client without the need for the client to constantly poll for new information. ###### Parameters
NameTypeDescriptionDefault ValueRequired

Request Timeout

Number

Sets the duration to wait for server responses before timing out requests.

30

Request Timeout Unit

Enumeration, one of:

  • NANOSECONDS

  • MICROSECONDS

  • MILLISECONDS

  • SECONDS

  • MINUTES

  • HOURS

  • DAYS

Time Unit for the requestTimeout parameter

SECONDS

Authentication

HttpRequestAuthentication

Server Url

String

The base URL for the target MCP server

Yes

Sse Endpoint Path

String

/sse

Reconnection Delay

Number

Specifies how long to wait before reinitializing the SSE connection when it times out or closes.

500

Reconnection Delay Unit

Enumeration, one of:

  • NANOSECONDS

  • MICROSECONDS

  • MILLISECONDS

  • SECONDS

  • MINUTES

  • HOURS

  • DAYS

Time Unit for the reconnectionDelay

MILLISECONDS

Tls Context

Reconnection

When the application is deployed, a connectivity test is performed on all connectors. If set to true, deployment fails if the test doesn’t pass after exhausting the associated reconnection strategy.

##### Streamable HTTP Client ###### Parameters
NameTypeDescriptionDefault ValueRequired

Request Timeout

Number

Sets the duration to wait for server responses before timing out requests.

30

Request Timeout Unit

Enumeration, one of:

  • NANOSECONDS

  • MICROSECONDS

  • MILLISECONDS

  • SECONDS

  • MINUTES

  • HOURS

  • DAYS

Time Unit for the requestTimeout parameter

SECONDS

Authentication

HttpRequestAuthentication

Server Url

String

The base URL for the target MCP server

Yes

Mcp Endpoint Path

String

/mcp

Tls Context

Reconnection

When the application is deployed, a connectivity test is performed on all connectors. If set to true, deployment will fail if the test doesn’t pass after exhausting the associated reconnection strategy

## Supported Operations - [MCP Client - Call Tool](#CallTool) - [MCP Client - List Resources](#ListResources) - [MCP Client - List Tools](#ListTools) - [MCP Client - Ping](#Ping) - [MCP Client - Read Resource](#ReadResource) ### Server Configuration element to act as an MCP server. #### Parameters
NameTypeDescriptionDefault ValueRequired

Name

String

Name for this configuration. Connectors reference the configuration with this name.

Yes

Connection

The connection types to provide to this configuration.

Yes

Server Name

String

Name this server uses to identify itself during the protocol initialization phase. This isn’t the same as the name given to this config element (which is later referenced through config-ref parameters). This name doesn’t need to be unique.

Yes

Server Version

String

Version this server uses to identify itself during the protocol initialization phase. This doesn’t need to match the connector or Mule application version.

Yes

Name

String

ID used to reference this configuration.

Yes

#### Connection Types ##### SSE Server Exposes the MCP server using the SSE transport. ###### Parameters
NameTypeDescriptionDefault ValueRequired

Request Timeout

Number

Request timeout

10

Request Timeout Unit

Enumeration, one of:

  • NANOSECONDS

  • MICROSECONDS

  • MILLISECONDS

  • SECONDS

  • MINUTES

  • HOURS

  • DAYS

Request Timeout unit

SECONDS

Listener Config

String

Reference to the HTTP Listener config used to expose the SSE and messaging endpoints.

Yes

Sse Endpoint Path

String

The endpoint path clients use to initiate the SSE connection.

/sse

Messages Path

String

The path to send the messaging endpoint request to.

/message

Default Sse Response Headers

Object

Default Message Response Headers

Object

Reconnection

When the application is deployed, a connectivity test is performed on all connectors. If set to true, deployment will fail if the test doesn’t pass after exhausting the associated reconnection strategy

##### Streamable HTTP Server Exposes the MCP server using the Streamable HTTP transport, as defined in [Streamable HTTP](https://modelcontextprotocol.io/specification/2025-03-26/basic/transports#streamable-http). ###### Parameters
NameTypeDescriptionDefault ValueRequired

Request Timeout

Number

Request timeout

10

Request Timeout Unit

Enumeration, one of:

  • NANOSECONDS

  • MICROSECONDS

  • MILLISECONDS

  • SECONDS

  • MINUTES

  • HOURS

  • DAYS

Request Timeout unit

SECONDS

Listener Config

String

Reference to the http:listener-config used to expose the SSE and messaging endpoints.

Yes

Mcp Endpoint Path

String

The endpoint path clients will use to initiate the SSE connection

/mcp

Response Content Type

Enumeration, one of:

  • JSON

  • SSE

Whether responses should be sent by initiating a SSE stream or returning a single application/json body.

SSE

Default Response Headers

Object

Custom headers to include on all valid responses (not including rejected invalid requests).

Session Idle Timeout

Number

Timeout for idle sessions

5

Session Idle Timeout Unit

Enumeration, one of:

  • NANOSECONDS

  • MICROSECONDS

  • MILLISECONDS

  • SECONDS

  • MINUTES

  • HOURS

  • DAYS

Time unit qualifying the sessionIdleTimeout

MINUTES

Sessions Object Store

ObjectStore

An ObjectStore used to store session information. When deploying to multiple replicas, it is recommended to define a specific object store that will be distributed across all of them, either through Hazelcast or OSv2. If not specified, a default transient instance will be created.

Reconnection

When the application is deployed, a connectivity test is performed on all connectors. If set to true, deployment will fail if the test doesn’t pass after exhausting the associated reconnection strategy

## Associated Sources - [MCP Server - On New Session Listener](#OnNewSessionListener) - [MCP Server - Resource listener](#ResourceListener) - [MCP Server - Tool Listener](#ToolListener) ## Operations ## MCP Client - Call Tool `` Invokes a tool in a remote MCP server. ### Parameters
NameTypeDescriptionDefault ValueRequired

Configuration

String

Name of the configuration to use.

Yes

Tool Name

String

Name of the tool to invoke.

Yes

Arguments

Object

The tool’s input arguments.

#[payload]

Config Ref

ConfigurationProvider

Name of the configuration to use to execute this component.

Yes

Additional Properties

Object

#[null]

Target Variable

String

Name of the variable that stores the operation’s output.

Target Value

String

Expression that evaluates the operation’s output. The outcome of the expression is stored in the Target Variable field.

#[payload]

Error Mappings

Array of Error Mapping

Set of error mappings

Reconnection Strategy

Retry strategy in case of connectivity errors.

### Output

Type

Call Tool Response

Attributes Type

Any

### For Configurations - [Client](#Client) ### Throws - MCP:CONNECTIVITY - MCP:INTERNAL\_ERROR - MCP:INVALID\_PARAMS - MCP:INVALID\_REQUEST - MCP:JSON\_RPC\_ERROR - MCP:METHOD\_NOT\_FOUND - MCP:PARSE\_ERROR - MCP:REQUEST\_TIMEOUT - MCP:RETRY\_EXHAUSTED - MCP:SERVER\_ERROR ## MCP Client - List Resources `` Lists all the available resources in the remote MCP server. ### Parameters
NameTypeDescriptionDefault ValueRequired

Configuration

String

Name of the configuration to use.

Yes

Config Ref

ConfigurationProvider

Name of the configuration to use to execute this component.

Yes

Streaming Strategy

Configures how Mule processes streams. Repeatable streams are the default behavior.

Target Variable

String

Name of the variable that stores the operation’s output.

Target Value

String

Expression that evaluates the operation’s output. The outcome of the expression is stored in the Target Variable field.

#[payload]

Error Mappings

Array of Error Mapping

Set of error mappings

Reconnection Strategy

Retry strategy in case of connectivity errors.

### Output

Type

Array of Resource Metadata

### For Configurations - [Client](#Client) ### Throws - MCP:CONNECTIVITY - MCP:INTERNAL\_ERROR - MCP:INVALID\_PARAMS - MCP:INVALID\_REQUEST - MCP:INVALID\_URI - MCP:JSON\_RPC\_ERROR - MCP:METHOD\_NOT\_FOUND - MCP:PARSE\_ERROR - MCP:REQUEST\_TIMEOUT - MCP:RETRY\_EXHAUSTED - MCP:SERVER\_ERROR ## MCP Client - List Tools `` Lists all the available tools in the remote MCP server. ### Parameters
NameTypeDescriptionDefault ValueRequired

Configuration

String

Name of the configuration to use.

Yes

Config Ref

ConfigurationProvider

Name of the configuration to use to execute this component.

Yes

Streaming Strategy

Configures how Mule processes streams. Repeatable streams are the default behavior.

Target Variable

String

Name of the variable that stores the operation’s output.

Target Value

String

Expression that evaluates the operation’s output. The outcome of the expression is stored in the Target Variable field.

#[payload]

Error Mappings

Array of Error Mapping

Set of error mappings

Reconnection Strategy

Retry strategy in case of connectivity errors.

### Output

Type

Array of Tool Metadata

### For Configurations - [Client](#Client) ### Throws - MCP:CONNECTIVITY - MCP:INTERNAL\_ERROR - MCP:INVALID\_PARAMS - MCP:INVALID\_REQUEST - MCP:JSON\_RPC\_ERROR - MCP:METHOD\_NOT\_FOUND - MCP:PARSE\_ERROR - MCP:REQUEST\_TIMEOUT - MCP:RETRY\_EXHAUSTED - MCP:SERVER\_ERROR ## MCP Client - Ping `` Pings the remote server. ### Parameters
NameTypeDescriptionDefault ValueRequired

Configuration

String

Name of the configuration to use.

Yes

Config Ref

ConfigurationProvider

Name of the configuration to use to execute this component.

Yes

Error Mappings

Array of Error Mapping

Set of error mappings.

Reconnection Strategy

Retry strategy in case of connectivity errors.

### Output

Type

Any

Attributes Type

Any

### For Configurations - [Client](#Client) ### Throws - MCP:CONNECTIVITY - MCP:RETRY\_EXHAUSTED ## MCP Client - Read Resource `` Reads a resource referenced by its URI. ### Parameters
NameTypeDescriptionDefault ValueRequired

Configuration

String

Name of the configuration to use.

Yes

Uri

String

Yes

Config Ref

ConfigurationProvider

Name of the configuration to use to execute this component.

Yes

Additional Properties

Object

#[null]

Target Variable

String

Name of the variable that stores the operation’s output.

Target Value

String

Expression that evaluates the operation’s output. The outcome of the expression is stored in the Target Variable field.

#[payload]

Error Mappings

Array of Error Mapping

Set of error mappings

Reconnection Strategy

Retry strategy in case of connectivity errors.

### Output

Type

Resource Content

Attributes Type

Any

### For Configurations - [Client](#Client) ### Throws - MCP:CONNECTIVITY - MCP:INTERNAL\_ERROR - MCP:INVALID\_PARAMS - MCP:INVALID\_REQUEST - MCP:INVALID\_URI - MCP:JSON\_RPC\_ERROR - MCP:METHOD\_NOT\_FOUND - MCP:PARSE\_ERROR - MCP:REQUEST\_TIMEOUT - MCP:RETRY\_EXHAUSTED - MCP:SERVER\_ERROR ## Sources ## MCP Server - On New Session Listener `` ### Parameters
NameTypeDescriptionDefault ValueRequired

Configuration

String

Name of the configuration to use.

Yes

Primary Node Only

Boolean

Determines whether to execute this source on only the primary node when running Mule instances in a cluster.

Config Ref

ConfigurationProvider

Name of the configuration to use to execute this component.

Yes

Redelivery Policy

Defines a policy for processing the redelivery of the same message.

Reject With Status Code

Number

Reject With Message

String

### Output

Type

New Session Request

### For Configurations - [Server](#Server) ## MCP Server - Resource listener `` Exposes a resource whose content is generated by the execution of the owning flow. The flow is executed for every received resources/read request. The user can choose to implement the flow so that the resource content is static or to make it dynamic. For instance, a dynamic resource could be a expenses.csv file, that is actually the result of executing a live DB query. Or a static resource could be a file obtained through Amazon S3 and locally cached using the `ee:cache` component. ### Parameters
NameTypeDescriptionDefault ValueRequired

Configuration

String

Name of the configuration to use.

Yes

Name

String

Name of the resource.

Yes

Description

String

Detailed enough description for an LLM to determine when to read this resource.

Yes

Uri

String

Resource URI.

Yes

Resource Mime Type

String

Resource MIME type.

Yes

Primary Node Only

Boolean

Determines whether to execute this source on only the primary node when running Mule instances in a cluster.

Config Ref

ConfigurationProvider

Name of the configuration to use to execute this component.

Yes

Redelivery Policy

Defines a policy for processing the redelivery of the same message.

Reconnection Strategy

Retry strategy in case of connectivity errors.

Resource Listener

Defines the resource content and type. These parameters are evaluated when the flow finishes successfully (when the payload and variables available).

Yes

### Output

Type

Resource Request

Attributes Type

### For Configurations - [Server](#Server) ## MCP Server - Tool Listener `` Exposes a tool whose result is generated by the execution of the owning flow. The flow will be executed for every received tools/call request. When triggered, the flow will be executed with a message whose payload is a Java map holding the input arguments. The tool response is generated when the flow finishes either successfully or with error. In both cases, the response can include several content items of different types. If no error response is defined, then a text content item holding the error’s description will be generated automatically. ### Parameters
NameTypeDescriptionDefault ValueRequired

Configuration

String

Name of the configuration to use.

Yes

Name

String

The tool’s name

Yes

Description

String

A detailed enough description for an LLM to determine when this tool should be called

Yes

Parameters Schema

String

A JSON schema defining an object whose fields will act as the tool’s input arguments

Yes

Primary Node Only

Boolean

Determines whether to execute this source on only the primary node when running Mule instances in a cluster.

Config Ref

ConfigurationProvider

Name of the configuration to use to execute this component.

Yes

Redelivery Policy

Defines a policy for processing the redelivery of the same message.

Reconnection Strategy

Retry strategy in case of connectivity errors.

Responses

Response items when the flow finishes successfully.

Yes

On Error Responses

Content items when the flow finishes in error.

### Output

Type

Object

Attributes Type

Request Attributes

### For Configurations - [Server](#Server) ## Types ### TLS Configures TLS to provide secure communications for the Mule app.
FieldTypeDescriptionDefault ValueRequired

Enabled Protocols

String

Comma-separated list of protocols enabled for this context.

Enabled Cipher Suites

String

Comma-separated list of cipher suites enabled for this context.

Trust Store

Configures the TLS truststore.

Key Store

Configures the TLS keystore.

Revocation Check

Configures a revocation checking mechanism.

### Truststore Configures the truststore for TLS.
FieldTypeDescriptionDefault ValueRequired

Path

String

Path to the truststore. Mule resolves the path relative to the current classpath and file system.

Password

String

Password used to protect the truststore.

Type

String

Type of store.

Algorithm

String

Encryption algorithm that the truststore uses.

Insecure

Boolean

If true, Mule stops performing certificate validations. Setting this to true can make connections vulnerable to attacks.

### Keystore Configures the keystore for the TLS protocol. The keystore you generate contains a private key and a public certificate.
FieldTypeDescriptionDefault ValueRequired

Path

String

Path to the keystore. Mule resolves the path relative to the current classpath and file system.

Type

String

Type of store.

Alias

String

Alias of the key to use when the keystore contains multiple private keys. By default, Mule uses the first key in the file.

Key Password

String

Password used to protect the private key.

Password

String

Password used to protect the keystore.

Algorithm

String

Encryption algorithm that the keystore uses.

### Standard Revocation Check Configures standard revocation checks for TLS certificates.
FieldTypeDescriptionDefault ValueRequired

Only End Entities

Boolean

Which elements to verify in the certificate chain:

  • true

Verify only the last element in the certificate chain.

  • false

Verify all elements in the certificate chain.

Prefer Crls

Boolean

How to check certificate validity:

  • true

Check the Certification Revocation List (CRL) for certificate validity.

  • false

Use the Online Certificate Status Protocol (OCSP) to check certificate validity.

No Fallback

Boolean

Whether to use the secondary method to check certificate validity:

  • true

Use the method that wasn’t specified in the Prefer Crls field (the secondary method) to check certificate validity.

  • false

Don’t use the secondary method to check certificate validity.

Soft Fail

Boolean

What to do if the revocation server can’t be reached or is busy:

  • true

Avoid verification failure.

  • false

Allow the verification to fail.

### Custom OCSP Responder Configures a custom OCSP responder for certification revocation checks.
FieldTypeDescriptionDefault ValueRequired

Url

String

URL of the OCSP responder.

Cert Alias

String

Alias of the signing certificate for the OCSP response. If specified, the alias must be in the truststore.

### CRL File Specifies the location of the certification revocation list (CRL) file.
FieldTypeDescriptionDefault ValueRequired

Path

String

Path to the CRL file.

### Reconnection Configures a reconnection strategy for an operation.
FieldTypeDescriptionDefault ValueRequired

Fails Deployment

Boolean

When the application is deployed, a connectivity test is performed on all connectors. If set to true, deployment fails if the test doesn’t pass after exhausting the associated reconnection strategy.

Reconnection Strategy

Reconnection strategy to use.

### Reconnect
FieldTypeDescriptionDefault ValueRequired

Frequency

Number

How often in milliseconds to reconnect.

Count

Number

How many reconnection attempts to make.

blocking

Boolean

If false, the reconnection strategy runs in a separate, non-blocking thread.

true

### Reconnect Forever
FieldTypeDescriptionDefault ValueRequired

Frequency

Number

How often in milliseconds to reconnect.

blocking

Boolean

If false, the reconnection strategy runs in a separate, non-blocking thread.

true

### Expiration Policy Configures an expiration policy strategy.
FieldTypeDescriptionDefault ValueRequired

Max Idle Time

Number

Configures the maximum amount of time that a dynamic configuration instance can remain idle before Mule considers it eligible for expiration.

Time Unit

Enumeration, one of:

  • NANOSECONDS

  • MICROSECONDS

  • MILLISECONDS

  • SECONDS

  • MINUTES

  • HOURS

  • DAYS

Time unit for the Max Idle Time field.

### Call Tool Response Response obtained from calling a tool as a client.
FieldTypeDescriptionDefault ValueRequired

Contents

The contents generated by the tool

Yes

Error

Boolean

Whether the tool execution was successful or errored out. Notice that even in case of error, contents might have been generated.

false

### Call Tool Response Content
FieldTypeDescriptionDefault ValueRequired

Type

Enumeration, one of:

  • text

  • image

  • resource

Content type.

Yes

Text

String

Content’s payload when type is text.

Mime Type

String

Content’s MIME type.

Data

Binary

Content’s payload when type is image.

Resource

Content’s payload when type is resource.

Audience

Array of Enumeration, one of:

  • USER

  • ASSISTANT

Describes who the intended consumer of this data is. It can include multiple entries to indicate content useful for multiple audiences.

Priority

Number

Describes how important this data is for operating the server. A value of 1 means "most important", which indicates that the data is required. A value of 0 means "least important", which indicates that the data is entirely optional.

### Resource Content A flattened representation of a resource content. The resource can be either text or blob types. The text property is set for text resources, while the blob type is used for the latter.
FieldTypeDescriptionDefault ValueRequired

Uri

String

Resource URI

Yes

Mime Type

String

Resource MIME type.

Yes

Text

String

Content of a text resource. Null for BLOB data types.

Blob

Binary

Content of a BLOB resource. Null for text data types.

### Error Mapping
FieldTypeDescriptionDefault ValueRequired

Source

Enumeration, one of:

  • ANY

  • REDELIVERY_EXHAUSTED

  • TRANSFORMATION

  • EXPRESSION

  • SECURITY

  • CLIENT_SECURITY

  • SERVER_SECURITY

  • ROUTING

  • CONNECTIVITY

  • RETRY_EXHAUSTED

  • TIMEOUT

Target

String

Yes

### Resource Metadata
FieldTypeDescriptionDefault ValueRequired

Uri

String

Resource URI.

Yes

Name

String

Name of the resource.

Yes

Description

String

Description of the resource.

Yes

Mime Type

String

MIME type of the resource.

Yes

### Repeatable In Memory Iterable
FieldTypeDescriptionDefault ValueRequired

Initial Buffer Size

Number

The amount of memory to allocate to consume the stream and provide random access to it. If the stream contains more data than can fit into this buffer, then the buffer expands according to the Buffer Size Increment value, with an upper limit of the Max In Memory Size value. instances.

100

Buffer Size Increment

Number

Amount by which the buffer size expands if it exceeds its initial size. Setting a value of 0 or lower specifies that the buffer can’t expand.

100

Max Buffer Size

Number

Maximum size of the buffer. If the buffer size exceeds this value, Mule raises a STREAM_MAXIMUM_SIZE_EXCEEDED error. A value of less than or equal to 0 means no limit.

### Repeatable File Store Iterable
FieldTypeDescriptionDefault ValueRequired

In Memory Objects

Number

Maximum number of instances to keep in memory. If more than the maximum is required, content on the disk is buffered.

Buffer Unit

Enumeration, one of:

  • BYTE

  • KB

  • MB

  • GB

Unit for the In Memory Objects field.

### Tool Metadata Describes a tool through its properties.
FieldTypeDescriptionDefault ValueRequired

Name

String

Name of the tool.

Yes

Description

String

A detailed enough description for an LLM to determine when to call this tool.

Yes

Input Schema

String

JSON Schema describing the tool’s input parameters.

Yes

### New Session Request Contains the data associated to a client requiring the creation of a new server session.
FieldTypeDescriptionDefault ValueRequired

Session Id

String

Yes

Additional Properties

Object

Yes

Client Certificate

### Certificate Data
FieldTypeDescriptionDefault ValueRequired

Basic Constraints

Number

Critical Extension OI Ds

Array of String

Encoded

Binary

Extended Key Usage

Array of String

Extensions

Issuer Alternative Names

Issuer DN

Issuer Unique ID

Array of Boolean

Issuer X500 Principal

Key Usage

Array of Boolean

Name

String

Non Critical Extension OI Ds

Array of String

Not After

Date

Not Before

Date

Public Key

Serial Number

Number

Serial Number Object

Sig Alg Name

String

Sig Alg OID

String

Sig Alg Params

Binary

Signature

Binary

Subject Alternative Names

Subject DN

Subject X500 Principal

Type

String

Version

Number

### Certificate Extension
FieldTypeDescriptionDefault ValueRequired

Criticality

Boolean

Oid

String

Value

Binary

### Alternative Name Data
FieldTypeDescriptionDefault ValueRequired

Name

String

Type

Number

### Principal Data
FieldTypeDescriptionDefault ValueRequired

Common Name

String

Name

String

### X500 Principal Data
FieldTypeDescriptionDefault ValueRequired

Name

String

### Public Key Data
FieldTypeDescriptionDefault ValueRequired

Algorithm

String

Encoded

Binary

Modulus

Number

Params

Number

Public Key

String

### Serial Number Data
FieldTypeDescriptionDefault ValueRequired

Serial Number

Number

### Redelivery Policy Configures the redelivery policy for executing requests that generate errors. You can add a redelivery policy to any source in a flow.
FieldTypeDescriptionDefault ValueRequired

Max Redelivery Count

Number

Maximum number of times that a redelivered request can be processed unsuccessfully before returning a REDELIVERY_EXHAUSTED error.

Message Digest Algorithm

String

Secure hashing algorithm to use if the Use Secure Hash field is true. If the payload of the message is a Java object, Mule ignores this value and returns the value that the payload’s hashCode() returned.

Message Identifier

One or more expressions that determine if a message was redelivered. This property can be set only if the Use Secure Hash field is false.

Object Store

ObjectStore

Configures the object store that stores the redelivery counter for each message.

### Redelivery Policy Message Identifier Configures how to identify a redelivered message and how to find out when the message was redelivered.
FieldTypeDescriptionDefault ValueRequired

Use Secure Hash

Boolean

If true, Mule uses a secure hash algorithm to identify a redelivered message.

Id Expression

String

One or more expressions that determine when a message was redelivered. You can set this property only if the Use Secure Hash field is false.

### Resource Request An inbound request for a resource, used when the connector is acting as an MCP server.
FieldTypeDescriptionDefault ValueRequired

Requested Uri

String

Yes

### Request Attributes
FieldTypeDescriptionDefault ValueRequired

Session Id

String

Yes

Request Id

String

Yes

Additional Properties

Object

Additional values attached to the request as HTTP Headers.

Yes

### Text Tool Response Content Defines a text content that’s part of the response of a tool implemented through this connector.
FieldTypeDescriptionDefault ValueRequired

Text

String

Yes

Audience

Array of Enumeration, one of:

  • USER

  • ASSISTANT

Describes who the intended consumer of this data is. It can include multiple entries to indicate content that’s useful for multiple audiences.

Priority

Number

Describes how important this data is for operating the server. A value of 1 means "most important", which indicates that the data is required. A value of 0 means "least important", which indicates that the data is entirely optional.

### Image Tool Response Content Defines an image content that’s part of the response of a tool implemented through this connector.
FieldTypeDescriptionDefault ValueRequired

Audience

Array of Enumeration, one of:

  • USER

  • ASSISTANT

Describes who the intended consumer of this data is. It can include multiple entries to indicate content useful for multiple audiences.

Priority

Number

Describes how important this data is for operating the server. A value of 1 means "most important", which indicates that the data is required. A value of 0 means "least important", which indicates that the data is entirely optional.

Data

Binary

The raw image content, without Base64 encoding.

Mime Type

String

The image MIME type.

### Text Resource Tool Response Content Defines an embedded text resource that’s part of the response of a tool implemented through this connector.
FieldTypeDescriptionDefault ValueRequired

Audience

Array of Enumeration, one of:

  • USER

  • ASSISTANT

Describes who the intended consumer of this data is. It can include multiple entries to indicate content useful for multiple audiences.

Priority

Number

Describes how important this data is for operating the server. A value of 1 means "most important", which indicates that the data is required. A value of 0 means "least important", which indicates that the data is entirely optional.

Uri

String

Resource URI.

Mime Type

String

The resource MIME type.

Text

String

Resource text.

### Blob Resource Tool Response Content Defines an embedded blob resource that’s part of the response of a tool implemented through this connector.
FieldTypeDescriptionDefault ValueRequired

Audience

Array of Enumeration, one of:

  • USER

  • ASSISTANT

Describes who the intended consumer of this data is. It can include multiple entries to indicate content useful for multiple audiences.

Priority

Number

Describes how important this data is for operating the server. A value of 1 means "most important", which indicates that the data is required. A value of 0 means "least important", which indicates that the data is entirely optional.

Blob

Binary

The raw resource content, without Base64 encoding.

Yes

Uri

String

Resource URI.

Mime Type

String

The resource MIME type.

### Text Resource Defines a text resource.
FieldTypeDescriptionDefault ValueRequired

Text

String

Text content.

Yes

### Blob Resource Defines the contents of a Blob resource.
FieldTypeDescriptionDefault ValueRequired

Blob

Binary

The raw blob content, without Base64 encoding.

Yes

### Custom Header Configures a custom header to be included in requests or responses.
NameTypeDescriptionDefault ValueRequired

Key

String

The header name.

Yes

Value

String

The header value. Supports property placeholders and DataWeave expressions.

Yes

## See Also - [Using Anypoint Code Builder to Configure a Connector](https://docs.mulesoft.com/connectors/introduction/intro-config-use-acb) - [Using Studio to Configure a Connector](https://docs.mulesoft.com/connectors/introduction/intro-config-use-studio) - [MCP Connector Overview](https://docs.mulesoft.com/mcp-connector/1.0/) - [Salesforce Help](https://help.salesforce.com) --- product: MCP Connector version: 1.0 --- # MCP Connector 1.0 XML and Maven Support > For the full documentation index, see: https://docs.mulesoft.com/llms.txt Although you can manually code a Mule app in XML, it is more efficient to use Anypoint Code Builder or Studio: - If you manually code a Mule runtime engine (Mule) app in XML, either from the Anypoint Code Builder or Studio XML editor, or from a text editor, you can access the connector from your app by adding reference statements to both your XML Mule flow and the Apache Maven `pom.xml` file. - If you add the connector in Anypoint Code Builder or Studio, the XML is automatically populated the code with the connector’s namespace and schema location and it also adds a dependency to the `pom.xml` file. ## Add a Namespace for the Connector Paste the following code inside the `mule` tag of the header of your configuration XML: ```xml http://www.mulesoft.org/schema/mule/mcp http://www.mulesoft.org/schema/mule/mcp/current/mule-mcp.xsd ``` This example shows how the namespace statements are placed in the `` XML block: ```xml ``` ## Add a POM File Dependency The Apache Maven `pom.xml` file generated by Anypoint Studio contains dependencies for a Mule app. If you code a Mule app manually, include this XML snippet in your `pom.xml` file to enable access to this connector: ```xml com.mulesoft.connectors mule-mcp-connector x.x.x mule-plugin ``` Replace `x.x.x` with the version that corresponds to the connector you are using. To obtain the most up-to-date `pom.xml` file information: 1. Go to [Anypoint Exchange](https://www.mulesoft.com/exchange/). 2. In Exchange, click **Login** and supply your Anypoint Platform username and password. 3. In Exchange, search for `mcp`. 4. Select the connector. 5. Click **Dependency Snippets** near the upper right of the screen. ## Next Step After completing your namespace and pom.xml file, you can try the [Examples](https://docs.mulesoft.com/mcp-connector/1.0/mcp-connector-examples). ## See Also - [Introduction to Anypoint Connectors](https://docs.mulesoft.com/connectors/introduction/introduction-to-anypoint-connectors) - [Salesforce Help](https://help.salesforce.com) --- product: MCP Connector version: 1.1 --- # MCP Connector 1.1 > For the full documentation index, see: https://docs.mulesoft.com/llms.txt Anypoint Connector for MCP (MCP Connector) uses the Model Context Protocol (MCP) to enable AI clients that support MCP to invoke and interact with APIs, connectors, and apps. Use MCP Connector to connect LLM applications with your APIs. Expose APIs with complex endpoints as simpler, more atomic tools or resources that are better suited for agentic clients. Decide on what is straightforward, repeatable, and optimal for agent actions, and start there. MCP is an open protocol that enables integration between LLM applications and external data, services, and tools. The MCP protocol: - Enhances AI precision by supplying AI with relevant information, leading to more accurate responses. - Empowers AI to manage intricate tasks that require access to external data or services. - Promotes interoperability between AI models and external systems, simplifying integration into workflows. MCP Connector: - Enables you to expose your Mule apps, connectors, and custom APIs using the MCP protocol to further enable agentic experiences from agents in Claude, Cursor, Windsurf, and your own agents. - Enables you to write Mule apps that can act as both an MCP server and a client. The resulting MCP server or client runs inside of Mule, which means you don’t need to configure your own hosting environment. - When acting as an MCP server, Mule allows AI clients to use existing API-led investments, legacy systems, and SaaS applications that don’t natively support MCP. - When acting as an MCP client, Mule helps you create connections and orchestrations where AI agents are added as just another system in the workflow. - Allows you to incorporate AI agents into your existing Enterprise ecosystem, using Mule as the orchestration layer. - Supports Streamable HTTP for both server and client (recommended) and SSE (for both server and client) [transport methods](#connection-types). - Supports custom response headers on every exposed endpoint, including `/sse`, `/messages`, and `/mcp`. Use custom response headers for security, operational, integration, and governance benefits. This makes the capabilities of your Mule APIs and applications available to a growing ecosystem of AI agents. For information about compatibility and fixed issues, see the MCP Connector Release Notes. ## Before You Begin To use this connector, you must be familiar with: - Anypoint Connectors - Mule runtime engine (Mule) - Elements and global elements in a Mule flow - How to create a Mule app using Anypoint Code Builder or Anypoint Studio Before creating an app, you must have: - Java 17 - Apache Maven - Anypoint Platform - Credentials to connect with the target resource - The latest versions of Anypoint Code Builder or Anypoint Studio ## Common Use Cases for the Connector These are some common use cases for the connector: - Customer Service Use AI agents to help human agents be more efficient by handling time-intensive tasks like reviewing case histories, analyzing reported issues, and retrieving relevant information. - Sales Improve sales teams' success by accelerating prospect research, generating customized collateral, and preparing contracts. - Marketing Empower marketing teams with AI-driven support for drafting social media content, conducting market research, and analyzing campaign performance. ## Connection Types - Streamable HTTP Allows you to deploy multiple instances of your MCP server to run behind a load balancer without clients knowing about the individual server URLs. Clients connect to a single endpoint (like `/mcp`) and the load balancer distributes requests across all your MCP server instances. This is particularly useful for scalability in cloud environments, where you might have multiple replicas of your Mule app running. When acting as an MCP client, Streamable HTTP enables your Mule application to connect to remote MCP servers using the same scalable, load-balanced approach. - SSE Client Enables MCP Connector to establish a persistent, one-way (server-sent) connection to an MCP server using the Server-Sent Events (SSE) standard. This type of connection allows the MCP server to push real-time updates and messages to the client without the need for the client to constantly poll for new information. - SSE Server Exposes the MCP server using the Server-Sent Events (SSE) transport. This allows MCP clients to establish persistent, one-way connections to this server to receive real-time updates and messages. ### Streamable HTTP Limitations The Streamable HTTP connection type has no support for: - Calling the GET `/mcp` endpoint for getting notifications - Resumability and Redelivery ## Next Step After you complete the prerequisites, you’re ready to create an app and configure the connector using [Anypoint Studio](https://docs.mulesoft.com/mcp-connector/1.1/mcp-connector-studio) or [Anypoint Code Builder](https://docs.mulesoft.com/mcp-connector/1.1/mcp-connector-acb). ## See Also - [Anypoint Connectors Overview](https://docs.mulesoft.com/connectors/introduction/introduction-to-anypoint-connectors) - [Using Anypoint Code Builder to Configure a Connector](https://docs.mulesoft.com/connectors/introduction/intro-config-use-acb) - [Using Anypoint Studio to Configure a Connector](https://docs.mulesoft.com/connectors/introduction/intro-config-use-studio) - [MCP Connector Reference](https://docs.mulesoft.com/mcp-connector/1.1/mcp-connector-reference) - [MuleSoft MCP Support: Get Started With Model Context Protocol](https://blogs.mulesoft.com/news/model-context-protocol/) - [Model Context Protocol](https://modelcontextprotocol.io/docs/getting-started/intro) - [Salesforce Help](https://help.salesforce.com) --- product: MCP Connector version: 1.1 --- # MCP Connector 1.1 - Applying Security to the MCP Server > For the full documentation index, see: https://docs.mulesoft.com/llms.txt MCP Connector enables server-side authentication for MCP clients. In these examples, it uses the stateful Server-Sent Events (SSE) connection and the **On New Session Listener** source to implement custom security logic, including OAuth access token validation. ## Server-Side Authentication With On New Session Listener The MCP specification emphasizes session management and SSE connections maintain state. The **On New Session Listener** source offers a key point for implementing server-side authentication. This example illustrates a basic flow triggered by this listener, showing how to access the auto-generated `sessionId` and the HTTP headers sent by the connecting client, which can then be used for custom authentication logic. This is an example flow that uses the **On New Session Listener** source: ```xml ``` The flow executes each time a new client connects to the MCP server application. The payload contains the auto-generated `sessionId` and the `additionalProperties`, which when using the SSE connection type, maps to the request HTTP headers. At this point, you can implement your own authentication logic. For instance, the `#[payload.additionalProperties.authorization]` expression gets the HTTP authorization header, which you can validate later. ### Validate OAuth Access Tokens Optionally, you can use the [Mule OAuth 2.0 Provider](https://docs.mulesoft.com/api-manager/latest/mule-oauth-provider-landing-page) to implement and validate OAuth access tokens. In this example flow, the access token is validated using the OAuth provider, and the session is rejected if the token is invalid: ```xml ``` The new session is rejected if either of these things happen: - The `rejectWithStatusCode` parameter is assigned a non null value (or an expression that resolves to a non null value), or - The flow fails, in which case a status code 500 is reported. In this example, the OAuth validation error is handled so that the status code is mapped to a `401 - UNAUTHORIZED` code. ## Client-Side Authentication In the client, the authentication parameter accepts all the authentication strategies defined in HTTP Connector, and [OAuth Module](https://docs.mulesoft.com/oauth-module/latest/) if it’s also added to the project. Operations like **Call Tool** also accept additional properties, which in the case of SSE map to request headers. This makes it possible to add custom authentication headers like API keys, for example: ```xml ``` ## Next Step After you configure the connector, you can try the [Examples](https://docs.mulesoft.com/mcp-connector/1.1/mcp-connector-examples). ## See Also - [Introduction to Anypoint Connectors](https://docs.mulesoft.com/connectors/introduction/introduction-to-anypoint-connectors) - [Salesforce Help](https://help.salesforce.com) --- product: MCP Connector version: 1.1 --- # MCP Connector 1.1 - Examples > For the full documentation index, see: https://docs.mulesoft.com/llms.txt These are some examples of how to use existing APIs to build agents using MCP Connector. ## Create an MCP Server and Tools These examples show you the process of creating an MCP server within your Mule app and defining two distinct tools that the MCP server will expose: one for retrieving a dynamic list of approved vendors with their product categories, and another for initiating the creation of purchase orders with specified details. These examples illustrate the concept of MCP tools as invocable Remote Procedure Calls (RPCs). ### Create the MCP Server Configuration This example demonstrates how to configure an MCP server within your Mule application using the Streamable HTTP transport. When acting as an MCP client, MuleSoft facilitates the creation of integrations and orchestrations where AI Agents are integrated as just another system in the workflow. ```xml <<1>> <<2>> <<3>> <<4>> ```
1The HTTP listener configuration defines the endpoint where the MCP server is exposed.
2The MCP server configuration uses the Streamable HTTP transport.
3Headers are added to all responses for version tracking and server identification.
4Property placeholders are used for configuration values to support different environments.
### Create a Tool That Provides a List of Vendors This example illustrates how to create an MCP tool that retrieves a dynamic list of approved vendors from an external system (in this case, SAP Concur). The example demonstrates how to use the `` to define a callable tool and how to process the data to provide the agent with relevant vendor information, including their assigned product category from the `Custom19` field. First, set up the SAP Concur configuration with retry and timeout settings: ```xml <<1>> <<2>> 30 <<3>> SECONDS <<4>> 3600000 MILLISECONDS ```
1The SAP Concur configuration includes OAuth authentication settings.
2A reconnection strategy is configured to handle temporary connection issues.
3Request timeout is set to 30 seconds to prevent hanging requests.
4A cache configuration is added to improve performance with a one hour TTL.
Now, create the main flow that handles vendor retrieval with pagination and caching: ```xml <<1>> Get all approved vendors with optional pagination > "$schema": "http://json-schema.org/draft-07/schema#", "type": "object", "properties": { "pageSize": { "type": "integer", "description": "Number of vendors to return per page", "minimum": 1, "maximum": 100, "default": 50 }, "pageNumber": { "type": "integer", "description": "Page number to retrieve", "minimum": 1, "default": 1 } }, "required": [] }]]> <<3>> <<4>> <<5>> ```
1The <mcp:tool-listener> defines the interface for the vendor retrieval tool with pagination support.
2The <mcp:parameters-schema> schema includes validation for page size and page number.
3The cache component improves performance by storing results for 1 hour.
4The DataWeave transformation filters approved vendors and adds pagination metadata.
5Error handling covers connectivity, authentication, and unexpected errors.
### Create a Tool That Creates Purchase Orders This example demonstrates the creation of an MCP tool that allows an agent to initiate the creation of a purchase order in SAP Concur. The example highlights how to define input parameters for a tool using a JSON schema, including natural language descriptions for each parameter to help the LLM in understanding and populating the required information. ```xml <<1>> Create a new purchase order in SAP Concur with validation > "$schema": "http://json-schema.org/draft-07/schema#", "type": "object", "properties": { "name": { "type": "string", "description": "Name for the purchase order.", "minLength": 1, "maxLength": 100 }, "description": { "type": "string", "description": "Purchase order description.", "minLength": 1, "maxLength": 500 }, "vendorCode": { "type": "string", "description": "Code that identifies the vendor.", "pattern": "^[A-Z0-9]{3,10}$" }, "itemDescription": { "type": "string", "description": "Description of the item purchased in this order.", "minLength": 1, "maxLength": 200 }, "price": { "type": "number", "description": "Monetary amount of the purchase order.", "minimum": 0.01, "maximum": 999999.99 }, "currency": { "type": "string", "description": "Currency code for the purchase order monetary amount.", "pattern": "^[A-Z]{3}$" } }, "required": ["name", "description", "vendorCode", "itemDescription", "price", "currency"] }]]> <<3>> <<4>> <<5>> ```
1The tool listener defines the purchase order creation interface with comprehensive input validation.
2The parameters schema includes validation rules for all fields, including length limits and patterns.
3A vendor existence check is performed before creating the purchase order.
4The DataWeave transformation validates the vendor check response.
5Error handling covers connectivity, authentication, validation, and unexpected errors.
## Configure the MCP Client to Use Third-Party MCP Servers The previous examples showed you how to write tools that draw from existing Anypoint Connectors. Now, take a look at how to use third-party MCP servers. ### Create a Weather Service Using Multiple MCP Servers This example shows how to integrate your Mule applications with existing third-party MCP servers using Streamable HTTP transport by configuring the MCP Client and using the **Call Tool** operation. > [!NOTE] When connecting to third-party MCP servers, ensure they support Streamable HTTP transport. > If a third-party server only supports SSE transport, you may need to use the SSE client connection > or contact the service provider for Streamable HTTP support. First, set up the client configurations with timeout and retry settings: ```xml <<1>> 30 SECONDS <<2>> <<3>> ```
1The HTTP request configuration includes timeout and retry settings for the weather API.
2The Google Maps MCP client configuration uses Streamable HTTP transport with custom headers and reconnection settings.
3The Weather MCP server configuration uses Streamable HTTP transport and exposes the weather service endpoints with custom headers.
Now, create the weather service flows with error handling and caching: ```xml <<1>> 900000 MILLISECONDS <<2>> Provides the weather at given coordinates expressed as latitude and longitude <<3>> <<4>> Provides the weather at a specific address <<5>> ```
1The cache configuration stores weather data for 15 minutes to reduce API calls.
2The coordinates-based weather flow includes input validation and caching.
3The address-based weather flow demonstrates tool composition by:
  • First converting the address to coordinates using Google Maps

  • Then using those coordinates to get the weather

4Both flows include comprehensive error handling for different scenarios.
5The DataWeave transformation validates the Google Maps response before proceeding.
While LLMs can orchestrate these tools directly, there are cases where manual composition in Mule is preferable: - When you need guaranteed access to all MCP servers - When authentication needs to be handled securely - When you need strong governance and tracing capabilities ## See Also - [Applying Security to the MCP Server](https://docs.mulesoft.com/mcp-connector/1.1/mcp-connector-config-topics) - [MCP Connector Reference](https://docs.mulesoft.com/mcp-connector/1.1/mcp-connector-reference) - [MuleSoft MCP Support: Get Started With Model Context Protocol](https://blogs.mulesoft.com/news/model-context-protocol/) - [Introduction to Anypoint Connectors](https://docs.mulesoft.com/connectors/introduction/introduction-to-anypoint-connectors) - [Salesforce Help](https://help.salesforce.com) --- product: MCP Connector version: 1.1 --- # MCP Connector 1.1 Reference > For the full documentation index, see: https://docs.mulesoft.com/llms.txt Anypoint Connector for MCP (MCP Connector) allows Mule applications to act as both MCP servers and clients. When acting as an MCP client, MuleSoft facilitates the creation of integrations and orchestrations where AI agents are integrated as just another system in the workflow. ## Configurations ### Client Configuration element that acts as a client and connects to an MCP server. #### Parameters
NameTypeDescriptionDefault ValueRequired

Name

String

Name for this configuration. Connectors reference the configuration with this name.

Yes

Connection

The connection types to provide to this configuration.

Yes

Client Name

String

Name the client uses to identify itself during the protocol initialization phase. This isn’t the same as the name given to this config element (which is later referenced through config-ref parameters). This name doesn’t need to be unique.

Yes

Client Version

String

Version the client uses to identify itself during the protocol initialization phase. This doesn’t need to match the connector or Mule application version.

Yes

Name

String

ID used to reference this configuration.

Yes

Expiration Policy

Configures the minimum amount of time that a dynamic configuration instance can remain idle before Mule considers it eligible for expiration.

#### Connection Types ##### SSE Client Streamable HTTP transport is recommended. The SSE (Server-Sent Events) Client connection type enables MCP Connector to establish a persistent, one-way (server-sent) connection to an MCP server using the SSE standard. This type of connection allows the MCP server to push real-time updates and messages to the client without the need for the client to constantly poll for new information. ###### Parameters
NameTypeDescriptionDefault ValueRequired

Request Timeout

Number

Sets the duration to wait for server responses before timing out requests.

30

Request Timeout Unit

Enumeration, one of:

  • NANOSECONDS

  • MICROSECONDS

  • MILLISECONDS

  • SECONDS

  • MINUTES

  • HOURS

  • DAYS

Time Unit for the requestTimeout parameter

SECONDS

Authentication

HttpRequestAuthentication

Default Request Headers

Object

Defines custom headers to send with every request to the MCP server.

Server Url

String

The base URL for the target MCP server

Yes

Sse Endpoint Path

String

/sse

Reconnection Delay

Number

Specifies how long to wait before reinitializing the SSE connection when it times out or closes.

500

Reconnection Delay Unit

Enumeration, one of:

  • NANOSECONDS

  • MICROSECONDS

  • MILLISECONDS

  • SECONDS

  • MINUTES

  • HOURS

  • DAYS

Time Unit for the reconnectionDelay

MILLISECONDS

Tls Context

Reconnection

When the application is deployed, a connectivity test is performed on all connectors. If set to true, deployment fails if the test doesn’t pass after exhausting the associated reconnection strategy.

##### Streamable HTTP Client ###### Parameters
NameTypeDescriptionDefault ValueRequired

Request Timeout

Number

Sets the duration to wait for server responses before timing out requests.

30

Request Timeout Unit

Enumeration, one of:

  • NANOSECONDS

  • MICROSECONDS

  • MILLISECONDS

  • SECONDS

  • MINUTES

  • HOURS

  • DAYS

Time Unit for the requestTimeout parameter

SECONDS

Authentication

HttpRequestAuthentication

Default Request Headers

Object

Defines custom headers to send with every request to the MCP server.

Server Url

String

The base URL for the target MCP server

Yes

Mcp Endpoint Path

String

/mcp

Tls Context

Reconnection

When the application is deployed, a connectivity test is performed on all connectors. If set to true, deployment will fail if the test doesn’t pass after exhausting the associated reconnection strategy

## Supported Operations - [MCP Client - Call Tool](#CallTool) - [MCP Client - List Resources](#ListResources) - [MCP Client - List Tools](#ListTools) - [MCP Client - Ping](#Ping) - [MCP Client - Read Resource](#ReadResource) ### Server Configuration element to act as an MCP server. #### Parameters
NameTypeDescriptionDefault ValueRequired

Name

String

Name for this configuration. Connectors reference the configuration with this name.

Yes

Connection

The connection types to provide to this configuration.

Yes

Server Name

String

Name this server uses to identify itself during the protocol initialization phase. This isn’t the same as the name given to this config element (which is later referenced through config-ref parameters). This name doesn’t need to be unique.

Yes

Server Version

String

Version this server uses to identify itself during the protocol initialization phase. This doesn’t need to match the connector or Mule application version.

Yes

Name

String

ID used to reference this configuration.

Yes

#### Connection Types ##### SSE Server Exposes the MCP server using the SSE transport. ###### Parameters
NameTypeDescriptionDefault ValueRequired

Request Timeout

Number

Request timeout

10

Request Timeout Unit

Enumeration, one of:

  • NANOSECONDS

  • MICROSECONDS

  • MILLISECONDS

  • SECONDS

  • MINUTES

  • HOURS

  • DAYS

Request Timeout unit

SECONDS

Listener Config

String

Reference to the HTTP Listener config used to expose the SSE and messaging endpoints.

Yes

Sse Endpoint Path

String

The endpoint path clients use to initiate the SSE connection.

/sse

Messages Path

String

The path to send the messaging endpoint request to.

/message

Default Sse Response Headers

Object

Default Message Response Headers

Object

Reconnection

When the application is deployed, a connectivity test is performed on all connectors. If set to true, deployment will fail if the test doesn’t pass after exhausting the associated reconnection strategy

##### Streamable HTTP Server Exposes the MCP server using the Streamable HTTP transport, as defined in [Streamable HTTP](https://modelcontextprotocol.io/specification/2025-03-26/basic/transports#streamable-http). ###### Parameters
NameTypeDescriptionDefault ValueRequired

Request Timeout

Number

Request timeout

10

Request Timeout Unit

Enumeration, one of:

  • NANOSECONDS

  • MICROSECONDS

  • MILLISECONDS

  • SECONDS

  • MINUTES

  • HOURS

  • DAYS

Request Timeout unit

SECONDS

Listener Config

String

Reference to the http:listener-config used to expose the SSE and messaging endpoints.

Yes

Mcp Endpoint Path

String

The endpoint path clients will use to initiate the SSE connection

/mcp

Response Content Type

Enumeration, one of:

  • JSON

  • SSE

Whether responses should be sent by initiating a SSE stream or returning a single application/json body.

SSE

Default Response Headers

Object

Custom headers to include on all valid responses (not including rejected invalid requests).

Session Idle Timeout

Number

Timeout for idle sessions

5

Session Idle Timeout Unit

Enumeration, one of:

  • NANOSECONDS

  • MICROSECONDS

  • MILLISECONDS

  • SECONDS

  • MINUTES

  • HOURS

  • DAYS

Time unit qualifying the sessionIdleTimeout

MINUTES

Sessions Object Store

ObjectStore

An ObjectStore used to store session information. When deploying to multiple replicas, it is recommended to define a specific object store that will be distributed across all of them, either through Hazelcast or OSv2. If not specified, a default transient instance will be created.

Reconnection

When the application is deployed, a connectivity test is performed on all connectors. If set to true, deployment will fail if the test doesn’t pass after exhausting the associated reconnection strategy

## Associated Sources - [MCP Server - On New Session Listener](#OnNewSessionListener) - [MCP Server - Resource listener](#ResourceListener) - [MCP Server - Tool Listener](#ToolListener) ## Operations ## MCP Client - Call Tool `` Invokes a tool in a remote MCP server. ### Parameters
NameTypeDescriptionDefault ValueRequired

Configuration

String

Name of the configuration to use.

Yes

Tool Name

String

Name of the tool to invoke.

Yes

Arguments

Object

The tool’s input arguments.

#[payload]

Config Ref

ConfigurationProvider

Name of the configuration to use to execute this component.

Yes

Additional Properties

Object

#[null]

Target Variable

String

Name of the variable that stores the operation’s output.

Target Value

String

Expression that evaluates the operation’s output. The outcome of the expression is stored in the Target Variable field.

#[payload]

Error Mappings

Array of Error Mapping

Set of error mappings

Reconnection Strategy

Retry strategy in case of connectivity errors.

### Output

Type

Call Tool Response

Attributes Type

Any

### For Configurations - [Client](#Client) ### Throws - MCP:CONNECTIVITY - MCP:INTERNAL\_ERROR - MCP:INVALID\_PARAMS - MCP:INVALID\_REQUEST - MCP:JSON\_RPC\_ERROR - MCP:METHOD\_NOT\_FOUND - MCP:PARSE\_ERROR - MCP:REQUEST\_TIMEOUT - MCP:RETRY\_EXHAUSTED - MCP:SERVER\_ERROR ## MCP Client - List Resources `` Lists all the available resources in the remote MCP server. ### Parameters
NameTypeDescriptionDefault ValueRequired

Configuration

String

Name of the configuration to use.

Yes

Config Ref

ConfigurationProvider

Name of the configuration to use to execute this component.

Yes

Streaming Strategy

Configures how Mule processes streams. Repeatable streams are the default behavior.

Target Variable

String

Name of the variable that stores the operation’s output.

Target Value

String

Expression that evaluates the operation’s output. The outcome of the expression is stored in the Target Variable field.

#[payload]

Error Mappings

Array of Error Mapping

Set of error mappings

Reconnection Strategy

Retry strategy in case of connectivity errors.

### Output

Type

Array of Resource Metadata

### For Configurations - [Client](#Client) ### Throws - MCP:CONNECTIVITY - MCP:INTERNAL\_ERROR - MCP:INVALID\_PARAMS - MCP:INVALID\_REQUEST - MCP:INVALID\_URI - MCP:JSON\_RPC\_ERROR - MCP:METHOD\_NOT\_FOUND - MCP:PARSE\_ERROR - MCP:REQUEST\_TIMEOUT - MCP:RETRY\_EXHAUSTED - MCP:SERVER\_ERROR ## MCP Client - List Tools `` Lists all the available tools in the remote MCP server. ### Parameters
NameTypeDescriptionDefault ValueRequired

Configuration

String

Name of the configuration to use.

Yes

Config Ref

ConfigurationProvider

Name of the configuration to use to execute this component.

Yes

Streaming Strategy

Configures how Mule processes streams. Repeatable streams are the default behavior.

Target Variable

String

Name of the variable that stores the operation’s output.

Target Value

String

Expression that evaluates the operation’s output. The outcome of the expression is stored in the Target Variable field.

#[payload]

Error Mappings

Array of Error Mapping

Set of error mappings

Reconnection Strategy

Retry strategy in case of connectivity errors.

### Output

Type

Array of Tool Metadata

### For Configurations - [Client](#Client) ### Throws - MCP:CONNECTIVITY - MCP:INTERNAL\_ERROR - MCP:INVALID\_PARAMS - MCP:INVALID\_REQUEST - MCP:JSON\_RPC\_ERROR - MCP:METHOD\_NOT\_FOUND - MCP:PARSE\_ERROR - MCP:REQUEST\_TIMEOUT - MCP:RETRY\_EXHAUSTED - MCP:SERVER\_ERROR ## MCP Client - Ping `` Pings the remote server. ### Parameters
NameTypeDescriptionDefault ValueRequired

Configuration

String

Name of the configuration to use.

Yes

Config Ref

ConfigurationProvider

Name of the configuration to use to execute this component.

Yes

Error Mappings

Array of Error Mapping

Set of error mappings.

Reconnection Strategy

Retry strategy in case of connectivity errors.

### Output

Type

Any

Attributes Type

Any

### For Configurations - [Client](#Client) ### Throws - MCP:CONNECTIVITY - MCP:RETRY\_EXHAUSTED ## MCP Client - Read Resource `` Reads a resource referenced by its URI. ### Parameters
NameTypeDescriptionDefault ValueRequired

Configuration

String

Name of the configuration to use.

Yes

Uri

String

Yes

Config Ref

ConfigurationProvider

Name of the configuration to use to execute this component.

Yes

Additional Properties

Object

#[null]

Target Variable

String

Name of the variable that stores the operation’s output.

Target Value

String

Expression that evaluates the operation’s output. The outcome of the expression is stored in the Target Variable field.

#[payload]

Error Mappings

Array of Error Mapping

Set of error mappings

Reconnection Strategy

Retry strategy in case of connectivity errors.

### Output

Type

Resource Content

Attributes Type

Any

### For Configurations - [Client](#Client) ### Throws - MCP:CONNECTIVITY - MCP:INTERNAL\_ERROR - MCP:INVALID\_PARAMS - MCP:INVALID\_REQUEST - MCP:INVALID\_URI - MCP:JSON\_RPC\_ERROR - MCP:METHOD\_NOT\_FOUND - MCP:PARSE\_ERROR - MCP:REQUEST\_TIMEOUT - MCP:RETRY\_EXHAUSTED - MCP:SERVER\_ERROR ## Sources ## MCP Server - On New Session Listener `` ### Parameters
NameTypeDescriptionDefault ValueRequired

Configuration

String

Name of the configuration to use.

Yes

Primary Node Only

Boolean

Determines whether to execute this source on only the primary node when running Mule instances in a cluster.

Config Ref

ConfigurationProvider

Name of the configuration to use to execute this component.

Yes

Redelivery Policy

Defines a policy for processing the redelivery of the same message.

Reconnection Strategy

A retry strategy in case of connectivity errors

Reject With Status Code

Number

Reject With Message

String

### Output

Type

New Session Request

### For Configurations - [Server](#Server) ## MCP Server - Resource listener `` Exposes a resource whose content is generated by the execution of the owning flow. The flow is executed for every received resources/read request. The user can choose to implement the flow so that the resource content is static or to make it dynamic. For instance, a dynamic resource could be a expenses.csv file, that is actually the result of executing a live DB query. Or a static resource could be a file obtained through Amazon S3 and locally cached using the `ee:cache` component. ### Parameters
NameTypeDescriptionDefault ValueRequired

Configuration

String

Name of the configuration to use.

Yes

Name

String

Name of the resource.

Yes

Description

String

Detailed enough description for an LLM to determine when to read this resource.

Yes

Uri

String

Resource URI.

Yes

Resource Mime Type

String

Resource MIME type.

Yes

Primary Node Only

Boolean

Determines whether to execute this source on only the primary node when running Mule instances in a cluster.

Config Ref

ConfigurationProvider

Name of the configuration to use to execute this component.

Yes

Redelivery Policy

Defines a policy for processing the redelivery of the same message.

Reconnection Strategy

Retry strategy in case of connectivity errors.

Resource Listener

Defines the resource content and type. These parameters are evaluated when the flow finishes successfully (when the payload and variables available).

Yes

### Output

Type

Resource Request

Attributes Type

### For Configurations - [Server](#Server) ## MCP Server - Tool Listener `` Exposes a tool whose result is generated by the execution of the owning flow. The flow will be executed for every received tools/call request. When triggered, the flow will be executed with a message whose payload is a Java map holding the input arguments. The tool response is generated when the flow finishes either successfully or with error. In both cases, the response can include several content items of different types. If no error response is defined, then a text content item holding the error’s description will be generated automatically. ### Parameters
NameTypeDescriptionDefault ValueRequired

Configuration

String

Name of the configuration to use.

Yes

Name

String

The tool’s name

Yes

Description

String

A detailed enough description for an LLM to determine when this tool should be called

Yes

Parameters Schema

String

A JSON schema defining an object whose fields will act as the tool’s input arguments

Yes

Primary Node Only

Boolean

Determines whether to execute this source on only the primary node when running Mule instances in a cluster.

Config Ref

ConfigurationProvider

Name of the configuration to use to execute this component.

Yes

Redelivery Policy

Defines a policy for processing the redelivery of the same message.

Reconnection Strategy

Retry strategy in case of connectivity errors.

Responses

Response items when the flow finishes successfully.

Yes

On Error Responses

Content items when the flow finishes in error.

### Output

Type

Object

Attributes Type

Request Attributes

### For Configurations - [Server](#Server) ## Types ### TLS Configures TLS to provide secure communications for the Mule app.
FieldTypeDescriptionDefault ValueRequired

Enabled Protocols

String

Comma-separated list of protocols enabled for this context.

Enabled Cipher Suites

String

Comma-separated list of cipher suites enabled for this context.

Trust Store

Configures the TLS truststore.

Key Store

Configures the TLS keystore.

Revocation Check

Configures a revocation checking mechanism.

### Truststore Configures the truststore for TLS.
FieldTypeDescriptionDefault ValueRequired

Path

String

Path to the truststore. Mule resolves the path relative to the current classpath and file system.

Password

String

Password used to protect the truststore.

Type

String

Type of store.

Algorithm

String

Encryption algorithm that the truststore uses.

Insecure

Boolean

If true, Mule stops performing certificate validations. Setting this to true can make connections vulnerable to attacks.

### Keystore Configures the keystore for the TLS protocol. The keystore you generate contains a private key and a public certificate.
FieldTypeDescriptionDefault ValueRequired

Path

String

Path to the keystore. Mule resolves the path relative to the current classpath and file system.

Type

String

Type of store.

Alias

String

Alias of the key to use when the keystore contains multiple private keys. By default, Mule uses the first key in the file.

Key Password

String

Password used to protect the private key.

Password

String

Password used to protect the keystore.

Algorithm

String

Encryption algorithm that the keystore uses.

### Standard Revocation Check Configures standard revocation checks for TLS certificates.
FieldTypeDescriptionDefault ValueRequired

Only End Entities

Boolean

Which elements to verify in the certificate chain:

  • true

Verify only the last element in the certificate chain.

  • false

Verify all elements in the certificate chain.

Prefer Crls

Boolean

How to check certificate validity:

  • true

Check the Certification Revocation List (CRL) for certificate validity.

  • false

Use the Online Certificate Status Protocol (OCSP) to check certificate validity.

No Fallback

Boolean

Whether to use the secondary method to check certificate validity:

  • true

Use the method that wasn’t specified in the Prefer Crls field (the secondary method) to check certificate validity.

  • false

Don’t use the secondary method to check certificate validity.

Soft Fail

Boolean

What to do if the revocation server can’t be reached or is busy:

  • true

Avoid verification failure.

  • false

Allow the verification to fail.

### Custom OCSP Responder Configures a custom OCSP responder for certification revocation checks.
FieldTypeDescriptionDefault ValueRequired

Url

String

URL of the OCSP responder.

Cert Alias

String

Alias of the signing certificate for the OCSP response. If specified, the alias must be in the truststore.

### CRL File Specifies the location of the certification revocation list (CRL) file.
FieldTypeDescriptionDefault ValueRequired

Path

String

Path to the CRL file.

### Reconnection Configures a reconnection strategy for an operation.
FieldTypeDescriptionDefault ValueRequired

Fails Deployment

Boolean

When the application is deployed, a connectivity test is performed on all connectors. If set to true, deployment fails if the test doesn’t pass after exhausting the associated reconnection strategy.

Reconnection Strategy

Reconnection strategy to use.

### Reconnect
FieldTypeDescriptionDefault ValueRequired

Frequency

Number

How often in milliseconds to reconnect.

Count

Number

How many reconnection attempts to make.

blocking

Boolean

If false, the reconnection strategy runs in a separate, non-blocking thread.

true

### Reconnect Forever
FieldTypeDescriptionDefault ValueRequired

Frequency

Number

How often in milliseconds to reconnect.

blocking

Boolean

If false, the reconnection strategy runs in a separate, non-blocking thread.

true

### Expiration Policy Configures an expiration policy strategy.
FieldTypeDescriptionDefault ValueRequired

Max Idle Time

Number

Configures the maximum amount of time that a dynamic configuration instance can remain idle before Mule considers it eligible for expiration.

Time Unit

Enumeration, one of:

  • NANOSECONDS

  • MICROSECONDS

  • MILLISECONDS

  • SECONDS

  • MINUTES

  • HOURS

  • DAYS

Time unit for the Max Idle Time field.

### Call Tool Response Response obtained from calling a tool as a client.
FieldTypeDescriptionDefault ValueRequired

Contents

The contents generated by the tool

Yes

Error

Boolean

Whether the tool execution was successful or errored out. Notice that even in case of error, contents might have been generated.

false

### Call Tool Response Content
FieldTypeDescriptionDefault ValueRequired

Type

Enumeration, one of:

  • text

  • image

  • resource

Content type.

Yes

Text

String

Content’s payload when type is text.

Mime Type

String

Content’s MIME type.

Data

Binary

Content’s payload when type is image.

Resource

Content’s payload when type is resource.

Audience

Array of Enumeration, one of:

  • USER

  • ASSISTANT

Describes who the intended consumer of this data is. It can include multiple entries to indicate content useful for multiple audiences.

Priority

Number

Describes how important this data is for operating the server. A value of 1 means "most important", which indicates that the data is required. A value of 0 means "least important", which indicates that the data is entirely optional.

### Resource Content A flattened representation of a resource content. The resource can be either text or blob types. The text property is set for text resources, while the blob type is used for the latter.
FieldTypeDescriptionDefault ValueRequired

Uri

String

Resource URI

Yes

Mime Type

String

Resource MIME type.

Yes

Text

String

Content of a text resource. Null for BLOB data types.

Blob

Binary

Content of a BLOB resource. Null for text data types.

### Error Mapping
FieldTypeDescriptionDefault ValueRequired

Source

Enumeration, one of:

  • ANY

  • REDELIVERY_EXHAUSTED

  • TRANSFORMATION

  • EXPRESSION

  • SECURITY

  • CLIENT_SECURITY

  • SERVER_SECURITY

  • ROUTING

  • CONNECTIVITY

  • RETRY_EXHAUSTED

  • TIMEOUT

Target

String

Yes

### Resource Metadata
FieldTypeDescriptionDefault ValueRequired

Uri

String

Resource URI.

Yes

Name

String

Name of the resource.

Yes

Description

String

Description of the resource.

Yes

Mime Type

String

MIME type of the resource.

Yes

### Repeatable In Memory Iterable
FieldTypeDescriptionDefault ValueRequired

Initial Buffer Size

Number

The amount of memory to allocate to consume the stream and provide random access to it. If the stream contains more data than can fit into this buffer, then the buffer expands according to the Buffer Size Increment value, with an upper limit of the Max In Memory Size value. instances.

100

Buffer Size Increment

Number

Amount by which the buffer size expands if it exceeds its initial size. Setting a value of 0 or lower specifies that the buffer can’t expand.

100

Max Buffer Size

Number

Maximum size of the buffer. If the buffer size exceeds this value, Mule raises a STREAM_MAXIMUM_SIZE_EXCEEDED error. A value of less than or equal to 0 means no limit.

### Repeatable File Store Iterable
FieldTypeDescriptionDefault ValueRequired

In Memory Objects

Number

Maximum number of instances to keep in memory. If more than the maximum is required, content on the disk is buffered.

Buffer Unit

Enumeration, one of:

  • BYTE

  • KB

  • MB

  • GB

Unit for the In Memory Objects field.

### Tool Metadata Describes a tool through its properties.
FieldTypeDescriptionDefault ValueRequired

Name

String

Name of the tool.

Yes

Description

String

A detailed enough description for an LLM to determine when to call this tool.

Yes

Input Schema

String

JSON Schema describing the tool’s input parameters.

Yes

### New Session Request Contains the data associated to a client requiring the creation of a new server session.
FieldTypeDescriptionDefault ValueRequired

Session Id

String

Yes

Additional Properties

Object

Yes

Client Certificate

### Certificate Data
FieldTypeDescriptionDefault ValueRequired

Basic Constraints

Number

Critical Extension OI Ds

Array of String

Encoded

Binary

Extended Key Usage

Array of String

Extensions

Issuer Alternative Names

Issuer DN

Issuer Unique ID

Array of Boolean

Issuer X500 Principal

Key Usage

Array of Boolean

Name

String

Non Critical Extension OI Ds

Array of String

Not After

Date

Not Before

Date

Public Key

Serial Number

Number

Serial Number Object

Sig Alg Name

String

Sig Alg OID

String

Sig Alg Params

Binary

Signature

Binary

Subject Alternative Names

Subject DN

Subject X500 Principal

Type

String

Version

Number

### Certificate Extension
FieldTypeDescriptionDefault ValueRequired

Criticality

Boolean

Oid

String

Value

Binary

### Alternative Name Data
FieldTypeDescriptionDefault ValueRequired

Name

String

Type

Number

### Principal Data
FieldTypeDescriptionDefault ValueRequired

Common Name

String

Name

String

### X500 Principal Data
FieldTypeDescriptionDefault ValueRequired

Name

String

### Public Key Data
FieldTypeDescriptionDefault ValueRequired

Algorithm

String

Encoded

Binary

Modulus

Number

Params

Number

Public Key

String

### Serial Number Data
FieldTypeDescriptionDefault ValueRequired

Serial Number

Number

### Redelivery Policy Configures the redelivery policy for executing requests that generate errors. You can add a redelivery policy to any source in a flow.
FieldTypeDescriptionDefault ValueRequired

Max Redelivery Count

Number

Maximum number of times that a redelivered request can be processed unsuccessfully before returning a REDELIVERY_EXHAUSTED error.

Message Digest Algorithm

String

Secure hashing algorithm to use if the Use Secure Hash field is true. If the payload of the message is a Java object, Mule ignores this value and returns the value that the payload’s hashCode() returned.

Message Identifier

One or more expressions that determine if a message was redelivered. This property can be set only if the Use Secure Hash field is false.

Object Store

ObjectStore

Configures the object store that stores the redelivery counter for each message.

### Redelivery Policy Message Identifier Configures how to identify a redelivered message and how to find out when the message was redelivered.
FieldTypeDescriptionDefault ValueRequired

Use Secure Hash

Boolean

If true, Mule uses a secure hash algorithm to identify a redelivered message.

Id Expression

String

One or more expressions that determine when a message was redelivered. You can set this property only if the Use Secure Hash field is false.

### Resource Request An inbound request for a resource, used when the connector is acting as an MCP server.
FieldTypeDescriptionDefault ValueRequired

Requested Uri

String

Yes

### Request Attributes
FieldTypeDescriptionDefault ValueRequired

Session Id

String

Yes

Request Id

String

Yes

Additional Properties

Object

Additional values attached to the request as HTTP Headers.

Yes

### Text Tool Response Content Defines a text content that’s part of the response of a tool implemented through this connector.
FieldTypeDescriptionDefault ValueRequired

Text

String

Yes

Audience

Array of Enumeration, one of:

  • USER

  • ASSISTANT

Describes who the intended consumer of this data is. It can include multiple entries to indicate content that’s useful for multiple audiences.

Priority

Number

Describes how important this data is for operating the server. A value of 1 means "most important", which indicates that the data is required. A value of 0 means "least important", which indicates that the data is entirely optional.

### Image Tool Response Content Defines an image content that’s part of the response of a tool implemented through this connector.
FieldTypeDescriptionDefault ValueRequired

Audience

Array of Enumeration, one of:

  • USER

  • ASSISTANT

Describes who the intended consumer of this data is. It can include multiple entries to indicate content useful for multiple audiences.

Priority

Number

Describes how important this data is for operating the server. A value of 1 means "most important", which indicates that the data is required. A value of 0 means "least important", which indicates that the data is entirely optional.

Data

Binary

The raw image content, without Base64 encoding.

Mime Type

String

The image MIME type.

### Text Resource Tool Response Content Defines an embedded text resource that’s part of the response of a tool implemented through this connector.
FieldTypeDescriptionDefault ValueRequired

Audience

Array of Enumeration, one of:

  • USER

  • ASSISTANT

Describes who the intended consumer of this data is. It can include multiple entries to indicate content useful for multiple audiences.

Priority

Number

Describes how important this data is for operating the server. A value of 1 means "most important", which indicates that the data is required. A value of 0 means "least important", which indicates that the data is entirely optional.

Uri

String

Resource URI.

Mime Type

String

The resource MIME type.

Text

String

Resource text.

### Blob Resource Tool Response Content Defines an embedded blob resource that’s part of the response of a tool implemented through this connector.
FieldTypeDescriptionDefault ValueRequired

Audience

Array of Enumeration, one of:

  • USER

  • ASSISTANT

Describes who the intended consumer of this data is. It can include multiple entries to indicate content useful for multiple audiences.

Priority

Number

Describes how important this data is for operating the server. A value of 1 means "most important", which indicates that the data is required. A value of 0 means "least important", which indicates that the data is entirely optional.

Blob

Binary

The raw resource content, without Base64 encoding.

Yes

Uri

String

Resource URI.

Mime Type

String

The resource MIME type.

### Text Resource Defines a text resource.
FieldTypeDescriptionDefault ValueRequired

Text

String

Text content.

Yes

### Blob Resource Defines the contents of a Blob resource.
FieldTypeDescriptionDefault ValueRequired

Blob

Binary

The raw blob content, without Base64 encoding.

Yes

### Custom Header Configures a custom header to be included in requests or responses.
NameTypeDescriptionDefault ValueRequired

Key

String

The header name.

Yes

Value

String

The header value. Supports property placeholders and DataWeave expressions.

Yes

## See Also - [Using Anypoint Code Builder to Configure a Connector](https://docs.mulesoft.com/connectors/introduction/intro-config-use-acb) - [Using Studio to Configure a Connector](https://docs.mulesoft.com/connectors/introduction/intro-config-use-studio) - [MCP Connector Overview](https://docs.mulesoft.com/mcp-connector/1.1/) - [Salesforce Help](https://help.salesforce.com) --- product: MCP Connector version: 1.1 --- # MCP Connector 1.1 XML and Maven Support > For the full documentation index, see: https://docs.mulesoft.com/llms.txt Although you can manually code a Mule app in XML, it is more efficient to use Anypoint Code Builder or Studio: - If you manually code a Mule runtime engine (Mule) app in XML, either from the Anypoint Code Builder or Studio XML editor, or from a text editor, you can access the connector from your app by adding reference statements to both your XML Mule flow and the Apache Maven `pom.xml` file. - If you add the connector in Anypoint Code Builder or Studio, the XML is automatically populated the code with the connector’s namespace and schema location and it also adds a dependency to the `pom.xml` file. ## Add a Namespace for the Connector Paste the following code inside the `mule` tag of the header of your configuration XML: ```xml http://www.mulesoft.org/schema/mule/mcp http://www.mulesoft.org/schema/mule/mcp/current/mule-mcp.xsd ``` This example shows how the namespace statements are placed in the `` XML block: ```xml ``` ## Add a POM File Dependency The Apache Maven `pom.xml` file generated by Anypoint Studio contains dependencies for a Mule app. If you code a Mule app manually, include this XML snippet in your `pom.xml` file to enable access to this connector: ```xml com.mulesoft.connectors mule-mcp-connector x.x.x mule-plugin ``` Replace `x.x.x` with the version that corresponds to the connector you are using. To obtain the most up-to-date `pom.xml` file information: 1. Go to [Anypoint Exchange](https://www.mulesoft.com/exchange/). 2. In Exchange, click **Login** and supply your Anypoint Platform username and password. 3. In Exchange, search for `mcp`. 4. Select the connector. 5. Click **Dependency Snippets** near the upper right of the screen. ## Next Step After completing your namespace and pom.xml file, you can try the [Examples](https://docs.mulesoft.com/mcp-connector/1.1/mcp-connector-examples). ## See Also - [Introduction to Anypoint Connectors](https://docs.mulesoft.com/connectors/introduction/introduction-to-anypoint-connectors) - [Salesforce Help](https://help.salesforce.com) --- product: MCP Connector version: 1.2 --- # MCP Connector 1.2 > For the full documentation index, see: https://docs.mulesoft.com/llms.txt Anypoint Connector for MCP (MCP Connector) uses the Model Context Protocol (MCP) to enable AI clients that support MCP to invoke and interact with APIs, connectors, and apps. Use MCP Connector to connect LLM applications with your APIs. Expose APIs with complex endpoints as simpler, more atomic tools or resources that are better suited for agentic clients. Decide on what is straightforward, repeatable, and optimal for agent actions, and start there. MCP is an open protocol that enables integration between LLM applications and external data, services, and tools. The MCP protocol: - Enhances AI precision by supplying AI with relevant information, leading to more accurate responses. - Empowers AI to manage intricate tasks that require access to external data or services. - Promotes interoperability between AI models and external systems, simplifying integration into workflows. MCP Connector: - Enables you to expose your Mule apps, connectors, and custom APIs using the MCP protocol to further enable agentic experiences from agents in Claude, Cursor, Windsurf, and your own agents. - Enables you to write Mule apps that can act as both an MCP server and a client. The resulting MCP server or client runs inside of Mule, which means you don’t need to configure your own hosting environment. - When acting as an MCP server, Mule allows AI clients to use existing API-led investments, legacy systems, and SaaS applications that don’t natively support MCP. - When acting as an MCP client, Mule helps you create connections and orchestrations where AI agents are added as just another system in the workflow. - Allows you to incorporate AI agents into your existing Enterprise ecosystem, using Mule as the orchestration layer. - Supports Streamable HTTP for both server and client (recommended) and SSE (for both server and client) [transport methods](#connection-types). - Supports custom response headers on every exposed endpoint, including `/sse`, `/messages`, and `/mcp`. Use custom response headers for security, operational, integration, and governance benefits. - Provides distributed tracing support, enabling comprehensive monitoring and observability of MCP interactions across distributed systems. This makes the capabilities of your Mule APIs and applications available to a growing ecosystem of AI agents. For information about compatibility and fixed issues, see the MCP Connector Release Notes. ## Before You Begin To use this connector, you must be familiar with: - Anypoint Connectors - Mule runtime engine (Mule) - Elements and global elements in a Mule flow - How to create a Mule app using Anypoint Code Builder or Anypoint Studio Before creating an app, you must have: - Java 17 - Apache Maven - Anypoint Platform - Credentials to connect with the target resource - The latest versions of Anypoint Code Builder or Anypoint Studio ## Common Use Cases for the Connector These are some common use cases for the connector: - Customer Service Use AI agents to help human agents be more efficient by handling time-intensive tasks like reviewing case histories, analyzing reported issues, and retrieving relevant information. - Sales Improve sales teams' success by accelerating prospect research, generating customized collateral, and preparing contracts. - Marketing Empower marketing teams with AI-driven support for drafting social media content, conducting market research, and analyzing campaign performance. ## Connection Types - Streamable HTTP Allows you to deploy multiple instances of your MCP server to run behind a load balancer without clients knowing about the individual server URLs. Clients connect to a single endpoint (like `/mcp`) and the load balancer distributes requests across all your MCP server instances. This is particularly useful for scalability in cloud environments, where you might have multiple replicas of your Mule app running. When acting as an MCP client, Streamable HTTP enables your Mule application to connect to remote MCP servers using the same scalable, load-balanced approach. - SSE Client Enables MCP Connector to establish a persistent, one-way (server-sent) connection to an MCP server using the Server-Sent Events (SSE) standard. This type of connection allows the MCP server to push real-time updates and messages to the client without the need for the client to constantly poll for new information. - SSE Server Exposes the MCP server using the Server-Sent Events (SSE) transport. This allows MCP clients to establish persistent, one-way connections to this server to receive real-time updates and messages. ### Streamable HTTP Limitations The Streamable HTTP connection type has no support for: - Calling the GET `/mcp` endpoint for getting notifications - Resumability and Redelivery ## Next Step After you complete the prerequisites, you’re ready to create an app and configure the connector using [Anypoint Studio](https://docs.mulesoft.com/mcp-connector/1.2/mcp-connector-studio) or [Anypoint Code Builder](https://docs.mulesoft.com/mcp-connector/1.2/mcp-connector-acb). ## See Also - [Anypoint Connectors Overview](https://docs.mulesoft.com/connectors/introduction/introduction-to-anypoint-connectors) - [Using Anypoint Code Builder to Configure a Connector](https://docs.mulesoft.com/connectors/introduction/intro-config-use-acb) - [Using Anypoint Studio to Configure a Connector](https://docs.mulesoft.com/connectors/introduction/intro-config-use-studio) - [MCP Connector Reference](https://docs.mulesoft.com/mcp-connector/1.2/mcp-connector-reference) - [MuleSoft MCP Support: Get Started With Model Context Protocol](https://blogs.mulesoft.com/news/model-context-protocol/) - [Model Context Protocol](https://modelcontextprotocol.io/docs/getting-started/intro) - [Salesforce Help](https://help.salesforce.com) --- product: MCP Connector version: 1.2 --- # MCP Connector 1.2 - Applying Security to the MCP Server > For the full documentation index, see: https://docs.mulesoft.com/llms.txt MCP Connector enables server-side authentication for MCP clients. In these examples, it uses the stateful Server-Sent Events (SSE) connection and the **On New Session Listener** source to implement custom security logic, including OAuth access token validation. ## Server-Side Authentication With On New Session Listener The MCP specification emphasizes session management and SSE connections maintain state. The **On New Session Listener** source offers a key point for implementing server-side authentication. This example illustrates a basic flow triggered by this listener, showing how to access the auto-generated `sessionId` and the HTTP headers sent by the connecting client, which can then be used for custom authentication logic. This is an example flow that uses the **On New Session Listener** source: ```xml ``` The flow executes each time a new client connects to the MCP server application. The payload contains the auto-generated `sessionId` and the `additionalProperties`, which when using the SSE connection type, maps to the request HTTP headers. At this point, you can implement your own authentication logic. For instance, the `#[payload.additionalProperties.authorization]` expression gets the HTTP authorization header, which you can validate later. ### Validate OAuth Access Tokens Optionally, you can use the [Mule OAuth 2.0 Provider](https://docs.mulesoft.com/api-manager/latest/mule-oauth-provider-landing-page) to implement and validate OAuth access tokens. In this example flow, the access token is validated using the OAuth provider, and the session is rejected if the token is invalid: ```xml ``` The new session is rejected if either of these things happen: - The `rejectWithStatusCode` parameter is assigned a non null value (or an expression that resolves to a non null value), or - The flow fails, in which case a status code 500 is reported. In this example, the OAuth validation error is handled so that the status code is mapped to a `401 - UNAUTHORIZED` code. ## Client-Side Authentication In the client, the authentication parameter accepts all the authentication strategies defined in HTTP Connector, and [OAuth Module](https://docs.mulesoft.com/oauth-module/latest/) if it’s also added to the project. Operations like **Call Tool** also accept additional properties, which in the case of SSE map to request headers. This makes it possible to add custom authentication headers like API keys, for example: ```xml ``` ## Next Step After you configure the connector, you can try the [Examples](https://docs.mulesoft.com/mcp-connector/1.2/mcp-connector-examples). ## See Also - [Introduction to Anypoint Connectors](https://docs.mulesoft.com/connectors/introduction/introduction-to-anypoint-connectors) - [Salesforce Help](https://help.salesforce.com) --- product: MCP Connector version: 1.2 --- # MCP Connector 1.2 - Examples > For the full documentation index, see: https://docs.mulesoft.com/llms.txt These are some examples of how to use existing APIs to build agents using MCP Connector. ## Create an MCP Server and Tools These examples show you the process of creating an MCP server within your Mule app and defining two distinct tools that the MCP server will expose: one for retrieving a dynamic list of approved vendors with their product categories, and another for initiating the creation of purchase orders with specified details. These examples illustrate the concept of MCP tools as invocable Remote Procedure Calls (RPCs). ### Create the MCP Server Configuration This example demonstrates how to configure an MCP server within your Mule application using the Streamable HTTP transport. When acting as an MCP client, MuleSoft facilitates the creation of integrations and orchestrations where AI Agents are integrated as just another system in the workflow. ```xml <<1>> <<2>> <<3>> <<4>> ```
1The HTTP listener configuration defines the endpoint where the MCP server is exposed.
2The MCP server configuration uses the Streamable HTTP transport.
3Headers are added to all responses for version tracking and server identification.
4Property placeholders are used for configuration values to support different environments.
### Create a Tool That Provides a List of Vendors This example illustrates how to create an MCP tool that retrieves a dynamic list of approved vendors from an external system (in this case, SAP Concur). The example demonstrates how to use the `` to define a callable tool and how to process the data to provide the agent with relevant vendor information, including their assigned product category from the `Custom19` field. First, set up the SAP Concur configuration with retry and timeout settings: ```xml <<1>> <<2>> 30 <<3>> SECONDS <<4>> 3600000 MILLISECONDS ```
1The SAP Concur configuration includes OAuth authentication settings.
2A reconnection strategy is configured to handle temporary connection issues.
3Request timeout is set to 30 seconds to prevent hanging requests.
4A cache configuration is added to improve performance with a one hour TTL.
Now, create the main flow that handles vendor retrieval with pagination and caching: ```xml <<1>> Get all approved vendors with optional pagination > "$schema": "http://json-schema.org/draft-07/schema#", "type": "object", "properties": { "pageSize": { "type": "integer", "description": "Number of vendors to return per page", "minimum": 1, "maximum": 100, "default": 50 }, "pageNumber": { "type": "integer", "description": "Page number to retrieve", "minimum": 1, "default": 1 } }, "required": [] }]]> <<3>> <<4>> <<5>> ```
1The <mcp:tool-listener> defines the interface for the vendor retrieval tool with pagination support.
2The <mcp:parameters-schema> schema includes validation for page size and page number.
3The cache component improves performance by storing results for 1 hour.
4The DataWeave transformation filters approved vendors and adds pagination metadata.
5Error handling covers connectivity, authentication, and unexpected errors.
### Create a Tool That Creates Purchase Orders This example demonstrates the creation of an MCP tool that allows an agent to initiate the creation of a purchase order in SAP Concur. The example highlights how to define input parameters for a tool using a JSON schema, including natural language descriptions for each parameter to help the LLM in understanding and populating the required information. ```xml <<1>> Create a new purchase order in SAP Concur with validation > "$schema": "http://json-schema.org/draft-07/schema#", "type": "object", "properties": { "name": { "type": "string", "description": "Name for the purchase order.", "minLength": 1, "maxLength": 100 }, "description": { "type": "string", "description": "Purchase order description.", "minLength": 1, "maxLength": 500 }, "vendorCode": { "type": "string", "description": "Code that identifies the vendor.", "pattern": "^[A-Z0-9]{3,10}$" }, "itemDescription": { "type": "string", "description": "Description of the item purchased in this order.", "minLength": 1, "maxLength": 200 }, "price": { "type": "number", "description": "Monetary amount of the purchase order.", "minimum": 0.01, "maximum": 999999.99 }, "currency": { "type": "string", "description": "Currency code for the purchase order monetary amount.", "pattern": "^[A-Z]{3}$" } }, "required": ["name", "description", "vendorCode", "itemDescription", "price", "currency"] }]]> <<3>> <<4>> <<5>> ```
1The tool listener defines the purchase order creation interface with comprehensive input validation.
2The parameters schema includes validation rules for all fields, including length limits and patterns.
3A vendor existence check is performed before creating the purchase order.
4The DataWeave transformation validates the vendor check response.
5Error handling covers connectivity, authentication, validation, and unexpected errors.
## Configure the MCP Client to Use Third-Party MCP Servers The previous examples showed you how to write tools that draw from existing Anypoint Connectors. Now, take a look at how to use third-party MCP servers. ### Create a Weather Service Using Multiple MCP Servers This example shows how to integrate your Mule applications with existing third-party MCP servers using Streamable HTTP transport by configuring the MCP Client and using the **Call Tool** operation. > [!NOTE] When connecting to third-party MCP servers, ensure they support Streamable HTTP transport. > If a third-party server only supports SSE transport, you may need to use the SSE client connection > or contact the service provider for Streamable HTTP support. First, set up the client configurations with timeout and retry settings: ```xml <<1>> 30 SECONDS <<2>> <<3>> ```
1The HTTP request configuration includes timeout and retry settings for the weather API.
2The Google Maps MCP client configuration uses Streamable HTTP transport with custom headers and reconnection settings.
3The Weather MCP server configuration uses Streamable HTTP transport and exposes the weather service endpoints with custom headers.
Now, create the weather service flows with error handling and caching: ```xml <<1>> 900000 MILLISECONDS <<2>> Provides the weather at given coordinates expressed as latitude and longitude <<3>> <<4>> Provides the weather at a specific address <<5>> ```
1The cache configuration stores weather data for 15 minutes to reduce API calls.
2The coordinates-based weather flow includes input validation and caching.
3The address-based weather flow demonstrates tool composition by:
  • First converting the address to coordinates using Google Maps

  • Then using those coordinates to get the weather

4Both flows include comprehensive error handling for different scenarios.
5The DataWeave transformation validates the Google Maps response before proceeding.
While LLMs can orchestrate these tools directly, there are cases where manual composition in Mule is preferable: - When you need guaranteed access to all MCP servers - When authentication needs to be handled securely - When you need strong governance and tracing capabilities ## See Also - [Applying Security to the MCP Server](https://docs.mulesoft.com/mcp-connector/1.2/mcp-connector-config-topics) - [MCP Connector Reference](https://docs.mulesoft.com/mcp-connector/1.2/mcp-connector-reference) - [MuleSoft MCP Support: Get Started With Model Context Protocol](https://blogs.mulesoft.com/news/model-context-protocol/) - [Introduction to Anypoint Connectors](https://docs.mulesoft.com/connectors/introduction/introduction-to-anypoint-connectors) - [Salesforce Help](https://help.salesforce.com) --- product: MCP Connector version: 1.2 --- # MCP Connector 1.2 Reference > For the full documentation index, see: https://docs.mulesoft.com/llms.txt Anypoint Connector for MCP (MCP Connector) allows Mule applications to act as both MCP servers and clients. When acting as an MCP client, MuleSoft facilitates the creation of integrations and orchestrations where AI agents are integrated as just another system in the workflow. ## Configurations ### Client Configuration element that acts as a client and connects to an MCP server. #### Parameters
NameTypeDescriptionDefault ValueRequired

Name

String

Name for this configuration. Connectors reference the configuration with this name.

Yes

Connection

The connection types to provide to this configuration.

Yes

Client Name

String

Name the client uses to identify itself during the protocol initialization phase. This isn’t the same as the name given to this config element (which is later referenced through config-ref parameters). This name doesn’t need to be unique.

Yes

Client Version

String

Version the client uses to identify itself during the protocol initialization phase. This doesn’t need to match the connector or Mule application version.

Yes

Name

String

ID used to reference this configuration.

Yes

Expiration Policy

Configures the minimum amount of time that a dynamic configuration instance can remain idle before Mule considers it eligible for expiration.

#### Connection Types ##### SSE Client Streamable HTTP transport is recommended. The SSE (Server-Sent Events) Client connection type enables MCP Connector to establish a persistent, one-way (server-sent) connection to an MCP server using the SSE standard. This type of connection allows the MCP server to push real-time updates and messages to the client without the need for the client to constantly poll for new information. ###### Parameters
NameTypeDescriptionDefault ValueRequired

Request Timeout

Number

Sets the duration to wait for server responses before timing out requests.

30

Request Timeout Unit

Enumeration, one of:

  • NANOSECONDS

  • MICROSECONDS

  • MILLISECONDS

  • SECONDS

  • MINUTES

  • HOURS

  • DAYS

Time Unit for the requestTimeout parameter

SECONDS

Authentication

HttpRequestAuthentication

Default Request Headers

Object

Defines custom headers to send with every request to the MCP server.

Server Url

String

The base URL for the target MCP server

Yes

Sse Endpoint Path

String

/sse

Reconnection Delay

Number

Specifies how long to wait before reinitializing the SSE connection when it times out or closes.

500

Reconnection Delay Unit

Enumeration, one of:

  • NANOSECONDS

  • MICROSECONDS

  • MILLISECONDS

  • SECONDS

  • MINUTES

  • HOURS

  • DAYS

Time Unit for the reconnectionDelay

MILLISECONDS

Tls Context

Reconnection

When the application is deployed, a connectivity test is performed on all connectors. If set to true, deployment fails if the test doesn’t pass after exhausting the associated reconnection strategy.

##### Streamable HTTP Client ###### Parameters
NameTypeDescriptionDefault ValueRequired

Request Timeout

Number

Sets the duration to wait for server responses before timing out requests.

30

Request Timeout Unit

Enumeration, one of:

  • NANOSECONDS

  • MICROSECONDS

  • MILLISECONDS

  • SECONDS

  • MINUTES

  • HOURS

  • DAYS

Time Unit for the requestTimeout parameter

SECONDS

Authentication

HttpRequestAuthentication

Default Request Headers

Object

Defines custom headers to send with every request to the MCP server.

Server Url

String

The base URL for the target MCP server

Yes

Mcp Endpoint Path

String

/mcp

Tls Context

Reconnection

When the application is deployed, a connectivity test is performed on all connectors. If set to true, deployment will fail if the test doesn’t pass after exhausting the associated reconnection strategy

## Supported Operations - [MCP Client - Call Tool](#CallTool) - [MCP Client - List Resources](#ListResources) - [MCP Client - List Tools](#ListTools) - [MCP Client - Ping](#Ping) - [MCP Client - Read Resource](#ReadResource) ### Server Configuration element to act as an MCP server. #### Parameters
NameTypeDescriptionDefault ValueRequired

Name

String

Name for this configuration. Connectors reference the configuration with this name.

Yes

Connection

The connection types to provide to this configuration.

Yes

Server Name

String

Name this server uses to identify itself during the protocol initialization phase. This isn’t the same as the name given to this config element (which is later referenced through config-ref parameters). This name doesn’t need to be unique.

Yes

Server Version

String

Version this server uses to identify itself during the protocol initialization phase. This doesn’t need to match the connector or Mule application version.

Yes

Name

String

ID used to reference this configuration.

Yes

#### Connection Types ##### SSE Server Exposes the MCP server using the SSE transport. ###### Parameters
NameTypeDescriptionDefault ValueRequired

Request Timeout

Number

Request timeout

10

Request Timeout Unit

Enumeration, one of:

  • NANOSECONDS

  • MICROSECONDS

  • MILLISECONDS

  • SECONDS

  • MINUTES

  • HOURS

  • DAYS

Request Timeout unit

SECONDS

Listener Config

String

Reference to the HTTP Listener config used to expose the SSE and messaging endpoints.

Yes

Sse Endpoint Path

String

The endpoint path clients use to initiate the SSE connection.

/sse

Messages Path

String

The path to send the messaging endpoint request to.

/message

Default Sse Response Headers

Object

Default Message Response Headers

Object

Reconnection

When the application is deployed, a connectivity test is performed on all connectors. If set to true, deployment will fail if the test doesn’t pass after exhausting the associated reconnection strategy

##### Streamable HTTP Server Exposes the MCP server using the Streamable HTTP transport, as defined in [Streamable HTTP](https://modelcontextprotocol.io/specification/2025-03-26/basic/transports#streamable-http). ###### Parameters
NameTypeDescriptionDefault ValueRequired

Request Timeout

Number

Request timeout

10

Request Timeout Unit

Enumeration, one of:

  • NANOSECONDS

  • MICROSECONDS

  • MILLISECONDS

  • SECONDS

  • MINUTES

  • HOURS

  • DAYS

Request Timeout unit

SECONDS

Listener Config

String

Reference to the http:listener-config used to expose the SSE and messaging endpoints.

Yes

Mcp Endpoint Path

String

The endpoint path clients will use to initiate the SSE connection

/mcp

Response Content Type

Enumeration, one of:

  • JSON

  • SSE

Whether responses should be sent by initiating a SSE stream or returning a single application/json body.

SSE

Default Response Headers

Object

Custom headers to include on all valid responses (not including rejected invalid requests).

Session Idle Timeout

Number

Timeout for idle sessions

5

Session Idle Timeout Unit

Enumeration, one of:

  • NANOSECONDS

  • MICROSECONDS

  • MILLISECONDS

  • SECONDS

  • MINUTES

  • HOURS

  • DAYS

Time unit qualifying the sessionIdleTimeout

MINUTES

Sessions Object Store

ObjectStore

An ObjectStore used to store session information. When deploying to multiple replicas, it is recommended to define a specific object store that will be distributed across all of them, either through Hazelcast or OSv2. If not specified, a default transient instance will be created.

Reconnection

When the application is deployed, a connectivity test is performed on all connectors. If set to true, deployment will fail if the test doesn’t pass after exhausting the associated reconnection strategy

## Associated Sources - [MCP Server - On New Session Listener](#OnNewSessionListener) - [MCP Server - Resource listener](#ResourceListener) - [MCP Server - Tool Listener](#ToolListener) ## Operations ## MCP Client - Call Tool `` Invokes a tool in a remote MCP server. ### Parameters
NameTypeDescriptionDefault ValueRequired

Configuration

String

Name of the configuration to use.

Yes

Tool Name

String

Name of the tool to invoke.

Yes

Arguments

Object

The tool’s input arguments.

#[payload]

Config Ref

ConfigurationProvider

Name of the configuration to use to execute this component.

Yes

Additional Properties

Object

#[null]

Target Variable

String

Name of the variable that stores the operation’s output.

Target Value

String

Expression that evaluates the operation’s output. The outcome of the expression is stored in the Target Variable field.

#[payload]

Error Mappings

Array of Error Mapping

Set of error mappings

Reconnection Strategy

Retry strategy in case of connectivity errors.

### Output

Type

Call Tool Response

Attributes Type

Any

### For Configurations - [Client](#Client) ### Throws - MCP:CONNECTIVITY - MCP:INTERNAL\_ERROR - MCP:INVALID\_PARAMS - MCP:INVALID\_REQUEST - MCP:JSON\_RPC\_ERROR - MCP:METHOD\_NOT\_FOUND - MCP:PARSE\_ERROR - MCP:REQUEST\_TIMEOUT - MCP:RETRY\_EXHAUSTED - MCP:SERVER\_ERROR ## MCP Client - List Resources `` Lists all the available resources in the remote MCP server. ### Parameters
NameTypeDescriptionDefault ValueRequired

Configuration

String

Name of the configuration to use.

Yes

Config Ref

ConfigurationProvider

Name of the configuration to use to execute this component.

Yes

Streaming Strategy

Configures how Mule processes streams. Repeatable streams are the default behavior.

Target Variable

String

Name of the variable that stores the operation’s output.

Target Value

String

Expression that evaluates the operation’s output. The outcome of the expression is stored in the Target Variable field.

#[payload]

Error Mappings

Array of Error Mapping

Set of error mappings

Reconnection Strategy

Retry strategy in case of connectivity errors.

### Output

Type

Array of Resource Metadata

### For Configurations - [Client](#Client) ### Throws - MCP:CONNECTIVITY - MCP:INTERNAL\_ERROR - MCP:INVALID\_PARAMS - MCP:INVALID\_REQUEST - MCP:INVALID\_URI - MCP:JSON\_RPC\_ERROR - MCP:METHOD\_NOT\_FOUND - MCP:PARSE\_ERROR - MCP:REQUEST\_TIMEOUT - MCP:RETRY\_EXHAUSTED - MCP:SERVER\_ERROR ## MCP Client - List Tools `` Lists all the available tools in the remote MCP server. ### Parameters
NameTypeDescriptionDefault ValueRequired

Configuration

String

Name of the configuration to use.

Yes

Config Ref

ConfigurationProvider

Name of the configuration to use to execute this component.

Yes

Streaming Strategy

Configures how Mule processes streams. Repeatable streams are the default behavior.

Target Variable

String

Name of the variable that stores the operation’s output.

Target Value

String

Expression that evaluates the operation’s output. The outcome of the expression is stored in the Target Variable field.

#[payload]

Error Mappings

Array of Error Mapping

Set of error mappings

Reconnection Strategy

Retry strategy in case of connectivity errors.

### Output

Type

Array of Tool Metadata

### For Configurations - [Client](#Client) ### Throws - MCP:CONNECTIVITY - MCP:INTERNAL\_ERROR - MCP:INVALID\_PARAMS - MCP:INVALID\_REQUEST - MCP:JSON\_RPC\_ERROR - MCP:METHOD\_NOT\_FOUND - MCP:PARSE\_ERROR - MCP:REQUEST\_TIMEOUT - MCP:RETRY\_EXHAUSTED - MCP:SERVER\_ERROR ## MCP Client - Ping `` Pings the remote server. ### Parameters
NameTypeDescriptionDefault ValueRequired

Configuration

String

Name of the configuration to use.

Yes

Config Ref

ConfigurationProvider

Name of the configuration to use to execute this component.

Yes

Error Mappings

Array of Error Mapping

Set of error mappings.

Reconnection Strategy

Retry strategy in case of connectivity errors.

### Output

Type

Any

Attributes Type

Any

### For Configurations - [Client](#Client) ### Throws - MCP:CONNECTIVITY - MCP:RETRY\_EXHAUSTED ## MCP Client - Read Resource `` Reads a resource referenced by its URI. ### Parameters
NameTypeDescriptionDefault ValueRequired

Configuration

String

Name of the configuration to use.

Yes

Uri

String

Yes

Config Ref

ConfigurationProvider

Name of the configuration to use to execute this component.

Yes

Additional Properties

Object

#[null]

Target Variable

String

Name of the variable that stores the operation’s output.

Target Value

String

Expression that evaluates the operation’s output. The outcome of the expression is stored in the Target Variable field.

#[payload]

Error Mappings

Array of Error Mapping

Set of error mappings

Reconnection Strategy

Retry strategy in case of connectivity errors.

### Output

Type

Resource Content

Attributes Type

Any

### For Configurations - [Client](#Client) ### Throws - MCP:CONNECTIVITY - MCP:INTERNAL\_ERROR - MCP:INVALID\_PARAMS - MCP:INVALID\_REQUEST - MCP:INVALID\_URI - MCP:JSON\_RPC\_ERROR - MCP:METHOD\_NOT\_FOUND - MCP:PARSE\_ERROR - MCP:REQUEST\_TIMEOUT - MCP:RETRY\_EXHAUSTED - MCP:SERVER\_ERROR ## Sources ## MCP Server - On New Session Listener `` ### Parameters
NameTypeDescriptionDefault ValueRequired

Configuration

String

Name of the configuration to use.

Yes

Primary Node Only

Boolean

Determines whether to execute this source on only the primary node when running Mule instances in a cluster.

Config Ref

ConfigurationProvider

Name of the configuration to use to execute this component.

Yes

Redelivery Policy

Defines a policy for processing the redelivery of the same message.

Reconnection Strategy

A retry strategy in case of connectivity errors

Reject With Status Code

Number

Reject With Message

String

### Output

Type

New Session Request

### For Configurations - [Server](#Server) ## MCP Server - Resource listener `` Exposes a resource whose content is generated by the execution of the owning flow. The flow is executed for every received resources/read request. The user can choose to implement the flow so that the resource content is static or to make it dynamic. For instance, a dynamic resource could be a expenses.csv file, that is actually the result of executing a live DB query. Or a static resource could be a file obtained through Amazon S3 and locally cached using the `ee:cache` component. ### Parameters
NameTypeDescriptionDefault ValueRequired

Configuration

String

Name of the configuration to use.

Yes

Name

String

Name of the resource.

Yes

Description

String

Detailed enough description for an LLM to determine when to read this resource.

Yes

Uri

String

Resource URI.

Yes

Resource Mime Type

String

Resource MIME type.

Yes

Primary Node Only

Boolean

Determines whether to execute this source on only the primary node when running Mule instances in a cluster.

Config Ref

ConfigurationProvider

Name of the configuration to use to execute this component.

Yes

Redelivery Policy

Defines a policy for processing the redelivery of the same message.

Reconnection Strategy

Retry strategy in case of connectivity errors.

Resource Listener

Defines the resource content and type. These parameters are evaluated when the flow finishes successfully (when the payload and variables available).

Yes

### Output

Type

Resource Request

Attributes Type

### For Configurations - [Server](#Server) ## MCP Server - Tool Listener `` Exposes a tool whose result is generated by the execution of the owning flow. The flow will be executed for every received tools/call request. When triggered, the flow will be executed with a message whose payload is a Java map holding the input arguments. The tool response is generated when the flow finishes either successfully or with error. In both cases, the response can include several content items of different types. If no error response is defined, then a text content item holding the error’s description will be generated automatically. ### Parameters
NameTypeDescriptionDefault ValueRequired

Configuration

String

Name of the configuration to use.

Yes

Name

String

The tool’s name

Yes

Description

String

A detailed enough description for an LLM to determine when this tool should be called

Yes

Parameters Schema

String

A JSON schema defining an object whose fields will act as the tool’s input arguments

Yes

Primary Node Only

Boolean

Determines whether to execute this source on only the primary node when running Mule instances in a cluster.

Config Ref

ConfigurationProvider

Name of the configuration to use to execute this component.

Yes

Redelivery Policy

Defines a policy for processing the redelivery of the same message.

Reconnection Strategy

Retry strategy in case of connectivity errors.

Responses

Response items when the flow finishes successfully.

Yes

On Error Responses

Content items when the flow finishes in error.

### Output

Type

Object

Attributes Type

Request Attributes

### For Configurations - [Server](#Server) ## Types ### TLS Configures TLS to provide secure communications for the Mule app.
FieldTypeDescriptionDefault ValueRequired

Enabled Protocols

String

Comma-separated list of protocols enabled for this context.

Enabled Cipher Suites

String

Comma-separated list of cipher suites enabled for this context.

Trust Store

Configures the TLS truststore.

Key Store

Configures the TLS keystore.

Revocation Check

Configures a revocation checking mechanism.

### Truststore Configures the truststore for TLS.
FieldTypeDescriptionDefault ValueRequired

Path

String

Path to the truststore. Mule resolves the path relative to the current classpath and file system.

Password

String

Password used to protect the truststore.

Type

String

Type of store.

Algorithm

String

Encryption algorithm that the truststore uses.

Insecure

Boolean

If true, Mule stops performing certificate validations. Setting this to true can make connections vulnerable to attacks.

### Keystore Configures the keystore for the TLS protocol. The keystore you generate contains a private key and a public certificate.
FieldTypeDescriptionDefault ValueRequired

Path

String

Path to the keystore. Mule resolves the path relative to the current classpath and file system.

Type

String

Type of store.

Alias

String

Alias of the key to use when the keystore contains multiple private keys. By default, Mule uses the first key in the file.

Key Password

String

Password used to protect the private key.

Password

String

Password used to protect the keystore.

Algorithm

String

Encryption algorithm that the keystore uses.

### Standard Revocation Check Configures standard revocation checks for TLS certificates.
FieldTypeDescriptionDefault ValueRequired

Only End Entities

Boolean

Which elements to verify in the certificate chain:

  • true

Verify only the last element in the certificate chain.

  • false

Verify all elements in the certificate chain.

Prefer Crls

Boolean

How to check certificate validity:

  • true

Check the Certification Revocation List (CRL) for certificate validity.

  • false

Use the Online Certificate Status Protocol (OCSP) to check certificate validity.

No Fallback

Boolean

Whether to use the secondary method to check certificate validity:

  • true

Use the method that wasn’t specified in the Prefer Crls field (the secondary method) to check certificate validity.

  • false

Don’t use the secondary method to check certificate validity.

Soft Fail

Boolean

What to do if the revocation server can’t be reached or is busy:

  • true

Avoid verification failure.

  • false

Allow the verification to fail.

### Custom OCSP Responder Configures a custom OCSP responder for certification revocation checks.
FieldTypeDescriptionDefault ValueRequired

Url

String

URL of the OCSP responder.

Cert Alias

String

Alias of the signing certificate for the OCSP response. If specified, the alias must be in the truststore.

### CRL File Specifies the location of the certification revocation list (CRL) file.
FieldTypeDescriptionDefault ValueRequired

Path

String

Path to the CRL file.

### Reconnection Configures a reconnection strategy for an operation.
FieldTypeDescriptionDefault ValueRequired

Fails Deployment

Boolean

When the application is deployed, a connectivity test is performed on all connectors. If set to true, deployment fails if the test doesn’t pass after exhausting the associated reconnection strategy.

Reconnection Strategy

Reconnection strategy to use.

### Reconnect
FieldTypeDescriptionDefault ValueRequired

Frequency

Number

How often in milliseconds to reconnect.

Count

Number

How many reconnection attempts to make.

blocking

Boolean

If false, the reconnection strategy runs in a separate, non-blocking thread.

true

### Reconnect Forever
FieldTypeDescriptionDefault ValueRequired

Frequency

Number

How often in milliseconds to reconnect.

blocking

Boolean

If false, the reconnection strategy runs in a separate, non-blocking thread.

true

### Expiration Policy Configures an expiration policy strategy.
FieldTypeDescriptionDefault ValueRequired

Max Idle Time

Number

Configures the maximum amount of time that a dynamic configuration instance can remain idle before Mule considers it eligible for expiration.

Time Unit

Enumeration, one of:

  • NANOSECONDS

  • MICROSECONDS

  • MILLISECONDS

  • SECONDS

  • MINUTES

  • HOURS

  • DAYS

Time unit for the Max Idle Time field.

### Call Tool Response Response obtained from calling a tool as a client.
FieldTypeDescriptionDefault ValueRequired

Contents

The contents generated by the tool

Yes

Error

Boolean

Whether the tool execution was successful or errored out. Notice that even in case of error, contents might have been generated.

false

### Call Tool Response Content
FieldTypeDescriptionDefault ValueRequired

Type

Enumeration, one of:

  • text

  • image

  • resource

Content type.

Yes

Text

String

Content’s payload when type is text.

Mime Type

String

Content’s MIME type.

Data

Binary

Content’s payload when type is image.

Resource

Content’s payload when type is resource.

Audience

Array of Enumeration, one of:

  • USER

  • ASSISTANT

Describes who the intended consumer of this data is. It can include multiple entries to indicate content useful for multiple audiences.

Priority

Number

Describes how important this data is for operating the server. A value of 1 means "most important", which indicates that the data is required. A value of 0 means "least important", which indicates that the data is entirely optional.

### Resource Content A flattened representation of a resource content. The resource can be either text or blob types. The text property is set for text resources, while the blob type is used for the latter.
FieldTypeDescriptionDefault ValueRequired

Uri

String

Resource URI

Yes

Mime Type

String

Resource MIME type.

Yes

Text

String

Content of a text resource. Null for BLOB data types.

Blob

Binary

Content of a BLOB resource. Null for text data types.

### Error Mapping
FieldTypeDescriptionDefault ValueRequired

Source

Enumeration, one of:

  • ANY

  • REDELIVERY_EXHAUSTED

  • TRANSFORMATION

  • EXPRESSION

  • SECURITY

  • CLIENT_SECURITY

  • SERVER_SECURITY

  • ROUTING

  • CONNECTIVITY

  • RETRY_EXHAUSTED

  • TIMEOUT

Target

String

Yes

### Resource Metadata
FieldTypeDescriptionDefault ValueRequired

Uri

String

Resource URI.

Yes

Name

String

Name of the resource.

Yes

Description

String

Description of the resource.

Yes

Mime Type

String

MIME type of the resource.

Yes

### Repeatable In Memory Iterable
FieldTypeDescriptionDefault ValueRequired

Initial Buffer Size

Number

The amount of memory to allocate to consume the stream and provide random access to it. If the stream contains more data than can fit into this buffer, then the buffer expands according to the Buffer Size Increment value, with an upper limit of the Max In Memory Size value. instances.

100

Buffer Size Increment

Number

Amount by which the buffer size expands if it exceeds its initial size. Setting a value of 0 or lower specifies that the buffer can’t expand.

100

Max Buffer Size

Number

Maximum size of the buffer. If the buffer size exceeds this value, Mule raises a STREAM_MAXIMUM_SIZE_EXCEEDED error. A value of less than or equal to 0 means no limit.

### Repeatable File Store Iterable
FieldTypeDescriptionDefault ValueRequired

In Memory Objects

Number

Maximum number of instances to keep in memory. If more than the maximum is required, content on the disk is buffered.

Buffer Unit

Enumeration, one of:

  • BYTE

  • KB

  • MB

  • GB

Unit for the In Memory Objects field.

### Tool Metadata Describes a tool through its properties.
FieldTypeDescriptionDefault ValueRequired

Name

String

Name of the tool.

Yes

Description

String

A detailed enough description for an LLM to determine when to call this tool.

Yes

Input Schema

String

JSON Schema describing the tool’s input parameters.

Yes

### New Session Request Contains the data associated to a client requiring the creation of a new server session.
FieldTypeDescriptionDefault ValueRequired

Session Id

String

Yes

Additional Properties

Object

Yes

Client Certificate

### Certificate Data
FieldTypeDescriptionDefault ValueRequired

Basic Constraints

Number

Critical Extension OI Ds

Array of String

Encoded

Binary

Extended Key Usage

Array of String

Extensions

Issuer Alternative Names

Issuer DN

Issuer Unique ID

Array of Boolean

Issuer X500 Principal

Key Usage

Array of Boolean

Name

String

Non Critical Extension OI Ds

Array of String

Not After

Date

Not Before

Date

Public Key

Serial Number

Number

Serial Number Object

Sig Alg Name

String

Sig Alg OID

String

Sig Alg Params

Binary

Signature

Binary

Subject Alternative Names

Subject DN

Subject X500 Principal

Type

String

Version

Number

### Certificate Extension
FieldTypeDescriptionDefault ValueRequired

Criticality

Boolean

Oid

String

Value

Binary

### Alternative Name Data
FieldTypeDescriptionDefault ValueRequired

Name

String

Type

Number

### Principal Data
FieldTypeDescriptionDefault ValueRequired

Common Name

String

Name

String

### X500 Principal Data
FieldTypeDescriptionDefault ValueRequired

Name

String

### Public Key Data
FieldTypeDescriptionDefault ValueRequired

Algorithm

String

Encoded

Binary

Modulus

Number

Params

Number

Public Key

String

### Serial Number Data
FieldTypeDescriptionDefault ValueRequired

Serial Number

Number

### Redelivery Policy Configures the redelivery policy for executing requests that generate errors. You can add a redelivery policy to any source in a flow.
FieldTypeDescriptionDefault ValueRequired

Max Redelivery Count

Number

Maximum number of times that a redelivered request can be processed unsuccessfully before returning a REDELIVERY_EXHAUSTED error.

Message Digest Algorithm

String

Secure hashing algorithm to use if the Use Secure Hash field is true. If the payload of the message is a Java object, Mule ignores this value and returns the value that the payload’s hashCode() returned.

Message Identifier

One or more expressions that determine if a message was redelivered. This property can be set only if the Use Secure Hash field is false.

Object Store

ObjectStore

Configures the object store that stores the redelivery counter for each message.

### Redelivery Policy Message Identifier Configures how to identify a redelivered message and how to find out when the message was redelivered.
FieldTypeDescriptionDefault ValueRequired

Use Secure Hash

Boolean

If true, Mule uses a secure hash algorithm to identify a redelivered message.

Id Expression

String

One or more expressions that determine when a message was redelivered. You can set this property only if the Use Secure Hash field is false.

### Resource Request An inbound request for a resource, used when the connector is acting as an MCP server.
FieldTypeDescriptionDefault ValueRequired

Requested Uri

String

Yes

### Request Attributes
FieldTypeDescriptionDefault ValueRequired

Session Id

String

Yes

Request Id

String

Yes

Additional Properties

Object

Additional values attached to the request as HTTP Headers.

Yes

### Text Tool Response Content Defines a text content that’s part of the response of a tool implemented through this connector.
FieldTypeDescriptionDefault ValueRequired

Text

String

Yes

Audience

Array of Enumeration, one of:

  • USER

  • ASSISTANT

Describes who the intended consumer of this data is. It can include multiple entries to indicate content that’s useful for multiple audiences.

Priority

Number

Describes how important this data is for operating the server. A value of 1 means "most important", which indicates that the data is required. A value of 0 means "least important", which indicates that the data is entirely optional.

### Image Tool Response Content Defines an image content that’s part of the response of a tool implemented through this connector.
FieldTypeDescriptionDefault ValueRequired

Audience

Array of Enumeration, one of:

  • USER

  • ASSISTANT

Describes who the intended consumer of this data is. It can include multiple entries to indicate content useful for multiple audiences.

Priority

Number

Describes how important this data is for operating the server. A value of 1 means "most important", which indicates that the data is required. A value of 0 means "least important", which indicates that the data is entirely optional.

Data

Binary

The raw image content, without Base64 encoding.

Mime Type

String

The image MIME type.

### Text Resource Tool Response Content Defines an embedded text resource that’s part of the response of a tool implemented through this connector.
FieldTypeDescriptionDefault ValueRequired

Audience

Array of Enumeration, one of:

  • USER

  • ASSISTANT

Describes who the intended consumer of this data is. It can include multiple entries to indicate content useful for multiple audiences.

Priority

Number

Describes how important this data is for operating the server. A value of 1 means "most important", which indicates that the data is required. A value of 0 means "least important", which indicates that the data is entirely optional.

Uri

String

Resource URI.

Mime Type

String

The resource MIME type.

Text

String

Resource text.

### Blob Resource Tool Response Content Defines an embedded blob resource that’s part of the response of a tool implemented through this connector.
FieldTypeDescriptionDefault ValueRequired

Audience

Array of Enumeration, one of:

  • USER

  • ASSISTANT

Describes who the intended consumer of this data is. It can include multiple entries to indicate content useful for multiple audiences.

Priority

Number

Describes how important this data is for operating the server. A value of 1 means "most important", which indicates that the data is required. A value of 0 means "least important", which indicates that the data is entirely optional.

Blob

Binary

The raw resource content, without Base64 encoding.

Yes

Uri

String

Resource URI.

Mime Type

String

The resource MIME type.

### Text Resource Defines a text resource.
FieldTypeDescriptionDefault ValueRequired

Text

String

Text content.

Yes

### Blob Resource Defines the contents of a Blob resource.
FieldTypeDescriptionDefault ValueRequired

Blob

Binary

The raw blob content, without Base64 encoding.

Yes

### Custom Header Configures a custom header to be included in requests or responses.
NameTypeDescriptionDefault ValueRequired

Key

String

The header name.

Yes

Value

String

The header value. Supports property placeholders and DataWeave expressions.

Yes

## See Also - [Using Anypoint Code Builder to Configure a Connector](https://docs.mulesoft.com/connectors/introduction/intro-config-use-acb) - [Using Studio to Configure a Connector](https://docs.mulesoft.com/connectors/introduction/intro-config-use-studio) - [MCP Connector Overview](https://docs.mulesoft.com/mcp-connector/1.2/) - [Salesforce Help](https://help.salesforce.com) --- product: MCP Connector version: 1.2 --- # MCP Connector 1.2 XML and Maven Support > For the full documentation index, see: https://docs.mulesoft.com/llms.txt Although you can manually code a Mule app in XML, it is more efficient to use Anypoint Code Builder or Studio: - If you manually code a Mule runtime engine (Mule) app in XML, either from the Anypoint Code Builder or Studio XML editor, or from a text editor, you can access the connector from your app by adding reference statements to both your XML Mule flow and the Apache Maven `pom.xml` file. - If you add the connector in Anypoint Code Builder or Studio, the XML is automatically populated the code with the connector’s namespace and schema location and it also adds a dependency to the `pom.xml` file. ## Add a Namespace for the Connector Paste the following code inside the `mule` tag of the header of your configuration XML: ```xml http://www.mulesoft.org/schema/mule/mcp http://www.mulesoft.org/schema/mule/mcp/current/mule-mcp.xsd ``` This example shows how the namespace statements are placed in the `` XML block: ```xml ``` ## Add a POM File Dependency The Apache Maven `pom.xml` file generated by Anypoint Studio contains dependencies for a Mule app. If you code a Mule app manually, include this XML snippet in your `pom.xml` file to enable access to this connector: ```xml com.mulesoft.connectors mule-mcp-connector x.x.x mule-plugin ``` Replace `x.x.x` with the version that corresponds to the connector you are using. To obtain the most up-to-date `pom.xml` file information: 1. Go to [Anypoint Exchange](https://www.mulesoft.com/exchange/). 2. In Exchange, click **Login** and supply your Anypoint Platform username and password. 3. In Exchange, search for `mcp`. 4. Select the connector. 5. Click **Dependency Snippets** near the upper right of the screen. ## Next Step After completing your namespace and pom.xml file, you can try the [Examples](https://docs.mulesoft.com/mcp-connector/1.2/mcp-connector-examples). ## See Also - [Introduction to Anypoint Connectors](https://docs.mulesoft.com/connectors/introduction/introduction-to-anypoint-connectors) - [Salesforce Help](https://help.salesforce.com) --- product: MCP Connector version: 1.3 --- # MCP Connector 1.3 > For the full documentation index, see: https://docs.mulesoft.com/llms.txt Anypoint Connector for MCP (MCP Connector) uses the Model Context Protocol (MCP) to enable AI clients that support MCP to invoke and interact with APIs, connectors, and apps. Use MCP Connector to connect LLM applications with your APIs. Expose APIs with complex endpoints as simpler, more atomic tools or resources that are better suited for agentic clients. Decide on what is straightforward, repeatable, and optimal for agent actions, and start there. MCP is an open protocol that enables integration between LLM applications and external data, services, and tools. The MCP protocol: - Enhances AI precision by supplying AI with relevant information, leading to more accurate responses. - Empowers AI to manage intricate tasks that require access to external data or services. - Promotes interoperability between AI models and external systems, simplifying integration into workflows. MCP Connector: - Enables you to expose your Mule apps, connectors, and custom APIs using the MCP protocol to further enable agentic experiences from agents in Claude, Cursor, Windsurf, and your own agents. - Enables you to write Mule apps that can act as both an MCP server and a client. The resulting MCP server or client runs inside of Mule, which means you don’t need to configure your own hosting environment. - When acting as an MCP server, Mule allows AI clients to use existing API-led investments, legacy systems, and SaaS applications that don’t natively support MCP. - When acting as an MCP client, Mule helps you create connections and orchestrations where AI agents are added as just another system in the workflow. - Allows you to incorporate AI agents into your existing Enterprise ecosystem, using Mule as the orchestration layer. - Supports Streamable HTTP for both server and client (recommended) and SSE (for both server and client) [transport methods](#connection-types). - Supports custom response headers on every exposed endpoint, including `/sse`, `/messages`, and `/mcp`. Use custom response headers for security, operational, integration, and governance benefits. - Provides distributed tracing support, enabling comprehensive monitoring and observability of MCP interactions across distributed systems. This makes the capabilities of your Mule APIs and applications available to a growing ecosystem of AI agents. For information about compatibility and fixed issues, see the MCP Connector Release Notes. ## Before You Begin To use this connector, you must be familiar with: - Anypoint Connectors - Mule runtime engine (Mule) - Elements and global elements in a Mule flow - How to create a Mule app using Anypoint Code Builder or Anypoint Studio Before creating an app, you must have: - Java 17 - Apache Maven - Anypoint Platform - Credentials to connect with the target resource - The latest versions of Anypoint Code Builder or Anypoint Studio ## Common Use Cases for the Connector These are some common use cases for the connector: - Customer Service Use AI agents to help human agents be more efficient by handling time-intensive tasks like reviewing case histories, analyzing reported issues, and retrieving relevant information. - Sales Improve sales teams' success by accelerating prospect research, generating customized collateral, and preparing contracts. - Marketing Empower marketing teams with AI-driven support for drafting social media content, conducting market research, and analyzing campaign performance. ## Connection Types - Streamable HTTP Allows you to deploy multiple instances of your MCP server to run behind a load balancer without clients knowing about the individual server URLs. Clients connect to a single endpoint (like `/mcp`) and the load balancer distributes requests across all your MCP server instances. This is particularly useful for scalability in cloud environments, where you might have multiple replicas of your Mule app running. When acting as an MCP client, Streamable HTTP enables your Mule application to connect to remote MCP servers using the same scalable, load-balanced approach. - SSE Client Enables MCP Connector to establish a persistent, one-way (server-sent) connection to an MCP server using the Server-Sent Events (SSE) standard. This type of connection allows the MCP server to push real-time updates and messages to the client without the need for the client to constantly poll for new information. - SSE Server Exposes the MCP server using the Server-Sent Events (SSE) transport. This allows MCP clients to establish persistent, one-way connections to this server to receive real-time updates and messages. ### Streamable HTTP Limitations The Streamable HTTP connection type has no support for: - Calling the GET `/mcp` endpoint for getting notifications - Resumability and Redelivery ## Next Step After you complete the prerequisites, you’re ready to create an app and configure the connector using [Anypoint Studio](https://docs.mulesoft.com/mcp-connector/1.3/mcp-connector-studio) or [Anypoint Code Builder](https://docs.mulesoft.com/mcp-connector/1.3/mcp-connector-acb). ## See Also - [Anypoint Connectors Overview](https://docs.mulesoft.com/connectors/introduction/introduction-to-anypoint-connectors) - [Using Anypoint Code Builder to Configure a Connector](https://docs.mulesoft.com/connectors/introduction/intro-config-use-acb) - [Using Anypoint Studio to Configure a Connector](https://docs.mulesoft.com/connectors/introduction/intro-config-use-studio) - [MCP Connector Reference](https://docs.mulesoft.com/mcp-connector/1.3/mcp-connector-reference) - [MuleSoft MCP Support: Get Started With Model Context Protocol](https://blogs.mulesoft.com/news/model-context-protocol/) - [Model Context Protocol](https://modelcontextprotocol.io/docs/getting-started/intro) - [Salesforce Help](https://help.salesforce.com) --- product: MCP Connector version: 1.3 --- # MCP Connector 1.3 - Applying Security to the MCP Server > For the full documentation index, see: https://docs.mulesoft.com/llms.txt MCP Connector enables server-side authentication for MCP clients. In these examples, it uses the stateful Server-Sent Events (SSE) connection and the **On New Session Listener** source to implement custom security logic, including OAuth access token validation. ## Server-Side Authentication With On New Session Listener The MCP specification emphasizes session management and SSE connections maintain state. The **On New Session Listener** source offers a key point for implementing server-side authentication. This example illustrates a basic flow triggered by this listener, showing how to access the auto-generated `sessionId` and the HTTP headers sent by the connecting client, which can then be used for custom authentication logic. This is an example flow that uses the **On New Session Listener** source: ```xml ``` The flow executes each time a new client connects to the MCP server application. The payload contains the auto-generated `sessionId` and the `additionalProperties`, which when using the SSE connection type, maps to the request HTTP headers. At this point, you can implement your own authentication logic. For instance, the `#[payload.additionalProperties.authorization]` expression gets the HTTP authorization header, which you can validate later. ### Validate OAuth Access Tokens Optionally, you can use the [Mule OAuth 2.0 Provider](https://docs.mulesoft.com/api-manager/latest/mule-oauth-provider-landing-page) to implement and validate OAuth access tokens. In this example flow, the access token is validated using the OAuth provider, and the session is rejected if the token is invalid: ```xml ``` The new session is rejected if either of these things happen: - The `rejectWithStatusCode` parameter is assigned a non null value (or an expression that resolves to a non null value), or - The flow fails, in which case a status code 500 is reported. In this example, the OAuth validation error is handled so that the status code is mapped to a `401 - UNAUTHORIZED` code. ## Client-Side Authentication In the client, the authentication parameter accepts all the authentication strategies defined in HTTP Connector, and [OAuth Module](https://docs.mulesoft.com/oauth-module/latest/) if it’s also added to the project. Operations like **Call Tool** also accept additional properties, which in the case of SSE map to request headers. This makes it possible to add custom authentication headers like API keys, for example: ```xml ``` ## Next Step After you configure the connector, you can try the [Examples](https://docs.mulesoft.com/mcp-connector/1.3/mcp-connector-examples). ## See Also - [Introduction to Anypoint Connectors](https://docs.mulesoft.com/connectors/introduction/introduction-to-anypoint-connectors) - [Salesforce Help](https://help.salesforce.com) --- product: MCP Connector version: 1.3 --- # MCP Connector 1.3 - Examples > For the full documentation index, see: https://docs.mulesoft.com/llms.txt These are some examples of how to use existing APIs to build agents using MCP Connector. ## Create an MCP Server and Tools These examples show you the process of creating an MCP server within your Mule app and defining two distinct tools that the MCP server will expose: one for retrieving a dynamic list of approved vendors with their product categories, and another for initiating the creation of purchase orders with specified details. These examples illustrate the concept of MCP tools as invocable Remote Procedure Calls (RPCs). ### Create the MCP Server Configuration This example demonstrates how to configure an MCP server within your Mule application using the Streamable HTTP transport. When acting as an MCP client, MuleSoft facilitates the creation of integrations and orchestrations where AI Agents are integrated as just another system in the workflow. ```xml <<1>> <<2>> <<3>> ```
1The HTTP listener configuration defines the endpoint where the MCP server is exposed.
2The MCP server configuration uses the Streamable HTTP transport.
3Property placeholders are used for configuration values to support different environments.
### Create a Tool That Provides a List of Vendors This example illustrates how to create an MCP tool that retrieves a dynamic list of approved vendors from an external system (in this case, SAP Concur). The example demonstrates how to use the `` to define a callable tool and how to process the data to provide the agent with relevant vendor information, including their assigned product category from the `Custom19` field. First, set up the SAP Concur configuration with retry and timeout settings: ```xml <<1>> <<2>> 30 <<3>> SECONDS <<4>> 3600000 MILLISECONDS ```
1The SAP Concur configuration includes OAuth authentication settings.
2A reconnection strategy is configured to handle temporary connection issues.
3Request timeout is set to 30 seconds to prevent hanging requests.
4A cache configuration is added to improve performance with a one hour TTL.
Now, create the main flow that handles vendor retrieval with pagination and caching: ```xml <<1>> Get all approved vendors with optional pagination > "$schema": "http://json-schema.org/draft-07/schema#", "type": "object", "properties": { "pageSize": { "type": "integer", "description": "Number of vendors to return per page", "minimum": 1, "maximum": 100, "default": 50 }, "pageNumber": { "type": "integer", "description": "Page number to retrieve", "minimum": 1, "default": 1 } }, "required": [] }]]> <<3>> <<4>> <<5>> ```
1The <mcp:tool-listener> defines the interface for the vendor retrieval tool with pagination support.
2The <mcp:parameters-schema> schema includes validation for page size and page number.
3The cache component improves performance by storing results for 1 hour.
4The DataWeave transformation filters approved vendors and adds pagination metadata.
5Error handling covers connectivity, authentication, and unexpected errors.
### Create a Tool That Creates Purchase Orders This example demonstrates the creation of an MCP tool that allows an agent to initiate the creation of a purchase order in SAP Concur. The example highlights how to define input parameters for a tool using a JSON schema, including natural language descriptions for each parameter to help the LLM in understanding and populating the required information. ```xml <<1>> Create a new purchase order in SAP Concur with validation > "$schema": "http://json-schema.org/draft-07/schema#", "type": "object", "properties": { "name": { "type": "string", "description": "Name for the purchase order.", "minLength": 1, "maxLength": 100 }, "description": { "type": "string", "description": "Purchase order description.", "minLength": 1, "maxLength": 500 }, "vendorCode": { "type": "string", "description": "Code that identifies the vendor.", "pattern": "^[A-Z0-9]{3,10}$" }, "itemDescription": { "type": "string", "description": "Description of the item purchased in this order.", "minLength": 1, "maxLength": 200 }, "price": { "type": "number", "description": "Monetary amount of the purchase order.", "minimum": 0.01, "maximum": 999999.99 }, "currency": { "type": "string", "description": "Currency code for the purchase order monetary amount.", "pattern": "^[A-Z]{3}$" } }, "required": ["name", "description", "vendorCode", "itemDescription", "price", "currency"] }]]> <<3>> <<4>> <<5>> ```
1The tool listener defines the purchase order creation interface with comprehensive input validation.
2The parameters schema includes validation rules for all fields, including length limits and patterns.
3A vendor existence check is performed before creating the purchase order.
4The DataWeave transformation validates the vendor check response.
5Error handling covers connectivity, authentication, validation, and unexpected errors.
## Configure the MCP Client to Use Third-Party MCP Servers The previous examples showed you how to write tools that draw from existing Anypoint Connectors. Now, take a look at how to use third-party MCP servers. ### Create a Weather Service Using Multiple MCP Servers This example shows how to integrate your Mule applications with existing third-party MCP servers using Streamable HTTP transport by configuring the MCP Client and using the **Call Tool** operation. > [!NOTE] When connecting to third-party MCP servers, ensure they support Streamable HTTP transport. > If a third-party server only supports SSE transport, you may need to use the SSE client connection > or contact the service provider for Streamable HTTP support. First, set up the client configurations with timeout and retry settings: ```xml <<1>> 30 SECONDS <<2>> <<3>> ```
1The HTTP request configuration includes timeout and retry settings for the weather API.
2The Google Maps MCP client configuration uses Streamable HTTP transport with custom headers and reconnection settings.
3The Weather MCP server configuration uses Streamable HTTP transport and exposes the weather service endpoints with custom headers.
Now, create the weather service flows with error handling and caching: ```xml <<1>> 900000 MILLISECONDS <<2>> Provides the weather at given coordinates expressed as latitude and longitude <<3>> <<4>> Provides the weather at a specific address <<5>> ```
1The cache configuration stores weather data for 15 minutes to reduce API calls.
2The coordinates-based weather flow includes input validation and caching.
3The address-based weather flow demonstrates tool composition by:
  • First converting the address to coordinates using Google Maps

  • Then using those coordinates to get the weather

4Both flows include comprehensive error handling for different scenarios.
5The DataWeave transformation validates the Google Maps response before proceeding.
While LLMs can orchestrate these tools directly, there are cases where manual composition in Mule is preferable: - When you need guaranteed access to all MCP servers - When authentication needs to be handled securely - When you need strong governance and tracing capabilities ## See Also - [Applying Security to the MCP Server](https://docs.mulesoft.com/mcp-connector/1.3/mcp-connector-config-topics) - [MCP Connector Reference](https://docs.mulesoft.com/mcp-connector/1.3/mcp-connector-reference) - [MuleSoft MCP Support: Get Started With Model Context Protocol](https://blogs.mulesoft.com/news/model-context-protocol/) - [Introduction to Anypoint Connectors](https://docs.mulesoft.com/connectors/introduction/introduction-to-anypoint-connectors) - [Salesforce Help](https://help.salesforce.com) --- product: MCP Connector version: 1.3 --- # MCP Connector 1.3 Reference > For the full documentation index, see: https://docs.mulesoft.com/llms.txt Anypoint Connector for MCP (MCP Connector) allows Mule applications to act as both MCP servers and clients. When acting as an MCP client, MuleSoft facilitates the creation of integrations and orchestrations where AI agents are integrated as just another system in the workflow. ## Configurations ### Client Configuration element that acts as a client and connects to an MCP server. #### Parameters
NameTypeDescriptionDefault ValueRequired

Name

String

Name for this configuration. Connectors reference the configuration with this name.

Yes

Connection

The connection types to provide to this configuration.

Yes

Client Name

String

Name the client uses to identify itself during the protocol initialization phase. This isn’t the same as the name given to this config element (which is later referenced through config-ref parameters). This name doesn’t need to be unique.

Yes

Client Version

String

Version the client uses to identify itself during the protocol initialization phase. This doesn’t need to match the connector or Mule application version.

Yes

Name

String

ID used to reference this configuration.

Yes

Expiration Policy

Configures the minimum amount of time that a dynamic configuration instance can remain idle before Mule considers it eligible for expiration.

#### Connection Types ##### SSE Client Streamable HTTP transport is recommended. The SSE (Server-Sent Events) Client connection type enables MCP Connector to establish a persistent, one-way (server-sent) connection to an MCP server using the SSE standard. This type of connection allows the MCP server to push real-time updates and messages to the client without the need for the client to constantly poll for new information. ###### Parameters
NameTypeDescriptionDefault ValueRequired

Request Timeout

Number

Sets the duration to wait for server responses before timing out requests.

30

Request Timeout Unit

Enumeration, one of:

  • NANOSECONDS

  • MICROSECONDS

  • MILLISECONDS

  • SECONDS

  • MINUTES

  • HOURS

  • DAYS

Time Unit for the requestTimeout parameter

SECONDS

Authentication

HttpRequestAuthentication

Default Request Headers

Object

Defines custom headers to send with every request to the MCP server.

Server Url

String

The base URL for the target MCP server

Yes

Sse Endpoint Path

String

/sse

Reconnection Delay

Number

Specifies how long to wait before reinitializing the SSE connection when it times out or closes.

500

Reconnection Delay Unit

Enumeration, one of:

  • NANOSECONDS

  • MICROSECONDS

  • MILLISECONDS

  • SECONDS

  • MINUTES

  • HOURS

  • DAYS

Time Unit for the reconnectionDelay

MILLISECONDS

Tls Context

Reconnection

When the application is deployed, a connectivity test is performed on all connectors. If set to true, deployment fails if the test doesn’t pass after exhausting the associated reconnection strategy.

##### Streamable HTTP Client ###### Parameters
NameTypeDescriptionDefault ValueRequired

Request Timeout

Number

Sets the duration to wait for server responses before timing out requests.

30

Request Timeout Unit

Enumeration, one of:

  • NANOSECONDS

  • MICROSECONDS

  • MILLISECONDS

  • SECONDS

  • MINUTES

  • HOURS

  • DAYS

Time Unit for the requestTimeout parameter

SECONDS

Authentication

HttpRequestAuthentication

Default Request Headers

Object

Defines custom headers to send with every request to the MCP server.

Server Url

String

The base URL for the target MCP server

Yes

Mcp Endpoint Path

String

/mcp

Tls Context

Reconnection

When the application is deployed, a connectivity test is performed on all connectors. If set to true, deployment will fail if the test doesn’t pass after exhausting the associated reconnection strategy

## Supported Operations - [MCP Client - Call Tool](#CallTool) - [MCP Client - List Resources](#ListResources) - [MCP Client - List Tools](#ListTools) - [MCP Client - Ping](#Ping) - [MCP Client - Read Resource](#ReadResource) ### Server Configuration element to act as an MCP server. #### Parameters
NameTypeDescriptionDefault ValueRequired

Name

String

Name for this configuration. Connectors reference the configuration with this name.

Yes

Connection

The connection types to provide to this configuration.

Yes

Server Name

String

Name this server uses to identify itself during the protocol initialization phase. This isn’t the same as the name given to this config element (which is later referenced through config-ref parameters). This name doesn’t need to be unique.

Yes

Server Version

String

Version this server uses to identify itself during the protocol initialization phase. This doesn’t need to match the connector or Mule application version.

Yes

Name

String

ID used to reference this configuration.

Yes

#### Connection Types ##### SSE Server Exposes the MCP server using the SSE transport. ###### Parameters
NameTypeDescriptionDefault ValueRequired

Request Timeout

Number

Request timeout

10

Request Timeout Unit

Enumeration, one of:

  • NANOSECONDS

  • MICROSECONDS

  • MILLISECONDS

  • SECONDS

  • MINUTES

  • HOURS

  • DAYS

Request Timeout unit

SECONDS

Listener Config

String

Reference to the HTTP Listener config used to expose the SSE and messaging endpoints.

Yes

Sse Endpoint Path

String

The endpoint path clients use to initiate the SSE connection.

/sse

Messages Path

String

The path to send the messaging endpoint request to.

/message

Default Sse Response Headers

Object

Default Message Response Headers

Object

Reconnection

When the application is deployed, a connectivity test is performed on all connectors. If set to true, deployment will fail if the test doesn’t pass after exhausting the associated reconnection strategy

##### Streamable HTTP Server Exposes the MCP server using the Streamable HTTP transport, as defined in [Streamable HTTP](https://modelcontextprotocol.io/specification/2025-03-26/basic/transports#streamable-http). ###### Parameters
NameTypeDescriptionDefault ValueRequired

Request Timeout

Number

Request timeout

10

Request Timeout Unit

Enumeration, one of:

  • NANOSECONDS

  • MICROSECONDS

  • MILLISECONDS

  • SECONDS

  • MINUTES

  • HOURS

  • DAYS

Request Timeout unit

SECONDS

Listener Config

String

Reference to the http:listener-config used to expose the SSE and messaging endpoints.

Yes

Mcp Endpoint Path

String

The endpoint path clients will use to initiate the SSE connection

/mcp

Response Content Type

Enumeration, one of:

  • JSON

  • SSE

Whether responses should be sent by initiating a SSE stream or returning a single application/json body.

SSE

Default Response Headers

Object

Custom headers to include on all valid responses (not including rejected invalid requests).

Session Idle Timeout

Number

Timeout for idle sessions

5

Session Idle Timeout Unit

Enumeration, one of:

  • NANOSECONDS

  • MICROSECONDS

  • MILLISECONDS

  • SECONDS

  • MINUTES

  • HOURS

  • DAYS

Time unit qualifying the sessionIdleTimeout

MINUTES

Sessions Object Store

ObjectStore

An ObjectStore used to store session information. When deploying to multiple replicas, it is recommended to define a specific object store that will be distributed across all of them, either through Hazelcast or OSv2. If not specified, a default transient instance will be created.

Reconnection

When the application is deployed, a connectivity test is performed on all connectors. If set to true, deployment will fail if the test doesn’t pass after exhausting the associated reconnection strategy

## Associated Sources - [MCP Server - On New Session Listener](#OnNewSessionListener) - [MCP Server - Resource listener](#ResourceListener) - [MCP Server - Tool Listener](#ToolListener) ## Operations ## MCP Client - Call Tool `` Invokes a tool in a remote MCP server. ### Parameters
NameTypeDescriptionDefault ValueRequired

Configuration

String

Name of the configuration to use.

Yes

Tool Name

String

Name of the tool to invoke.

Yes

Arguments

Object

The tool’s input arguments.

#[payload]

Config Ref

ConfigurationProvider

Name of the configuration to use to execute this component.

Yes

Additional Properties

Object

#[null]

Target Variable

String

Name of the variable that stores the operation’s output.

Target Value

String

Expression that evaluates the operation’s output. The outcome of the expression is stored in the Target Variable field.

#[payload]

Error Mappings

Array of Error Mapping

Set of error mappings

Reconnection Strategy

Retry strategy in case of connectivity errors.

### Output

Type

Call Tool Response

Attributes Type

Any

### For Configurations - [Client](#Client) ### Throws - MCP:CONNECTIVITY - MCP:INTERNAL\_ERROR - MCP:INVALID\_PARAMS - MCP:INVALID\_REQUEST - MCP:JSON\_RPC\_ERROR - MCP:METHOD\_NOT\_FOUND - MCP:PARSE\_ERROR - MCP:REQUEST\_TIMEOUT - MCP:RETRY\_EXHAUSTED - MCP:SERVER\_ERROR ## MCP Client - List Resources `` Lists all the available resources in the remote MCP server. ### Parameters
NameTypeDescriptionDefault ValueRequired

Configuration

String

Name of the configuration to use.

Yes

Config Ref

ConfigurationProvider

Name of the configuration to use to execute this component.

Yes

Streaming Strategy

Configures how Mule processes streams. Repeatable streams are the default behavior.

Target Variable

String

Name of the variable that stores the operation’s output.

Target Value

String

Expression that evaluates the operation’s output. The outcome of the expression is stored in the Target Variable field.

#[payload]

Error Mappings

Array of Error Mapping

Set of error mappings

Reconnection Strategy

Retry strategy in case of connectivity errors.

### Output

Type

Array of Resource Metadata

### For Configurations - [Client](#Client) ### Throws - MCP:CONNECTIVITY - MCP:INTERNAL\_ERROR - MCP:INVALID\_PARAMS - MCP:INVALID\_REQUEST - MCP:INVALID\_URI - MCP:JSON\_RPC\_ERROR - MCP:METHOD\_NOT\_FOUND - MCP:PARSE\_ERROR - MCP:REQUEST\_TIMEOUT - MCP:RETRY\_EXHAUSTED - MCP:SERVER\_ERROR ## MCP Client - List Tools `` Lists all the available tools in the remote MCP server. ### Parameters
NameTypeDescriptionDefault ValueRequired

Configuration

String

Name of the configuration to use.

Yes

Config Ref

ConfigurationProvider

Name of the configuration to use to execute this component.

Yes

Streaming Strategy

Configures how Mule processes streams. Repeatable streams are the default behavior.

Target Variable

String

Name of the variable that stores the operation’s output.

Target Value

String

Expression that evaluates the operation’s output. The outcome of the expression is stored in the Target Variable field.

#[payload]

Error Mappings

Array of Error Mapping

Set of error mappings

Reconnection Strategy

Retry strategy in case of connectivity errors.

### Output

Type

Array of Tool Metadata

### For Configurations - [Client](#Client) ### Throws - MCP:CONNECTIVITY - MCP:INTERNAL\_ERROR - MCP:INVALID\_PARAMS - MCP:INVALID\_REQUEST - MCP:JSON\_RPC\_ERROR - MCP:METHOD\_NOT\_FOUND - MCP:PARSE\_ERROR - MCP:REQUEST\_TIMEOUT - MCP:RETRY\_EXHAUSTED - MCP:SERVER\_ERROR ## MCP Client - Ping `` Pings the remote server. ### Parameters
NameTypeDescriptionDefault ValueRequired

Configuration

String

Name of the configuration to use.

Yes

Config Ref

ConfigurationProvider

Name of the configuration to use to execute this component.

Yes

Error Mappings

Array of Error Mapping

Set of error mappings.

Reconnection Strategy

Retry strategy in case of connectivity errors.

### Output

Type

Any

Attributes Type

Any

### For Configurations - [Client](#Client) ### Throws - MCP:CONNECTIVITY - MCP:RETRY\_EXHAUSTED ## MCP Client - Read Resource `` Reads a resource referenced by its URI. ### Parameters
NameTypeDescriptionDefault ValueRequired

Configuration

String

Name of the configuration to use.

Yes

Uri

String

Yes

Config Ref

ConfigurationProvider

Name of the configuration to use to execute this component.

Yes

Additional Properties

Object

#[null]

Target Variable

String

Name of the variable that stores the operation’s output.

Target Value

String

Expression that evaluates the operation’s output. The outcome of the expression is stored in the Target Variable field.

#[payload]

Error Mappings

Array of Error Mapping

Set of error mappings

Reconnection Strategy

Retry strategy in case of connectivity errors.

### Output

Type

Resource Content

Attributes Type

Any

### For Configurations - [Client](#Client) ### Throws - MCP:CONNECTIVITY - MCP:INTERNAL\_ERROR - MCP:INVALID\_PARAMS - MCP:INVALID\_REQUEST - MCP:INVALID\_URI - MCP:JSON\_RPC\_ERROR - MCP:METHOD\_NOT\_FOUND - MCP:PARSE\_ERROR - MCP:REQUEST\_TIMEOUT - MCP:RETRY\_EXHAUSTED - MCP:SERVER\_ERROR ## Sources ## MCP Server - On New Session Listener `` ### Parameters
NameTypeDescriptionDefault ValueRequired

Configuration

String

Name of the configuration to use.

Yes

Primary Node Only

Boolean

Determines whether to execute this source on only the primary node when running Mule instances in a cluster.

Config Ref

ConfigurationProvider

Name of the configuration to use to execute this component.

Yes

Redelivery Policy

Defines a policy for processing the redelivery of the same message.

Reconnection Strategy

A retry strategy in case of connectivity errors

Reject With Status Code

Number

Reject With Message

String

Reject With Headers

Object

### Output

Type

New Session Request

### For Configurations - [Server](#Server) ## MCP Server - Resource listener `` Exposes a resource whose content is generated by the execution of the owning flow. The flow is executed for every received resources/read request. The user can choose to implement the flow so that the resource content is static or to make it dynamic. For instance, a dynamic resource could be a expenses.csv file, that is actually the result of executing a live DB query. Or a static resource could be a file obtained through Amazon S3 and locally cached using the `ee:cache` component. ### Parameters
NameTypeDescriptionDefault ValueRequired

Configuration

String

Name of the configuration to use.

Yes

Name

String

Name of the resource.

Yes

Description

String

Detailed enough description for an LLM to determine when to read this resource.

Yes

Uri

String

Resource URI.

Yes

Resource Mime Type

String

Resource MIME type.

Yes

Primary Node Only

Boolean

Determines whether to execute this source on only the primary node when running Mule instances in a cluster.

Config Ref

ConfigurationProvider

Name of the configuration to use to execute this component.

Yes

Redelivery Policy

Defines a policy for processing the redelivery of the same message.

Reconnection Strategy

Retry strategy in case of connectivity errors.

Resource Listener

Defines the resource content and type. These parameters are evaluated when the flow finishes successfully (when the payload and variables available).

Yes

### Output

Type

Resource Request

Attributes Type

### For Configurations - [Server](#Server) ## MCP Server - Tool Listener `` Exposes a tool whose result is generated by the execution of the owning flow. The flow will be executed for every received tools/call request. When triggered, the flow will be executed with a message whose payload is a Java map holding the input arguments. The tool response is generated when the flow finishes either successfully or with error. In both cases, the response can include several content items of different types. If no error response is defined, then a text content item holding the error’s description will be generated automatically. ### Parameters
NameTypeDescriptionDefault ValueRequired

Configuration

String

Name of the configuration to use.

Yes

Name

String

The tool’s name

Yes

Description

String

A detailed enough description for an LLM to determine when this tool should be called

Yes

Parameters Schema

String

A JSON schema defining an object whose fields will act as the tool’s input arguments

Yes

Primary Node Only

Boolean

Determines whether to execute this source on only the primary node when running Mule instances in a cluster.

Config Ref

ConfigurationProvider

Name of the configuration to use to execute this component.

Yes

Redelivery Policy

Defines a policy for processing the redelivery of the same message.

Reconnection Strategy

Retry strategy in case of connectivity errors.

Responses

Response items when the flow finishes successfully.

Yes

On Error Responses

Content items when the flow finishes in error.

### Output

Type

Object

Attributes Type

Request Attributes

### For Configurations - [Server](#Server) ## Types ### TLS Configures TLS to provide secure communications for the Mule app.
FieldTypeDescriptionDefault ValueRequired

Enabled Protocols

String

Comma-separated list of protocols enabled for this context.

Enabled Cipher Suites

String

Comma-separated list of cipher suites enabled for this context.

Trust Store

Configures the TLS truststore.

Key Store

Configures the TLS keystore.

Revocation Check

Configures a revocation checking mechanism.

### Truststore Configures the truststore for TLS.
FieldTypeDescriptionDefault ValueRequired

Path

String

Path to the truststore. Mule resolves the path relative to the current classpath and file system.

Password

String

Password used to protect the truststore.

Type

String

Type of store.

Algorithm

String

Encryption algorithm that the truststore uses.

Insecure

Boolean

If true, Mule stops performing certificate validations. Setting this to true can make connections vulnerable to attacks.

### Keystore Configures the keystore for the TLS protocol. The keystore you generate contains a private key and a public certificate.
FieldTypeDescriptionDefault ValueRequired

Path

String

Path to the keystore. Mule resolves the path relative to the current classpath and file system.

Type

String

Type of store.

Alias

String

Alias of the key to use when the keystore contains multiple private keys. By default, Mule uses the first key in the file.

Key Password

String

Password used to protect the private key.

Password

String

Password used to protect the keystore.

Algorithm

String

Encryption algorithm that the keystore uses.

### Standard Revocation Check Configures standard revocation checks for TLS certificates.
FieldTypeDescriptionDefault ValueRequired

Only End Entities

Boolean

Which elements to verify in the certificate chain:

  • true

Verify only the last element in the certificate chain.

  • false

Verify all elements in the certificate chain.

Prefer Crls

Boolean

How to check certificate validity:

  • true

Check the Certification Revocation List (CRL) for certificate validity.

  • false

Use the Online Certificate Status Protocol (OCSP) to check certificate validity.

No Fallback

Boolean

Whether to use the secondary method to check certificate validity:

  • true

Use the method that wasn’t specified in the Prefer Crls field (the secondary method) to check certificate validity.

  • false

Don’t use the secondary method to check certificate validity.

Soft Fail

Boolean

What to do if the revocation server can’t be reached or is busy:

  • true

Avoid verification failure.

  • false

Allow the verification to fail.

### Custom OCSP Responder Configures a custom OCSP responder for certification revocation checks.
FieldTypeDescriptionDefault ValueRequired

Url

String

URL of the OCSP responder.

Cert Alias

String

Alias of the signing certificate for the OCSP response. If specified, the alias must be in the truststore.

### CRL File Specifies the location of the certification revocation list (CRL) file.
FieldTypeDescriptionDefault ValueRequired

Path

String

Path to the CRL file.

### Reconnection Configures a reconnection strategy for an operation.
FieldTypeDescriptionDefault ValueRequired

Fails Deployment

Boolean

When the application is deployed, a connectivity test is performed on all connectors. If set to true, deployment fails if the test doesn’t pass after exhausting the associated reconnection strategy.

Reconnection Strategy

Reconnection strategy to use.

### Reconnect
FieldTypeDescriptionDefault ValueRequired

Frequency

Number

How often in milliseconds to reconnect.

Count

Number

How many reconnection attempts to make.

blocking

Boolean

If false, the reconnection strategy runs in a separate, non-blocking thread.

true

### Reconnect Forever
FieldTypeDescriptionDefault ValueRequired

Frequency

Number

How often in milliseconds to reconnect.

blocking

Boolean

If false, the reconnection strategy runs in a separate, non-blocking thread.

true

### Expiration Policy Configures an expiration policy strategy.
FieldTypeDescriptionDefault ValueRequired

Max Idle Time

Number

Configures the maximum amount of time that a dynamic configuration instance can remain idle before Mule considers it eligible for expiration.

Time Unit

Enumeration, one of:

  • NANOSECONDS

  • MICROSECONDS

  • MILLISECONDS

  • SECONDS

  • MINUTES

  • HOURS

  • DAYS

Time unit for the Max Idle Time field.

### Call Tool Response Response obtained from calling a tool as a client.
FieldTypeDescriptionDefault ValueRequired

Contents

The contents generated by the tool

Yes

Error

Boolean

Whether the tool execution was successful or errored out. Notice that even in case of error, contents might have been generated.

false

### Call Tool Response Content
FieldTypeDescriptionDefault ValueRequired

Type

Enumeration, one of:

  • text

  • image

  • resource

Content type.

Yes

Text

String

Content’s payload when type is text.

Mime Type

String

Content’s MIME type.

Data

Binary

Content’s payload when type is image.

Resource

Content’s payload when type is resource.

Audience

Array of Enumeration, one of:

  • USER

  • ASSISTANT

Describes who the intended consumer of this data is. It can include multiple entries to indicate content useful for multiple audiences.

Priority

Number

Describes how important this data is for operating the server. A value of 1 means "most important", which indicates that the data is required. A value of 0 means "least important", which indicates that the data is entirely optional.

### Resource Content A flattened representation of a resource content. The resource can be either text or blob types. The text property is set for text resources, while the blob type is used for the latter.
FieldTypeDescriptionDefault ValueRequired

Uri

String

Resource URI

Yes

Mime Type

String

Resource MIME type.

Yes

Text

String

Content of a text resource. Null for BLOB data types.

Blob

Binary

Content of a BLOB resource. Null for text data types.

### Error Mapping
FieldTypeDescriptionDefault ValueRequired

Source

Enumeration, one of:

  • ANY

  • REDELIVERY_EXHAUSTED

  • TRANSFORMATION

  • EXPRESSION

  • SECURITY

  • CLIENT_SECURITY

  • SERVER_SECURITY

  • ROUTING

  • CONNECTIVITY

  • RETRY_EXHAUSTED

  • TIMEOUT

Target

String

Yes

### Resource Metadata
FieldTypeDescriptionDefault ValueRequired

Uri

String

Resource URI.

Yes

Name

String

Name of the resource.

Yes

Description

String

Description of the resource.

Yes

Mime Type

String

MIME type of the resource.

Yes

### Repeatable In Memory Iterable
FieldTypeDescriptionDefault ValueRequired

Initial Buffer Size

Number

The amount of memory to allocate to consume the stream and provide random access to it. If the stream contains more data than can fit into this buffer, then the buffer expands according to the Buffer Size Increment value, with an upper limit of the Max In Memory Size value. instances.

100

Buffer Size Increment

Number

Amount by which the buffer size expands if it exceeds its initial size. Setting a value of 0 or lower specifies that the buffer can’t expand.

100

Max Buffer Size

Number

Maximum size of the buffer. If the buffer size exceeds this value, Mule raises a STREAM_MAXIMUM_SIZE_EXCEEDED error. A value of less than or equal to 0 means no limit.

### Repeatable File Store Iterable
FieldTypeDescriptionDefault ValueRequired

In Memory Objects

Number

Maximum number of instances to keep in memory. If more than the maximum is required, content on the disk is buffered.

Buffer Unit

Enumeration, one of:

  • BYTE

  • KB

  • MB

  • GB

Unit for the In Memory Objects field.

### Tool Metadata Describes a tool through its properties.
FieldTypeDescriptionDefault ValueRequired

Name

String

Name of the tool.

Yes

Description

String

A detailed enough description for an LLM to determine when to call this tool.

Yes

Input Schema

String

JSON Schema describing the tool’s input parameters.

Yes

### New Session Request Contains the data associated to a client requiring the creation of a new server session.
FieldTypeDescriptionDefault ValueRequired

Session Id

String

Yes

Additional Properties

Object

Yes

Client Certificate

### Certificate Data
FieldTypeDescriptionDefault ValueRequired

Basic Constraints

Number

Critical Extension OI Ds

Array of String

Encoded

Binary

Extended Key Usage

Array of String

Extensions

Issuer Alternative Names

Issuer DN

Issuer Unique ID

Array of Boolean

Issuer X500 Principal

Key Usage

Array of Boolean

Name

String

Non Critical Extension OI Ds

Array of String

Not After

Date

Not Before

Date

Public Key

Serial Number

Number

Serial Number Object

Sig Alg Name

String

Sig Alg OID

String

Sig Alg Params

Binary

Signature

Binary

Subject Alternative Names

Subject DN

Subject X500 Principal

Type

String

Version

Number

### Certificate Extension
FieldTypeDescriptionDefault ValueRequired

Criticality

Boolean

Oid

String

Value

Binary

### Alternative Name Data
FieldTypeDescriptionDefault ValueRequired

Name

String

Type

Number

### Principal Data
FieldTypeDescriptionDefault ValueRequired

Common Name

String

Name

String

### X500 Principal Data
FieldTypeDescriptionDefault ValueRequired

Name

String

### Public Key Data
FieldTypeDescriptionDefault ValueRequired

Algorithm

String

Encoded

Binary

Modulus

Number

Params

Number

Public Key

String

### Serial Number Data
FieldTypeDescriptionDefault ValueRequired

Serial Number

Number

### Redelivery Policy Configures the redelivery policy for executing requests that generate errors. You can add a redelivery policy to any source in a flow.
FieldTypeDescriptionDefault ValueRequired

Max Redelivery Count

Number

Maximum number of times that a redelivered request can be processed unsuccessfully before returning a REDELIVERY_EXHAUSTED error.

Message Digest Algorithm

String

Secure hashing algorithm to use if the Use Secure Hash field is true. If the payload of the message is a Java object, Mule ignores this value and returns the value that the payload’s hashCode() returned.

Message Identifier

One or more expressions that determine if a message was redelivered. This property can be set only if the Use Secure Hash field is false.

Object Store

ObjectStore

Configures the object store that stores the redelivery counter for each message.

### Redelivery Policy Message Identifier Configures how to identify a redelivered message and how to find out when the message was redelivered.
FieldTypeDescriptionDefault ValueRequired

Use Secure Hash

Boolean

If true, Mule uses a secure hash algorithm to identify a redelivered message.

Id Expression

String

One or more expressions that determine when a message was redelivered. You can set this property only if the Use Secure Hash field is false.

### Resource Request An inbound request for a resource, used when the connector is acting as an MCP server.
FieldTypeDescriptionDefault ValueRequired

Requested Uri

String

Yes

### Request Attributes
FieldTypeDescriptionDefault ValueRequired

Session Id

String

Yes

Request Id

String

Yes

Additional Properties

Object

Additional values attached to the request as HTTP Headers.

Yes

### Text Tool Response Content Defines a text content that’s part of the response of a tool implemented through this connector.
FieldTypeDescriptionDefault ValueRequired

Text

String

Yes

Audience

Array of Enumeration, one of:

  • USER

  • ASSISTANT

Describes who the intended consumer of this data is. It can include multiple entries to indicate content that’s useful for multiple audiences.

Priority

Number

Describes how important this data is for operating the server. A value of 1 means "most important", which indicates that the data is required. A value of 0 means "least important", which indicates that the data is entirely optional.

### Image Tool Response Content Defines an image content that’s part of the response of a tool implemented through this connector.
FieldTypeDescriptionDefault ValueRequired

Audience

Array of Enumeration, one of:

  • USER

  • ASSISTANT

Describes who the intended consumer of this data is. It can include multiple entries to indicate content useful for multiple audiences.

Priority

Number

Describes how important this data is for operating the server. A value of 1 means "most important", which indicates that the data is required. A value of 0 means "least important", which indicates that the data is entirely optional.

Data

Binary

The raw image content, without Base64 encoding.

Mime Type

String

The image MIME type.

### Text Resource Tool Response Content Defines an embedded text resource that’s part of the response of a tool implemented through this connector.
FieldTypeDescriptionDefault ValueRequired

Audience

Array of Enumeration, one of:

  • USER

  • ASSISTANT

Describes who the intended consumer of this data is. It can include multiple entries to indicate content useful for multiple audiences.

Priority

Number

Describes how important this data is for operating the server. A value of 1 means "most important", which indicates that the data is required. A value of 0 means "least important", which indicates that the data is entirely optional.

Uri

String

Resource URI.

Mime Type

String

The resource MIME type.

Text

String

Resource text.

### Blob Resource Tool Response Content Defines an embedded blob resource that’s part of the response of a tool implemented through this connector.
FieldTypeDescriptionDefault ValueRequired

Audience

Array of Enumeration, one of:

  • USER

  • ASSISTANT

Describes who the intended consumer of this data is. It can include multiple entries to indicate content useful for multiple audiences.

Priority

Number

Describes how important this data is for operating the server. A value of 1 means "most important", which indicates that the data is required. A value of 0 means "least important", which indicates that the data is entirely optional.

Blob

Binary

The raw resource content, without Base64 encoding.

Yes

Uri

String

Resource URI.

Mime Type

String

The resource MIME type.

### Text Resource Defines a text resource.
FieldTypeDescriptionDefault ValueRequired

Text

String

Text content.

Yes

### Blob Resource Defines the contents of a Blob resource.
FieldTypeDescriptionDefault ValueRequired

Blob

Binary

The raw blob content, without Base64 encoding.

Yes

### Custom Header Configures a custom header to be included in requests or responses.
NameTypeDescriptionDefault ValueRequired

Key

String

The header name.

Yes

Value

String

The header value. Supports property placeholders and DataWeave expressions.

Yes

## See Also - [Using Anypoint Code Builder to Configure a Connector](https://docs.mulesoft.com/connectors/introduction/intro-config-use-acb) - [Using Studio to Configure a Connector](https://docs.mulesoft.com/connectors/introduction/intro-config-use-studio) - [MCP Connector Overview](https://docs.mulesoft.com/mcp-connector/1.3/) - [Salesforce Help](https://help.salesforce.com) --- product: MCP Connector version: 1.3 --- # MCP Connector 1.3 XML and Maven Support > For the full documentation index, see: https://docs.mulesoft.com/llms.txt Although you can manually code a Mule app in XML, it is more efficient to use Anypoint Code Builder or Studio: - If you manually code a Mule runtime engine (Mule) app in XML, either from the Anypoint Code Builder or Studio XML editor, or from a text editor, you can access the connector from your app by adding reference statements to both your XML Mule flow and the Apache Maven `pom.xml` file. - If you add the connector in Anypoint Code Builder or Studio, the XML is automatically populated the code with the connector’s namespace and schema location and it also adds a dependency to the `pom.xml` file. ## Add a Namespace for the Connector Paste the following code inside the `mule` tag of the header of your configuration XML: ```xml http://www.mulesoft.org/schema/mule/mcp http://www.mulesoft.org/schema/mule/mcp/current/mule-mcp.xsd ``` This example shows how the namespace statements are placed in the `` XML block: ```xml ``` ## Add a POM File Dependency The Apache Maven `pom.xml` file generated by Anypoint Studio contains dependencies for a Mule app. If you code a Mule app manually, include this XML snippet in your `pom.xml` file to enable access to this connector: ```xml com.mulesoft.connectors mule-mcp-connector x.x.x mule-plugin ``` Replace `x.x.x` with the version that corresponds to the connector you are using. To obtain the most up-to-date `pom.xml` file information: 1. Go to [Anypoint Exchange](https://www.mulesoft.com/exchange/). 2. In Exchange, click **Login** and supply your Anypoint Platform username and password. 3. In Exchange, search for `mcp`. 4. Select the connector. 5. Click **Dependency Snippets** near the upper right of the screen. ## Next Step After completing your namespace and pom.xml file, you can try the [Examples](https://docs.mulesoft.com/mcp-connector/1.3/mcp-connector-examples). ## See Also - [Introduction to Anypoint Connectors](https://docs.mulesoft.com/connectors/introduction/introduction-to-anypoint-connectors) - [Salesforce Help](https://help.salesforce.com) --- product: MCP Connector version: 1.4 --- # MCP Connector 1.4 > For the full documentation index, see: https://docs.mulesoft.com/llms.txt Anypoint Connector for MCP (MCP Connector) uses the Model Context Protocol (MCP) to enable AI clients that support MCP to invoke and interact with APIs, connectors, and apps. Use MCP Connector to connect LLM applications with your APIs. Expose APIs with complex endpoints as simpler, more atomic tools or resources that are better suited for agentic clients. Decide on what is straightforward, repeatable, and optimal for agent actions, and start there. MCP is an open protocol that enables integration between LLM applications and external data, services, and tools. The MCP protocol: - Enhances AI precision by supplying AI with relevant information, leading to more accurate responses. - Empowers AI to manage intricate tasks that require access to external data or services. - Promotes interoperability between AI models and external systems, simplifying integration into workflows. MCP Connector: - Enables you to expose your Mule apps, connectors, and custom APIs using the MCP protocol to further enable agentic experiences from agents in Claude, Cursor, Windsurf, and your own agents. - Enables you to write Mule apps that can act as both an MCP server and a client. The resulting MCP server or client runs inside of Mule, which means you don’t need to configure your own hosting environment. - When acting as an MCP server, Mule allows AI clients to use existing API-led investments, legacy systems, and SaaS applications that don’t natively support MCP. - When acting as an MCP client, Mule helps you create connections and orchestrations where AI agents are added as just another system in the workflow. - Allows you to incorporate AI agents into your existing Enterprise ecosystem, using Mule as the orchestration layer. - Supports Streamable HTTP (recommended) and SSE (deprecated) for both server and client [transport methods](#connection-types). - Supports custom response headers on every exposed endpoint, including `/sse`, `/messages`, and `/mcp`. Use custom response headers for security, operational, integration, and governance benefits. - Provides distributed tracing support, enabling comprehensive monitoring and observability of MCP interactions across distributed systems. This makes the capabilities of your Mule APIs and applications available to a growing ecosystem of AI agents. For information about compatibility and fixed issues, see the MCP Connector Release Notes. ## Before You Begin To use this connector, you must be familiar with: - Anypoint Connectors - Mule runtime engine (Mule) - Elements and global elements in a Mule flow - How to create a Mule app using Anypoint Code Builder or Anypoint Studio Before creating an app, you must have: - Java 17 - Apache Maven - Anypoint Platform - Credentials to connect with the target resource - The latest versions of Anypoint Code Builder or Anypoint Studio ## Common Use Cases for the Connector These are some common use cases for the connector: - Customer Service Use AI agents to help human agents be more efficient by handling time-intensive tasks like reviewing case histories, analyzing reported issues, and retrieving relevant information. - Sales Improve sales teams' success by accelerating prospect research, generating customized collateral, and preparing contracts. - Marketing Empower marketing teams with AI-driven support for drafting social media content, conducting market research, and analyzing campaign performance. ## Connection Types - Streamable HTTP Allows you to deploy multiple instances of your MCP server to run behind a load balancer without clients knowing about the individual server URLs. Clients connect to a single endpoint (like `/mcp`) and the load balancer distributes requests across all your MCP server instances. This is particularly useful for scalability in cloud environments, where you might have multiple replicas of your Mule app running. When acting as an MCP client, Streamable HTTP enables your Mule application to connect to remote MCP servers using the same scalable, load-balanced approach. - SSE Client (Deprecated) Enables MCP Connector to establish a persistent, one-way (server-sent) connection to an MCP server using the Server-Sent Events (SSE) standard. This type of connection allows the MCP server to push real-time updates and messages to the client without the need for the client to constantly poll for new information. - SSE Server (Deprecated) Exposes the MCP server using the Server-Sent Events (SSE) transport. This allows MCP clients to establish persistent, one-way connections to this server to receive real-time updates and messages. ### Streamable HTTP Limitations The Streamable HTTP connection type has no support for: - Calling the GET `/mcp` endpoint for getting notifications - Resumability and Redelivery ## Next Step After you complete the prerequisites, you’re ready to create an app and configure the connector using [Anypoint Studio](https://docs.mulesoft.com/mcp-connector/1.4/mcp-connector-studio) or [Anypoint Code Builder](https://docs.mulesoft.com/mcp-connector/1.4/mcp-connector-acb). ## See Also - [Anypoint Connectors Overview](https://docs.mulesoft.com/connectors/introduction/introduction-to-anypoint-connectors) - [Using Anypoint Code Builder to Configure a Connector](https://docs.mulesoft.com/connectors/introduction/intro-config-use-acb) - [Using Anypoint Studio to Configure a Connector](https://docs.mulesoft.com/connectors/introduction/intro-config-use-studio) - [MCP Connector Reference](https://docs.mulesoft.com/mcp-connector/1.4/mcp-connector-reference) - [MuleSoft MCP Support: Get Started With Model Context Protocol](https://blogs.mulesoft.com/news/model-context-protocol/) - [Model Context Protocol](https://modelcontextprotocol.io/docs/getting-started/intro) - [MuleSoft Help Center](https://help.mulesoft.com) --- product: MCP Connector version: 1.4 --- # MCP Connector 1.4 - Applying Security to the MCP Server > For the full documentation index, see: https://docs.mulesoft.com/llms.txt MCP Connector enables server-side authentication for MCP clients. In these examples, it uses the stateful Server-Sent Events (SSE) connection and the **On New Session Listener** source to implement custom security logic, including OAuth access token validation. ## Server-Side Authentication With On New Session Listener The MCP specification emphasizes session management and SSE connections maintain state. The **On New Session Listener** source offers a key point for implementing server-side authentication. This example illustrates a basic flow triggered by this listener, showing how to access the auto-generated `sessionId` and the HTTP headers sent by the connecting client, which can then be used for custom authentication logic. This is an example flow that uses the **On New Session Listener** source: ```xml ``` The flow executes each time a new client connects to the MCP server application. The payload contains the auto-generated `sessionId` and the `additionalProperties`, which when using the SSE connection type, maps to the request HTTP headers. At this point, you can implement your own authentication logic. For instance, the `#[payload.additionalProperties.authorization]` expression gets the HTTP authorization header, which you can validate later. ### Validate OAuth Access Tokens Optionally, you can use the [Mule OAuth 2.0 Provider](https://docs.mulesoft.com/api-manager/latest/mule-oauth-provider-landing-page) to implement and validate OAuth access tokens. In this example flow, the access token is validated using the OAuth provider, and the session is rejected if the token is invalid: ```xml ``` The new session is rejected if either of these things happen: - The `rejectWithStatusCode` parameter is assigned a non null value (or an expression that resolves to a non null value), or - The flow fails, in which case a status code 500 is reported. In this example, the OAuth validation error is handled so that the status code is mapped to a `401 - UNAUTHORIZED` code. ## Client-Side Authentication In the client, the authentication parameter accepts all the authentication strategies defined in HTTP Connector, and [OAuth Module](https://docs.mulesoft.com/oauth-module/latest/) if it’s also added to the project. Operations like **Call Tool** also accept additional properties, which will map to request headers. This makes it possible to add custom authentication headers like API keys, for example: ```xml ``` ## Next Step After you configure the connector, you can try the [Examples](https://docs.mulesoft.com/mcp-connector/1.4/mcp-connector-examples). ## See Also - [Introduction to Anypoint Connectors](https://docs.mulesoft.com/connectors/introduction/introduction-to-anypoint-connectors) - [MuleSoft Help Center](https://help.mulesoft.com) --- product: MCP Connector version: 1.4 --- # MCP Connector 1.4 - Examples > For the full documentation index, see: https://docs.mulesoft.com/llms.txt These are some examples of how to use existing APIs to build agents using MCP Connector. ## Create an MCP Server and Tools These examples show you the process of creating an MCP server within your Mule app and defining two distinct tools that the MCP server will expose: one for retrieving a dynamic list of approved vendors with their product categories, and another for initiating the creation of purchase orders with specified details. These examples illustrate the concept of MCP tools as invocable Remote Procedure Calls (RPCs). ### Create the MCP Server Configuration This example demonstrates how to configure an MCP server within your Mule application using the Streamable HTTP transport. When acting as an MCP client, MuleSoft facilitates the creation of integrations and orchestrations where AI Agents are integrated as just another system in the workflow. ```xml <<1>> <<2>> <<3>> ```
1The HTTP listener configuration defines the endpoint where the MCP server is exposed.
2The MCP server configuration uses the Streamable HTTP transport.
3Property placeholders are used for configuration values to support different environments.
### Create a Tool That Provides a List of Vendors This example illustrates how to create an MCP tool that retrieves a dynamic list of approved vendors from an external system (in this case, SAP Concur). The example demonstrates how to use the `` to define a callable tool and how to process the data to provide the agent with relevant vendor information, including their assigned product category from the `Custom19` field. First, set up the SAP Concur configuration with retry and timeout settings: ```xml <<1>> <<2>> 30 <<3>> SECONDS <<4>> 3600000 MILLISECONDS ```
1The SAP Concur configuration includes OAuth authentication settings.
2A reconnection strategy is configured to handle temporary connection issues.
3Request timeout is set to 30 seconds to prevent hanging requests.
4A cache configuration is added to improve performance with a one hour TTL.
Now, create the main flow that handles vendor retrieval with pagination and caching: ```xml <<1>> Get all approved vendors with optional pagination > "$schema": "http://json-schema.org/draft-07/schema#", "type": "object", "properties": { "pageSize": { "type": "integer", "description": "Number of vendors to return per page", "minimum": 1, "maximum": 100, "default": 50 }, "pageNumber": { "type": "integer", "description": "Page number to retrieve", "minimum": 1, "default": 1 } }, "required": [] }]]> <<3>> <<4>> <<5>> ```
1The <mcp:tool-listener> defines the interface for the vendor retrieval tool with pagination support.
2The <mcp:parameters-schema> schema includes validation for page size and page number.
3The cache component improves performance by storing results for 1 hour.
4The DataWeave transformation filters approved vendors and adds pagination metadata.
5Error handling covers connectivity, authentication, and unexpected errors.
### Create a Tool That Creates Purchase Orders This example demonstrates the creation of an MCP tool that allows an agent to initiate the creation of a purchase order in SAP Concur. The example highlights how to define input parameters for a tool using a JSON schema, including natural language descriptions for each parameter to help the LLM in understanding and populating the required information. ```xml <<1>> Create a new purchase order in SAP Concur with validation > "$schema": "http://json-schema.org/draft-07/schema#", "type": "object", "properties": { "name": { "type": "string", "description": "Name for the purchase order.", "minLength": 1, "maxLength": 100 }, "description": { "type": "string", "description": "Purchase order description.", "minLength": 1, "maxLength": 500 }, "vendorCode": { "type": "string", "description": "Code that identifies the vendor.", "pattern": "^[A-Z0-9]{3,10}$" }, "itemDescription": { "type": "string", "description": "Description of the item purchased in this order.", "minLength": 1, "maxLength": 200 }, "price": { "type": "number", "description": "Monetary amount of the purchase order.", "minimum": 0.01, "maximum": 999999.99 }, "currency": { "type": "string", "description": "Currency code for the purchase order monetary amount.", "pattern": "^[A-Z]{3}$" } }, "required": ["name", "description", "vendorCode", "itemDescription", "price", "currency"] }]]> <<3>> <<4>> <<5>> ```
1The tool listener defines the purchase order creation interface with comprehensive input validation.
2The parameters schema includes validation rules for all fields, including length limits and patterns.
3A vendor existence check is performed before creating the purchase order.
4The DataWeave transformation validates the vendor check response.
5Error handling covers connectivity, authentication, validation, and unexpected errors.
## Configure the MCP Client to Use Third-Party MCP Servers The previous examples showed you how to write tools that draw from existing Anypoint Connectors. Now, take a look at how to use third-party MCP servers. ### Create a Weather Service Using Multiple MCP Servers This example shows how to integrate your Mule applications with existing third-party MCP servers using Streamable HTTP transport by configuring the MCP Client and using the **Call Tool** operation. > [!NOTE] When connecting to third-party MCP servers, ensure they support Streamable HTTP transport. > If a third-party server only supports SSE transport, you may need to use the SSE client connection > or contact the service provider for Streamable HTTP support. First, set up the client configurations with timeout and retry settings: ```xml <<1>> 30 SECONDS <<2>> <<3>> ```
1The HTTP request configuration includes timeout and retry settings for the weather API.
2The Google Maps MCP client configuration uses Streamable HTTP transport with custom headers and reconnection settings.
3The Weather MCP server configuration uses Streamable HTTP transport and exposes the weather service endpoints with custom headers.
Now, create the weather service flows with error handling and caching: ```xml <<1>> 900000 MILLISECONDS <<2>> Provides the weather at given coordinates expressed as latitude and longitude <<3>> <<4>> Provides the weather at a specific address <<5>> ```
1The cache configuration stores weather data for 15 minutes to reduce API calls.
2The coordinates-based weather flow includes input validation and caching.
3The address-based weather flow demonstrates tool composition by:
  • First converting the address to coordinates using Google Maps

  • Then using those coordinates to get the weather

4Both flows include comprehensive error handling for different scenarios.
5The DataWeave transformation validates the Google Maps response before proceeding.
While LLMs can orchestrate these tools directly, there are cases where manual composition in Mule is preferable: - When you need guaranteed access to all MCP servers - When authentication needs to be handled securely - When you need strong governance and tracing capabilities ## See Also - [Applying Security to the MCP Server](https://docs.mulesoft.com/mcp-connector/1.4/mcp-connector-config-topics) - [MCP Connector Reference](https://docs.mulesoft.com/mcp-connector/1.4/mcp-connector-reference) - [MuleSoft MCP Support: Get Started With Model Context Protocol](https://blogs.mulesoft.com/news/model-context-protocol/) - [Introduction to Anypoint Connectors](https://docs.mulesoft.com/connectors/introduction/introduction-to-anypoint-connectors) - [MuleSoft Help Center](https://help.mulesoft.com) --- product: MCP Connector version: 1.4 --- # MCP Connector 1.4 Reference > For the full documentation index, see: https://docs.mulesoft.com/llms.txt Anypoint Connector for MCP (MCP Connector) allows Mule applications to act as both MCP servers and clients. When acting as an MCP client, MuleSoft facilitates the creation of integrations and orchestrations where AI agents are integrated as just another system in the workflow. ## Configurations ### Client Configuration element that acts as a client and connects to an MCP server. #### Parameters
NameTypeDescriptionDefault ValueRequired

Name

String

Name for this configuration. Connectors reference the configuration with this name.

Yes

Connection

The connection types to provide to this configuration.

Yes

Client Name

String

Name the client uses to identify itself during the protocol initialization phase. This isn’t the same as the name given to this config element (which is later referenced through config-ref parameters). This name doesn’t need to be unique.

Yes

Client Version

String

Version the client uses to identify itself during the protocol initialization phase. This doesn’t need to match the connector or Mule application version.

Yes

Name

String

ID used to reference this configuration.

Yes

Expiration Policy

Configures the minimum amount of time that a dynamic configuration instance can remain idle before Mule considers it eligible for expiration.

#### Connection Types ##### SSE Client (Deprecated) Streamable HTTP transport is recommended. The SSE (Server-Sent Events) Client connection type enables MCP Connector to establish a persistent, one-way (server-sent) connection to an MCP server using the SSE standard. This type of connection allows the MCP server to push real-time updates and messages to the client without the need for the client to constantly poll for new information. ###### Parameters
NameTypeDescriptionDefault ValueRequired

Request Timeout

Number

Sets the duration to wait for server responses before timing out requests.

30

Request Timeout Unit

Enumeration, one of:

  • NANOSECONDS

  • MICROSECONDS

  • MILLISECONDS

  • SECONDS

  • MINUTES

  • HOURS

  • DAYS

Time Unit for the requestTimeout parameter

SECONDS

Authentication

HttpRequestAuthentication

Default Request Headers

Object

Defines custom headers to send with every request to the MCP server.

Server Url

String

The base URL for the target MCP server

Yes

Sse Endpoint Path

String

/sse

Reconnection Delay

Number

Specifies how long to wait before reinitializing the SSE connection when it times out or closes.

500

Reconnection Delay Unit

Enumeration, one of:

  • NANOSECONDS

  • MICROSECONDS

  • MILLISECONDS

  • SECONDS

  • MINUTES

  • HOURS

  • DAYS

Time Unit for the reconnectionDelay

MILLISECONDS

Tls Context

Reconnection

When the application is deployed, a connectivity test is performed on all connectors. If set to true, deployment fails if the test doesn’t pass after exhausting the associated reconnection strategy.

##### Streamable HTTP Client ###### Parameters
NameTypeDescriptionDefault ValueRequired

Request Timeout

Number

Sets the duration to wait for server responses before timing out requests.

30

Request Timeout Unit

Enumeration, one of:

  • NANOSECONDS

  • MICROSECONDS

  • MILLISECONDS

  • SECONDS

  • MINUTES

  • HOURS

  • DAYS

Time Unit for the requestTimeout parameter

SECONDS

Authentication

HttpRequestAuthentication

Default Request Headers

Object

Defines custom headers to send with every request to the MCP server.

Server Url

String

The base URL for the target MCP server

Yes

Mcp Endpoint Path

String

/mcp

Tls Context

Reconnection

When the application is deployed, a connectivity test is performed on all connectors. If set to true, deployment will fail if the test doesn’t pass after exhausting the associated reconnection strategy

## Supported Operations - [MCP Client - Call Tool](#CallTool) - [MCP Client - List Resources](#ListResources) - [MCP Client - List Tools](#ListTools) - [MCP Client - Ping](#Ping) - [MCP Client - Read Resource](#ReadResource) ### Server Configuration element to act as an MCP server. #### Parameters
NameTypeDescriptionDefault ValueRequired

Name

String

Name for this configuration. Connectors reference the configuration with this name.

Yes

Connection

The connection types to provide to this configuration.

Yes

Server Name

String

Name this server uses to identify itself during the protocol initialization phase. This isn’t the same as the name given to this config element (which is later referenced through config-ref parameters). This name doesn’t need to be unique.

Yes

Server Version

String

Version this server uses to identify itself during the protocol initialization phase. This doesn’t need to match the connector or Mule application version.

Yes

Name

String

ID used to reference this configuration.

Yes

#### Connection Types ##### SSE Server (Deprecated) Streamable HTTP transport is recommended. Exposes the MCP server using the SSE transport. ###### Parameters
NameTypeDescriptionDefault ValueRequired

Request Timeout

Number

Request timeout

10

Request Timeout Unit

Enumeration, one of:

  • NANOSECONDS

  • MICROSECONDS

  • MILLISECONDS

  • SECONDS

  • MINUTES

  • HOURS

  • DAYS

Request Timeout unit

SECONDS

Listener Config

String

Reference to the HTTP Listener config used to expose the SSE and messaging endpoints.

Yes

Sse Endpoint Path

String

The endpoint path clients use to initiate the SSE connection.

/sse

Messages Path

String

The path to send the messaging endpoint request to.

/message

Default Sse Response Headers

Object

Default Message Response Headers

Object

Reconnection

When the application is deployed, a connectivity test is performed on all connectors. If set to true, deployment will fail if the test doesn’t pass after exhausting the associated reconnection strategy

##### Streamable HTTP Server Exposes the MCP server using the Streamable HTTP transport, as defined in [Streamable HTTP](https://modelcontextprotocol.io/specification/2025-03-26/basic/transports#streamable-http). ###### Parameters
NameTypeDescriptionDefault ValueRequired

Request Timeout

Number

Request timeout

10

Request Timeout Unit

Enumeration, one of:

  • NANOSECONDS

  • MICROSECONDS

  • MILLISECONDS

  • SECONDS

  • MINUTES

  • HOURS

  • DAYS

Request Timeout unit

SECONDS

Listener Config

String

Reference to the http:listener-config used to expose the SSE and messaging endpoints.

Yes

Mcp Endpoint Path

String

The endpoint path clients will use to initiate the SSE connection

/mcp

Response Content Type

Enumeration, one of:

  • JSON

  • SSE

Whether responses should be sent by initiating a SSE stream or returning a single application/json body.

SSE

Default Response Headers

Object

Custom headers to include on all valid responses (not including rejected invalid requests).

Session Idle Timeout

Number

Timeout for idle sessions

5

Session Idle Timeout Unit

Enumeration, one of:

  • NANOSECONDS

  • MICROSECONDS

  • MILLISECONDS

  • SECONDS

  • MINUTES

  • HOURS

  • DAYS

Time unit qualifying the sessionIdleTimeout

MINUTES

Sessions Object Store

ObjectStore

An ObjectStore used to store session information. When deploying to multiple replicas, it is recommended to define a specific object store that will be distributed across all of them, either through Hazelcast or OSv2. If not specified, a default transient instance will be created.

Reconnection

When the application is deployed, a connectivity test is performed on all connectors. If set to true, deployment will fail if the test doesn’t pass after exhausting the associated reconnection strategy

## Associated Sources - [MCP Server - On New Session Listener](#OnNewSessionListener) - [MCP Server - Resource listener](#ResourceListener) - [MCP Server - Tool Listener](#ToolListener) ## Operations ## MCP Client - Call Tool `` Invokes a tool in a remote MCP server. ### Parameters
NameTypeDescriptionDefault ValueRequired

Configuration

String

Name of the configuration to use.

Yes

Tool Name

String

Name of the tool to invoke.

Yes

Arguments

Object

The tool’s input arguments.

#[payload]

Config Ref

ConfigurationProvider

Name of the configuration to use to execute this component.

Yes

Additional Properties

Object

#[null]

Target Variable

String

Name of the variable that stores the operation’s output.

Target Value

String

Expression that evaluates the operation’s output. The outcome of the expression is stored in the Target Variable field.

#[payload]

Error Mappings

Array of Error Mapping

Set of error mappings

Reconnection Strategy

Retry strategy in case of connectivity errors.

### Output

Type

Call Tool Response

Attributes Type

Any

### For Configurations - [Client](#Client) ### Throws - MCP:CONNECTIVITY - MCP:INTERNAL\_ERROR - MCP:INVALID\_PARAMS - MCP:INVALID\_REQUEST - MCP:JSON\_RPC\_ERROR - MCP:METHOD\_NOT\_FOUND - MCP:PARSE\_ERROR - MCP:REQUEST\_TIMEOUT - MCP:RETRY\_EXHAUSTED - MCP:SERVER\_ERROR ## MCP Client - List Resources `` Lists all the available resources in the remote MCP server. ### Parameters
NameTypeDescriptionDefault ValueRequired

Configuration

String

Name of the configuration to use.

Yes

Config Ref

ConfigurationProvider

Name of the configuration to use to execute this component.

Yes

Streaming Strategy

Configures how Mule processes streams. Repeatable streams are the default behavior.

Target Variable

String

Name of the variable that stores the operation’s output.

Target Value

String

Expression that evaluates the operation’s output. The outcome of the expression is stored in the Target Variable field.

#[payload]

Error Mappings

Array of Error Mapping

Set of error mappings

Reconnection Strategy

Retry strategy in case of connectivity errors.

### Output

Type

Array of Resource Metadata

### For Configurations - [Client](#Client) ### Throws - MCP:CONNECTIVITY - MCP:INTERNAL\_ERROR - MCP:INVALID\_PARAMS - MCP:INVALID\_REQUEST - MCP:INVALID\_URI - MCP:JSON\_RPC\_ERROR - MCP:METHOD\_NOT\_FOUND - MCP:PARSE\_ERROR - MCP:REQUEST\_TIMEOUT - MCP:RETRY\_EXHAUSTED - MCP:SERVER\_ERROR ## MCP Client - List Tools `` Lists all the available tools in the remote MCP server. ### Parameters
NameTypeDescriptionDefault ValueRequired

Configuration

String

Name of the configuration to use.

Yes

Config Ref

ConfigurationProvider

Name of the configuration to use to execute this component.

Yes

Streaming Strategy

Configures how Mule processes streams. Repeatable streams are the default behavior.

Target Variable

String

Name of the variable that stores the operation’s output.

Target Value

String

Expression that evaluates the operation’s output. The outcome of the expression is stored in the Target Variable field.

#[payload]

Error Mappings

Array of Error Mapping

Set of error mappings

Reconnection Strategy

Retry strategy in case of connectivity errors.

### Output

Type

Array of Tool Metadata

### For Configurations - [Client](#Client) ### Throws - MCP:CONNECTIVITY - MCP:INTERNAL\_ERROR - MCP:INVALID\_PARAMS - MCP:INVALID\_REQUEST - MCP:JSON\_RPC\_ERROR - MCP:METHOD\_NOT\_FOUND - MCP:PARSE\_ERROR - MCP:REQUEST\_TIMEOUT - MCP:RETRY\_EXHAUSTED - MCP:SERVER\_ERROR ## MCP Client - Ping `` Pings the remote server. ### Parameters
NameTypeDescriptionDefault ValueRequired

Configuration

String

Name of the configuration to use.

Yes

Config Ref

ConfigurationProvider

Name of the configuration to use to execute this component.

Yes

Error Mappings

Array of Error Mapping

Set of error mappings.

Reconnection Strategy

Retry strategy in case of connectivity errors.

### Output

Type

Any

Attributes Type

Any

### For Configurations - [Client](#Client) ### Throws - MCP:CONNECTIVITY - MCP:RETRY\_EXHAUSTED ## MCP Client - Read Resource `` Reads a resource referenced by its URI. ### Parameters
NameTypeDescriptionDefault ValueRequired

Configuration

String

Name of the configuration to use.

Yes

Uri

String

Yes

Config Ref

ConfigurationProvider

Name of the configuration to use to execute this component.

Yes

Additional Properties

Object

#[null]

Target Variable

String

Name of the variable that stores the operation’s output.

Target Value

String

Expression that evaluates the operation’s output. The outcome of the expression is stored in the Target Variable field.

#[payload]

Error Mappings

Array of Error Mapping

Set of error mappings

Reconnection Strategy

Retry strategy in case of connectivity errors.

### Output

Type

Resource Content

Attributes Type

Any

### For Configurations - [Client](#Client) ### Throws - MCP:CONNECTIVITY - MCP:INTERNAL\_ERROR - MCP:INVALID\_PARAMS - MCP:INVALID\_REQUEST - MCP:INVALID\_URI - MCP:JSON\_RPC\_ERROR - MCP:METHOD\_NOT\_FOUND - MCP:PARSE\_ERROR - MCP:REQUEST\_TIMEOUT - MCP:RETRY\_EXHAUSTED - MCP:SERVER\_ERROR ## Sources ## MCP Server - On New Session Listener `` ### Parameters
NameTypeDescriptionDefault ValueRequired

Configuration

String

Name of the configuration to use.

Yes

Primary Node Only

Boolean

Determines whether to execute this source on only the primary node when running Mule instances in a cluster.

Config Ref

ConfigurationProvider

Name of the configuration to use to execute this component.

Yes

Redelivery Policy

Defines a policy for processing the redelivery of the same message.

Reconnection Strategy

A retry strategy in case of connectivity errors

Reject With Status Code

Number

Reject With Message

String

Reject With Headers

Object

### Output

Type

New Session Request

### For Configurations - [Server](#Server) ## MCP Server - Resource listener `` Exposes a resource whose content is generated by the execution of the owning flow. The flow is executed for every received resources/read request. The user can choose to implement the flow so that the resource content is static or to make it dynamic. For instance, a dynamic resource could be a expenses.csv file, that is actually the result of executing a live DB query. Or a static resource could be a file obtained through Amazon S3 and locally cached using the `ee:cache` component. ### Parameters
NameTypeDescriptionDefault ValueRequired

Configuration

String

Name of the configuration to use.

Yes

Name

String

Name of the resource.

Yes

Description

String

Detailed enough description for an LLM to determine when to read this resource.

Yes

Uri

String

Resource URI.

Yes

Resource Mime Type

String

Resource MIME type.

Yes

Primary Node Only

Boolean

Determines whether to execute this source on only the primary node when running Mule instances in a cluster.

Config Ref

ConfigurationProvider

Name of the configuration to use to execute this component.

Yes

Redelivery Policy

Defines a policy for processing the redelivery of the same message.

Reconnection Strategy

Retry strategy in case of connectivity errors.

Resource Listener

Defines the resource content and type. These parameters are evaluated when the flow finishes successfully (when the payload and variables available).

Yes

### Output

Type

Resource Request

Attributes Type

### For Configurations - [Server](#Server) ## MCP Server - Tool Listener `` Exposes a tool whose result is generated by the execution of the owning flow. The flow will be executed for every received tools/call request. When triggered, the flow will be executed with a message whose payload is a Java map holding the input arguments. The tool response is generated when the flow finishes either successfully or with error. In both cases, the response can include several content items of different types. If no error response is defined, then a text content item holding the error’s description will be generated automatically. ### Parameters
NameTypeDescriptionDefault ValueRequired

Configuration

String

Name of the configuration to use.

Yes

Name

String

The tool’s name

Yes

Description

String

A detailed enough description for an LLM to determine when this tool should be called

Yes

Parameters Schema

String

A JSON schema defining an object whose fields will act as the tool’s input arguments

Yes

Primary Node Only

Boolean

Determines whether to execute this source on only the primary node when running Mule instances in a cluster.

Config Ref

ConfigurationProvider

Name of the configuration to use to execute this component.

Yes

Redelivery Policy

Defines a policy for processing the redelivery of the same message.

Reconnection Strategy

Retry strategy in case of connectivity errors.

Responses

Response items when the flow finishes successfully.

Yes

On Error Responses

Content items when the flow finishes in error.

### Output

Type

Object

Attributes Type

Request Attributes

### For Configurations - [Server](#Server) ## Types ### TLS Configures TLS to provide secure communications for the Mule app.
FieldTypeDescriptionDefault ValueRequired

Enabled Protocols

String

Comma-separated list of protocols enabled for this context.

Enabled Cipher Suites

String

Comma-separated list of cipher suites enabled for this context.

Trust Store

Configures the TLS truststore.

Key Store

Configures the TLS keystore.

Revocation Check

Configures a revocation checking mechanism.

### Truststore Configures the truststore for TLS.
FieldTypeDescriptionDefault ValueRequired

Path

String

Path to the truststore. Mule resolves the path relative to the current classpath and file system.

Password

String

Password used to protect the truststore.

Type

String

Type of store.

Algorithm

String

Encryption algorithm that the truststore uses.

Insecure

Boolean

If true, Mule stops performing certificate validations. Setting this to true can make connections vulnerable to attacks.

### Keystore Configures the keystore for the TLS protocol. The keystore you generate contains a private key and a public certificate.
FieldTypeDescriptionDefault ValueRequired

Path

String

Path to the keystore. Mule resolves the path relative to the current classpath and file system.

Type

String

Type of store.

Alias

String

Alias of the key to use when the keystore contains multiple private keys. By default, Mule uses the first key in the file.

Key Password

String

Password used to protect the private key.

Password

String

Password used to protect the keystore.

Algorithm

String

Encryption algorithm that the keystore uses.

### Standard Revocation Check Configures standard revocation checks for TLS certificates.
FieldTypeDescriptionDefault ValueRequired

Only End Entities

Boolean

Which elements to verify in the certificate chain:

  • true

Verify only the last element in the certificate chain.

  • false

Verify all elements in the certificate chain.

Prefer Crls

Boolean

How to check certificate validity:

  • true

Check the Certification Revocation List (CRL) for certificate validity.

  • false

Use the Online Certificate Status Protocol (OCSP) to check certificate validity.

No Fallback

Boolean

Whether to use the secondary method to check certificate validity:

  • true

Use the method that wasn’t specified in the Prefer Crls field (the secondary method) to check certificate validity.

  • false

Don’t use the secondary method to check certificate validity.

Soft Fail

Boolean

What to do if the revocation server can’t be reached or is busy:

  • true

Avoid verification failure.

  • false

Allow the verification to fail.

### Custom OCSP Responder Configures a custom OCSP responder for certification revocation checks.
FieldTypeDescriptionDefault ValueRequired

Url

String

URL of the OCSP responder.

Cert Alias

String

Alias of the signing certificate for the OCSP response. If specified, the alias must be in the truststore.

### CRL File Specifies the location of the certification revocation list (CRL) file.
FieldTypeDescriptionDefault ValueRequired

Path

String

Path to the CRL file.

### Reconnection Configures a reconnection strategy for an operation.
FieldTypeDescriptionDefault ValueRequired

Fails Deployment

Boolean

When the application is deployed, a connectivity test is performed on all connectors. If set to true, deployment fails if the test doesn’t pass after exhausting the associated reconnection strategy.

Reconnection Strategy

Reconnection strategy to use.

### Reconnect
FieldTypeDescriptionDefault ValueRequired

Frequency

Number

How often in milliseconds to reconnect.

Count

Number

How many reconnection attempts to make.

blocking

Boolean

If false, the reconnection strategy runs in a separate, non-blocking thread.

true

### Reconnect Forever
FieldTypeDescriptionDefault ValueRequired

Frequency

Number

How often in milliseconds to reconnect.

blocking

Boolean

If false, the reconnection strategy runs in a separate, non-blocking thread.

true

### Expiration Policy Configures an expiration policy strategy.
FieldTypeDescriptionDefault ValueRequired

Max Idle Time

Number

Configures the maximum amount of time that a dynamic configuration instance can remain idle before Mule considers it eligible for expiration.

Time Unit

Enumeration, one of:

  • NANOSECONDS

  • MICROSECONDS

  • MILLISECONDS

  • SECONDS

  • MINUTES

  • HOURS

  • DAYS

Time unit for the Max Idle Time field.

### Call Tool Response Response obtained from calling a tool as a client.
FieldTypeDescriptionDefault ValueRequired

Contents

The contents generated by the tool

Yes

Error

Boolean

Whether the tool execution was successful or errored out. Notice that even in case of error, contents might have been generated.

false

### Call Tool Response Content
FieldTypeDescriptionDefault ValueRequired

Type

Enumeration, one of:

  • text

  • image

  • resource

Content type.

Yes

Text

String

Content’s payload when type is text.

Mime Type

String

Content’s MIME type.

Data

Binary

Content’s payload when type is image.

Resource

Content’s payload when type is resource.

Audience

Array of Enumeration, one of:

  • USER

  • ASSISTANT

Describes who the intended consumer of this data is. It can include multiple entries to indicate content useful for multiple audiences.

Priority

Number

Describes how important this data is for operating the server. A value of 1 means "most important", which indicates that the data is required. A value of 0 means "least important", which indicates that the data is entirely optional.

### Resource Content A flattened representation of a resource content. The resource can be either text or blob types. The text property is set for text resources, while the blob type is used for the latter.
FieldTypeDescriptionDefault ValueRequired

Uri

String

Resource URI

Yes

Mime Type

String

Resource MIME type.

Yes

Text

String

Content of a text resource. Null for BLOB data types.

Blob

Binary

Content of a BLOB resource. Null for text data types.

### Error Mapping
FieldTypeDescriptionDefault ValueRequired

Source

Enumeration, one of:

  • ANY

  • REDELIVERY_EXHAUSTED

  • TRANSFORMATION

  • EXPRESSION

  • SECURITY

  • CLIENT_SECURITY

  • SERVER_SECURITY

  • ROUTING

  • CONNECTIVITY

  • RETRY_EXHAUSTED

  • TIMEOUT

Target

String

Yes

### Resource Metadata
FieldTypeDescriptionDefault ValueRequired

Uri

String

Resource URI.

Yes

Name

String

Name of the resource.

Yes

Description

String

Description of the resource.

Yes

Mime Type

String

MIME type of the resource.

Yes

### Repeatable In Memory Iterable
FieldTypeDescriptionDefault ValueRequired

Initial Buffer Size

Number

The amount of memory to allocate to consume the stream and provide random access to it. If the stream contains more data than can fit into this buffer, then the buffer expands according to the Buffer Size Increment value, with an upper limit of the Max In Memory Size value. instances.

100

Buffer Size Increment

Number

Amount by which the buffer size expands if it exceeds its initial size. Setting a value of 0 or lower specifies that the buffer can’t expand.

100

Max Buffer Size

Number

Maximum size of the buffer. If the buffer size exceeds this value, Mule raises a STREAM_MAXIMUM_SIZE_EXCEEDED error. A value of less than or equal to 0 means no limit.

### Repeatable File Store Iterable
FieldTypeDescriptionDefault ValueRequired

In Memory Objects

Number

Maximum number of instances to keep in memory. If more than the maximum is required, content on the disk is buffered.

Buffer Unit

Enumeration, one of:

  • BYTE

  • KB

  • MB

  • GB

Unit for the In Memory Objects field.

### Tool Metadata Describes a tool through its properties.
FieldTypeDescriptionDefault ValueRequired

Name

String

Name of the tool.

Yes

Description

String

A detailed enough description for an LLM to determine when to call this tool.

Yes

Input Schema

String

JSON Schema describing the tool’s input parameters.

Yes

### New Session Request Contains the data associated to a client requiring the creation of a new server session.
FieldTypeDescriptionDefault ValueRequired

Session Id

String

Yes

Additional Properties

Object

Yes

Client Certificate

### Certificate Data
FieldTypeDescriptionDefault ValueRequired

Basic Constraints

Number

Critical Extension OI Ds

Array of String

Encoded

Binary

Extended Key Usage

Array of String

Extensions

Issuer Alternative Names

Issuer DN

Issuer Unique ID

Array of Boolean

Issuer X500 Principal

Key Usage

Array of Boolean

Name

String

Non Critical Extension OI Ds

Array of String

Not After

Date

Not Before

Date

Public Key

Serial Number

Number

Serial Number Object

Sig Alg Name

String

Sig Alg OID

String

Sig Alg Params

Binary

Signature

Binary

Subject Alternative Names

Subject DN

Subject X500 Principal

Type

String

Version

Number

### Certificate Extension
FieldTypeDescriptionDefault ValueRequired

Criticality

Boolean

Oid

String

Value

Binary

### Alternative Name Data
FieldTypeDescriptionDefault ValueRequired

Name

String

Type

Number

### Principal Data
FieldTypeDescriptionDefault ValueRequired

Common Name

String

Name

String

### X500 Principal Data
FieldTypeDescriptionDefault ValueRequired

Name

String

### Public Key Data
FieldTypeDescriptionDefault ValueRequired

Algorithm

String

Encoded

Binary

Modulus

Number

Params

Number

Public Key

String

### Serial Number Data
FieldTypeDescriptionDefault ValueRequired

Serial Number

Number

### Redelivery Policy Configures the redelivery policy for executing requests that generate errors. You can add a redelivery policy to any source in a flow.
FieldTypeDescriptionDefault ValueRequired

Max Redelivery Count

Number

Maximum number of times that a redelivered request can be processed unsuccessfully before returning a REDELIVERY_EXHAUSTED error.

Message Digest Algorithm

String

Secure hashing algorithm to use if the Use Secure Hash field is true. If the payload of the message is a Java object, Mule ignores this value and returns the value that the payload’s hashCode() returned.

Message Identifier

One or more expressions that determine if a message was redelivered. This property can be set only if the Use Secure Hash field is false.

Object Store

ObjectStore

Configures the object store that stores the redelivery counter for each message.

### Redelivery Policy Message Identifier Configures how to identify a redelivered message and how to find out when the message was redelivered.
FieldTypeDescriptionDefault ValueRequired

Use Secure Hash

Boolean

If true, Mule uses a secure hash algorithm to identify a redelivered message.

Id Expression

String

One or more expressions that determine when a message was redelivered. You can set this property only if the Use Secure Hash field is false.

### Resource Request An inbound request for a resource, used when the connector is acting as an MCP server.
FieldTypeDescriptionDefault ValueRequired

Requested Uri

String

Yes

### Request Attributes
FieldTypeDescriptionDefault ValueRequired

Session Id

String

Yes

Request Id

String

Yes

Additional Properties

Object

Additional values attached to the request as HTTP Headers.

Yes

### Text Tool Response Content Defines a text content that’s part of the response of a tool implemented through this connector.
FieldTypeDescriptionDefault ValueRequired

Text

String

Yes

Audience

Array of Enumeration, one of:

  • USER

  • ASSISTANT

Describes who the intended consumer of this data is. It can include multiple entries to indicate content that’s useful for multiple audiences.

Priority

Number

Describes how important this data is for operating the server. A value of 1 means "most important", which indicates that the data is required. A value of 0 means "least important", which indicates that the data is entirely optional.

### Image Tool Response Content Defines an image content that’s part of the response of a tool implemented through this connector.
FieldTypeDescriptionDefault ValueRequired

Audience

Array of Enumeration, one of:

  • USER

  • ASSISTANT

Describes who the intended consumer of this data is. It can include multiple entries to indicate content useful for multiple audiences.

Priority

Number

Describes how important this data is for operating the server. A value of 1 means "most important", which indicates that the data is required. A value of 0 means "least important", which indicates that the data is entirely optional.

Data

Binary

The raw image content, without Base64 encoding.

Mime Type

String

The image MIME type.

### Text Resource Tool Response Content Defines an embedded text resource that’s part of the response of a tool implemented through this connector.
FieldTypeDescriptionDefault ValueRequired

Audience

Array of Enumeration, one of:

  • USER

  • ASSISTANT

Describes who the intended consumer of this data is. It can include multiple entries to indicate content useful for multiple audiences.

Priority

Number

Describes how important this data is for operating the server. A value of 1 means "most important", which indicates that the data is required. A value of 0 means "least important", which indicates that the data is entirely optional.

Uri

String

Resource URI.

Mime Type

String

The resource MIME type.

Text

String

Resource text.

### Blob Resource Tool Response Content Defines an embedded blob resource that’s part of the response of a tool implemented through this connector.
FieldTypeDescriptionDefault ValueRequired

Audience

Array of Enumeration, one of:

  • USER

  • ASSISTANT

Describes who the intended consumer of this data is. It can include multiple entries to indicate content useful for multiple audiences.

Priority

Number

Describes how important this data is for operating the server. A value of 1 means "most important", which indicates that the data is required. A value of 0 means "least important", which indicates that the data is entirely optional.

Blob

Binary

The raw resource content, without Base64 encoding.

Yes

Uri

String

Resource URI.

Mime Type

String

The resource MIME type.

### Text Resource Defines a text resource.
FieldTypeDescriptionDefault ValueRequired

Text

String

Text content.

Yes

### Blob Resource Defines the contents of a Blob resource.
FieldTypeDescriptionDefault ValueRequired

Blob

Binary

The raw blob content, without Base64 encoding.

Yes

### Custom Header Configures a custom header to be included in requests or responses.
NameTypeDescriptionDefault ValueRequired

Key

String

The header name.

Yes

Value

String

The header value. Supports property placeholders and DataWeave expressions.

Yes

## See Also - [Using Anypoint Code Builder to Configure a Connector](https://docs.mulesoft.com/connectors/introduction/intro-config-use-acb) - [Using Studio to Configure a Connector](https://docs.mulesoft.com/connectors/introduction/intro-config-use-studio) - [MCP Connector Overview](https://docs.mulesoft.com/mcp-connector/1.4/) - [MuleSoft Help Center](https://help.mulesoft.com) --- product: MCP Connector version: 1.4 --- # MCP Connector 1.4 XML and Maven Support > For the full documentation index, see: https://docs.mulesoft.com/llms.txt Although you can manually code a Mule app in XML, it is more efficient to use Anypoint Code Builder or Studio: - If you manually code a Mule runtime engine (Mule) app in XML, either from the Anypoint Code Builder or Studio XML editor, or from a text editor, you can access the connector from your app by adding reference statements to both your XML Mule flow and the Apache Maven `pom.xml` file. - If you add the connector in Anypoint Code Builder or Studio, the XML is automatically populated the code with the connector’s namespace and schema location and it also adds a dependency to the `pom.xml` file. ## Add a Namespace for the Connector Paste the following code inside the `mule` tag of the header of your configuration XML: ```xml http://www.mulesoft.org/schema/mule/mcp http://www.mulesoft.org/schema/mule/mcp/current/mule-mcp.xsd ``` This example shows how the namespace statements are placed in the `` XML block: ```xml ``` ## Add a POM File Dependency The Apache Maven `pom.xml` file generated by Anypoint Studio contains dependencies for a Mule app. If you code a Mule app manually, include this XML snippet in your `pom.xml` file to enable access to this connector: ```xml com.mulesoft.connectors mule-mcp-connector x.x.x mule-plugin ``` Replace `x.x.x` with the version that corresponds to the connector you are using. To obtain the most up-to-date `pom.xml` file information: 1. Go to [Anypoint Exchange](https://www.mulesoft.com/exchange/). 2. In Exchange, click **Login** and supply your Anypoint Platform username and password. 3. In Exchange, search for `mcp`. 4. Select the connector. 5. Click **Dependency Snippets** near the upper right of the screen. ## Next Step After completing your namespace and pom.xml file, you can try the [Examples](https://docs.mulesoft.com/mcp-connector/1.4/mcp-connector-examples). ## See Also - [Introduction to Anypoint Connectors](https://docs.mulesoft.com/connectors/introduction/introduction-to-anypoint-connectors) - [Salesforce Help](https://help.salesforce.com) --- product: MCP Connector version: 1.5 --- # MCP Connector 1.5 > For the full documentation index, see: https://docs.mulesoft.com/llms.txt Anypoint Connector for MCP (MCP Connector) uses the Model Context Protocol (MCP) to enable AI clients that support MCP to invoke and interact with APIs, connectors, and apps. Use MCP Connector to connect LLM applications with your APIs. Expose APIs with complex endpoints as simpler, more atomic tools or resources that are better suited for agentic clients. Decide on what is straightforward, repeatable, and optimal for agent actions, and start there. MCP is an open protocol that enables integration between LLM applications and external data, services, and tools. The MCP protocol: - Enhances AI precision by supplying AI with relevant information, leading to more accurate responses. - Empowers AI to manage intricate tasks that require access to external data or services. - Promotes interoperability between AI models and external systems, simplifying integration into workflows. MCP Connector: - Enables you to expose your Mule apps, connectors, and custom APIs using the MCP protocol to further enable agentic experiences from agents in Claude, Cursor, Windsurf, and your own agents. - Enables you to write Mule apps that can act as both an MCP server and a client. The resulting MCP server or client runs inside of Mule, which means you don’t need to configure your own hosting environment. - When acting as an MCP server, Mule allows AI clients to use existing API-led investments, legacy systems, and SaaS applications that don’t natively support MCP. - When acting as an MCP client, Mule helps you create connections and orchestrations where AI agents are added as just another system in the workflow. - Allows you to incorporate AI agents into your existing Enterprise ecosystem, using Mule as the orchestration layer. - Supports Streamable HTTP (recommended) and SSE (deprecated) for both server and client [transport methods](#connection-types). - Supports custom response headers on every exposed endpoint, including `/sse`, `/messages`, and `/mcp`. Use custom response headers for security, operational, integration, and governance benefits. - Provides distributed tracing support, enabling comprehensive monitoring and observability of MCP interactions across distributed systems. This makes the capabilities of your Mule APIs and applications available to a growing ecosystem of AI agents. For information about compatibility and fixed issues, see the MCP Connector Release Notes. ## Before You Begin To use this connector, you must be familiar with: - Anypoint Connectors - Mule runtime engine (Mule) - Elements and global elements in a Mule flow - How to create a Mule app using Anypoint Code Builder or Anypoint Studio Before creating an app, you must have: - Java 17 - Apache Maven - Anypoint Platform - Credentials to connect with the target resource - The latest versions of Anypoint Code Builder or Anypoint Studio ## Common Use Cases for the Connector These are some common use cases for the connector: - Customer Service Use AI agents to help human agents be more efficient by handling time-intensive tasks like reviewing case histories, analyzing reported issues, and retrieving relevant information. - Sales Improve sales teams' success by accelerating prospect research, generating customized collateral, and preparing contracts. - Marketing Empower marketing teams with AI-driven support for drafting social media content, conducting market research, and analyzing campaign performance. ## Connection Types - Streamable HTTP Allows you to deploy multiple instances of your MCP server to run behind a load balancer without clients knowing about the individual server URLs. Clients connect to a single endpoint (like `/mcp`) and the load balancer distributes requests across all your MCP server instances. This is particularly useful for scalability in cloud environments, where you might have multiple replicas of your Mule app running. When acting as an MCP client, Streamable HTTP enables your Mule application to connect to remote MCP servers using the same scalable, load-balanced approach. - SSE Client (Deprecated) Enables MCP Connector to establish a persistent, one-way (server-sent) connection to an MCP server using the Server-Sent Events (SSE) standard. This type of connection allows the MCP server to push real-time updates and messages to the client without the need for the client to constantly poll for new information. - SSE Server (Deprecated) Exposes the MCP server using the Server-Sent Events (SSE) transport. This allows MCP clients to establish persistent, one-way connections to this server to receive real-time updates and messages. ### Streamable HTTP Limitations The Streamable HTTP connection type has no support for: - Calling the GET `/mcp` endpoint for getting notifications - Resumability and Redelivery ## Next Step After you complete the prerequisites, you’re ready to create an app and configure the connector using [Anypoint Studio](https://docs.mulesoft.com/mcp-connector/1.5/mcp-connector-studio) or [Anypoint Code Builder](https://docs.mulesoft.com/mcp-connector/1.5/mcp-connector-acb). ## See Also - [Anypoint Connectors Overview](https://docs.mulesoft.com/connectors/introduction/introduction-to-anypoint-connectors) - [Using Anypoint Code Builder to Configure a Connector](https://docs.mulesoft.com/connectors/introduction/intro-config-use-acb) - [Using Anypoint Studio to Configure a Connector](https://docs.mulesoft.com/connectors/introduction/intro-config-use-studio) - [MCP Connector Reference](https://docs.mulesoft.com/mcp-connector/1.5/mcp-connector-reference) - [MuleSoft MCP Support: Get Started With Model Context Protocol](https://blogs.mulesoft.com/news/model-context-protocol/) - [Model Context Protocol](https://modelcontextprotocol.io/docs/getting-started/intro) - [MuleSoft Help Center](https://help.mulesoft.com) --- product: MCP Connector version: 1.5 --- # MCP Connector 1.5 - Applying Security to the MCP Server > For the full documentation index, see: https://docs.mulesoft.com/llms.txt MCP Connector enables server-side authentication for MCP clients. In these examples, it uses the stateful Server-Sent Events (SSE) connection and the **On New Session Listener** source to implement custom security logic, including OAuth access token validation. ## Server-Side Authentication With On New Session Listener The MCP specification emphasizes session management and SSE connections maintain state. The **On New Session Listener** source offers a key point for implementing server-side authentication. This example illustrates a basic flow triggered by this listener, showing how to access the auto-generated `sessionId` and the HTTP headers sent by the connecting client, which can then be used for custom authentication logic. This is an example flow that uses the **On New Session Listener** source: ```xml ``` The flow executes each time a new client connects to the MCP server application. The payload contains the auto-generated `sessionId` and the `additionalProperties`, which when using the SSE connection type, maps to the request HTTP headers. At this point, you can implement your own authentication logic. For instance, the `#[payload.additionalProperties.authorization]` expression gets the HTTP authorization header, which you can validate later. ### Validate OAuth Access Tokens Optionally, you can use the [Mule OAuth 2.0 Provider](https://docs.mulesoft.com/api-manager/latest/mule-oauth-provider-landing-page) to implement and validate OAuth access tokens. In this example flow, the access token is validated using the OAuth provider, and the session is rejected if the token is invalid: ```xml ``` The new session is rejected if either of these things happen: - The `rejectWithStatusCode` parameter is assigned a non null value (or an expression that resolves to a non null value), or - The flow fails, in which case a status code 500 is reported. In this example, the OAuth validation error is handled so that the status code is mapped to a `401 - UNAUTHORIZED` code. ## Client-Side Authentication In the client, the authentication parameter accepts all the authentication strategies defined in HTTP Connector, and [OAuth Module](https://docs.mulesoft.com/oauth-module/latest/) if it’s also added to the project. Operations like **Call Tool** also accept additional properties, which will map to request headers. This makes it possible to add custom authentication headers like API keys, for example: ```xml ``` ## Next Step After you configure the connector, you can try the [Examples](https://docs.mulesoft.com/mcp-connector/1.5/mcp-connector-examples). ## See Also - [Introduction to Anypoint Connectors](https://docs.mulesoft.com/connectors/introduction/introduction-to-anypoint-connectors) - [MuleSoft Help Center](https://help.mulesoft.com) --- product: MCP Connector version: 1.5 --- # MCP Connector 1.5 - Examples > For the full documentation index, see: https://docs.mulesoft.com/llms.txt These are some examples of how to use existing APIs to build agents using MCP Connector. ## Create an MCP Server and Tools These examples show you the process of creating an MCP server within your Mule app and defining two distinct tools that the MCP server will expose: one for retrieving a dynamic list of approved vendors with their product categories, and another for initiating the creation of purchase orders with specified details. These examples illustrate the concept of MCP tools as invocable Remote Procedure Calls (RPCs). ### Create the MCP Server Configuration This example demonstrates how to configure an MCP server within your Mule application using the Streamable HTTP transport. When acting as an MCP client, MuleSoft facilitates the creation of integrations and orchestrations where AI Agents are integrated as just another system in the workflow. ```xml <<1>> <<2>> <<3>> ```
1The HTTP listener configuration defines the endpoint where the MCP server is exposed.
2The MCP server configuration uses the Streamable HTTP transport.
3Property placeholders are used for configuration values to support different environments.
### Create a Tool That Provides a List of Vendors This example illustrates how to create an MCP tool that retrieves a dynamic list of approved vendors from an external system (in this case, SAP Concur). The example demonstrates how to use the `` to define a callable tool and how to process the data to provide the agent with relevant vendor information, including their assigned product category from the `Custom19` field. First, set up the SAP Concur configuration with retry and timeout settings: ```xml <<1>> <<2>> 30 <<3>> SECONDS <<4>> 3600000 MILLISECONDS ```
1The SAP Concur configuration includes OAuth authentication settings.
2A reconnection strategy is configured to handle temporary connection issues.
3Request timeout is set to 30 seconds to prevent hanging requests.
4A cache configuration is added to improve performance with a one hour TTL.
Now, create the main flow that handles vendor retrieval with pagination and caching: ```xml <<1>> Get all approved vendors with optional pagination > "$schema": "http://json-schema.org/draft-07/schema#", "type": "object", "properties": { "pageSize": { "type": "integer", "description": "Number of vendors to return per page", "minimum": 1, "maximum": 100, "default": 50 }, "pageNumber": { "type": "integer", "description": "Page number to retrieve", "minimum": 1, "default": 1 } }, "required": [] }]]> <<3>> <<4>> <<5>> ```
1The <mcp:tool-listener> defines the interface for the vendor retrieval tool with pagination support.
2The <mcp:parameters-schema> schema includes validation for page size and page number.
3The cache component improves performance by storing results for 1 hour.
4The DataWeave transformation filters approved vendors and adds pagination metadata.
5Error handling covers connectivity, authentication, and unexpected errors.
### Create a Tool That Creates Purchase Orders This example demonstrates the creation of an MCP tool that allows an agent to initiate the creation of a purchase order in SAP Concur. The example highlights how to define input parameters for a tool using a JSON schema, including natural language descriptions for each parameter to help the LLM in understanding and populating the required information. ```xml <<1>> Create a new purchase order in SAP Concur with validation > "$schema": "http://json-schema.org/draft-07/schema#", "type": "object", "properties": { "name": { "type": "string", "description": "Name for the purchase order.", "minLength": 1, "maxLength": 100 }, "description": { "type": "string", "description": "Purchase order description.", "minLength": 1, "maxLength": 500 }, "vendorCode": { "type": "string", "description": "Code that identifies the vendor.", "pattern": "^[A-Z0-9]{3,10}$" }, "itemDescription": { "type": "string", "description": "Description of the item purchased in this order.", "minLength": 1, "maxLength": 200 }, "price": { "type": "number", "description": "Monetary amount of the purchase order.", "minimum": 0.01, "maximum": 999999.99 }, "currency": { "type": "string", "description": "Currency code for the purchase order monetary amount.", "pattern": "^[A-Z]{3}$" } }, "required": ["name", "description", "vendorCode", "itemDescription", "price", "currency"] }]]> <<3>> <<4>> <<5>> ```
1The tool listener defines the purchase order creation interface with comprehensive input validation.
2The parameters schema includes validation rules for all fields, including length limits and patterns.
3A vendor existence check is performed before creating the purchase order.
4The DataWeave transformation validates the vendor check response.
5Error handling covers connectivity, authentication, validation, and unexpected errors.
## Configure the MCP Client to Use Third-Party MCP Servers The previous examples showed you how to write tools that draw from existing Anypoint Connectors. Now, take a look at how to use third-party MCP servers. ### Create a Weather Service Using Multiple MCP Servers This example shows how to integrate your Mule applications with existing third-party MCP servers using Streamable HTTP transport by configuring the MCP Client and using the **Call Tool** operation. > [!NOTE] When connecting to third-party MCP servers, ensure they support Streamable HTTP transport. > If a third-party server only supports SSE transport, you may need to use the SSE client connection > or contact the service provider for Streamable HTTP support. First, set up the client configurations with timeout and retry settings: ```xml <<1>> 30 SECONDS <<2>> <<3>> ```
1The HTTP request configuration includes timeout and retry settings for the weather API.
2The Google Maps MCP client configuration uses Streamable HTTP transport with custom headers and reconnection settings.
3The Weather MCP server configuration uses Streamable HTTP transport and exposes the weather service endpoints with custom headers.
Now, create the weather service flows with error handling and caching: ```xml <<1>> 900000 MILLISECONDS <<2>> Provides the weather at given coordinates expressed as latitude and longitude <<3>> <<4>> Provides the weather at a specific address <<5>> ```
1The cache configuration stores weather data for 15 minutes to reduce API calls.
2The coordinates-based weather flow includes input validation and caching.
3The address-based weather flow demonstrates tool composition by:
  • First converting the address to coordinates using Google Maps

  • Then using those coordinates to get the weather

4Both flows include comprehensive error handling for different scenarios.
5The DataWeave transformation validates the Google Maps response before proceeding.
While LLMs can orchestrate these tools directly, there are cases where manual composition in Mule is preferable: - When you need guaranteed access to all MCP servers - When authentication needs to be handled securely - When you need strong governance and tracing capabilities ## See Also - [Applying Security to the MCP Server](https://docs.mulesoft.com/mcp-connector/1.5/mcp-connector-config-topics) - [MCP Connector Reference](https://docs.mulesoft.com/mcp-connector/1.5/mcp-connector-reference) - [MuleSoft MCP Support: Get Started With Model Context Protocol](https://blogs.mulesoft.com/news/model-context-protocol/) - [Introduction to Anypoint Connectors](https://docs.mulesoft.com/connectors/introduction/introduction-to-anypoint-connectors) - [MuleSoft Help Center](https://help.mulesoft.com) --- product: MCP Connector version: 1.5 --- # MCP Connector 1.5 Reference > For the full documentation index, see: https://docs.mulesoft.com/llms.txt Anypoint Connector for MCP (MCP Connector) allows Mule applications to act as both MCP servers and clients. When acting as an MCP client, MuleSoft facilitates the creation of integrations and orchestrations where AI agents are integrated as just another system in the workflow. ## Configurations ### Client Configuration element that acts as a client and connects to an MCP server. #### Parameters
NameTypeDescriptionDefault ValueRequired

Name

String

Name for this configuration. Connectors reference the configuration with this name.

Yes

Connection

The connection types to provide to this configuration.

Yes

Client Name

String

Name the client uses to identify itself during the protocol initialization phase. This isn’t the same as the name given to this config element (which is later referenced through config-ref parameters). This name doesn’t need to be unique.

Yes

Client Version

String

Version the client uses to identify itself during the protocol initialization phase. This doesn’t need to match the connector or Mule application version.

Yes

Name

String

ID used to reference this configuration.

Yes

Expiration Policy

Configures the minimum amount of time that a dynamic configuration instance can remain idle before Mule considers it eligible for expiration.

#### Connection Types ##### SSE Client (Deprecated) Streamable HTTP transport is recommended. The SSE (Server-Sent Events) Client connection type enables MCP Connector to establish a persistent, one-way (server-sent) connection to an MCP server using the SSE standard. This type of connection allows the MCP server to push real-time updates and messages to the client without the need for the client to constantly poll for new information. ###### Parameters
NameTypeDescriptionDefault ValueRequired

Request Timeout

Number

Sets the duration to wait for server responses before timing out requests.

30

Request Timeout Unit

Enumeration, one of:

  • NANOSECONDS

  • MICROSECONDS

  • MILLISECONDS

  • SECONDS

  • MINUTES

  • HOURS

  • DAYS

Time Unit for the requestTimeout parameter

SECONDS

Authentication

HttpRequestAuthentication

Default Request Headers

Object

Defines custom headers to send with every request to the MCP server.

Server Url

String

The base URL for the target MCP server

Yes

Sse Endpoint Path

String

/sse

Reconnection Delay

Number

Specifies how long to wait before reinitializing the SSE connection when it times out or closes.

500

Reconnection Delay Unit

Enumeration, one of:

  • NANOSECONDS

  • MICROSECONDS

  • MILLISECONDS

  • SECONDS

  • MINUTES

  • HOURS

  • DAYS

Time Unit for the reconnectionDelay

MILLISECONDS

Tls Context

Reconnection

When the application is deployed, a connectivity test is performed on all connectors. If set to true, deployment fails if the test doesn’t pass after exhausting the associated reconnection strategy.

##### Streamable HTTP Client ###### Parameters
NameTypeDescriptionDefault ValueRequired

Request Timeout

Number

Sets the duration to wait for server responses before timing out requests.

30

Request Timeout Unit

Enumeration, one of:

  • NANOSECONDS

  • MICROSECONDS

  • MILLISECONDS

  • SECONDS

  • MINUTES

  • HOURS

  • DAYS

Time Unit for the requestTimeout parameter

SECONDS

Authentication

HttpRequestAuthentication

Default Request Headers

Object

Defines custom headers to send with every request to the MCP server.

Server Url

String

The base URL for the target MCP server

Yes

Mcp Endpoint Path

String

/mcp

Tls Context

Reconnection

When the application is deployed, a connectivity test is performed on all connectors. If set to true, deployment will fail if the test doesn’t pass after exhausting the associated reconnection strategy

## Supported Operations - [MCP Client - Call Tool](#CallTool) - [MCP Client - Get Prompt](#GetPrompt) - [MCP Client - List Prompts](#ListPrompts) - [MCP Client - List Resources](#ListResources) - [MCP Client - List Tools](#ListTools) - [MCP Client - Ping](#Ping) - [MCP Client - Read Resource](#ReadResource) ### Server Configuration element to act as an MCP server. #### Parameters
NameTypeDescriptionDefault ValueRequired

Name

String

Name for this configuration. Connectors reference the configuration with this name.

Yes

Connection

The connection types to provide to this configuration.

Yes

Server Name

String

Name this server uses to identify itself during the protocol initialization phase. This isn’t the same as the name given to this config element (which is later referenced through config-ref parameters). This name doesn’t need to be unique.

Yes

Server Version

String

Version this server uses to identify itself during the protocol initialization phase. This doesn’t need to match the connector or Mule application version.

Yes

Name

String

ID used to reference this configuration.

Yes

#### Connection Types ##### SSE Server (Deprecated) Streamable HTTP transport is recommended. Exposes the MCP server using the SSE transport. ###### Parameters
NameTypeDescriptionDefault ValueRequired

Request Timeout

Number

Request timeout

10

Request Timeout Unit

Enumeration, one of:

  • NANOSECONDS

  • MICROSECONDS

  • MILLISECONDS

  • SECONDS

  • MINUTES

  • HOURS

  • DAYS

Request Timeout unit

SECONDS

Listener Config

String

Reference to the HTTP Listener config used to expose the SSE and messaging endpoints.

Yes

Sse Endpoint Path

String

The endpoint path clients use to initiate the SSE connection.

/sse

Messages Path

String

The path to send the messaging endpoint request to.

/message

Default Sse Response Headers

Object

Default Message Response Headers

Object

Reconnection

When the application is deployed, a connectivity test is performed on all connectors. If set to true, deployment will fail if the test doesn’t pass after exhausting the associated reconnection strategy

##### Streamable HTTP Server Exposes the MCP server using the Streamable HTTP transport, as defined in [Streamable HTTP](https://modelcontextprotocol.io/specification/2025-03-26/basic/transports#streamable-http). ###### Parameters
NameTypeDescriptionDefault ValueRequired

Request Timeout

Number

Request timeout

10

Request Timeout Unit

Enumeration, one of:

  • NANOSECONDS

  • MICROSECONDS

  • MILLISECONDS

  • SECONDS

  • MINUTES

  • HOURS

  • DAYS

Request Timeout unit

SECONDS

Listener Config

String

Reference to the http:listener-config used to expose the SSE and messaging endpoints.

Yes

Mcp Endpoint Path

String

The endpoint path clients will use to initiate the SSE connection

/mcp

Response Content Type

Enumeration, one of:

  • JSON

  • SSE

Whether responses should be sent by initiating a SSE stream or returning a single application/json body.

SSE

Default Response Headers

Object

Custom headers to include on all valid responses (not including rejected invalid requests).

Session Idle Timeout

Number

Timeout for idle sessions

5

Session Idle Timeout Unit

Enumeration, one of:

  • NANOSECONDS

  • MICROSECONDS

  • MILLISECONDS

  • SECONDS

  • MINUTES

  • HOURS

  • DAYS

Time unit qualifying the sessionIdleTimeout

MINUTES

Sessions Object Store

ObjectStore

An ObjectStore used to store session information. When deploying to multiple replicas, it is recommended to define a specific object store that will be distributed across all of them, either through Hazelcast or OSv2. If not specified, a default transient instance will be created. Persistence must be enabled if running MCP Server listeners in a multi-worker deployment. For CloudHub 2.0, the Clustered option also must be enabled.

Reconnection

When the application is deployed, a connectivity test is performed on all connectors. If set to true, deployment will fail if the test doesn’t pass after exhausting the associated reconnection strategy

## Associated Sources - [MCP Server - On New Session Listener](#OnNewSessionListener) - [MCP Server - Prompt Listener](#PromptListener) - [MCP Server - Resource listener](#ResourceListener) - [MCP Server - Tool Listener](#ToolListener) ## Operations ## MCP Client - Call Tool `` Invokes a tool on a remote MCP server. Response validation is managed by the underlying SDK; the connector doesn’t perform its own validation. ### Parameters
NameTypeDescriptionDefault ValueRequired

Configuration

String

Name of the configuration to use.

Yes

Tool Name

String

Name of the tool to invoke.

Yes

Arguments

Object

The tool’s input arguments.

#[payload]

Extract Structured Content

Boolean

Controls how the payload is exposed when a tool returns structured content. When false, the payload is the full CallToolResponse object (previous behavior). When true, if the MCP response has structured content (for example, a tool with an output schema), the payload is the structured object itself so downstream components can reference fields directly (for example, payload.temperature). If structured content is not present and the response has a single text content that is valid JSON, the text is parsed and used as the payload. In all cases, the attributes.rawMcpResponse property contains the entire MCP response in the same format as before. Any validation or schema errors from the SDK are returned to the user as MCP:SCHEMA_VALIDATION_FAILED errors.

true

Config Ref

ConfigurationProvider

Name of the configuration to use to execute this component.

Yes

Additional Properties

Object

#[null]

Target Variable

String

Name of the variable that stores the operation’s output.

Target Value

String

Expression that evaluates the operation’s output. The outcome of the expression is stored in the Target Variable field.

#[payload]

Error Mappings

Array of Error Mapping

Set of error mappings

Reconnection Strategy

Retry strategy in case of connectivity errors.

### Output

Type

Call Tool Response

Attributes Type

Call Tool Result Attributes

### For Configurations - [Client](#Client) ### Throws - MCP:CONNECTIVITY - MCP:INTERNAL\_ERROR - MCP:INVALID\_PARAMS - MCP:INVALID\_REQUEST - MCP:JSON\_RPC\_ERROR - MCP:METHOD\_NOT\_FOUND - MCP:PARSE\_ERROR - MCP:REQUEST\_TIMEOUT - MCP:RETRY\_EXHAUSTED - MCP:SCHEMA\_VALIDATION\_FAILED - MCP:SERVER\_ERROR - MCP:UNAUTHORIZED ## MCP Client - Get Prompt `` Resolves a prompt by name in the remote MCP server and returns the rendered prompt messages. Use this operation when your Mule application (acting as an MCP client) needs to fetch a prompt that a remote MCP server exposes, optionally passing arguments that the server uses to render the prompt content. ### Parameters
NameTypeDescriptionDefault ValueRequired

Configuration

String

Name of the configuration to use.

Yes

Prompt Name

String

Name of the prompt to retrieve from the remote MCP server.

Yes

Config Ref

ConfigurationProvider

Name of the configuration to use to execute this component.

Yes

Arguments

Object

Arguments to pass to the prompt. The accepted keys and their types are defined by the remote prompt’s argument schema.

#[null]

Additional Properties

Object

Additional properties to include with the request. Use this field to specify custom key-value pairs that are sent with the MCP connector request. This field is optional and null-safe.

#[null]

Target Variable

String

Name of the variable that stores the operation’s output.

Target Value

String

Expression that evaluates the operation’s output. The outcome of the expression is stored in the Target Variable field.

#[payload]

Error Mappings

Array of Error Mapping

Set of error mappings

Reconnection Strategy

Retry strategy in case of connectivity errors.

### Output

Type

Get Prompt Response

Attributes Type

Any

### For Configurations - [Client](#Client) ### Throws - MCP:CONNECTIVITY - MCP:INTERNAL\_ERROR - MCP:INVALID\_PARAMS - MCP:INVALID\_REQUEST - MCP:JSON\_RPC\_ERROR - MCP:METHOD\_NOT\_FOUND - MCP:PARSE\_ERROR - MCP:REQUEST\_TIMEOUT - MCP:RETRY\_EXHAUSTED - MCP:SCHEMA\_VALIDATION\_FAILED - MCP:SERVER\_ERROR - MCP:UNAUTHORIZED ## MCP Client - List Prompts `` Lists all prompts available in the remote MCP server. Each entry in the returned array includes metadata such as the prompt name, optional title, description, and the argument definitions the prompt accepts. ### Parameters
NameTypeDescriptionDefault ValueRequired

Configuration

String

Name of the configuration to use.

Yes

Config Ref

ConfigurationProvider

Name of the configuration to use to execute this component.

Yes

Streaming Strategy

Configures how Mule processes streams. Repeatable streams are the default behavior.

Target Variable

String

Name of the variable that stores the operation’s output.

Target Value

String

Expression that evaluates the operation’s output. The outcome of the expression is stored in the Target Variable field.

#[payload]

Error Mappings

Array of Error Mapping

Set of error mappings

Reconnection Strategy

Retry strategy in case of connectivity errors.

### Output

Type

Array of Prompt Metadata

### For Configurations - [Client](#Client) ### Throws - MCP:CONNECTIVITY - MCP:INTERNAL\_ERROR - MCP:INVALID\_PARAMS - MCP:INVALID\_REQUEST - MCP:JSON\_RPC\_ERROR - MCP:METHOD\_NOT\_FOUND - MCP:PARSE\_ERROR - MCP:REQUEST\_TIMEOUT - MCP:RETRY\_EXHAUSTED - MCP:SCHEMA\_VALIDATION\_FAILED - MCP:SERVER\_ERROR - MCP:UNAUTHORIZED ## MCP Client - List Resources `` Lists all the available resources in the remote MCP server. ### Parameters
NameTypeDescriptionDefault ValueRequired

Configuration

String

Name of the configuration to use.

Yes

Config Ref

ConfigurationProvider

Name of the configuration to use to execute this component.

Yes

Streaming Strategy

Configures how Mule processes streams. Repeatable streams are the default behavior.

Target Variable

String

Name of the variable that stores the operation’s output.

Target Value

String

Expression that evaluates the operation’s output. The outcome of the expression is stored in the Target Variable field.

#[payload]

Error Mappings

Array of Error Mapping

Set of error mappings

Reconnection Strategy

Retry strategy in case of connectivity errors.

### Output

Type

Array of Resource Metadata

### For Configurations - [Client](#Client) ### Throws - MCP:CONNECTIVITY - MCP:INTERNAL\_ERROR - MCP:INVALID\_PARAMS - MCP:INVALID\_REQUEST - MCP:INVALID\_URI - MCP:JSON\_RPC\_ERROR - MCP:METHOD\_NOT\_FOUND - MCP:PARSE\_ERROR - MCP:REQUEST\_TIMEOUT - MCP:RETRY\_EXHAUSTED - MCP:SCHEMA\_VALIDATION\_FAILED - MCP:SERVER\_ERROR - MCP:UNAUTHORIZED ## MCP Client - List Tools `` Lists all the available tools in the remote MCP server. ### Parameters
NameTypeDescriptionDefault ValueRequired

Configuration

String

Name of the configuration to use.

Yes

Config Ref

ConfigurationProvider

Name of the configuration to use to execute this component.

Yes

Streaming Strategy

Configures how Mule processes streams. Repeatable streams are the default behavior.

Target Variable

String

Name of the variable that stores the operation’s output.

Target Value

String

Expression that evaluates the operation’s output. The outcome of the expression is stored in the Target Variable field.

#[payload]

Error Mappings

Array of Error Mapping

Set of error mappings

Reconnection Strategy

Retry strategy in case of connectivity errors.

### Output

Type

Array of Tool Metadata

### For Configurations - [Client](#Client) ### Throws - MCP:CONNECTIVITY - MCP:INTERNAL\_ERROR - MCP:INVALID\_PARAMS - MCP:INVALID\_REQUEST - MCP:JSON\_RPC\_ERROR - MCP:METHOD\_NOT\_FOUND - MCP:PARSE\_ERROR - MCP:REQUEST\_TIMEOUT - MCP:RETRY\_EXHAUSTED - MCP:SCHEMA\_VALIDATION\_FAILED - MCP:SERVER\_ERROR - MCP:UNAUTHORIZED ## MCP Client - Ping `` Pings the remote server. ### Parameters
NameTypeDescriptionDefault ValueRequired

Configuration

String

Name of the configuration to use.

Yes

Config Ref

ConfigurationProvider

Name of the configuration to use to execute this component.

Yes

Error Mappings

Array of Error Mapping

Set of error mappings.

Reconnection Strategy

Retry strategy in case of connectivity errors.

### Output

Type

Any

Attributes Type

Any

### For Configurations - [Client](#Client) ### Throws - MCP:CONNECTIVITY - MCP:RETRY\_EXHAUSTED ## MCP Client - Read Resource `` Reads a resource referenced by its URI. ### Parameters
NameTypeDescriptionDefault ValueRequired

Configuration

String

Name of the configuration to use.

Yes

Uri

String

Yes

Config Ref

ConfigurationProvider

Name of the configuration to use to execute this component.

Yes

Additional Properties

Object

#[null]

Target Variable

String

Name of the variable that stores the operation’s output.

Target Value

String

Expression that evaluates the operation’s output. The outcome of the expression is stored in the Target Variable field.

#[payload]

Error Mappings

Array of Error Mapping

Set of error mappings

Reconnection Strategy

Retry strategy in case of connectivity errors.

### Output

Type

Resource Content

Attributes Type

Any

### For Configurations - [Client](#Client) ### Throws - MCP:CONNECTIVITY - MCP:INTERNAL\_ERROR - MCP:INVALID\_PARAMS - MCP:INVALID\_REQUEST - MCP:INVALID\_URI - MCP:JSON\_RPC\_ERROR - MCP:METHOD\_NOT\_FOUND - MCP:PARSE\_ERROR - MCP:REQUEST\_TIMEOUT - MCP:RETRY\_EXHAUSTED - MCP:SCHEMA\_VALIDATION\_FAILED - MCP:SERVER\_ERROR - MCP:UNAUTHORIZED ## Sources ## MCP Server - On New Session Listener `` ### Parameters
NameTypeDescriptionDefault ValueRequired

Configuration

String

Name of the configuration to use.

Yes

Primary Node Only

Boolean

Determines whether to execute this source on only the primary node when running Mule instances in a cluster.

Config Ref

ConfigurationProvider

Name of the configuration to use to execute this component.

Yes

Redelivery Policy

Defines a policy for processing the redelivery of the same message.

Reconnection Strategy

A retry strategy in case of connectivity errors

Reject With Status Code

Number

Reject With Message

String

Reject With Headers

Object

### Output

Type

New Session Request

### For Configurations - [Server](#Server) ## MCP Server - Prompt Listener `` Exposes a prompt whose messages are generated by the execution of the owning flow. The flow is executed for every received `prompts/get` request. When triggered, the flow runs with a message whose payload contains the prompt name and the arguments supplied by the client. The messages returned to the client are produced by the `` nested component. ### Parameters
NameTypeDescriptionDefault ValueRequired

Configuration

String

Name of the configuration to use.

Yes

Name

String

The prompt name. This value is what clients use to request the prompt.

Yes

Title

String

A short, human-friendly prompt title.

Description

String

A detailed enough description for an LLM to determine when this prompt should be used.

Prompt Arguments

Prompt argument definitions exposed in prompts/list. Each argument can be declared as required or optional and can include a description and a JSON schema that the client uses to validate input.

Primary Node Only

Boolean

Determines whether to execute this source only on the primary node when running Mule instances in a cluster.

Config Ref

ConfigurationProvider

Name of the configuration to use to execute this component.

Yes

Redelivery Policy

Defines a policy for processing the redelivery of the same message.

Reconnection Strategy

Retry strategy in case of connectivity errors.

Prompt Messages

Defines the prompt messages returned to the client. These parameters are evaluated when the flow finishes successfully (when the payload and variables are available).

Yes

### Output

Type

Prompt Request

Attributes Type

### For Configurations - [Server](#Server) ## MCP Server - Resource listener `` Exposes a resource whose content is generated by the execution of the owning flow. The flow is executed for every received resources/read request. The user can choose to implement the flow so that the resource content is static or to make it dynamic. For instance, a dynamic resource could be a expenses.csv file, that is actually the result of executing a live DB query. Or a static resource could be a file obtained through Amazon S3 and locally cached using the `ee:cache` component. ### Parameters
NameTypeDescriptionDefault ValueRequired

Configuration

String

Name of the configuration to use.

Yes

Name

String

Name of the resource.

Yes

Description

String

Detailed enough description for an LLM to determine when to read this resource.

Yes

Uri

String

Resource URI.

Yes

Resource Mime Type

String

Resource MIME type.

Yes

Primary Node Only

Boolean

Determines whether to execute this source on only the primary node when running Mule instances in a cluster.

Config Ref

ConfigurationProvider

Name of the configuration to use to execute this component.

Yes

Redelivery Policy

Defines a policy for processing the redelivery of the same message.

Reconnection Strategy

Retry strategy in case of connectivity errors.

Resource Listener Content

Defines the resource content and type. These parameters are evaluated when the flow finishes successfully (when the payload and variables available).

Yes

### Output

Type

Resource Request

Attributes Type

### For Configurations - [Server](#Server) ## MCP Server - Tool Listener `` Exposes a tool whose result is generated by the execution of the owning flow. The flow will be executed for every received tools/call request. When triggered, the flow will be executed with a message whose payload is a Java map holding the input arguments. The tool response is generated when the flow finishes either successfully or with error. In both cases, the response can include several content items of different types. If no error response is defined, then a text content item holding the error’s description will be generated automatically. ### Parameters
NameTypeDescriptionDefault ValueRequired

Configuration

String

Name of the configuration to use.

Yes

Name

String

The tool’s name

Yes

Description

String

A detailed enough description for an LLM to determine when this tool should be called

Yes

Parameters Schema

String

A JSON schema defining an object whose fields will act as the tool’s input arguments

Yes

Output Schema Definition

Optional output schema definition. Choose between inline JSON schema or a file path reference.

Primary Node Only

Boolean

Determines whether to execute this source on only the primary node when running Mule instances in a cluster.

Config Ref

ConfigurationProvider

Name of the configuration to use to execute this component.

Yes

Redelivery Policy

Defines a policy for processing the redelivery of the same message.

Reconnection Strategy

Retry strategy in case of connectivity errors.

Responses

Response items when the flow finishes successfully.

Yes

On Error Responses

Content items when the flow finishes in error.

### Output

Type

Object

Attributes Type

Request Attributes

### For Configurations - [Server](#Server) ## Types ### TLS Configures TLS to provide secure communications for the Mule app.
FieldTypeDescriptionDefault ValueRequired

Enabled Protocols

String

Comma-separated list of protocols enabled for this context.

Enabled Cipher Suites

String

Comma-separated list of cipher suites enabled for this context.

Trust Store

Configures the TLS truststore.

Key Store

Configures the TLS keystore.

Revocation Check

Configures a revocation checking mechanism.

### Truststore Configures the truststore for TLS.
FieldTypeDescriptionDefault ValueRequired

Path

String

Path to the truststore. Mule resolves the path relative to the current classpath and file system.

Password

String

Password used to protect the truststore.

Type

String

Type of store.

Algorithm

String

Encryption algorithm that the truststore uses.

Insecure

Boolean

If true, Mule stops performing certificate validations. Setting this to true can make connections vulnerable to attacks.

### Keystore Configures the keystore for the TLS protocol. The keystore you generate contains a private key and a public certificate.
FieldTypeDescriptionDefault ValueRequired

Path

String

Path to the keystore. Mule resolves the path relative to the current classpath and file system.

Type

String

Type of store.

Alias

String

Alias of the key to use when the keystore contains multiple private keys. By default, Mule uses the first key in the file.

Key Password

String

Password used to protect the private key.

Password

String

Password used to protect the keystore.

Algorithm

String

Encryption algorithm that the keystore uses.

### Standard Revocation Check Configures standard revocation checks for TLS certificates.
FieldTypeDescriptionDefault ValueRequired

Only End Entities

Boolean

Which elements to verify in the certificate chain:

  • true

Verify only the last element in the certificate chain.

  • false

Verify all elements in the certificate chain.

Prefer Crls

Boolean

How to check certificate validity:

  • true

Check the Certification Revocation List (CRL) for certificate validity.

  • false

Use the Online Certificate Status Protocol (OCSP) to check certificate validity.

No Fallback

Boolean

Whether to use the secondary method to check certificate validity:

  • true

Use the method that wasn’t specified in the Prefer Crls field (the secondary method) to check certificate validity.

  • false

Don’t use the secondary method to check certificate validity.

Soft Fail

Boolean

What to do if the revocation server can’t be reached or is busy:

  • true

Avoid verification failure.

  • false

Allow the verification to fail.

### Custom OCSP Responder Configures a custom OCSP responder for certification revocation checks.
FieldTypeDescriptionDefault ValueRequired

Url

String

URL of the OCSP responder.

Cert Alias

String

Alias of the signing certificate for the OCSP response. If specified, the alias must be in the truststore.

### CRL File Specifies the location of the certification revocation list (CRL) file.
FieldTypeDescriptionDefault ValueRequired

Path

String

Path to the CRL file.

### Reconnection Configures a reconnection strategy for an operation.
FieldTypeDescriptionDefault ValueRequired

Fails Deployment

Boolean

When the application is deployed, a connectivity test is performed on all connectors. If set to true, deployment fails if the test doesn’t pass after exhausting the associated reconnection strategy.

Reconnection Strategy

Reconnection strategy to use.

### Reconnect
FieldTypeDescriptionDefault ValueRequired

Frequency

Number

How often in milliseconds to reconnect.

Count

Number

How many reconnection attempts to make.

blocking

Boolean

If false, the reconnection strategy runs in a separate, non-blocking thread.

true

### Reconnect Forever
FieldTypeDescriptionDefault ValueRequired

Frequency

Number

How often in milliseconds to reconnect.

blocking

Boolean

If false, the reconnection strategy runs in a separate, non-blocking thread.

true

### Expiration Policy Configures an expiration policy strategy.
FieldTypeDescriptionDefault ValueRequired

Max Idle Time

Number

Configures the maximum amount of time that a dynamic configuration instance can remain idle before Mule considers it eligible for expiration.

Time Unit

Enumeration, one of:

  • NANOSECONDS

  • MICROSECONDS

  • MILLISECONDS

  • SECONDS

  • MINUTES

  • HOURS

  • DAYS

Time unit for the Max Idle Time field.

### Call Tool Response Response obtained from calling a tool as a client.
FieldTypeDescriptionDefault ValueRequired

Contents

The contents generated by the tool

Yes

Error

Boolean

Whether the tool execution was successful or errored out. Notice that even in case of error, contents might have been generated.

false

### Call Tool Response Content
FieldTypeDescriptionDefault ValueRequired

Type

Enumeration, one of:

  • text

  • image

  • resource

Content type.

Yes

Text

String

Content’s payload when type is text.

Mime Type

String

Content’s MIME type.

Data

Binary

Content’s payload when type is image.

Resource

Content’s payload when type is resource.

Audience

Array of Enumeration, one of:

  • USER

  • ASSISTANT

Describes who the intended consumer of this data is. It can include multiple entries to indicate content useful for multiple audiences.

Priority

Number

Describes how important this data is for operating the server. A value of 1 means "most important", which indicates that the data is required. A value of 0 means "least important", which indicates that the data is entirely optional.

### Resource Content A flattened representation of a resource content. The resource can be either text or blob types. The text property is set for text resources, while the blob type is used for the latter.
FieldTypeDescriptionDefault ValueRequired

Uri

String

Resource URI

Yes

Mime Type

String

Resource MIME type.

Yes

Text

String

Content of a text resource. Null for BLOB data types.

Blob

Binary

Content of a BLOB resource. Null for text data types.

### Error Mapping
FieldTypeDescriptionDefault ValueRequired

Source

Enumeration, one of:

  • ANY

  • REDELIVERY_EXHAUSTED

  • TRANSFORMATION

  • EXPRESSION

  • SECURITY

  • CLIENT_SECURITY

  • SERVER_SECURITY

  • ROUTING

  • CONNECTIVITY

  • RETRY_EXHAUSTED

  • TIMEOUT

Target

String

Yes

### Resource Metadata
FieldTypeDescriptionDefault ValueRequired

Uri

String

Resource URI.

Yes

Name

String

Name of the resource.

Yes

Description

String

Description of the resource.

Yes

Mime Type

String

MIME type of the resource.

Yes

### Repeatable In Memory Iterable
FieldTypeDescriptionDefault ValueRequired

Initial Buffer Size

Number

The amount of memory to allocate to consume the stream and provide random access to it. If the stream contains more data than can fit into this buffer, then the buffer expands according to the Buffer Size Increment value, with an upper limit of the Max In Memory Size value. instances.

100

Buffer Size Increment

Number

Amount by which the buffer size expands if it exceeds its initial size. Setting a value of 0 or lower specifies that the buffer can’t expand.

100

Max Buffer Size

Number

Maximum size of the buffer. If the buffer size exceeds this value, Mule raises a STREAM_MAXIMUM_SIZE_EXCEEDED error. A value of less than or equal to 0 means no limit.

### Repeatable File Store Iterable
FieldTypeDescriptionDefault ValueRequired

In Memory Objects

Number

Maximum number of instances to keep in memory. If more than the maximum is required, content on the disk is buffered.

Buffer Unit

Enumeration, one of:

  • BYTE

  • KB

  • MB

  • GB

Unit for the In Memory Objects field.

### Tool Metadata Describes a tool through its properties.
FieldTypeDescriptionDefault ValueRequired

Name

String

Name of the tool.

Yes

Description

String

A detailed enough description for an LLM to determine when to call this tool.

Yes

Input Schema

String

JSON Schema describing the tool’s input parameters.

Yes

### New Session Request Contains the data associated to a client requiring the creation of a new server session.
FieldTypeDescriptionDefault ValueRequired

Session Id

String

Yes

Additional Properties

Object

Yes

Client Certificate

### Certificate Data
FieldTypeDescriptionDefault ValueRequired

Basic Constraints

Number

Critical Extension OI Ds

Array of String

Encoded

Binary

Extended Key Usage

Array of String

Extensions

Issuer Alternative Names

Issuer DN

Issuer Unique ID

Array of Boolean

Issuer X500 Principal

Key Usage

Array of Boolean

Name

String

Non Critical Extension OI Ds

Array of String

Not After

Date

Not Before

Date

Public Key

Serial Number

Number

Serial Number Object

Sig Alg Name

String

Sig Alg OID

String

Sig Alg Params

Binary

Signature

Binary

Subject Alternative Names

Subject DN

Subject X500 Principal

Type

String

Version

Number

### Certificate Extension
FieldTypeDescriptionDefault ValueRequired

Criticality

Boolean

Oid

String

Value

Binary

### Alternative Name Data
FieldTypeDescriptionDefault ValueRequired

Name

String

Type

Number

### Principal Data
FieldTypeDescriptionDefault ValueRequired

Common Name

String

Name

String

### X500 Principal Data
FieldTypeDescriptionDefault ValueRequired

Name

String

### Public Key Data
FieldTypeDescriptionDefault ValueRequired

Algorithm

String

Encoded

Binary

Modulus

Number

Params

Number

Public Key

String

### Serial Number Data
FieldTypeDescriptionDefault ValueRequired

Serial Number

Number

### Redelivery Policy Configures the redelivery policy for executing requests that generate errors. You can add a redelivery policy to any source in a flow.
FieldTypeDescriptionDefault ValueRequired

Max Redelivery Count

Number

Maximum number of times that a redelivered request can be processed unsuccessfully before returning a REDELIVERY_EXHAUSTED error.

Message Digest Algorithm

String

Secure hashing algorithm to use if the Use Secure Hash field is true. If the payload of the message is a Java object, Mule ignores this value and returns the value that the payload’s hashCode() returned.

Message Identifier

One or more expressions that determine if a message was redelivered. This property can be set only if the Use Secure Hash field is false.

Object Store

ObjectStore

Configures the object store that stores the redelivery counter for each message.

### Redelivery Policy Message Identifier Configures how to identify a redelivered message and how to find out when the message was redelivered.
FieldTypeDescriptionDefault ValueRequired

Use Secure Hash

Boolean

If true, Mule uses a secure hash algorithm to identify a redelivered message.

Id Expression

String

One or more expressions that determine when a message was redelivered. You can set this property only if the Use Secure Hash field is false.

### Resource Request An inbound request for a resource, used when the connector is acting as an MCP server.
FieldTypeDescriptionDefault ValueRequired

Requested Uri

String

Yes

### Request Attributes
FieldTypeDescriptionDefault ValueRequired

Session Id

String

Yes

Request Id

String

Yes

Additional Properties

Object

Additional values attached to the request as HTTP Headers.

Yes

Client Certificate

Client certificate used to authenticate the request.

### Text Tool Response Content Defines a text content that’s part of the response of a tool implemented through this connector.
FieldTypeDescriptionDefault ValueRequired

Text

String

Text content.

Yes

Audience

Array of Enumeration, one of:

  • USER

  • ASSISTANT

Describes who the intended consumer of this data is. It can include multiple entries to indicate content that’s useful for multiple audiences.

Priority

Number

Describes how important this data is for operating the server. A value of 1 means "most important", which indicates that the data is required. A value of 0 means "least important", which indicates that the data is entirely optional.

### Image Tool Response Content Defines an image content that’s part of the response of a tool implemented through this connector.
FieldTypeDescriptionDefault ValueRequired

Audience

Array of Enumeration, one of:

  • USER

  • ASSISTANT

Describes who the intended consumer of this data is. It can include multiple entries to indicate content useful for multiple audiences.

Priority

Number

Describes how important this data is for operating the server. A value of 1 means "most important", which indicates that the data is required. A value of 0 means "least important", which indicates that the data is entirely optional.

Data

Binary

The raw image content, without Base64 encoding.

Mime Type

String

The image MIME type.

### Text Resource Tool Response Content Defines an embedded text resource that’s part of the response of a tool implemented through this connector.
FieldTypeDescriptionDefault ValueRequired

Audience

Array of Enumeration, one of:

  • USER

  • ASSISTANT

Describes who the intended consumer of this data is. It can include multiple entries to indicate content useful for multiple audiences.

Priority

Number

Describes how important this data is for operating the server. A value of 1 means "most important", which indicates that the data is required. A value of 0 means "least important", which indicates that the data is entirely optional.

Uri

String

Resource URI.

Mime Type

String

The resource MIME type.

Text

String

Resource text.

### Blob Resource Tool Response Content Defines an embedded blob resource that’s part of the response of a tool implemented through this connector.
FieldTypeDescriptionDefault ValueRequired

Audience

Array of Enumeration, one of:

  • USER

  • ASSISTANT

Describes who the intended consumer of this data is. It can include multiple entries to indicate content useful for multiple audiences.

Priority

Number

Describes how important this data is for operating the server. A value of 1 means "most important", which indicates that the data is required. A value of 0 means "least important", which indicates that the data is entirely optional.

Blob

Binary

The raw resource content, without Base64 encoding.

Yes

Uri

String

Resource URI.

Mime Type

String

The resource MIME type.

### Text Resource Defines a text resource.
FieldTypeDescriptionDefault ValueRequired

Text

String

Text content.

Yes

### Blob Resource Defines the contents of a Blob resource.
FieldTypeDescriptionDefault ValueRequired

Blob

Binary

The raw blob content, without Base64 encoding.

Yes

### Custom Header Configures a custom header to be included in requests or responses.
NameTypeDescriptionDefault ValueRequired

Key

String

The header name.

Yes

Value

String

The header value. Supports property placeholders and DataWeave expressions.

Yes

### Call Tool Result Attributes Attributes returned with the `CallTool` response. Use these attributes to inspect whether the remote tool returned structured content and to access the raw response.
FieldTypeDescriptionDefault ValueRequired

Structured Content

Boolean

true when the remote tool returned structured content and the payload was set to the structured object (or to JSON parsed from a single text content).

Raw Response

The full tool response returned by the server, including all content items. Useful when Extract Structured Content is true and you still need the original response.

### Get Prompt Response Response returned by `prompts/get`.
FieldTypeDescriptionDefault ValueRequired

Description

String

Optional description of the prompt returned by the server.

Messages

The rendered prompt messages.

Yes

### Prompt Message Response A single rendered prompt message.
FieldTypeDescriptionDefault ValueRequired

Role

String

Role associated with the message (typically user or assistant).

Yes

Content

The content of the prompt message.

Yes

### Prompt Metadata Prompt metadata returned by `prompts/list`.
FieldTypeDescriptionDefault ValueRequired

Name

String

Prompt name.

Yes

Title

String

Short, human-friendly title.

Description

String

Description of the prompt.

Arguments

Argument definitions for the prompt.

### Prompt Argument Metadata Description of a single argument supported by a prompt on a remote MCP server.
FieldTypeDescriptionDefault ValueRequired

Name

String

Argument name.

Yes

Title

String

Short, human-friendly title.

Description

String

Description of the argument.

Required

Boolean

Whether the argument is required.

false

### Prompt Request Input payload for `` flows.
FieldTypeDescriptionDefault ValueRequired

Prompt Name

String

The prompt name that was requested.

Yes

Arguments

Object

Map of arguments provided by the client.

### Prompt Argument Prompt argument definition exposed in `prompts/list`.
FieldTypeDescriptionDefault ValueRequired

Name

String

Argument name.

Yes

Description

String

Description of the argument.

Required

Boolean

Whether the argument is required.

false

### Inline Output Schema Defines an inline JSON schema for the tool’s output structure. The schema content is provided directly as text.
FieldTypeDescriptionDefault ValueRequired

Output Schema

String

The JSON schema content.

Yes

### File Output Schema Defines a file-based JSON schema for the tool’s output structure. The schema is loaded from a classpath resource (for example, a file under src/main/resources/ in the Mule project).
FieldTypeDescriptionDefault ValueRequired

Output Schema File

String

The path to the JSON schema file.

Yes

### Text Prompt Message Content A text-based prompt message content.
FieldTypeDescriptionDefault ValueRequired

Text

String

The message text. Supports DataWeave expressions.

Yes

Role

Enumeration, one of:

  • USER

  • ASSISTANT

Role associated with the message.

Audience

Array of Enumeration, one of:

  • USER

  • ASSISTANT

Describes who the intended consumer of this data is. It can include multiple entries to indicate content useful for multiple audiences.

Priority

Number

Describes how important this data is for operating the server. A value of 1 means "most important", which indicates that the data is required. A value of 0 means "least important", which indicates that the data is entirely optional.

### Image Prompt Message Content An image-based prompt message content. Image data can be provided inline (via a DataWeave expression) or by selecting a file from the project’s classpath resources. The connector Base64-encodes the data internally.
FieldTypeDescriptionDefault ValueRequired

Image Data

The image data provided either inline (base64-encoded) or as a file reference.

Yes

Mime Type

String

The image MIME type.

Yes

Role

Enumeration, one of:

  • USER

  • ASSISTANT

Role associated with the message.

Audience

Array of Enumeration, one of:

  • USER

  • ASSISTANT

Describes who the intended consumer of this data is. It can include multiple entries to indicate content useful for multiple audiences.

Priority

Number

Describes how important this data is for operating the server. A value of 1 means "most important", which indicates that the data is required. A value of 0 means "least important", which indicates that the data is entirely optional.

### Embedded Resource Prompt Message Content An embedded resource prompt message content. The resource content (text or blob) is bundled directly inside the prompt message. Choose Text or Blob from the resource content dropdown, matching the same pattern used by the Resource Listener.
FieldTypeDescriptionDefault ValueRequired

Uri

String

Resource URI.

Yes

Mime Type

String

The resource MIME type.

Yes

Resource Content

The resource content (text or blob).

Yes

Role

Enumeration, one of:

  • USER

  • ASSISTANT

Role associated with the message.

Audience

Array of Enumeration, one of:

  • USER

  • ASSISTANT

Describes who the intended consumer of this data is. It can include multiple entries to indicate content useful for multiple audiences.

Priority

Number

Describes how important this data is for operating the server. A value of 1 means "most important", which indicates that the data is required. A value of 0 means "least important", which indicates that the data is entirely optional.

### Resource Link Prompt Message Content A resource link prompt message content that references an external resource by URI.
FieldTypeDescriptionDefault ValueRequired

Uri

String

Resource URI.

Yes

Name

String

Name of the linked resource.

Title

String

Human-friendly title.

Description

String

Description.

Mime Type

String

MIME type of the linked resource.

Size

Number

Size of the linked resource.

Role

Enumeration, one of:

  • USER

  • ASSISTANT

Role associated with the message.

Audience

Array of Enumeration, one of:

  • USER

  • ASSISTANT

Describes who the intended consumer of this data is. It can include multiple entries to indicate content useful for multiple audiences.

Priority

Number

Describes how important this data is for operating the server. A value of 1 means "most important", which indicates that the data is required. A value of 0 means "least important", which indicates that the data is entirely optional.

### Text Embedded Resource Text-based embedded resource.
FieldTypeDescriptionDefault ValueRequired

Text

String

The text content.

Yes

### Blob Embedded Resource Binary embedded resource.
FieldTypeDescriptionDefault ValueRequired

Blob

Binary

The raw blob content, without Base64 encoding.

Yes

### Inline Image Data Provides image data inline via a DataWeave expression that resolves to binary content. The connector Base64-encodes the data internally before sending it over MCP.
FieldTypeDescriptionDefault ValueRequired

Image Data

Binary

The image data.

Yes

### File Image Data Provides image data by referencing a file in the project’s classpath resources. The connector reads and Base64-encodes the file content at runtime before sending it over MCP.
FieldTypeDescriptionDefault ValueRequired

Image File

String

The path to the image file.

Yes

### Text Prompt Response Content Text content in a prompt response.
FieldTypeDescriptionDefault ValueRequired

Text

String

The text content.

Yes

### Image Prompt Response Content Image content in a prompt response. The data is the raw image bytes (already decoded from Base64).
FieldTypeDescriptionDefault ValueRequired

Mime Type

String

The image MIME type.

Yes

Data

Binary

The image data.

Yes

### Embedded Resource Prompt Response Content Embedded resource content in a prompt response. The resource content (text or blob) is bundled directly inside the prompt message.
FieldTypeDescriptionDefault ValueRequired

Resource

The embedded resource payload.

Yes

### Resource Link Prompt Response Content Resource link content in a prompt response. References an external resource by URI.
FieldTypeDescriptionDefault ValueRequired

Uri

String

Resource URI.

Yes

Name

String

Name of the linked resource.

Title

String

Human-friendly title.

Description

String

Description.

Mime Type

String

MIME type of the linked resource.

Size

Number

Size of the linked resource.

## See Also - [Using Anypoint Code Builder to Configure a Connector](https://docs.mulesoft.com/connectors/introduction/intro-config-use-acb) - [Using Studio to Configure a Connector](https://docs.mulesoft.com/connectors/introduction/intro-config-use-studio) - [MCP Connector Overview](https://docs.mulesoft.com/mcp-connector/1.5/) - [MuleSoft Help Center](https://help.mulesoft.com) --- product: MCP Connector version: 1.5 --- # MCP Connector 1.5 XML and Maven Support > For the full documentation index, see: https://docs.mulesoft.com/llms.txt Although you can manually code a Mule app in XML, it is more efficient to use Anypoint Code Builder or Studio: - If you manually code a Mule runtime engine (Mule) app in XML, either from the Anypoint Code Builder or Studio XML editor, or from a text editor, you can access the connector from your app by adding reference statements to both your XML Mule flow and the Apache Maven `pom.xml` file. - If you add the connector in Anypoint Code Builder or Studio, the XML is automatically populated the code with the connector’s namespace and schema location and it also adds a dependency to the `pom.xml` file. ## Add a Namespace for the Connector Paste the following code inside the `mule` tag of the header of your configuration XML: ```xml http://www.mulesoft.org/schema/mule/mcp http://www.mulesoft.org/schema/mule/mcp/current/mule-mcp.xsd ``` This example shows how the namespace statements are placed in the `` XML block: ```xml ``` ## Add a POM File Dependency The Apache Maven `pom.xml` file generated by Anypoint Studio contains dependencies for a Mule app. If you code a Mule app manually, include this XML snippet in your `pom.xml` file to enable access to this connector: ```xml com.mulesoft.connectors mule-mcp-connector x.x.x mule-plugin ``` Replace `x.x.x` with the version that corresponds to the connector you are using. To obtain the most up-to-date `pom.xml` file information: 1. Go to [Anypoint Exchange](https://www.mulesoft.com/exchange/). 2. In Exchange, click **Login** and supply your Anypoint Platform username and password. 3. In Exchange, search for `mcp`. 4. Select the connector. 5. Click **Dependency Snippets** near the upper right of the screen. ## Next Step After completing your namespace and pom.xml file, you can try the [Examples](https://docs.mulesoft.com/mcp-connector/1.5/mcp-connector-examples). ## See Also - [Introduction to Anypoint Connectors](https://docs.mulesoft.com/connectors/introduction/introduction-to-anypoint-connectors) - [Salesforce Help](https://help.salesforce.com) --- product: MCP Connector version: 1.6 --- # MCP Connector 1.6 > For the full documentation index, see: https://docs.mulesoft.com/llms.txt Anypoint Connector for MCP (MCP Connector) uses the Model Context Protocol (MCP) to enable AI clients that support MCP to invoke and interact with APIs, connectors, and apps. Use MCP Connector to connect LLM applications with your APIs. Expose APIs with complex endpoints as simpler, more atomic tools or resources that are better suited for agentic clients. Decide on what is straightforward, repeatable, and optimal for agent actions, and start there. MCP is an open protocol that enables integration between LLM applications and external data, services, and tools. The MCP protocol: - Enhances AI precision by supplying AI with relevant information, leading to more accurate responses. - Empowers AI to manage intricate tasks that require access to external data or services. - Promotes interoperability between AI models and external systems, simplifying integration into workflows. MCP Connector: - Enables you to expose your Mule apps, connectors, and custom APIs using the MCP protocol to further enable agentic experiences from agents in Claude, Cursor, Windsurf, and your own agents. - Enables you to write Mule apps that can act as both an MCP server and a client. The resulting MCP server or client runs inside of Mule, which means you don’t need to configure your own hosting environment. - When acting as an MCP server, Mule allows AI clients to use existing API-led investments, legacy systems, and SaaS applications that don’t natively support MCP. - When acting as an MCP client, Mule helps you create connections and orchestrations where AI agents are added as just another system in the workflow. - Allows you to incorporate AI agents into your existing Enterprise ecosystem, using Mule as the orchestration layer. - Supports Streamable HTTP (recommended) and SSE (deprecated) for both server and client [transport methods](#connection-types). - Supports custom response headers on every exposed endpoint, including `/sse`, `/message`, and `/mcp`. Use custom response headers for security, operational, integration, and governance benefits. - Provides distributed tracing support, enabling comprehensive monitoring and observability of MCP interactions across distributed systems. This makes the capabilities of your Mule APIs and applications available to a growing ecosystem of AI agents. For information about compatibility and fixed issues, see the MCP Connector Release Notes. ## Before You Begin To use this connector, you must be familiar with: - Anypoint Connectors - Mule runtime engine (Mule) - Elements and global elements in a Mule flow - How to create a Mule app using Anypoint Code Builder or Anypoint Studio Before creating an app, you must have: - Java 17 - Apache Maven - Anypoint Platform - Credentials to connect with the target resource - The latest versions of Anypoint Code Builder or Anypoint Studio ## Common Use Cases for the Connector These are some common use cases for the connector: - Customer Service Use AI agents to help human agents be more efficient by handling time-intensive tasks like reviewing case histories, analyzing reported issues, and retrieving relevant information. - Sales Improve sales teams' success by accelerating prospect research, generating customized collateral, and preparing contracts. - Marketing Empower marketing teams with AI-driven support for drafting social media content, conducting market research, and analyzing campaign performance. ## Connection Types - Streamable HTTP Allows you to deploy multiple instances of your MCP server to run behind a load balancer without clients knowing about the individual server URLs. Clients connect to a single endpoint (like `/mcp`) and the load balancer distributes requests across all your MCP server instances. This is particularly useful for scalability in cloud environments, where you might have multiple replicas of your Mule app running. When acting as an MCP client, use Streamable HTTP to connect your Mule application to remote MCP servers using the same scalable, load-balanced approach. - SSE Client (Deprecated) Enables MCP Connector to establish a persistent, one-way (server-sent) connection to an MCP server using the Server-Sent Events (SSE) standard. This type of connection allows the MCP server to push real-time updates and messages to the client without the need for the client to constantly poll for new information. - SSE Server (Deprecated) Exposes the MCP server using the Server-Sent Events (SSE) transport. This allows MCP clients to establish persistent, one-way connections to this server to receive real-time updates and messages. ### Streamable HTTP Limitations The Streamable HTTP connection type has no support for: - Calling the GET `/mcp` endpoint for getting notifications - Resumability and Redelivery ### SSE Limitations > [!WARNING] The SSE server transport (``) is supported only in > single-replica deployments. In any deployment with more than one replica (CloudHub 2 with replica > count greater than one, Runtime Fabric with multi-replica deployments, on-premises clusters, or > CloudHub 1 with multiple workers), use the Streamable HTTP server transport instead. This applies to the SSE _server_ transport. The SSE _client_ connection (``) is unaffected because it makes an outbound connection to a remote MCP server. ## Next Step After you complete the prerequisites, you’re ready to create an app and configure the connector using [Anypoint Studio](https://docs.mulesoft.com/mcp-connector/1.6/mcp-connector-studio) or [Anypoint Code Builder](https://docs.mulesoft.com/mcp-connector/1.6/mcp-connector-acb). ## See Also - [Anypoint Connectors Overview](https://docs.mulesoft.com/connectors/introduction/introduction-to-anypoint-connectors) - [Using Anypoint Code Builder to Configure a Connector](https://docs.mulesoft.com/connectors/introduction/intro-config-use-acb) - [Using Anypoint Studio to Configure a Connector](https://docs.mulesoft.com/connectors/introduction/intro-config-use-studio) - [MCP Connector Reference](https://docs.mulesoft.com/mcp-connector/1.6/mcp-connector-reference) - [MuleSoft MCP Support: Get Started With Model Context Protocol](https://blogs.mulesoft.com/news/model-context-protocol/) - [Model Context Protocol](https://modelcontextprotocol.io/docs/getting-started/intro) - [MuleSoft Help Center](https://help.mulesoft.com) --- product: MCP Connector version: 1.6 --- # MCP Connector 1.6 - Applying Security to the MCP Server > For the full documentation index, see: https://docs.mulesoft.com/llms.txt MCP Connector enables server-side authentication for MCP clients. In these examples, it uses the stateful Server-Sent Events (SSE) connection and the **On New Session Listener** source to implement custom security logic, including OAuth access token validation. > [!WARNING] The SSE server transport (``) is supported only in > single-replica deployments. For multi-replica deployments, use Streamable HTTP server transport > (``). ## Configure Elicitations for Multi-Replica Deployments When using Streamable HTTP in multi-replica deployments, configure **Elicitations Object Store** with a distributed object store so elicitation responses can be routed back to the replica that initiated the request. **Elicitation Polling Seconds** controls how often the initiating replica polls the shared store for cross-replica responses. Keep this interval shorter than the elicitation timeout and tune it based on load and latency requirements. ## Server-Side Authentication With On New Session Listener The MCP specification emphasizes session management and SSE connections maintain state. The **On New Session Listener** source offers a key point for implementing server-side authentication. This example illustrates a basic flow triggered by this listener, showing how to access the auto-generated `sessionId` and the HTTP headers sent by the connecting client, which can then be used for custom authentication logic. This is an example flow that uses the **On New Session Listener** source: ```xml ``` The flow executes each time a new client connects to the MCP server application. The payload contains the auto-generated `sessionId` and the `additionalProperties`, which when using the SSE connection type, maps to the request HTTP headers. At this point, you can implement your own authentication logic. For instance, the `#[payload.additionalProperties.authorization]` expression gets the HTTP authorization header, which you can validate later. ### Validate OAuth Access Tokens Optionally, you can use the [Mule OAuth 2.0 Provider](https://docs.mulesoft.com/api-manager/latest/mule-oauth-provider-landing-page) to implement and validate OAuth access tokens. In this example flow, the access token is validated using the OAuth provider, and the session is rejected if the token is invalid: ```xml ``` The new session is rejected if either of these things happen: - The `rejectWithStatusCode` parameter is assigned a non-null value (or an expression that resolves to a non-null value), or - The flow fails, in which case a status code 500 is reported. In this example, the OAuth validation error is handled so that the status code is mapped to a `401 - UNAUTHORIZED` code. ## Client-Side Authentication In the client, the authentication parameter accepts all the authentication strategies defined in HTTP Connector, and [OAuth Module](https://docs.mulesoft.com/oauth-module/latest/) if it’s also added to the project. Operations like **Call Tool** also accept additional properties, which map to request headers. This behavior makes it possible to add custom authentication headers like API keys, for example: ```xml ``` ## Next Step After you configure the connector, you can try the [Examples](https://docs.mulesoft.com/mcp-connector/1.6/mcp-connector-examples). ## See Also - [Introduction to Anypoint Connectors](https://docs.mulesoft.com/connectors/introduction/introduction-to-anypoint-connectors) - [MuleSoft Help Center](https://help.mulesoft.com) --- product: MCP Connector version: 1.6 --- # MCP Connector 1.6 - Examples > For the full documentation index, see: https://docs.mulesoft.com/llms.txt These are some examples of how to use existing APIs to build agents using MCP Connector. ## Create an MCP Server and Tools These examples show you the process of creating an MCP server within your Mule app and defining two distinct tools that the MCP server exposes: one for retrieving a dynamic list of approved vendors with their product categories, and another for initiating the creation of purchase orders with specified details. These examples illustrate the concept of MCP tools as invocable Remote Procedure Calls (RPCs). ### Create the MCP Server Configuration This example demonstrates how to configure an MCP server within your Mule application using the Streamable HTTP transport. When acting as an MCP client, MuleSoft facilitates the creation of integrations and orchestrations where AI Agents are integrated as just another system in the workflow. ```xml <<1>> <<2>> <<3>> ```
1The HTTP listener configuration defines the endpoint where the MCP server is exposed.
2The MCP server configuration uses the Streamable HTTP transport.
3Property placeholders are used for configuration values to support different environments.
### Create a Tool That Provides a List of Vendors This example illustrates how to create an MCP tool that retrieves a dynamic list of approved vendors from an external system (in this case, SAP Concur). The example demonstrates how to use the `` to define a callable tool and how to process the data to provide the agent with relevant vendor information, including their assigned product category from the `Custom19` field. First, set up the SAP Concur configuration with retry and timeout settings: ```xml <<1>> <<2>> 30 <<3>> SECONDS <<4>> 3600000 MILLISECONDS ```
1The SAP Concur configuration includes OAuth authentication settings.
2A reconnection strategy is configured to handle temporary connection issues.
3Request timeout is set to 30 seconds to prevent hanging requests.
4A cache configuration is added to improve performance with a one hour TTL.
Now, create the main flow that handles vendor retrieval with pagination and caching: ```xml <<1>> Get all approved vendors with optional pagination > "$schema": "http://json-schema.org/draft-07/schema#", "type": "object", "properties": { "pageSize": { "type": "integer", "description": "Number of vendors to return per page", "minimum": 1, "maximum": 100, "default": 50 }, "pageNumber": { "type": "integer", "description": "Page number to retrieve", "minimum": 1, "default": 1 } }, "required": [] }]]> <<3>> <<4>> <<5>> ```
1The <mcp:tool-listener> defines the interface for the vendor retrieval tool with pagination support.
2The <mcp:parameters-schema> schema includes validation for page size and page number.
3The cache component improves performance by storing results for 1 hour.
4The DataWeave transformation filters approved vendors and adds pagination metadata.
5Error handling covers connectivity, authentication, and unexpected errors.
### Create a Tool That Creates Purchase Orders This example demonstrates the creation of an MCP tool that allows an agent to initiate the creation of a purchase order in SAP Concur. The example highlights how to define input parameters for a tool using a JSON schema, including natural language descriptions for each parameter to help the LLM in understanding and populating the required information. ```xml <<1>> Create a new purchase order in SAP Concur with validation > "$schema": "http://json-schema.org/draft-07/schema#", "type": "object", "properties": { "name": { "type": "string", "description": "Name for the purchase order.", "minLength": 1, "maxLength": 100 }, "description": { "type": "string", "description": "Purchase order description.", "minLength": 1, "maxLength": 500 }, "vendorCode": { "type": "string", "description": "Code that identifies the vendor.", "pattern": "^[A-Z0-9]{3,10}$" }, "itemDescription": { "type": "string", "description": "Description of the item purchased in this order.", "minLength": 1, "maxLength": 200 }, "price": { "type": "number", "description": "Monetary amount of the purchase order.", "minimum": 0.01, "maximum": 999999.99 }, "currency": { "type": "string", "description": "Currency code for the purchase order monetary amount.", "pattern": "^[A-Z]{3}$" } }, "required": ["name", "description", "vendorCode", "itemDescription", "price", "currency"] }]]> <<3>> <<4>> <<5>> ```
1The tool listener defines the purchase order creation interface with comprehensive input validation.
2The parameters schema includes validation rules for all fields, including length limits and patterns.
3A vendor existence check is performed before creating the purchase order.
4The DataWeave transformation validates the vendor check response.
5Error handling covers connectivity, authentication, validation, and unexpected errors.
## Configure the MCP Client to Use Third-Party MCP Servers The previous examples showed you how to write tools that draw from existing Anypoint Connectors. Now, take a look at how to use third-party MCP servers. ### Create a Weather Service Using Multiple MCP Servers This example shows how to integrate your Mule applications with existing third-party MCP servers using Streamable HTTP transport by configuring the MCP Client and using the **Call Tool** operation. > [!NOTE] When connecting to third-party MCP servers, ensure they support Streamable HTTP transport. > If a third-party server only supports SSE transport, you may need to use the SSE client connection > or contact the service provider for Streamable HTTP support. First, set up the client configurations with timeout and retry settings: ```xml <<1>> 30 SECONDS <<2>> <<3>> ```
1The HTTP request configuration includes timeout and retry settings for the weather API.
2The Google Maps MCP client configuration uses Streamable HTTP transport with custom headers and reconnection settings.
3The Weather MCP server configuration uses Streamable HTTP transport and exposes the weather service endpoints with custom headers.
Now, create the weather service flows with error handling and caching: ```xml <<1>> 900000 MILLISECONDS <<2>> Provides the weather at given coordinates expressed as latitude and longitude <<3>> <<4>> Provides the weather at a specific address <<5>> ```
1The cache configuration stores weather data for 15 minutes to reduce API calls.
2The coordinates-based weather flow includes input validation and caching.
3The address-based weather flow demonstrates tool composition by:
  • First converting the address to coordinates using Google Maps

  • Then using those coordinates to get the weather

4Both flows include comprehensive error handling for different scenarios.
5The DataWeave transformation validates the Google Maps response before proceeding.
While LLMs can orchestrate these tools directly, there are cases where manual composition in Mule is preferable: - When you need guaranteed access to all MCP servers - When authentication needs to be handled securely - When you need strong governance and tracing capabilities ## See Also - [Applying Security to the MCP Server](https://docs.mulesoft.com/mcp-connector/1.6/mcp-connector-config-topics) - [MCP Connector Reference](https://docs.mulesoft.com/mcp-connector/1.6/mcp-connector-reference) - [MuleSoft MCP Support: Get Started With Model Context Protocol](https://blogs.mulesoft.com/news/model-context-protocol/) - [Introduction to Anypoint Connectors](https://docs.mulesoft.com/connectors/introduction/introduction-to-anypoint-connectors) - [MuleSoft Help Center](https://help.mulesoft.com) --- product: MCP Connector version: 1.6 --- # MCP Connector 1.6 Reference > For the full documentation index, see: https://docs.mulesoft.com/llms.txt Anypoint Connector for MCP (MCP Connector) allows Mule applications to act as both MCP servers and clients. When acting as an MCP client, MuleSoft facilitates the creation of integrations and orchestrations where AI agents are integrated as just another system in the workflow. ## Configurations ### Client Configuration element that acts as a client and connects to an MCP server. #### Parameters
NameTypeDescriptionDefault ValueRequired

Name

String

Name for this configuration. Connectors reference the configuration with this name.

Yes

Connection

The connection types to provide to this configuration.

Yes

Client Name

String

Name the client uses to identify itself during the protocol initialization phase. This isn’t the same as the name given to this config element (which is later referenced through config-ref parameters). This name doesn’t need to be unique.

Yes

Client Version

String

Version the client uses to identify itself during the protocol initialization phase. This doesn’t need to match the connector or Mule application version.

Yes

Enable Elicitations

Boolean

Enable support for elicitation requests from the MCP server. When enabled without an elicitation-listener source, a default handler automatically declines all elicitation requests. When an elicitation-listener is configured, it overrides this default behavior.

Yes

Name

String

ID used to reference this configuration.

Yes

Expiration Policy

Configures the minimum amount of time that a dynamic configuration instance can remain idle before Mule considers it eligible for expiration.

#### Connection Types ##### SSE Client (Deprecated) Streamable HTTP transport is recommended. The SSE (Server-Sent Events) Client connection type enables MCP Connector to establish a persistent, one-way (server-sent) connection to an MCP server using the SSE standard. This type of connection allows the MCP server to push real-time updates and messages to the client without the need for the client to constantly poll for new information. ###### Parameters
NameTypeDescriptionDefault ValueRequired

Request Timeout

Number

Sets the duration to wait for server responses before timing out requests.

30

Request Timeout Unit

Enumeration, one of:

  • NANOSECONDS

  • MICROSECONDS

  • MILLISECONDS

  • SECONDS

  • MINUTES

  • HOURS

  • DAYS

Time Unit for the requestTimeout parameter.

SECONDS

Authentication

HttpRequestAuthentication

Default Request Headers

Object

Defines custom headers to send with every request to the MCP server.

Server Url

String

The base URL for the target MCP server.

Yes

Sse Endpoint Path

String

/sse

Reconnection Delay

Number

Specifies how long to wait before reinitializing the SSE connection when it times out or closes.

500

Reconnection Delay Unit

Enumeration, one of:

  • NANOSECONDS

  • MICROSECONDS

  • MILLISECONDS

  • SECONDS

  • MINUTES

  • HOURS

  • DAYS

Time Unit for the reconnectionDelay

MILLISECONDS

Tls Context

Reconnection

When the application is deployed, a connectivity test is performed on all connectors. If set to true, deployment fails if the test doesn’t pass after exhausting the associated reconnection strategy.

##### Streamable HTTP Client ###### Parameters
NameTypeDescriptionDefault ValueRequired

Request Timeout

Number

Sets the duration to wait for server responses before timing out requests.

30

Request Timeout Unit

Enumeration, one of:

  • NANOSECONDS

  • MICROSECONDS

  • MILLISECONDS

  • SECONDS

  • MINUTES

  • HOURS

  • DAYS

Time Unit for the requestTimeout parameter

SECONDS

Authentication

HttpRequestAuthentication

Default Request Headers

Object

Defines custom headers to send with every request to the MCP server.

Server Url

String

The base URL for the target MCP server.

Yes

Mcp Endpoint Path

String

/mcp

Tls Context

Reconnection

When the application is deployed, a connectivity test is performed on all connectors. If set to true, deployment fails if the test doesn’t pass after exhausting the associated reconnection strategy.

## Supported Operations - [MCP Client - Call Tool](#CallTool) - [MCP Client - Get Prompt](#GetPrompt) - [MCP Client - List Prompts](#ListPrompts) - [MCP Client - List Resources](#ListResources) - [MCP Client - List Tools](#ListTools) - [MCP Client - Ping](#Ping) - [MCP Client - Read Resource](#ReadResource) ## Associated Sources - [MCP Client - Elicitation Listener](#ElicitationListener) ### Server Configuration element to act as an MCP server. #### Parameters
NameTypeDescriptionDefault ValueRequired

Name

String

Name for this configuration. Connectors reference the configuration with this name.

Yes

Connection

The connection types to provide to this configuration.

Yes

Server Name

String

Name this server uses to identify itself during the protocol initialization phase. This isn’t the same as the name given to this config element (which is later referenced through config-ref parameters). This name doesn’t need to be unique.

Yes

Server Version

String

Version this server uses to identify itself during the protocol initialization phase. This doesn’t need to match the connector or Mule application version.

Yes

Name

String

ID used to reference this configuration.

Yes

#### Connection Types ##### SSE Server (Deprecated) Streamable HTTP transport is recommended. Exposes the MCP server using the SSE transport. ###### Parameters
NameTypeDescriptionDefault ValueRequired

Request Timeout

Number

Request timeout.

10

Request Timeout Unit

Enumeration, one of:

  • NANOSECONDS

  • MICROSECONDS

  • MILLISECONDS

  • SECONDS

  • MINUTES

  • HOURS

  • DAYS

Request Timeout unit

SECONDS

Elicitation Timeout Seconds

Number

Timeout in seconds for elicitation requests. Elicitation requests sent to the client wait this long for a response before timing out.

60

Listener Config

String

Reference to the HTTP Listener config used to expose the SSE and messaging endpoints.

Yes

Sse Endpoint Path

String

The endpoint path clients use to initiate the SSE connection.

/sse

Messages Path

String

The path to send the messaging endpoint request to.

/message

Default Sse Response Headers

Object

Default Message Response Headers

Object

Elicitations Object Store

ObjectStore

ObjectStore that correlates elicitation requests and responses. For deployments with multiple replicas, configure a distributed object store (using Hazelcast or OSv2) to ensure responses are properly routed to the correct worker. If not specified, a default transient instance is used, which is recommended only for single-instance deployments.

Elicitation Polling Seconds

Number

Polling interval in seconds used to check for elicitation responses written by another replica. This setting controls how frequently the connector checks for responses that arrived on a different worker.

5

Reconnection

When the application is deployed, a connectivity test is performed on all connectors. If set to true, deployment fails if the test doesn’t pass after exhausting the associated reconnection strategy.

##### Streamable HTTP Server Exposes the MCP server using the Streamable HTTP transport, as defined in [Streamable HTTP](https://modelcontextprotocol.io/specification/2025-03-26/basic/transports#streamable-http). ###### Parameters
NameTypeDescriptionDefault ValueRequired

Request Timeout

Number

Request timeout.

10

Request Timeout Unit

Enumeration, one of:

  • NANOSECONDS

  • MICROSECONDS

  • MILLISECONDS

  • SECONDS

  • MINUTES

  • HOURS

  • DAYS

Request Timeout unit

SECONDS

Elicitation Timeout Seconds

Number

Timeout in seconds for elicitation requests. Elicitation requests sent to the client wait this long for a response before timing out.

60

Listener Config

String

Reference to the http:listener-config used to expose the SSE and messaging endpoints.

Yes

Mcp Endpoint Path

String

The endpoint path clients use to initiate the SSE connection.

/mcp

Response Content Type

Enumeration, one of:

  • JSON

  • SSE

Whether responses should be sent by initiating a SSE stream or returning a single application/json body.

SSE

Default Response Headers

Object

Custom headers to include on all valid responses (not including rejected invalid requests).

Session Idle Timeout

Number

Timeout for idle sessions.

5

Session Idle Timeout Unit

Enumeration, one of:

  • NANOSECONDS

  • MICROSECONDS

  • MILLISECONDS

  • SECONDS

  • MINUTES

  • HOURS

  • DAYS

Time unit qualifying the sessionIdleTimeout

MINUTES

Sessions Object Store

ObjectStore

An ObjectStore used to store session information. When deploying to multiple replicas, define a specific object store distributed across all replicas, either through Hazelcast or OSv2. If not specified, a default transient instance is created. Persistence must be enabled if running MCP Server listeners in a multi-worker deployment. For CloudHub 2.0, the Clustered option also must be enabled.

Elicitations Object Store

ObjectStore

ObjectStore that correlates elicitation requests and responses. For deployments with multiple replicas, configure a distributed object store (using Hazelcast or OSv2) to ensure responses are properly routed to the correct worker. If not specified, a default transient instance is used, which is recommended only for single-instance deployments.

Elicitation Polling Seconds

Number

Polling interval in seconds used to check for elicitation responses written by another replica. This setting controls how frequently the connector checks for responses that arrived on a different worker.

5

Reconnection

When the application is deployed, a connectivity test is performed on all connectors. If set to true, deployment fails if the test doesn’t pass after exhausting the associated reconnection strategy.

## Supported Operations - [MCP Server - Create Elicitation](#CreateElicitation) ## Associated Sources - [MCP Server - On New Session Listener](#OnNewSessionListener) - [MCP Server - Prompt Listener](#PromptListener) - [MCP Server - Resource listener](#ResourceListener) - [MCP Server - Tool Listener](#ToolListener) ## Operations ## MCP Client - Call Tool `` Invokes a tool on a remote MCP server. Response validation is managed by the underlying SDK; the connector doesn’t perform its own validation. ### Parameters
NameTypeDescriptionDefault ValueRequired

Configuration

String

Name of the configuration to use.

Yes

Tool Name

String

Name of the tool to invoke.

Yes

Arguments

Object

The tool’s input arguments.

#[payload]

Extract Structured Content

Boolean

Controls how the payload is exposed when a tool returns structured content. When false, the payload is the full CallToolResponse object (previous behavior). When true, if the MCP response has structured content (for example, a tool with an output schema), the payload is the structured object itself so downstream components can reference fields directly (for example, payload.temperature). If structured content is not present and the response has a single text content that is valid JSON, the text is parsed and used as the payload. In all cases, the attributes.rawMcpResponse property contains the entire MCP response in the same format as before. Any validation or schema errors from the SDK are returned to the user as MCP:SCHEMA_VALIDATION_FAILED errors.

true

Config Ref

ConfigurationProvider

Name of the configuration to use to execute this component.

Yes

Additional Properties

Object

#[null]

Target Variable

String

Name of the variable that stores the operation’s output.

Target Value

String

Expression that evaluates the operation’s output. The outcome of the expression is stored in the Target Variable field.

#[payload]

Error Mappings

Array of Error Mapping

Set of error mappings.

Reconnection Strategy

Retry strategy in case of connectivity errors.

### Output

Type

Call Tool Response

Attributes Type

Call Tool Result Attributes

### For Configurations - [Client](#Client) ### Throws - MCP:CONNECTIVITY - MCP:INTERNAL\_ERROR - MCP:INVALID\_PARAMS - MCP:INVALID\_REQUEST - MCP:JSON\_RPC\_ERROR - MCP:METHOD\_NOT\_FOUND - MCP:PARSE\_ERROR - MCP:REQUEST\_TIMEOUT - MCP:RETRY\_EXHAUSTED - MCP:SCHEMA\_VALIDATION\_FAILED - MCP:SERVER\_ERROR - MCP:UNAUTHORIZED ## MCP Client - Get Prompt `` Resolves a prompt by name in the remote MCP server and returns the rendered prompt messages. Use this operation when your Mule application (acting as an MCP client) needs to fetch a prompt that a remote MCP server exposes, optionally passing arguments that the server uses to render the prompt content. ### Parameters
NameTypeDescriptionDefault ValueRequired

Configuration

String

Name of the configuration to use.

Yes

Prompt Name

String

Name of the prompt to retrieve from the remote MCP server.

Yes

Config Ref

ConfigurationProvider

Name of the configuration to use to execute this component.

Yes

Arguments

Object

Arguments to pass to the prompt. The accepted keys and their types are defined by the remote prompt’s argument schema.

#[null]

Additional Properties

Object

Additional properties to include with the request. Use this field to specify custom key-value pairs that are sent with the MCP connector request. This field is optional and null-safe.

#[null]

Target Variable

String

Name of the variable that stores the operation’s output.

Target Value

String

Expression that evaluates the operation’s output. The outcome of the expression is stored in the Target Variable field.

#[payload]

Error Mappings

Array of Error Mapping

Set of error mappings.

Reconnection Strategy

Retry strategy in case of connectivity errors.

### Output

Type

Get Prompt Response

Attributes Type

Any

### For Configurations - [Client](#Client) ### Throws - MCP:CONNECTIVITY - MCP:INTERNAL\_ERROR - MCP:INVALID\_PARAMS - MCP:INVALID\_REQUEST - MCP:JSON\_RPC\_ERROR - MCP:METHOD\_NOT\_FOUND - MCP:PARSE\_ERROR - MCP:REQUEST\_TIMEOUT - MCP:RETRY\_EXHAUSTED - MCP:SCHEMA\_VALIDATION\_FAILED - MCP:SERVER\_ERROR - MCP:UNAUTHORIZED ## MCP Client - List Prompts `` Lists all prompts available in the remote MCP server. Each entry in the returned array includes metadata such as the prompt name, optional title, description, and the argument definitions the prompt accepts. ### Parameters
NameTypeDescriptionDefault ValueRequired

Configuration

String

Name of the configuration to use.

Yes

Config Ref

ConfigurationProvider

Name of the configuration to use to execute this component.

Yes

Streaming Strategy

Configures how Mule processes streams. Repeatable streams are the default behavior.

Additional Properties

Object

Additional properties to include with the request. Use this field to specify custom key-value pairs that are sent with the MCP connector request. This field is optional and null-safe.

#[null]

Target Variable

String

Name of the variable that stores the operation’s output.

Target Value

String

Expression that evaluates the operation’s output. The outcome of the expression is stored in the Target Variable field.

#[payload]

Error Mappings

Array of Error Mapping

Set of error mappings.

Reconnection Strategy

Retry strategy in case of connectivity errors.

### Output

Type

Array of Prompt Metadata

### For Configurations - [Client](#Client) ### Throws - MCP:CONNECTIVITY - MCP:INTERNAL\_ERROR - MCP:INVALID\_PARAMS - MCP:INVALID\_REQUEST - MCP:JSON\_RPC\_ERROR - MCP:METHOD\_NOT\_FOUND - MCP:PARSE\_ERROR - MCP:REQUEST\_TIMEOUT - MCP:RETRY\_EXHAUSTED - MCP:SCHEMA\_VALIDATION\_FAILED - MCP:SERVER\_ERROR - MCP:UNAUTHORIZED ## MCP Client - List Resources `` Lists all the available resources in the remote MCP server. ### Parameters
NameTypeDescriptionDefault ValueRequired

Configuration

String

Name of the configuration to use.

Yes

Config Ref

ConfigurationProvider

Name of the configuration to use to execute this component.

Yes

Streaming Strategy

Configures how Mule processes streams. Repeatable streams are the default behavior.

Additional Properties

Object

Additional properties to include with the request. Use this field to specify custom key-value pairs that are sent with the MCP connector request. This field is optional and null-safe.

#[null]

Target Variable

String

Name of the variable that stores the operation’s output.

Target Value

String

Expression that evaluates the operation’s output. The outcome of the expression is stored in the Target Variable field.

#[payload]

Error Mappings

Array of Error Mapping

Set of error mappings.

Reconnection Strategy

Retry strategy in case of connectivity errors.

### Output

Type

Array of Resource Metadata

### For Configurations - [Client](#Client) ### Throws - MCP:CONNECTIVITY - MCP:INTERNAL\_ERROR - MCP:INVALID\_PARAMS - MCP:INVALID\_REQUEST - MCP:INVALID\_URI - MCP:JSON\_RPC\_ERROR - MCP:METHOD\_NOT\_FOUND - MCP:PARSE\_ERROR - MCP:REQUEST\_TIMEOUT - MCP:RETRY\_EXHAUSTED - MCP:SCHEMA\_VALIDATION\_FAILED - MCP:SERVER\_ERROR - MCP:UNAUTHORIZED ## MCP Client - List Tools `` Lists all the available tools in the remote MCP server. ### Parameters
NameTypeDescriptionDefault ValueRequired

Configuration

String

Name of the configuration to use.

Yes

Config Ref

ConfigurationProvider

Name of the configuration to use to execute this component.

Yes

Streaming Strategy

Configures how Mule processes streams. Repeatable streams are the default behavior.

Additional Properties

Object

Additional properties to include with the request. Use this field to specify custom key-value pairs that are sent with the MCP connector request. This field is optional and null-safe.

#[null]

Target Variable

String

Name of the variable that stores the operation’s output.

Target Value

String

Expression that evaluates the operation’s output. The outcome of the expression is stored in the Target Variable field.

#[payload]

Error Mappings

Array of Error Mapping

Set of error mappings.

Reconnection Strategy

Retry strategy in case of connectivity errors.

### Output

Type

Array of Tool Metadata

### For Configurations - [Client](#Client) ### Throws - MCP:CONNECTIVITY - MCP:INTERNAL\_ERROR - MCP:INVALID\_PARAMS - MCP:INVALID\_REQUEST - MCP:JSON\_RPC\_ERROR - MCP:METHOD\_NOT\_FOUND - MCP:PARSE\_ERROR - MCP:REQUEST\_TIMEOUT - MCP:RETRY\_EXHAUSTED - MCP:SCHEMA\_VALIDATION\_FAILED - MCP:SERVER\_ERROR - MCP:UNAUTHORIZED ## MCP Client - Ping `` Pings the remote server. ### Parameters
NameTypeDescriptionDefault ValueRequired

Configuration

String

Name of the configuration to use.

Yes

Config Ref

ConfigurationProvider

Name of the configuration to use to execute this component.

Yes

Error Mappings

Array of Error Mapping

Set of error mappings.

Reconnection Strategy

Retry strategy in case of connectivity errors.

### Output

Type

Any

Attributes Type

Any

### For Configurations - [Client](#Client) ### Throws - MCP:CONNECTIVITY - MCP:RETRY\_EXHAUSTED ## MCP Client - Read Resource `` Reads a resource referenced by its URI. ### Parameters
NameTypeDescriptionDefault ValueRequired

Configuration

String

Name of the configuration to use.

Yes

Uri

String

Yes

Config Ref

ConfigurationProvider

Name of the configuration to use to execute this component.

Yes

Additional Properties

Object

#[null]

Target Variable

String

Name of the variable that stores the operation’s output.

Target Value

String

Expression that evaluates the operation’s output. The outcome of the expression is stored in the Target Variable field.

#[payload]

Error Mappings

Array of Error Mapping

Set of error mappings.

Reconnection Strategy

Retry strategy in case of connectivity errors.

### Output

Type

Resource Content

Attributes Type

Any

### For Configurations - [Client](#Client) ### Throws - MCP:CONNECTIVITY - MCP:INTERNAL\_ERROR - MCP:INVALID\_PARAMS - MCP:INVALID\_REQUEST - MCP:INVALID\_URI - MCP:JSON\_RPC\_ERROR - MCP:METHOD\_NOT\_FOUND - MCP:PARSE\_ERROR - MCP:REQUEST\_TIMEOUT - MCP:RETRY\_EXHAUSTED - MCP:SCHEMA\_VALIDATION\_FAILED - MCP:SERVER\_ERROR - MCP:UNAUTHORIZED ## MCP Server - Create Elicitation `` Requests an elicitation from the MCP Client. This operation sends an elicitation request via SSE and blocks until the response is received. In clustered environments, the elicitation response might arrive on a different worker, in which case it is stored in Object Store and polled. ### Parameters
NameTypeDescriptionDefault ValueRequired

Configuration

String

Name of the configuration to use.

Yes

Session Id

String

Session identifier for the connected MCP client.

Yes

Message

String

Prompt message shown to the client.

Yes

Schema Properties

Input schema presented to the client for elicitation.

Config Ref

ConfigurationProvider

Name of the configuration to use to execute this component.

Yes

Target Variable

String

Name of the variable that stores the operation’s output.

Target Value

String

Expression that evaluates the operation’s output. The outcome of the expression is stored in the Target Variable field.

#[payload]

Error Mappings

Array of Error Mapping

Set of error mappings.

### Output

Type

Elicitation Result

### For Configurations - [Server](#Server) ### Throws - MCP:INTERNAL\_ERROR - MCP:INVALID\_PARAMS - MCP:INVALID\_REQUEST - MCP:JSON\_RPC\_ERROR - MCP:METHOD\_NOT\_FOUND - MCP:PARSE\_ERROR - MCP:REQUEST\_TIMEOUT - MCP:SCHEMA\_VALIDATION\_FAILED - MCP:SERVER\_ERROR - MCP:UNAUTHORIZED ## Sources ## MCP Client - Elicitation Listener `` Listens for elicitation requests from MCP servers. When a server requires additional information during tool or resource execution, this source triggers a flow to collect that data and return it to the server. The triggered flow receives `ElicitationAttributes` containing the prompt and input schema, and must return an `ElicitationResponse` object specifying the action to take. To accept with content: ```none ``` To decline: ```none ``` To cancel: ```none ``` ### Parameters
NameTypeDescriptionDefault ValueRequired

Configuration

String

Name of the configuration to use.

Yes

Primary Node Only

Boolean

Determines whether to execute this source on only the primary node when running Mule instances in a cluster.

Config Ref

ConfigurationProvider

Name of the configuration to use to execute this component.

Yes

Redelivery Policy

Defines a policy for processing the redelivery of the same message.

Reconnection Strategy

Retry strategy in case of connectivity errors.

Response

Elicitation response to send back to the server.

### Output

Type

Object

Attributes Type

### For Configurations - [Client](#Client) ## MCP Server - On New Session Listener `` Triggers a flow when a new MCP client session is initiated. For each session connection request, the flow runs to let you review session details, validate client certificates, or apply custom authentication logic before choosing to accept or reject the session. When triggered, the flow receives a message with the session ID, relevant properties (including any custom headers), and client certificate information if present. To accept the session, let the flow complete successfully. To reject it, set the rejection parameters with your chosen error message, HTTP status code, and headers. ### Parameters
NameTypeDescriptionDefault ValueRequired

Configuration

String

Name of the configuration to use.

Yes

Primary Node Only

Boolean

Determines whether to execute this source on only the primary node when running Mule instances in a cluster.

Config Ref

ConfigurationProvider

Name of the configuration to use to execute this component.

Yes

Redelivery Policy

Defines a policy for processing the redelivery of the same message.

Reconnection Strategy

A retry strategy in case of connectivity errors

Reject With Status Code

Number

Reject With Message

String

Reject With Headers

Object

### Output

Type

New Session Request

### For Configurations - [Server](#Server) ## MCP Server - Prompt Listener `` Exposes a prompt whose messages are generated by the execution of the owning flow. The flow is executed for every received `prompts/get` request. When triggered, the flow runs with a message whose payload contains the prompt name and the arguments supplied by the client. The messages returned to the client are produced by the `` nested component. ### Parameters
NameTypeDescriptionDefault ValueRequired

Configuration

String

Name of the configuration to use.

Yes

Name

String

The prompt name. This value is what clients use to request the prompt.

Yes

Title

String

A short, human-friendly prompt title.

Description

String

A detailed enough description for an LLM to determine when this prompt should be used.

Prompt Arguments

Prompt argument definitions exposed in prompts/list. Each argument can be declared as required or optional and can include a description and a JSON schema that the client uses to validate input.

Primary Node Only

Boolean

Determines whether to execute this source only on the primary node when running Mule instances in a cluster.

Config Ref

ConfigurationProvider

Name of the configuration to use to execute this component.

Yes

Redelivery Policy

Defines a policy for processing the redelivery of the same message.

Reconnection Strategy

Retry strategy in case of connectivity errors.

Prompt Messages

Defines the prompt messages returned to the client. These parameters are evaluated when the flow finishes successfully (when the payload and variables are available).

Yes

### Output

Type

Prompt Request

Attributes Type

### For Configurations - [Server](#Server) ## MCP Server - Resource listener `` Exposes a resource whose content is generated by the execution of the owning flow. The flow is executed for every received resources/read request. The user can choose to implement the flow so that the resource content is static or to make it dynamic. For instance, a dynamic resource could be a expenses.csv file, that is actually the result of executing a live DB query. Or a static resource could be a file obtained through Amazon S3 and locally cached using the `ee:cache` component. ### Parameters
NameTypeDescriptionDefault ValueRequired

Configuration

String

Name of the configuration to use.

Yes

Name

String

Name of the resource.

Yes

Description

String

Detailed enough description for an LLM to determine when to read this resource.

Yes

Uri

String

Resource URI.

Yes

Resource Mime Type

String

Resource MIME type.

Yes

Primary Node Only

Boolean

Determines whether to execute this source on only the primary node when running Mule instances in a cluster.

Config Ref

ConfigurationProvider

Name of the configuration to use to execute this component.

Yes

Redelivery Policy

Defines a policy for processing the redelivery of the same message.

Reconnection Strategy

Retry strategy in case of connectivity errors.

Resource Listener Content

Defines the resource content and type. These parameters are evaluated when the flow finishes successfully (when the payload and variables available).

Yes

### Output

Type

Resource Request

Attributes Type

### For Configurations - [Server](#Server) ## MCP Server - Tool Listener `` Exposes a tool whose result is generated by the execution of the owning flow. The flow runs for every received tools/call request. When triggered, the flow runs with a message whose payload is a Java map holding the input arguments. The tool response is generated when the flow finishes either successfully or with error. In both cases, the response can include several content items of different types. If no error response is defined, then a text content item holding the error’s description is generated automatically. ### Parameters
NameTypeDescriptionDefault ValueRequired

Configuration

String

Name of the configuration to use.

Yes

Name

String

The tool’s name.

Yes

Description

String

A detailed enough description for an LLM to determine when this tool should be called.

Yes

Parameters Schema

String

A JSON schema defining an object whose fields act as the tool’s input arguments.

Yes

Output Schema Definition

Optional output schema definition. Choose between inline JSON schema or a file path reference.

Primary Node Only

Boolean

Determines whether to execute this source on only the primary node when running Mule instances in a cluster.

Config Ref

ConfigurationProvider

Name of the configuration to use to execute this component.

Yes

Redelivery Policy

Defines a policy for processing the redelivery of the same message.

Reconnection Strategy

Retry strategy in case of connectivity errors.

Responses

Response items when the flow finishes successfully.

Yes

On Error Responses

Content items when the flow finishes in error.

### Output

Type

Object

Attributes Type

Request Attributes

### For Configurations - [Server](#Server) ## Types ### TLS Configures TLS to provide secure communications for the Mule app.
FieldTypeDescriptionDefault ValueRequired

Enabled Protocols

String

Comma-separated list of protocols enabled for this context.

Enabled Cipher Suites

String

Comma-separated list of cipher suites enabled for this context.

Trust Store

Configures the TLS truststore.

Key Store

Configures the TLS keystore.

Revocation Check

Configures a revocation checking mechanism.

### Truststore Configures the truststore for TLS.
FieldTypeDescriptionDefault ValueRequired

Path

String

Path to the truststore. Mule resolves the path relative to the current classpath and file system.

Password

String

Password used to protect the truststore.

Type

String

Type of store.

Algorithm

String

Encryption algorithm that the truststore uses.

Insecure

Boolean

If true, Mule stops performing certificate validations. Setting this to true can make connections vulnerable to attacks.

### Keystore Configures the keystore for the TLS protocol. The keystore you generate contains a private key and a public certificate.
FieldTypeDescriptionDefault ValueRequired

Path

String

Path to the keystore. Mule resolves the path relative to the current classpath and file system.

Type

String

Type of store.

Alias

String

Alias of the key to use when the keystore contains multiple private keys. By default, Mule uses the first key in the file.

Key Password

String

Password used to protect the private key.

Password

String

Password used to protect the keystore.

Algorithm

String

Encryption algorithm that the keystore uses.

### Standard Revocation Check Configures standard revocation checks for TLS certificates.
FieldTypeDescriptionDefault ValueRequired

Only End Entities

Boolean

Which elements to verify in the certificate chain:

  • true

Verify only the last element in the certificate chain.

  • false

Verify all elements in the certificate chain.

Prefer Crls

Boolean

How to check certificate validity:

  • true

Check the Certification Revocation List (CRL) for certificate validity.

  • false

Use the Online Certificate Status Protocol (OCSP) to check certificate validity.

No Fallback

Boolean

Whether to use the secondary method to check certificate validity:

  • true

Use the method that wasn’t specified in the Prefer Crls field (the secondary method) to check certificate validity.

  • false

Don’t use the secondary method to check certificate validity.

Soft Fail

Boolean

What to do if the revocation server can’t be reached or is busy:

  • true

Avoid verification failure.

  • false

Allow the verification to fail.

### Custom OCSP Responder Configures a custom OCSP responder for certification revocation checks.
FieldTypeDescriptionDefault ValueRequired

Url

String

URL of the OCSP responder.

Cert Alias

String

Alias of the signing certificate for the OCSP response. If specified, the alias must be in the truststore.

### CRL File Specifies the location of the certification revocation list (CRL) file.
FieldTypeDescriptionDefault ValueRequired

Path

String

Path to the CRL file.

### Reconnection Configures a reconnection strategy for an operation.
FieldTypeDescriptionDefault ValueRequired

Fails Deployment

Boolean

When the application is deployed, a connectivity test is performed on all connectors. If set to true, deployment fails if the test doesn’t pass after exhausting the associated reconnection strategy.

Reconnection Strategy

Reconnection strategy to use.

### Reconnect
FieldTypeDescriptionDefault ValueRequired

Frequency

Number

How often in milliseconds to reconnect.

Count

Number

How many reconnection attempts to make.

blocking

Boolean

If false, the reconnection strategy runs in a separate, non-blocking thread.

true

### Reconnect Forever
FieldTypeDescriptionDefault ValueRequired

Frequency

Number

How often in milliseconds to reconnect.

blocking

Boolean

If false, the reconnection strategy runs in a separate, non-blocking thread.

true

### Expiration Policy Configures an expiration policy strategy.
FieldTypeDescriptionDefault ValueRequired

Max Idle Time

Number

Configures the maximum amount of time that a dynamic configuration instance can remain idle before Mule considers it eligible for expiration.

Time Unit

Enumeration, one of:

  • NANOSECONDS

  • MICROSECONDS

  • MILLISECONDS

  • SECONDS

  • MINUTES

  • HOURS

  • DAYS

Time unit for the Max Idle Time field.

### Elicitation Attributes Attributes available in flows triggered by `Elicitation Listener`. Extends [Request Attributes](#RequestAttributes) to include elicitation-specific fields.
FieldTypeDescriptionDefault ValueRequired

Session Id

String

Session identifier for the connected MCP client.

Yes

Request Id

String

Unique identifier for the elicitation request.

Yes

Additional Properties

Object

Additional values attached to the request as HTTP headers.

Yes

Client Certificate

Client certificate used to authenticate the request.

No

### Elicitation Response Response structure for elicitation requests. This is returned by client flows handling elicitation requests from servers.
FieldTypeDescriptionDefault ValueRequired

Action

Enumeration, one of:

  • ACCEPT

  • DECLINE

  • CANCEL

Client response action. Valid values are:

  • ACCEPT

    Client provides the requested data in the Content field

  • DECLINE

    Client refuses to provide data and the Content field should be null

  • CANCEL

    Client cancels the entire operation and the Content field should be null

Yes

Content

Object

Response content when action is ACCEPT.

### Elicitation Result Result returned by the **Create Elicitation** operation to server flows. Contains the client’s response to an elicitation request.
FieldTypeDescriptionDefault ValueRequired

Action

Enumeration, one of:

  • ACCEPT

  • DECLINE

  • CANCEL

Client response action. Valid values are:

  • ACCEPT

    Client provides the requested data in the Content field

  • DECLINE

    Client refuses to provide data and the Content field should be null

  • CANCEL

    Client cancels the entire operation and the operation throws an MCP:OPERATION_CANCELLED error.

Yes

Content

Object

Response content when action is ACCEPT.

### Boolean Schema Property
FieldTypeDescriptionDefault ValueRequired

Default Value

Boolean

Default value for the property.

false

Name

String

Property name.

Yes

Description

String

Property description.

Required

Boolean

Whether the property is required.

false

### Enum Schema Property
FieldTypeDescriptionDefault ValueRequired

Enum Entries

Object

Allowed values for the property.

Yes

Name

String

Property name.

Yes

Description

String

Property description.

Required

Boolean

Whether the property is required.

false

### Integer Schema Property
FieldTypeDescriptionDefault ValueRequired

Minimum

Number

Minimum accepted value.

Maximum

Number

Maximum accepted value.

Default Value

Number

Default value.

Name

String

Property name.

Yes

Description

String

Property description.

Required

Boolean

Whether the property is required.

false

### Number Schema Property
FieldTypeDescriptionDefault ValueRequired

Minimum

Number

Minimum accepted value.

Maximum

Number

Maximum accepted value.

Default Value

Number

Default value.

Name

String

Property name.

Yes

Description

String

Property description.

Required

Boolean

Whether the property is required.

false

### String Schema Property
FieldTypeDescriptionDefault ValueRequired

Min Length

Number

Minimum string length.

Max Length

Number

Maximum string length.

Pattern

String

Validation regex pattern.

Default Value

String

Default value.

Name

String

Property name.

Yes

Description

String

Property description.

Required

Boolean

Whether the property is required.

false

### Call Tool Response Response obtained from calling a tool as a client.
FieldTypeDescriptionDefault ValueRequired

Contents

The contents generated by the tool

Yes

Error

Boolean

Whether the tool execution was successful or errored out. Notice that even in case of error, contents might have been generated.

false

### Call Tool Response Content
FieldTypeDescriptionDefault ValueRequired

Type

Enumeration, one of:

  • text

  • image

  • resource

Content type.

Yes

Text

String

Content’s payload when type is text.

Mime Type

String

Content’s MIME type.

Data

Binary

Content’s payload when type is image.

Resource

Content’s payload when type is resource.

Audience

Array of Enumeration, one of:

  • USER

  • ASSISTANT

Describes who the intended consumer of this data is. It can include multiple entries to indicate content useful for multiple audiences.

Priority

Number

Describes how important this data is for operating the server. A value of 1 means "most important", which indicates that the data is required. A value of 0 means "least important", which indicates that the data is entirely optional.

### Resource Content A flattened representation of a resource content. The resource can be either text or blob types. The text property is set for text resources, while the blob type is used for the latter.
FieldTypeDescriptionDefault ValueRequired

Uri

String

Resource URI.

Yes

Mime Type

String

Resource MIME type.

Yes

Text

String

Content of a text resource. Null for BLOB data types.

Blob

Binary

Content of a BLOB resource. Null for text data types.

### Error Mapping
FieldTypeDescriptionDefault ValueRequired

Source

Enumeration, one of:

  • ANY

  • REDELIVERY_EXHAUSTED

  • TRANSFORMATION

  • EXPRESSION

  • SECURITY

  • CLIENT_SECURITY

  • SERVER_SECURITY

  • ROUTING

  • CONNECTIVITY

  • RETRY_EXHAUSTED

  • TIMEOUT

Target

String

Yes

### Resource Metadata
FieldTypeDescriptionDefault ValueRequired

Uri

String

Resource URI.

Yes

Name

String

Name of the resource.

Yes

Description

String

Description of the resource.

Yes

Mime Type

String

MIME type of the resource.

Yes

### Repeatable In Memory Iterable
FieldTypeDescriptionDefault ValueRequired

Initial Buffer Size

Number

The amount of memory to allocate to consume the stream and provide random access to it. If the stream contains more data than can fit into this buffer, then the buffer expands according to the Buffer Size Increment value, with an upper limit of the Max In Memory Size value. instances.

100

Buffer Size Increment

Number

Amount by which the buffer size expands if it exceeds its initial size. Setting a value of 0 or lower specifies that the buffer can’t expand.

100

Max Buffer Size

Number

Maximum size of the buffer. If the buffer size exceeds this value, Mule raises a STREAM_MAXIMUM_SIZE_EXCEEDED error. A value of less than or equal to 0 means no limit.

### Repeatable File Store Iterable
FieldTypeDescriptionDefault ValueRequired

In Memory Objects

Number

Maximum number of instances to keep in memory. If more than the maximum is required, content on the disk is buffered.

Buffer Unit

Enumeration, one of:

  • BYTE

  • KB

  • MB

  • GB

Unit for the In Memory Objects field.

### Tool Metadata Describes a tool through its properties.
FieldTypeDescriptionDefault ValueRequired

Name

String

Name of the tool.

Yes

Description

String

A detailed enough description for an LLM to determine when to call this tool.

Yes

Input Schema

String

JSON Schema describing the tool’s input parameters.

Yes

### New Session Request Contains the data associated to a client requiring the creation of a new server session.
FieldTypeDescriptionDefault ValueRequired

Session Id

String

Yes

Additional Properties

Object

Yes

Client Certificate

### Certificate Data
FieldTypeDescriptionDefault ValueRequired

Basic Constraints

Number

Critical Extension OI Ds

Array of String

Encoded

Binary

Extended Key Usage

Array of String

Extensions

Issuer Alternative Names

Issuer DN

Issuer Unique ID

Array of Boolean

Issuer X500 Principal

Key Usage

Array of Boolean

Name

String

Non Critical Extension OI Ds

Array of String

Not After

Date

Not Before

Date

Public Key

Serial Number

Number

Serial Number Object

Sig Alg Name

String

Sig Alg OID

String

Sig Alg Params

Binary

Signature

Binary

Subject Alternative Names

Subject DN

Subject X500 Principal

Type

String

Version

Number

### Certificate Extension
FieldTypeDescriptionDefault ValueRequired

Criticality

Boolean

Oid

String

Value

Binary

### Alternative Name Data
FieldTypeDescriptionDefault ValueRequired

Name

String

Type

Number

### Principal Data
FieldTypeDescriptionDefault ValueRequired

Common Name

String

Name

String

### X500 Principal Data
FieldTypeDescriptionDefault ValueRequired

Name

String

### Public Key Data
FieldTypeDescriptionDefault ValueRequired

Algorithm

String

Encoded

Binary

Modulus

Number

Params

Number

Public Key

String

### Serial Number Data
FieldTypeDescriptionDefault ValueRequired

Serial Number

Number

### Redelivery Policy Configures the redelivery policy for executing requests that generate errors. You can add a redelivery policy to any source in a flow.
FieldTypeDescriptionDefault ValueRequired

Max Redelivery Count

Number

Maximum number of times that a redelivered request can be processed unsuccessfully before returning a REDELIVERY_EXHAUSTED error.

Message Digest Algorithm

String

Secure hashing algorithm to use if the Use Secure Hash field is true. If the payload of the message is a Java object, Mule ignores this value and returns the value that the payload’s hashCode() returned.

Message Identifier

One or more expressions that determine if a message was redelivered. This property can be set only if the Use Secure Hash field is false.

Object Store

ObjectStore

Configures the object store that stores the redelivery counter for each message.

### Redelivery Policy Message Identifier Configures how to identify a redelivered message and how to find out when the message was redelivered.
FieldTypeDescriptionDefault ValueRequired

Use Secure Hash

Boolean

If true, Mule uses a secure hash algorithm to identify a redelivered message.

Id Expression

String

One or more expressions that determine when a message was redelivered. You can set this property only if the Use Secure Hash field is false.

### Resource Request An inbound request for a resource, used when the connector is acting as an MCP server.
FieldTypeDescriptionDefault ValueRequired

Requested Uri

String

Yes

### Request Attributes
FieldTypeDescriptionDefault ValueRequired

Session Id

String

Yes

Request Id

String

Yes

Additional Properties

Object

Additional values attached to the request as HTTP Headers.

Yes

Client Certificate

Client certificate used to authenticate the request.

### Text Tool Response Content Defines a text content that’s part of the response of a tool implemented through this connector.
FieldTypeDescriptionDefault ValueRequired

Text

String

Text content.

Yes

Audience

Array of Enumeration, one of:

  • USER

  • ASSISTANT

Describes who the intended consumer of this data is. It can include multiple entries to indicate content that’s useful for multiple audiences.

Priority

Number

Describes how important this data is for operating the server. A value of 1 means "most important", which indicates that the data is required. A value of 0 means "least important", which indicates that the data is entirely optional.

### Image Tool Response Content Defines an image content that’s part of the response of a tool implemented through this connector.
FieldTypeDescriptionDefault ValueRequired

Audience

Array of Enumeration, one of:

  • USER

  • ASSISTANT

Describes who the intended consumer of this data is. It can include multiple entries to indicate content useful for multiple audiences.

Priority

Number

Describes how important this data is for operating the server. A value of 1 means "most important", which indicates that the data is required. A value of 0 means "least important", which indicates that the data is entirely optional.

Data

Binary

The raw image content, without Base64 encoding.

Mime Type

String

The image MIME type.

### Text Resource Tool Response Content Defines an embedded text resource that’s part of the response of a tool implemented through this connector.
FieldTypeDescriptionDefault ValueRequired

Audience

Array of Enumeration, one of:

  • USER

  • ASSISTANT

Describes who the intended consumer of this data is. It can include multiple entries to indicate content useful for multiple audiences.

Priority

Number

Describes how important this data is for operating the server. A value of 1 means "most important", which indicates that the data is required. A value of 0 means "least important", which indicates that the data is entirely optional.

Uri

String

Resource URI.

Mime Type

String

The resource MIME type.

Text

String

Resource text.

### Blob Resource Tool Response Content Defines an embedded blob resource that’s part of the response of a tool implemented through this connector.
FieldTypeDescriptionDefault ValueRequired

Audience

Array of Enumeration, one of:

  • USER

  • ASSISTANT

Describes who the intended consumer of this data is. It can include multiple entries to indicate content useful for multiple audiences.

Priority

Number

Describes how important this data is for operating the server. A value of 1 means "most important", which indicates that the data is required. A value of 0 means "least important", which indicates that the data is entirely optional.

Blob

Binary

The raw resource content, without Base64 encoding.

Yes

Uri

String

Resource URI.

Mime Type

String

The resource MIME type.

### Text Resource Defines a text resource.
FieldTypeDescriptionDefault ValueRequired

Text

String

Text content.

Yes

### Blob Resource Defines the contents of a Blob resource.
FieldTypeDescriptionDefault ValueRequired

Blob

Binary

The raw blob content, without Base64 encoding.

Yes

### Custom Header Configures a custom header to be included in requests or responses.
NameTypeDescriptionDefault ValueRequired

Key

String

The header name.

Yes

Value

String

The header value. Supports property placeholders and DataWeave expressions.

Yes

### Call Tool Result Attributes Attributes returned with the `CallTool` response. Use these attributes to inspect whether the remote tool returned structured content and to access the raw response.
FieldTypeDescriptionDefault ValueRequired

Structured Content

Boolean

true when the remote tool returned structured content and the payload was set to the structured object (or to JSON parsed from a single text content).

Raw Response

The full tool response returned by the server, including all content items. Useful when Extract Structured Content is true and you still need the original response.

### Get Prompt Response Response returned by `prompts/get`.
FieldTypeDescriptionDefault ValueRequired

Description

String

Optional description of the prompt returned by the server.

Messages

The rendered prompt messages.

Yes

### Prompt Message Response A single rendered prompt message.
FieldTypeDescriptionDefault ValueRequired

Role

String

Role associated with the message (typically user or assistant).

Yes

Content

The content of the prompt message.

Yes

### Prompt Metadata Prompt metadata returned by `prompts/list`.
FieldTypeDescriptionDefault ValueRequired

Name

String

Prompt name.

Yes

Title

String

Short, human-friendly title.

Description

String

Description of the prompt.

Arguments

Argument definitions for the prompt.

### Prompt Argument Metadata Description of a single argument supported by a prompt on a remote MCP server.
FieldTypeDescriptionDefault ValueRequired

Name

String

Argument name.

Yes

Title

String

Short, human-friendly title.

Description

String

Description of the argument.

Required

Boolean

Whether the argument is required.

false

### Prompt Request Input payload for `` flows.
FieldTypeDescriptionDefault ValueRequired

Prompt Name

String

The prompt name that was requested.

Yes

Arguments

Object

Map of arguments provided by the client.

### Prompt Argument Prompt argument definition exposed in `prompts/list`.
FieldTypeDescriptionDefault ValueRequired

Name

String

Argument name.

Yes

Description

String

Description of the argument.

Required

Boolean

Whether the argument is required.

false

### Inline Output Schema Defines an inline JSON schema for the tool’s output structure. The schema content is provided directly as text.
FieldTypeDescriptionDefault ValueRequired

Output Schema

String

The JSON schema content.

Yes

### File Output Schema Defines a file-based JSON schema for the tool’s output structure. The schema is loaded from a classpath resource (for example, a file under src/main/resources/ in the Mule project).
FieldTypeDescriptionDefault ValueRequired

Output Schema File

String

The path to the JSON schema file.

Yes

### Text Prompt Message Content A text-based prompt message content.
FieldTypeDescriptionDefault ValueRequired

Text

String

The message text. Supports DataWeave expressions.

Yes

Role

Enumeration, one of:

  • USER

  • ASSISTANT

Role associated with the message.

Audience

Array of Enumeration, one of:

  • USER

  • ASSISTANT

Describes who the intended consumer of this data is. It can include multiple entries to indicate content useful for multiple audiences.

Priority

Number

Describes how important this data is for operating the server. A value of 1 means "most important", which indicates that the data is required. A value of 0 means "least important", which indicates that the data is entirely optional.

### Image Prompt Message Content An image-based prompt message content. Image data can be provided inline (via a DataWeave expression) or by selecting a file from the project’s classpath resources. The connector Base64-encodes the data internally.
FieldTypeDescriptionDefault ValueRequired

Image Data

The image data provided either inline (base64-encoded) or as a file reference.

Yes

Mime Type

String

The image MIME type.

Yes

Role

Enumeration, one of:

  • USER

  • ASSISTANT

Role associated with the message.

Audience

Array of Enumeration, one of:

  • USER

  • ASSISTANT

Describes who the intended consumer of this data is. It can include multiple entries to indicate content useful for multiple audiences.

Priority

Number

Describes how important this data is for operating the server. A value of 1 means "most important", which indicates that the data is required. A value of 0 means "least important", which indicates that the data is entirely optional.

### Embedded Resource Prompt Message Content An embedded resource prompt message content. The resource content (text or blob) is bundled directly inside the prompt message. Choose Text or Blob from the resource content dropdown, matching the same pattern used by the Resource Listener.
FieldTypeDescriptionDefault ValueRequired

Uri

String

Resource URI.

Yes

Mime Type

String

The resource MIME type.

Yes

Resource Content

The resource content (text or blob).

Yes

Role

Enumeration, one of:

  • USER

  • ASSISTANT

Role associated with the message.

Audience

Array of Enumeration, one of:

  • USER

  • ASSISTANT

Describes who the intended consumer of this data is. It can include multiple entries to indicate content useful for multiple audiences.

Priority

Number

Describes how important this data is for operating the server. A value of 1 means "most important", which indicates that the data is required. A value of 0 means "least important", which indicates that the data is entirely optional.

### Resource Link Prompt Message Content A resource link prompt message content that references an external resource by URI.
FieldTypeDescriptionDefault ValueRequired

Uri

String

Resource URI.

Yes

Name

String

Name of the linked resource.

Title

String

Human-friendly title.

Description

String

Description.

Mime Type

String

MIME type of the linked resource.

Size

Number

Size of the linked resource.

Role

Enumeration, one of:

  • USER

  • ASSISTANT

Role associated with the message.

Audience

Array of Enumeration, one of:

  • USER

  • ASSISTANT

Describes who the intended consumer of this data is. It can include multiple entries to indicate content useful for multiple audiences.

Priority

Number

Describes how important this data is for operating the server. A value of 1 means "most important", which indicates that the data is required. A value of 0 means "least important", which indicates that the data is entirely optional.

### Text Embedded Resource Text-based embedded resource.
FieldTypeDescriptionDefault ValueRequired

Text

String

The text content.

Yes

### Blob Embedded Resource Binary embedded resource.
FieldTypeDescriptionDefault ValueRequired

Blob

Binary

The raw blob content, without Base64 encoding.

Yes

### Inline Image Data Provides image data inline via a DataWeave expression that resolves to binary content. The connector Base64-encodes the data internally before sending it over MCP.
FieldTypeDescriptionDefault ValueRequired

Image Data

Binary

The image data.

Yes

### File Image Data Provides image data by referencing a file in the project’s classpath resources. The connector reads and Base64-encodes the file content at runtime before sending it over MCP.
FieldTypeDescriptionDefault ValueRequired

Image File

String

The path to the image file.

Yes

### Text Prompt Response Content Text content in a prompt response.
FieldTypeDescriptionDefault ValueRequired

Text

String

The text content.

Yes

### Image Prompt Response Content Image content in a prompt response. The data is the raw image bytes (already decoded from Base64).
FieldTypeDescriptionDefault ValueRequired

Mime Type

String

The image MIME type.

Yes

Data

Binary

The image data.

Yes

### Embedded Resource Prompt Response Content Embedded resource content in a prompt response. The resource content (text or blob) is bundled directly inside the prompt message.
FieldTypeDescriptionDefault ValueRequired

Resource

The embedded resource payload.

Yes

### Resource Link Prompt Response Content Resource link content in a prompt response. References an external resource by URI.
FieldTypeDescriptionDefault ValueRequired

Uri

String

Resource URI.

Yes

Name

String

Name of the linked resource.

Title

String

Human-friendly title.

Description

String

Description.

Mime Type

String

MIME type of the linked resource.

Size

Number

Size of the linked resource.

## See Also - [Using Anypoint Code Builder to Configure a Connector](https://docs.mulesoft.com/connectors/introduction/intro-config-use-acb) - [Using Studio to Configure a Connector](https://docs.mulesoft.com/connectors/introduction/intro-config-use-studio) - [MCP Connector Overview](https://docs.mulesoft.com/mcp-connector/1.6/) - [MuleSoft Help Center](https://help.mulesoft.com) --- product: MCP Connector version: 1.6 --- # MCP Connector 1.6 XML and Maven Support > For the full documentation index, see: https://docs.mulesoft.com/llms.txt Although you can manually code a Mule app in XML, it is more efficient to use Anypoint Code Builder or Studio: - If you manually code a Mule runtime engine (Mule) app in XML, either from the Anypoint Code Builder or Studio XML editor, or from a text editor, you can access the connector from your app by adding reference statements to both your XML Mule flow and the Apache Maven `pom.xml` file. - If you add the connector in Anypoint Code Builder or Studio, the XML is automatically populated the code with the connector’s namespace and schema location and it also adds a dependency to the `pom.xml` file. ## Add a Namespace for the Connector Paste the following code inside the `mule` tag of the header of your configuration XML: ```xml http://www.mulesoft.org/schema/mule/mcp http://www.mulesoft.org/schema/mule/mcp/current/mule-mcp.xsd ``` This example shows how the namespace statements are placed in the `` XML block: ```xml ``` ## Add a POM File Dependency The Apache Maven `pom.xml` file generated by Anypoint Studio contains dependencies for a Mule app. If you code a Mule app manually, include this XML snippet in your `pom.xml` file to enable access to this connector: ```xml com.mulesoft.connectors mule-mcp-connector x.x.x mule-plugin ``` Replace `x.x.x` with the version that corresponds to the connector you are using. To obtain the most up-to-date `pom.xml` file information: 1. Go to [Anypoint Exchange](https://www.mulesoft.com/exchange/). 2. In Exchange, click **Login** and supply your Anypoint Platform username and password. 3. In Exchange, search for `mcp`. 4. Select the connector. 5. Click **Dependency Snippets** near the upper right of the screen. ## Next Step After completing your namespace and pom.xml file, you can try the [Examples](https://docs.mulesoft.com/mcp-connector/1.6/mcp-connector-examples). ## See Also - [Introduction to Anypoint Connectors](https://docs.mulesoft.com/connectors/introduction/introduction-to-anypoint-connectors) - [Salesforce Help](https://help.salesforce.com) --- product: MCP Connector version: 1.7 is-latest-version: true --- # MCP Connector 1.7 > For the full documentation index, see: https://docs.mulesoft.com/llms.txt Anypoint Connector for MCP (MCP Connector) uses the Model Context Protocol (MCP) to enable AI clients that support MCP to invoke and interact with APIs, connectors, and apps. Use MCP Connector to connect LLM applications with your APIs. Expose APIs with complex endpoints as simpler, more atomic tools or resources that are better suited for agentic clients. Decide on what is straightforward, repeatable, and optimal for agent actions, and start there. MCP is an open protocol that enables integration between LLM applications and external data, services, and tools. The MCP protocol: - Enhances AI precision by supplying AI with relevant information, leading to more accurate responses. - Empowers AI to manage intricate tasks that require access to external data or services. - Promotes interoperability between AI models and external systems, simplifying integration into workflows. MCP Connector: - Enables you to expose your Mule apps, connectors, and custom APIs using the MCP protocol to further enable agentic experiences from agents in Claude, Cursor, Windsurf, and your own agents. - Enables you to write Mule apps that can act as both an MCP server and a client. The resulting MCP server or client runs inside of Mule, which means you don’t need to configure your own hosting environment. - When acting as an MCP server, Mule allows AI clients to use existing API-led investments, legacy systems, and SaaS applications that don’t natively support MCP. - When acting as an MCP client, Mule helps you create connections and orchestrations where AI agents are added as just another system in the workflow. - Allows you to incorporate AI agents into your existing Enterprise ecosystem, using Mule as the orchestration layer. - Supports Streamable HTTP (recommended) and SSE (deprecated) for both server and client [transport methods](#connection-types). - Supports custom response headers on every exposed endpoint, including `/sse`, `/message`, and `/mcp`. Use custom response headers for security, operational, integration, and governance benefits. - Provides distributed tracing support, enabling comprehensive monitoring and observability of MCP interactions across distributed systems. This makes the capabilities of your Mule APIs and applications available to a growing ecosystem of AI agents. For information about compatibility and fixed issues, see the MCP Connector Release Notes. ## Before You Begin To use this connector, you must be familiar with: - Anypoint Connectors - Mule runtime engine (Mule) - Elements and global elements in a Mule flow - How to create a Mule app using Anypoint Code Builder or Anypoint Studio Before creating an app, you must have: - Java 17 - Apache Maven - Anypoint Platform - Credentials to connect with the target resource - The latest versions of Anypoint Code Builder or Anypoint Studio ## Common Use Cases for the Connector These are some common use cases for the connector: - Customer Service Use AI agents to help human agents be more efficient by handling time-intensive tasks like reviewing case histories, analyzing reported issues, and retrieving relevant information. - Sales Improve sales teams' success by accelerating prospect research, generating customized collateral, and preparing contracts. - Marketing Empower marketing teams with AI-driven support for drafting social media content, conducting market research, and analyzing campaign performance. ## Connection Types - Streamable HTTP Allows you to deploy multiple instances of your MCP server to run behind a load balancer without clients knowing about the individual server URLs. Clients connect to a single endpoint (like `/mcp`) and the load balancer distributes requests across all your MCP server instances. This is particularly useful for scalability in cloud environments, where you might have multiple replicas of your Mule app running. When acting as an MCP client, use Streamable HTTP to connect your Mule application to remote MCP servers using the same scalable, load-balanced approach. - SSE Client (Deprecated) Enables MCP Connector to establish a persistent, one-way (server-sent) connection to an MCP server using the Server-Sent Events (SSE) standard. This type of connection allows the MCP server to push real-time updates and messages to the client without the need for the client to constantly poll for new information. - SSE Server (Deprecated) Exposes the MCP server using the Server-Sent Events (SSE) transport. This allows MCP clients to establish persistent, one-way connections to this server to receive real-time updates and messages. ### Streamable HTTP Limitations The Streamable HTTP connection type has no support for: - Calling the GET `/mcp` endpoint for getting notifications - Resumability and Redelivery ### SSE Limitations > [!WARNING] The SSE server transport (``) is supported only in > single-replica deployments. In any deployment with more than one replica (CloudHub 2 with replica > count greater than one, Runtime Fabric with multi-replica deployments, on-premises clusters, or > CloudHub 1 with multiple workers), use the Streamable HTTP server transport instead. This applies to the SSE _server_ transport. The SSE _client_ connection (``) is unaffected because it makes an outbound connection to a remote MCP server. ## Next Step After you complete the prerequisites, you’re ready to create an app and configure the connector using [Anypoint Studio](https://docs.mulesoft.com/mcp-connector/latest/mcp-connector-studio) or [Anypoint Code Builder](https://docs.mulesoft.com/mcp-connector/latest/mcp-connector-acb). ## See Also - [Anypoint Connectors Overview](https://docs.mulesoft.com/connectors/introduction/introduction-to-anypoint-connectors) - [Using Anypoint Code Builder to Configure a Connector](https://docs.mulesoft.com/connectors/introduction/intro-config-use-acb) - [Using Anypoint Studio to Configure a Connector](https://docs.mulesoft.com/connectors/introduction/intro-config-use-studio) - [MCP Connector Reference](https://docs.mulesoft.com/mcp-connector/latest/mcp-connector-reference) - [MuleSoft MCP Support: Get Started With Model Context Protocol](https://blogs.mulesoft.com/news/model-context-protocol/) - [Model Context Protocol](https://modelcontextprotocol.io/docs/getting-started/intro) - [MuleSoft Help Center](https://help.mulesoft.com) --- product: MCP Connector version: 1.7 is-latest-version: true --- # MCP Connector 1.7 - Applying Security to the MCP Server > For the full documentation index, see: https://docs.mulesoft.com/llms.txt MCP Connector enables server-side authentication for MCP clients. In these examples, it uses the stateful Server-Sent Events (SSE) connection and the **On New Session Listener** source to implement custom security logic, including OAuth access token validation. > [!WARNING] The SSE server transport (``) is supported only in > single-replica deployments. For multi-replica deployments, use Streamable HTTP server transport > (``). ## Configure Elicitations for Multi-Replica Deployments When using Streamable HTTP in multi-replica deployments, configure **Elicitations Object Store** with a distributed object store so elicitation responses can be routed back to the replica that initiated the request. **Elicitation Polling Seconds** controls how often the initiating replica polls the shared store for cross-replica responses. Keep this interval shorter than the elicitation timeout and tune it based on load and latency requirements. ## Server-Side Authentication With On New Session Listener The MCP specification emphasizes session management and SSE connections maintain state. The **On New Session Listener** source offers a key point for implementing server-side authentication. This example illustrates a basic flow triggered by this listener, showing how to access the auto-generated `sessionId` and the HTTP headers sent by the connecting client, which can then be used for custom authentication logic. This is an example flow that uses the **On New Session Listener** source: ```xml ``` The flow executes each time a new client connects to the MCP server application. The payload contains the auto-generated `sessionId` and the `additionalProperties`, which when using the SSE connection type, maps to the request HTTP headers. At this point, you can implement your own authentication logic. For instance, the `#[payload.additionalProperties.authorization]` expression gets the HTTP authorization header, which you can validate later. ### Validate OAuth Access Tokens Optionally, you can use the [Mule OAuth 2.0 Provider](https://docs.mulesoft.com/api-manager/latest/mule-oauth-provider-landing-page) to implement and validate OAuth access tokens. In this example flow, the access token is validated using the OAuth provider, and the session is rejected if the token is invalid: ```xml ``` The new session is rejected if either of these things happen: - The `rejectWithStatusCode` parameter is assigned a non-null value (or an expression that resolves to a non-null value), or - The flow fails, in which case a status code 500 is reported. In this example, the OAuth validation error is handled so that the status code is mapped to a `401 - UNAUTHORIZED` code. ## Client-Side Authentication In the client, the authentication parameter accepts all the authentication strategies defined in HTTP Connector, and [OAuth Module](https://docs.mulesoft.com/oauth-module/latest/) if it’s also added to the project. Operations like **Call Tool** also accept additional properties, which map to request headers. This behavior makes it possible to add custom authentication headers like API keys, for example: ```xml ``` ## Next Step After you configure the connector, you can try the [Examples](https://docs.mulesoft.com/mcp-connector/latest/mcp-connector-examples). ## See Also - [Introduction to Anypoint Connectors](https://docs.mulesoft.com/connectors/introduction/introduction-to-anypoint-connectors) - [MuleSoft Help Center](https://help.mulesoft.com) --- product: MCP Connector version: 1.7 is-latest-version: true --- # MCP Connector 1.7 - Examples > For the full documentation index, see: https://docs.mulesoft.com/llms.txt These are some examples of how to use existing APIs to build agents using MCP Connector. ## Create an MCP Server and Tools These examples show you the process of creating an MCP server within your Mule app and defining two distinct tools that the MCP server exposes: one for retrieving a dynamic list of approved vendors with their product categories, and another for initiating the creation of purchase orders with specified details. These examples illustrate the concept of MCP tools as invocable Remote Procedure Calls (RPCs). ### Create the MCP Server Configuration This example demonstrates how to configure an MCP server within your Mule application using the Streamable HTTP transport. When acting as an MCP client, MuleSoft facilitates the creation of integrations and orchestrations where AI Agents are integrated as just another system in the workflow. ```xml <<1>> <<2>> <<3>> ```
1The HTTP listener configuration defines the endpoint where the MCP server is exposed.
2The MCP server configuration uses the Streamable HTTP transport.
3Property placeholders are used for configuration values to support different environments.
### Create a Tool That Provides a List of Vendors This example illustrates how to create an MCP tool that retrieves a dynamic list of approved vendors from an external system (in this case, SAP Concur). The example demonstrates how to use the `` to define a callable tool and how to process the data to provide the agent with relevant vendor information, including their assigned product category from the `Custom19` field. First, set up the SAP Concur configuration with retry and timeout settings: ```xml <<1>> <<2>> 30 <<3>> SECONDS <<4>> 3600000 MILLISECONDS ```
1The SAP Concur configuration includes OAuth authentication settings.
2A reconnection strategy is configured to handle temporary connection issues.
3Request timeout is set to 30 seconds to prevent hanging requests.
4A cache configuration is added to improve performance with a one hour TTL.
Now, create the main flow that handles vendor retrieval with pagination and caching: ```xml <<1>> Get all approved vendors with optional pagination > "$schema": "http://json-schema.org/draft-07/schema#", "type": "object", "properties": { "pageSize": { "type": "integer", "description": "Number of vendors to return per page", "minimum": 1, "maximum": 100, "default": 50 }, "pageNumber": { "type": "integer", "description": "Page number to retrieve", "minimum": 1, "default": 1 } }, "required": [] }]]> <<3>> <<4>> <<5>> ```
1The <mcp:tool-listener> defines the interface for the vendor retrieval tool with pagination support.
2The <mcp:parameters-schema> schema includes validation for page size and page number.
3The cache component improves performance by storing results for 1 hour.
4The DataWeave transformation filters approved vendors and adds pagination metadata.
5Error handling covers connectivity, authentication, and unexpected errors.
### Create a Tool That Creates Purchase Orders This example demonstrates the creation of an MCP tool that allows an agent to initiate the creation of a purchase order in SAP Concur. The example highlights how to define input parameters for a tool using a JSON schema, including natural language descriptions for each parameter to help the LLM in understanding and populating the required information. ```xml <<1>> Create a new purchase order in SAP Concur with validation > "$schema": "http://json-schema.org/draft-07/schema#", "type": "object", "properties": { "name": { "type": "string", "description": "Name for the purchase order.", "minLength": 1, "maxLength": 100 }, "description": { "type": "string", "description": "Purchase order description.", "minLength": 1, "maxLength": 500 }, "vendorCode": { "type": "string", "description": "Code that identifies the vendor.", "pattern": "^[A-Z0-9]{3,10}$" }, "itemDescription": { "type": "string", "description": "Description of the item purchased in this order.", "minLength": 1, "maxLength": 200 }, "price": { "type": "number", "description": "Monetary amount of the purchase order.", "minimum": 0.01, "maximum": 999999.99 }, "currency": { "type": "string", "description": "Currency code for the purchase order monetary amount.", "pattern": "^[A-Z]{3}$" } }, "required": ["name", "description", "vendorCode", "itemDescription", "price", "currency"] }]]> <<3>> <<4>> <<5>> ```
1The tool listener defines the purchase order creation interface with comprehensive input validation.
2The parameters schema includes validation rules for all fields, including length limits and patterns.
3A vendor existence check is performed before creating the purchase order.
4The DataWeave transformation validates the vendor check response.
5Error handling covers connectivity, authentication, validation, and unexpected errors.
## Configure the MCP Client to Use Third-Party MCP Servers The previous examples showed you how to write tools that draw from existing Anypoint Connectors. Now, take a look at how to use third-party MCP servers. ### Create a Weather Service Using Multiple MCP Servers This example shows how to integrate your Mule applications with existing third-party MCP servers using Streamable HTTP transport by configuring the MCP Client and using the **Call Tool** operation. > [!NOTE] When connecting to third-party MCP servers, ensure they support Streamable HTTP transport. > If a third-party server only supports SSE transport, you may need to use the SSE client connection > or contact the service provider for Streamable HTTP support. First, set up the client configurations with timeout and retry settings: ```xml <<1>> 30 SECONDS <<2>> <<3>> ```
1The HTTP request configuration includes timeout and retry settings for the weather API.
2The Google Maps MCP client configuration uses Streamable HTTP transport with custom headers and reconnection settings.
3The Weather MCP server configuration uses Streamable HTTP transport and exposes the weather service endpoints with custom headers.
Now, create the weather service flows with error handling and caching: ```xml <<1>> 900000 MILLISECONDS <<2>> Provides the weather at given coordinates expressed as latitude and longitude <<3>> <<4>> Provides the weather at a specific address <<5>> ```
1The cache configuration stores weather data for 15 minutes to reduce API calls.
2The coordinates-based weather flow includes input validation and caching.
3The address-based weather flow demonstrates tool composition by:
  • First converting the address to coordinates using Google Maps

  • Then using those coordinates to get the weather

4Both flows include comprehensive error handling for different scenarios.
5The DataWeave transformation validates the Google Maps response before proceeding.
While LLMs can orchestrate these tools directly, there are cases where manual composition in Mule is preferable: - When you need guaranteed access to all MCP servers - When authentication needs to be handled securely - When you need strong governance and tracing capabilities ## See Also - [Applying Security to the MCP Server](https://docs.mulesoft.com/mcp-connector/latest/mcp-connector-config-topics) - [MCP Connector Reference](https://docs.mulesoft.com/mcp-connector/latest/mcp-connector-reference) - [MuleSoft MCP Support: Get Started With Model Context Protocol](https://blogs.mulesoft.com/news/model-context-protocol/) - [Introduction to Anypoint Connectors](https://docs.mulesoft.com/connectors/introduction/introduction-to-anypoint-connectors) - [MuleSoft Help Center](https://help.mulesoft.com) --- product: MCP Connector version: 1.7 is-latest-version: true --- # MCP Connector 1.7 Reference > For the full documentation index, see: https://docs.mulesoft.com/llms.txt Anypoint Connector for MCP (MCP Connector) allows Mule applications to act as both MCP servers and clients. When acting as an MCP client, MuleSoft facilitates the creation of integrations and orchestrations where AI agents are integrated as just another system in the workflow. ## Configurations ### Client Configuration element that acts as a client and connects to an MCP server. #### Parameters
NameTypeDescriptionDefault ValueRequired

Name

String

Name for this configuration. Connectors reference the configuration with this name.

Yes

Connection

The connection types to provide to this configuration.

Yes

Client Name

String

Name the client uses to identify itself during the protocol initialization phase. This isn’t the same as the name given to this config element (which is later referenced through config-ref parameters). This name doesn’t need to be unique.

Yes

Client Version

String

Version the client uses to identify itself during the protocol initialization phase. This doesn’t need to match the connector or Mule application version.

Yes

Enable Elicitations

Boolean

Enable support for elicitation requests from the MCP server. When enabled without an elicitation-listener source, a default handler automatically declines all elicitation requests. When an elicitation-listener is configured, it overrides this default behavior.

true

Name

String

ID used to reference this configuration.

Yes

Expiration Policy

Configures the minimum amount of time that a dynamic configuration instance can remain idle before Mule considers it eligible for expiration.

#### Connection Types ##### SSE Client (Deprecated) Streamable HTTP transport is recommended. The SSE (Server-Sent Events) Client connection type enables MCP Connector to establish a persistent, one-way (server-sent) connection to an MCP server using the SSE standard. This type of connection allows the MCP server to push real-time updates and messages to the client without the need for the client to constantly poll for new information. ###### Parameters
NameTypeDescriptionDefault ValueRequired

Request Timeout

Number

Sets the duration to wait for server responses before timing out requests.

30

Request Timeout Unit

Enumeration, one of:

  • NANOSECONDS

  • MICROSECONDS

  • MILLISECONDS

  • SECONDS

  • MINUTES

  • HOURS

  • DAYS

Time Unit for the requestTimeout parameter.

SECONDS

Authentication

HttpRequestAuthentication

Default Request Headers

Object

Defines custom headers to send with every request to the MCP server.

Server Url

String

The base URL for the target MCP server.

Yes

Sse Endpoint Path

String

/sse

Reconnection Delay

Number

Specifies how long to wait before reinitializing the SSE connection when it times out or closes.

500

Reconnection Delay Unit

Enumeration, one of:

  • NANOSECONDS

  • MICROSECONDS

  • MILLISECONDS

  • SECONDS

  • MINUTES

  • HOURS

  • DAYS

Time Unit for the reconnectionDelay

MILLISECONDS

Tls Context

Reconnection

When the application is deployed, a connectivity test is performed on all connectors. If set to true, deployment fails if the test doesn’t pass after exhausting the associated reconnection strategy.

##### Streamable HTTP Client ###### Parameters
NameTypeDescriptionDefault ValueRequired

Request Timeout

Number

Sets the duration to wait for server responses before timing out requests.

30

Request Timeout Unit

Enumeration, one of:

  • NANOSECONDS

  • MICROSECONDS

  • MILLISECONDS

  • SECONDS

  • MINUTES

  • HOURS

  • DAYS

Time Unit for the requestTimeout parameter

SECONDS

Authentication

HttpRequestAuthentication

Default Request Headers

Object

Defines custom headers to send with every request to the MCP server.

Server Url

String

The base URL for the target MCP server.

Yes

Mcp Endpoint Path

String

/mcp

Tls Context

Reconnection

When the application is deployed, a connectivity test is performed on all connectors. If set to true, deployment fails if the test doesn’t pass after exhausting the associated reconnection strategy.

## Supported Operations - [MCP Client - Call Tool](#CallTool) - [MCP Client - Get Prompt](#GetPrompt) - [MCP Client - List Prompts](#ListPrompts) - [MCP Client - List Resources](#ListResources) - [MCP Client - List Tools](#ListTools) - [MCP Client - Ping](#Ping) - [MCP Client - Read Resource](#ReadResource) ## Associated Sources - [MCP Client - Elicitation Listener](#ElicitationListener) ### Server Configuration element to act as an MCP server. #### Parameters
NameTypeDescriptionDefault ValueRequired

Name

String

Name for this configuration. Connectors reference the configuration with this name.

Yes

Connection

The connection types to provide to this configuration.

Yes

Server Name

String

Name this server uses to identify itself during the protocol initialization phase. This isn’t the same as the name given to this config element (which is later referenced through config-ref parameters). This name doesn’t need to be unique.

Yes

Server Version

String

Version this server uses to identify itself during the protocol initialization phase. This doesn’t need to match the connector or Mule application version.

Yes

Name

String

ID used to reference this configuration.

Yes

#### Connection Types ##### SSE Server (Deprecated) Streamable HTTP transport is recommended. Exposes the MCP server using the SSE transport. ###### Parameters
NameTypeDescriptionDefault ValueRequired

Request Timeout

Number

Request timeout.

10

Request Timeout Unit

Enumeration, one of:

  • NANOSECONDS

  • MICROSECONDS

  • MILLISECONDS

  • SECONDS

  • MINUTES

  • HOURS

  • DAYS

Request Timeout unit

SECONDS

Elicitation Timeout Seconds

Number

Timeout in seconds for elicitation requests. Elicitation requests sent to the client wait this long for a response before timing out.

60

Listener Config

String

Reference to the HTTP Listener config used to expose the SSE and messaging endpoints.

Yes

Sse Endpoint Path

String

The endpoint path clients use to initiate the SSE connection.

/sse

Messages Path

String

The path to send the messaging endpoint request to.

/message

Default Sse Response Headers

Object

Default Message Response Headers

Object

Elicitations Object Store

ObjectStore

ObjectStore that correlates elicitation requests and responses. For deployments with multiple replicas, configure a distributed object store (using Hazelcast or OSv2) to ensure responses are properly routed to the correct worker. If not specified, a default transient instance is used, which is recommended only for single-instance deployments.

Elicitation Polling Seconds

Number

Polling interval in seconds used to check for elicitation responses written by another replica. This setting controls how frequently the connector checks for responses that arrived on a different worker.

5

Reconnection

When the application is deployed, a connectivity test is performed on all connectors. If set to true, deployment fails if the test doesn’t pass after exhausting the associated reconnection strategy.

##### Streamable HTTP Server Exposes the MCP server using the Streamable HTTP transport, as defined in [Streamable HTTP](https://modelcontextprotocol.io/specification/2025-03-26/basic/transports#streamable-http). ###### Parameters
NameTypeDescriptionDefault ValueRequired

Request Timeout

Number

Request timeout.

10

Request Timeout Unit

Enumeration, one of:

  • NANOSECONDS

  • MICROSECONDS

  • MILLISECONDS

  • SECONDS

  • MINUTES

  • HOURS

  • DAYS

Request Timeout unit

SECONDS

Elicitation Timeout Seconds

Number

Timeout in seconds for elicitation requests. Elicitation requests sent to the client wait this long for a response before timing out.

60

Listener Config

String

Reference to the http:listener-config used to expose the SSE and messaging endpoints.

Yes

Mcp Endpoint Path

String

The endpoint path clients use to initiate the SSE connection.

/mcp

Response Content Type

Enumeration, one of:

  • JSON

  • SSE

Selects the endpoint’s preferred Streamable HTTP response capability. Normal request and response exchanges complete with one application/json body. When SSE is selected, requests that can trigger a server-initiated message must advertise both application/json and text/event-stream. The server opens the SSE stream lazily only when a server-initiated message requires a back-channel.

SSE

Default Response Headers

Object

Custom headers to include on all valid responses (not including rejected invalid requests).

Session Idle Timeout

Number

Timeout for idle sessions.

5

Session Idle Timeout Unit

Enumeration, one of:

  • NANOSECONDS

  • MICROSECONDS

  • MILLISECONDS

  • SECONDS

  • MINUTES

  • HOURS

  • DAYS

Time unit qualifying the sessionIdleTimeout

MINUTES

Sessions Object Store

ObjectStore

An ObjectStore used to store session information. When deploying to multiple replicas, define a specific object store distributed across all replicas, either through Hazelcast or OSv2. If not specified, a default transient instance is created. Persistence must be enabled if running MCP Server listeners in a multi-worker deployment. For CloudHub 2.0, the Clustered option also must be enabled.

Elicitations Object Store

ObjectStore

ObjectStore that correlates elicitation requests and responses. For deployments with multiple replicas, configure a distributed object store (using Hazelcast or OSv2) to ensure responses are properly routed to the correct worker. If not specified, a default transient instance is used, which is recommended only for single-instance deployments.

Elicitation Polling Seconds

Number

Polling interval in seconds used to check for elicitation responses written by another replica. This setting controls how frequently the connector checks for responses that arrived on a different worker.

5

Reconnection

When the application is deployed, a connectivity test is performed on all connectors. If set to true, deployment fails if the test doesn’t pass after exhausting the associated reconnection strategy.

## Supported Operations - [MCP Server - Create Elicitation](#CreateElicitation) ## Associated Sources - [MCP Server - On New Session Listener](#OnNewSessionListener) - [MCP Server - Prompt Listener](#PromptListener) - [MCP Server - Resource listener](#ResourceListener) - [MCP Server - Tool Listener](#ToolListener) ## Operations ## MCP Client - Call Tool `` Invokes a tool on a remote MCP server. Response validation is managed by the underlying SDK; the connector doesn’t perform its own validation. ### Parameters
NameTypeDescriptionDefault ValueRequired

Configuration

String

Name of the configuration to use.

Yes

Tool Name

String

Name of the tool to invoke.

Yes

Arguments

Object

The tool’s input arguments.

#[payload]

Extract Structured Content

Boolean

Controls how the payload is exposed when a tool returns structured content. When false, the payload is the full CallToolResponse object (previous behavior). When true, if the MCP response has structured content (for example, a tool with an output schema), the payload is the structured object itself so downstream components can reference fields directly (for example, payload.temperature). If structured content is not present and the response has a single text content that is valid JSON, the text is parsed and used as the payload. In all cases, the attributes.rawMcpResponse property contains the entire MCP response in the same format as before. Any validation or schema errors from the SDK are returned to the user as MCP:SCHEMA_VALIDATION_FAILED errors.

true

Config Ref

ConfigurationProvider

Name of the configuration to use to execute this component.

Yes

Additional Properties

Object

#[null]

Target Variable

String

Name of the variable that stores the operation’s output.

Target Value

String

Expression that evaluates the operation’s output. The outcome of the expression is stored in the Target Variable field.

#[payload]

Error Mappings

Array of Error Mapping

Set of error mappings.

Reconnection Strategy

Retry strategy in case of connectivity errors.

### Output

Type

Any

Attributes Type

Call Tool Result Attributes

### For Configurations - [Client](#Client) ### Throws - MCP:CONNECTIVITY - MCP:INTERNAL\_ERROR - MCP:INVALID\_PARAMS - MCP:INVALID\_REQUEST - MCP:JSON\_RPC\_ERROR - MCP:METHOD\_NOT\_FOUND - MCP:PARSE\_ERROR - MCP:REQUEST\_TIMEOUT - MCP:RETRY\_EXHAUSTED - MCP:SCHEMA\_VALIDATION\_FAILED - MCP:SERVER\_ERROR - MCP:UNAUTHORIZED ## MCP Client - Get Prompt `` Resolves a prompt by name in the remote MCP server and returns the rendered prompt messages. Use this operation when your Mule application (acting as an MCP client) needs to fetch a prompt that a remote MCP server exposes, optionally passing arguments that the server uses to render the prompt content. ### Parameters
NameTypeDescriptionDefault ValueRequired

Configuration

String

Name of the configuration to use.

Yes

Prompt Name

String

Name of the prompt to retrieve from the remote MCP server.

Yes

Config Ref

ConfigurationProvider

Name of the configuration to use to execute this component.

Yes

Arguments

Object

Arguments to pass to the prompt. The accepted keys and their types are defined by the remote prompt’s argument schema.

#[null]

Additional Properties

Object

Additional properties to include with the request. Use this field to specify custom key-value pairs that are sent with the MCP connector request. This field is optional and null-safe.

#[null]

Target Variable

String

Name of the variable that stores the operation’s output.

Target Value

String

Expression that evaluates the operation’s output. The outcome of the expression is stored in the Target Variable field.

#[payload]

Error Mappings

Array of Error Mapping

Set of error mappings.

Reconnection Strategy

Retry strategy in case of connectivity errors.

### Output

Type

Get Prompt Response

### For Configurations - [Client](#Client) ### Throws - MCP:CONNECTIVITY - MCP:INTERNAL\_ERROR - MCP:INVALID\_PARAMS - MCP:INVALID\_REQUEST - MCP:JSON\_RPC\_ERROR - MCP:METHOD\_NOT\_FOUND - MCP:PARSE\_ERROR - MCP:REQUEST\_TIMEOUT - MCP:RETRY\_EXHAUSTED - MCP:SCHEMA\_VALIDATION\_FAILED - MCP:SERVER\_ERROR - MCP:UNAUTHORIZED ## MCP Client - List Prompts `` Lists all prompts available in the remote MCP server. Each entry in the returned array includes metadata such as the prompt name, optional title, description, and the argument definitions the prompt accepts. ### Parameters
NameTypeDescriptionDefault ValueRequired

Configuration

String

Name of the configuration to use.

Yes

Config Ref

ConfigurationProvider

Name of the configuration to use to execute this component.

Yes

Streaming Strategy

Configures how Mule processes streams. Repeatable streams are the default behavior.

Additional Properties

Object

Additional properties to include with the request. Use this field to specify custom key-value pairs that are sent with the MCP connector request. This field is optional and null-safe.

#[null]

Target Variable

String

Name of the variable that stores the operation’s output.

Target Value

String

Expression that evaluates the operation’s output. The outcome of the expression is stored in the Target Variable field.

#[payload]

Error Mappings

Array of Error Mapping

Set of error mappings.

Reconnection Strategy

Retry strategy in case of connectivity errors.

### Output

Type

Array of Prompt Metadata

### For Configurations - [Client](#Client) ### Throws - MCP:CONNECTIVITY - MCP:INTERNAL\_ERROR - MCP:INVALID\_PARAMS - MCP:INVALID\_REQUEST - MCP:JSON\_RPC\_ERROR - MCP:METHOD\_NOT\_FOUND - MCP:PARSE\_ERROR - MCP:REQUEST\_TIMEOUT - MCP:RETRY\_EXHAUSTED - MCP:SCHEMA\_VALIDATION\_FAILED - MCP:SERVER\_ERROR - MCP:UNAUTHORIZED ## MCP Client - List Resources `` Lists all the available resources in the remote MCP server. ### Parameters
NameTypeDescriptionDefault ValueRequired

Configuration

String

Name of the configuration to use.

Yes

Config Ref

ConfigurationProvider

Name of the configuration to use to execute this component.

Yes

Streaming Strategy

Configures how Mule processes streams. Repeatable streams are the default behavior.

Additional Properties

Object

Additional properties to include with the request. Use this field to specify custom key-value pairs that are sent with the MCP connector request. This field is optional and null-safe.

#[null]

Target Variable

String

Name of the variable that stores the operation’s output.

Target Value

String

Expression that evaluates the operation’s output. The outcome of the expression is stored in the Target Variable field.

#[payload]

Error Mappings

Array of Error Mapping

Set of error mappings.

Reconnection Strategy

Retry strategy in case of connectivity errors.

### Output

Type

Array of Resource Metadata

### For Configurations - [Client](#Client) ### Throws - MCP:CONNECTIVITY - MCP:INTERNAL\_ERROR - MCP:INVALID\_PARAMS - MCP:INVALID\_REQUEST - MCP:INVALID\_URI - MCP:JSON\_RPC\_ERROR - MCP:METHOD\_NOT\_FOUND - MCP:PARSE\_ERROR - MCP:REQUEST\_TIMEOUT - MCP:RETRY\_EXHAUSTED - MCP:SCHEMA\_VALIDATION\_FAILED - MCP:SERVER\_ERROR - MCP:UNAUTHORIZED ## MCP Client - List Tools `` Lists all the available tools in the remote MCP server. ### Parameters
NameTypeDescriptionDefault ValueRequired

Configuration

String

Name of the configuration to use.

Yes

Config Ref

ConfigurationProvider

Name of the configuration to use to execute this component.

Yes

Streaming Strategy

Configures how Mule processes streams. Repeatable streams are the default behavior.

Additional Properties

Object

Additional properties to include with the request. Use this field to specify custom key-value pairs that are sent with the MCP connector request. This field is optional and null-safe.

#[null]

Target Variable

String

Name of the variable that stores the operation’s output.

Target Value

String

Expression that evaluates the operation’s output. The outcome of the expression is stored in the Target Variable field.

#[payload]

Error Mappings

Array of Error Mapping

Set of error mappings.

Reconnection Strategy

Retry strategy in case of connectivity errors.

### Output

Type

Array of Tool Metadata

### For Configurations - [Client](#Client) ### Throws - MCP:CONNECTIVITY - MCP:INTERNAL\_ERROR - MCP:INVALID\_PARAMS - MCP:INVALID\_REQUEST - MCP:JSON\_RPC\_ERROR - MCP:METHOD\_NOT\_FOUND - MCP:PARSE\_ERROR - MCP:REQUEST\_TIMEOUT - MCP:RETRY\_EXHAUSTED - MCP:SCHEMA\_VALIDATION\_FAILED - MCP:SERVER\_ERROR - MCP:UNAUTHORIZED ## MCP Client - Ping `` Pings the remote server. ### Parameters
NameTypeDescriptionDefault ValueRequired

Configuration

String

Name of the configuration to use.

Yes

Config Ref

ConfigurationProvider

Name of the configuration to use to execute this component.

Yes

Error Mappings

Array of Error Mapping

Set of error mappings.

Reconnection Strategy

Retry strategy in case of connectivity errors.

### For Configurations - [Client](#Client) ### Throws - MCP:CONNECTIVITY - MCP:RETRY\_EXHAUSTED ## MCP Client - Read Resource `` Reads a resource referenced by its URI. ### Parameters
NameTypeDescriptionDefault ValueRequired

Configuration

String

Name of the configuration to use.

Yes

Uri

String

Yes

Config Ref

ConfigurationProvider

Name of the configuration to use to execute this component.

Yes

Additional Properties

Object

#[null]

Target Variable

String

Name of the variable that stores the operation’s output.

Target Value

String

Expression that evaluates the operation’s output. The outcome of the expression is stored in the Target Variable field.

#[payload]

Error Mappings

Array of Error Mapping

Set of error mappings.

Reconnection Strategy

Retry strategy in case of connectivity errors.

### Output

Type

Resource Content

### For Configurations - [Client](#Client) ### Throws - MCP:CONNECTIVITY - MCP:INTERNAL\_ERROR - MCP:INVALID\_PARAMS - MCP:INVALID\_REQUEST - MCP:INVALID\_URI - MCP:JSON\_RPC\_ERROR - MCP:METHOD\_NOT\_FOUND - MCP:PARSE\_ERROR - MCP:REQUEST\_TIMEOUT - MCP:RETRY\_EXHAUSTED - MCP:SCHEMA\_VALIDATION\_FAILED - MCP:SERVER\_ERROR - MCP:UNAUTHORIZED ## MCP Server - Create Elicitation `` Requests an elicitation from the MCP Client. This operation sends an elicitation request via SSE and blocks until the response is received. In clustered environments, the elicitation response might arrive on a different worker, in which case it is stored in Object Store and polled. ### Parameters
NameTypeDescriptionDefault ValueRequired

Configuration

String

Name of the configuration to use.

Yes

Session Id

String

Session identifier for the connected MCP client.

Yes

Message

String

Prompt message shown to the client.

Yes

Schema Properties

Input schema presented to the client for elicitation.

Config Ref

ConfigurationProvider

Name of the configuration to use to execute this component.

Yes

Target Variable

String

Name of the variable that stores the operation’s output.

Target Value

String

Expression that evaluates the operation’s output. The outcome of the expression is stored in the Target Variable field.

#[payload]

Error Mappings

Array of Error Mapping

Set of error mappings.

### Output

Type

Elicitation Result

### For Configurations - [Server](#Server) ### Throws - MCP:INTERNAL\_ERROR - MCP:INVALID\_PARAMS - MCP:INVALID\_REQUEST - MCP:JSON\_RPC\_ERROR - MCP:METHOD\_NOT\_FOUND - MCP:PARSE\_ERROR - MCP:REQUEST\_TIMEOUT - MCP:SCHEMA\_VALIDATION\_FAILED - MCP:SERVER\_ERROR - MCP:UNAUTHORIZED ## Sources ## MCP Client - Elicitation Listener `` Listens for elicitation requests from MCP servers. When a server requires additional information during tool or resource execution, this source triggers a flow to collect that data and return it to the server. The triggered flow receives `ElicitationAttributes` containing the prompt and input schema, and must return an `ElicitationResponse` object specifying the action to take. To accept with content: ```none ``` To decline: ```none ``` To cancel: ```none ``` ### Parameters
NameTypeDescriptionDefault ValueRequired

Configuration

String

Name of the configuration to use.

Yes

Primary Node Only

Boolean

Determines whether to execute this source on only the primary node when running Mule instances in a cluster.

Config Ref

ConfigurationProvider

Name of the configuration to use to execute this component.

Yes

Redelivery Policy

Defines a policy for processing the redelivery of the same message.

Reconnection Strategy

Retry strategy in case of connectivity errors.

Response

Elicitation response to send back to the server.

### Output

Type

Object

Attributes Type

### For Configurations - [Client](#Client) ## MCP Server - On New Session Listener `` Triggers a flow when a new MCP client session is initiated. For each session connection request, the flow runs to let you review session details, validate client certificates, or apply custom authentication logic before choosing to accept or reject the session. When triggered, the flow receives a message with the session ID, relevant properties (including any custom headers), and client certificate information if present. To accept the session, let the flow complete successfully. To reject it, set the rejection parameters with your chosen error message, HTTP status code, and headers. ### Parameters
NameTypeDescriptionDefault ValueRequired

Configuration

String

Name of the configuration to use.

Yes

Primary Node Only

Boolean

Determines whether to execute this source on only the primary node when running Mule instances in a cluster.

Config Ref

ConfigurationProvider

Name of the configuration to use to execute this component.

Yes

Redelivery Policy

Defines a policy for processing the redelivery of the same message.

Reconnection Strategy

A retry strategy in case of connectivity errors

Reject With Status Code

Number

Reject With Message

String

Reject With Headers

Object

### Output

Type

New Session Request

### For Configurations - [Server](#Server) ## MCP Server - Prompt Listener `` Exposes a prompt whose messages are generated by the execution of the owning flow. The flow is executed for every received `prompts/get` request. When triggered, the flow runs with a message whose payload contains the prompt name and the arguments supplied by the client. The messages returned to the client are produced by the `` nested component. ### Parameters
NameTypeDescriptionDefault ValueRequired

Configuration

String

Name of the configuration to use.

Yes

Name

String

The prompt name. This value is what clients use to request the prompt.

Yes

Title

String

A short, human-friendly prompt title.

Description

String

A detailed enough description for an LLM to determine when this prompt should be used.

Prompt Arguments

Prompt argument definitions exposed in prompts/list. Each argument can be declared as required or optional and can include a description and a JSON schema that the client uses to validate input.

Primary Node Only

Boolean

Determines whether to execute this source only on the primary node when running Mule instances in a cluster.

Config Ref

ConfigurationProvider

Name of the configuration to use to execute this component.

Yes

Redelivery Policy

Defines a policy for processing the redelivery of the same message.

Reconnection Strategy

Retry strategy in case of connectivity errors.

Messages

Defines the prompt messages returned to the client. These parameters are evaluated when the flow finishes successfully (when the payload and variables are available).

Yes

### Output

Type

Prompt Request

Attributes Type

### For Configurations - [Server](#Server) ## MCP Server - Resource listener `` Exposes a resource whose content is generated by the execution of the owning flow. The flow is executed for every received resources/read request. The user can choose to implement the flow so that the resource content is static or to make it dynamic. For instance, a dynamic resource could be a expenses.csv file, that is actually the result of executing a live DB query. Or a static resource could be a file obtained through Amazon S3 and locally cached using the `ee:cache` component. ### Parameters
NameTypeDescriptionDefault ValueRequired

Configuration

String

Name of the configuration to use.

Yes

Name

String

Name of the resource.

Yes

Description

String

Detailed enough description for an LLM to determine when to read this resource.

Yes

Uri

String

Resource URI.

Yes

Resource Mime Type

String

Resource MIME type.

Yes

Primary Node Only

Boolean

Determines whether to execute this source on only the primary node when running Mule instances in a cluster.

Config Ref

ConfigurationProvider

Name of the configuration to use to execute this component.

Yes

Redelivery Policy

Defines a policy for processing the redelivery of the same message.

Reconnection Strategy

Retry strategy in case of connectivity errors.

Resource Listener Content

Defines the resource content and type. These parameters are evaluated when the flow finishes successfully (when the payload and variables available).

Yes

### Output

Type

Resource Request

Attributes Type

### For Configurations - [Server](#Server) ## MCP Server - Tool Listener `` Exposes a tool whose result is generated by the execution of the owning flow. The flow runs for every received tools/call request. When triggered, the flow runs with a message whose payload is a Java map holding the input arguments. The tool response is generated when the flow finishes either successfully or with error. In both cases, the response can include several content items of different types. If no error response is defined, then a text content item holding the error’s description is generated automatically. ### Parameters
NameTypeDescriptionDefault ValueRequired

Configuration

String

Name of the configuration to use.

Yes

Name

String

The tool’s name.

Yes

Description

String

A detailed enough description for an LLM to determine when this tool should be called.

Yes

Parameters Schema

String

A JSON schema defining an object whose fields act as the tool’s input arguments.

Yes

Output Schema Definition

Optional output schema definition. Choose between inline JSON schema or a file path reference.

Primary Node Only

Boolean

Determines whether to execute this source on only the primary node when running Mule instances in a cluster.

Config Ref

ConfigurationProvider

Name of the configuration to use to execute this component.

Yes

Redelivery Policy

Defines a policy for processing the redelivery of the same message.

Reconnection Strategy

Retry strategy in case of connectivity errors.

Responses

Response items when the flow finishes successfully.

Yes

On Error Responses

Content items when the flow finishes in error.

### Output

Type

Object

Attributes Type

Request Attributes

### For Configurations - [Server](#Server) ## Types ### TLS Configures TLS to provide secure communications for the Mule app.
FieldTypeDescriptionDefault ValueRequired

Enabled Protocols

String

Comma-separated list of protocols enabled for this context.

Enabled Cipher Suites

String

Comma-separated list of cipher suites enabled for this context.

Trust Store

Configures the TLS truststore.

Key Store

Configures the TLS keystore.

Revocation Check

Configures a revocation checking mechanism.

### Truststore Configures the truststore for TLS.
FieldTypeDescriptionDefault ValueRequired

Path

String

Path to the truststore. Mule resolves the path relative to the current classpath and file system.

Password

String

Password used to protect the truststore.

Type

String

Type of store.

Algorithm

String

Encryption algorithm that the truststore uses.

Insecure

Boolean

If true, Mule stops performing certificate validations. Setting this to true can make connections vulnerable to attacks.

### Keystore Configures the keystore for the TLS protocol. The keystore you generate contains a private key and a public certificate.
FieldTypeDescriptionDefault ValueRequired

Path

String

Path to the keystore. Mule resolves the path relative to the current classpath and file system.

Type

String

Type of store.

Alias

String

Alias of the key to use when the keystore contains multiple private keys. By default, Mule uses the first key in the file.

Key Password

String

Password used to protect the private key.

Password

String

Password used to protect the keystore.

Algorithm

String

Encryption algorithm that the keystore uses.

### Standard Revocation Check Configures standard revocation checks for TLS certificates.
FieldTypeDescriptionDefault ValueRequired

Only End Entities

Boolean

Which elements to verify in the certificate chain:

  • true

Verify only the last element in the certificate chain.

  • false

Verify all elements in the certificate chain.

Prefer Crls

Boolean

How to check certificate validity:

  • true

Check the Certification Revocation List (CRL) for certificate validity.

  • false

Use the Online Certificate Status Protocol (OCSP) to check certificate validity.

No Fallback

Boolean

Whether to use the secondary method to check certificate validity:

  • true

Use the method that wasn’t specified in the Prefer Crls field (the secondary method) to check certificate validity.

  • false

Don’t use the secondary method to check certificate validity.

Soft Fail

Boolean

What to do if the revocation server can’t be reached or is busy:

  • true

Avoid verification failure.

  • false

Allow the verification to fail.

### Custom OCSP Responder Configures a custom OCSP responder for certification revocation checks.
FieldTypeDescriptionDefault ValueRequired

Url

String

URL of the OCSP responder.

Cert Alias

String

Alias of the signing certificate for the OCSP response. If specified, the alias must be in the truststore.

### CRL File Specifies the location of the certification revocation list (CRL) file.
FieldTypeDescriptionDefault ValueRequired

Path

String

Path to the CRL file.

### Reconnection Configures a reconnection strategy for an operation.
FieldTypeDescriptionDefault ValueRequired

Fails Deployment

Boolean

When the application is deployed, a connectivity test is performed on all connectors. If set to true, deployment fails if the test doesn’t pass after exhausting the associated reconnection strategy.

Reconnection Strategy

Reconnection strategy to use.

### Reconnect
FieldTypeDescriptionDefault ValueRequired

Frequency

Number

How often in milliseconds to reconnect.

Count

Number

How many reconnection attempts to make.

Blocking

Boolean

If false, the reconnection strategy runs in a separate, non-blocking thread.

### Reconnect Forever
FieldTypeDescriptionDefault ValueRequired

Frequency

Number

How often in milliseconds to reconnect.

Blocking

Boolean

If false, the reconnection strategy runs in a separate, non-blocking thread.

### Expiration Policy Configures an expiration policy strategy.
FieldTypeDescriptionDefault ValueRequired

Max Idle Time

Number

Configures the maximum amount of time that a dynamic configuration instance can remain idle before Mule considers it eligible for expiration.

Time Unit

Enumeration, one of:

  • NANOSECONDS

  • MICROSECONDS

  • MILLISECONDS

  • SECONDS

  • MINUTES

  • HOURS

  • DAYS

Time unit for the Max Idle Time field.

### Elicitation Attributes Attributes available in flows triggered by `Elicitation Listener`. Extends [Request Attributes](#RequestAttributes) to include elicitation-specific fields.
FieldTypeDescriptionDefault ValueRequired

Session Id

String

Session identifier for the connected MCP client.

Yes

Request Id

String

Unique identifier for the elicitation request.

Yes

Additional Properties

Object

Additional values attached to the request as HTTP headers.

Yes

Client Certificate

Client certificate used to authenticate the request.

No

### Elicitation Response Response structure for elicitation requests. This is returned by client flows handling elicitation requests from servers.
FieldTypeDescriptionDefault ValueRequired

Action

Enumeration, one of:

  • ACCEPT

  • DECLINE

  • CANCEL

Client response action. Valid values are:

  • ACCEPT

    Client provides the requested data in the Content field

  • DECLINE

    Client refuses to provide data and the Content field should be null

  • CANCEL

    Client cancels the entire operation and the Content field should be null

Yes

Content

Object

Response content when action is ACCEPT.

### Elicitation Result Result returned by the **Create Elicitation** operation to server flows. Contains the client’s response to an elicitation request.
FieldTypeDescriptionDefault ValueRequired

Action

Enumeration, one of:

  • ACCEPT

  • DECLINE

  • CANCEL

Client response action. Valid values are:

  • ACCEPT

    Client provides the requested data in the Content field

  • DECLINE

    Client refuses to provide data and the Content field should be null

  • CANCEL

    Client cancels the entire operation and the Content field should be null

Yes

Content

Object

Response content when action is ACCEPT.

### Boolean Schema Property
FieldTypeDescriptionDefault ValueRequired

Default Value

Boolean

Default value for the property.

false

Name

String

Property name.

Yes

Description

String

Property description.

Required

Boolean

Whether the property is required.

false

### Enum Schema Property
FieldTypeDescriptionDefault ValueRequired

Enum Entries

Object

Allowed values for the property.

Yes

Name

String

Property name.

Yes

Description

String

Property description.

Required

Boolean

Whether the property is required.

false

### Integer Schema Property
FieldTypeDescriptionDefault ValueRequired

Minimum

Number

Minimum accepted value.

Maximum

Number

Maximum accepted value.

Default Value

Number

Default value.

Name

String

Property name.

Yes

Description

String

Property description.

Required

Boolean

Whether the property is required.

false

### Number Schema Property
FieldTypeDescriptionDefault ValueRequired

Minimum

Number

Minimum accepted value.

Maximum

Number

Maximum accepted value.

Default Value

Number

Default value.

Name

String

Property name.

Yes

Description

String

Property description.

Required

Boolean

Whether the property is required.

false

### String Schema Property
FieldTypeDescriptionDefault ValueRequired

Min Length

Number

Minimum string length.

Max Length

Number

Maximum string length.

Pattern

String

Validation regex pattern.

Default Value

String

Default value.

Name

String

Property name.

Yes

Description

String

Property description.

Required

Boolean

Whether the property is required.

false

### Call Tool Response Response obtained from calling a tool as a client.
FieldTypeDescriptionDefault ValueRequired

Contents

The contents generated by the tool

Yes

Error

Boolean

Whether the tool execution was successful or errored out. Notice that even in case of error, contents might have been generated.

false

### Call Tool Response Content
FieldTypeDescriptionDefault ValueRequired

Type

Enumeration, one of:

  • text

  • image

  • resource

Content type.

Yes

Text

String

Content’s payload when type is text.

Mime Type

String

Content’s MIME type.

Data

Binary

Content’s payload when type is image.

Resource

Content’s payload when type is resource.

Audience

Array of Enumeration, one of:

  • USER

  • ASSISTANT

Describes who the intended consumer of this data is. It can include multiple entries to indicate content useful for multiple audiences.

Priority

Number

Describes how important this data is for operating the server. A value of 1 means "most important", which indicates that the data is required. A value of 0 means "least important", which indicates that the data is entirely optional.

### Resource Content A flattened representation of a resource content. The resource can be either text or blob types. The text property is set for text resources, while the blob type is used for the latter.
FieldTypeDescriptionDefault ValueRequired

Uri

String

Resource URI.

Yes

Mime Type

String

Resource MIME type.

Yes

Text

String

Content of a text resource. Null for BLOB data types.

Blob

Binary

Content of a BLOB resource. Null for text data types.

### Error Mapping
FieldTypeDescriptionDefault ValueRequired

Source

Enumeration, one of:

  • ANY

  • REDELIVERY_EXHAUSTED

  • TRANSFORMATION

  • EXPRESSION

  • SECURITY

  • CLIENT_SECURITY

  • SERVER_SECURITY

  • ROUTING

  • CONNECTIVITY

  • RETRY_EXHAUSTED

  • TIMEOUT

Target

String

Yes

### Resource Metadata
FieldTypeDescriptionDefault ValueRequired

Uri

String

Resource URI.

Yes

Name

String

Name of the resource.

Yes

Description

String

Description of the resource.

Yes

Mime Type

String

MIME type of the resource.

Yes

### Repeatable In Memory Iterable
FieldTypeDescriptionDefault ValueRequired

Initial Buffer Size

Number

The amount of memory to allocate to consume the stream and provide random access to it. If the stream contains more data than can fit into this buffer, then the buffer expands according to the Buffer Size Increment value, with an upper limit of the Max In Memory Size value.

100

Buffer Size Increment

Number

Amount by which the buffer size expands if it exceeds its initial size. Setting a value of 0 or lower specifies that the buffer can’t expand.

100

Max Buffer Size

Number

Maximum size of the buffer. If the buffer size exceeds this value, Mule raises a STREAM_MAXIMUM_SIZE_EXCEEDED error. A value of less than or equal to 0 means no limit.

### Repeatable File Store Iterable
FieldTypeDescriptionDefault ValueRequired

In Memory Objects

Number

Maximum number of instances to keep in memory. If more than the maximum is required, content on the disk is buffered.

Buffer Unit

Enumeration, one of:

  • BYTE

  • KB

  • MB

  • GB

Unit for the In Memory Objects field.

### Tool Metadata Describes a tool through its properties.
FieldTypeDescriptionDefault ValueRequired

Name

String

Name of the tool.

Yes

Description

String

A detailed enough description for an LLM to determine when to call this tool.

Yes

Input Schema

String

JSON Schema describing the tool’s input parameters.

Yes

### New Session Request Contains the data associated to a client requiring the creation of a new server session.
FieldTypeDescriptionDefault ValueRequired

Session Id

String

Yes

Additional Properties

Object

Yes

Client Certificate

### Certificate Data
FieldTypeDescriptionDefault ValueRequired

Basic Constraints

Number

Critical Extension OI Ds

Array of String

Encoded

Binary

Extended Key Usage

Array of String

Extensions

Issuer Alternative Names

Issuer DN

Issuer Unique ID

Array of Boolean

Issuer X500 Principal

Key Usage

Array of Boolean

Name

String

Non Critical Extension OI Ds

Array of String

Not After

Date

Not Before

Date

Public Key

Serial Number

Number

Serial Number Object

Sig Alg Name

String

Sig Alg OID

String

Sig Alg Params

Binary

Signature

Binary

Subject Alternative Names

Subject DN

Subject X500 Principal

Type

String

Version

Number

### Certificate Extension
FieldTypeDescriptionDefault ValueRequired

Criticality

Boolean

Oid

String

Value

Binary

### Alternative Name Data
FieldTypeDescriptionDefault ValueRequired

Name

String

Type

Number

### Principal Data
FieldTypeDescriptionDefault ValueRequired

Common Name

String

Name

String

### X500 Principal Data
FieldTypeDescriptionDefault ValueRequired

Name

String

### Public Key Data
FieldTypeDescriptionDefault ValueRequired

Algorithm

String

Encoded

Binary

Modulus

Number

Params

Number

Public Key

String

### Serial Number Data
FieldTypeDescriptionDefault ValueRequired

Serial Number

Number

### Redelivery Policy Configures the redelivery policy for executing requests that generate errors. You can add a redelivery policy to any source in a flow.
FieldTypeDescriptionDefault ValueRequired

Max Redelivery Count

Number

Maximum number of times that a redelivered request can be processed unsuccessfully before returning a REDELIVERY_EXHAUSTED error.

Message Digest Algorithm

String

Secure hashing algorithm to use if the Use Secure Hash field is true. If not set, the default is SHA-256. If the payload of the message is a Java object, Mule ignores this value and returns the value that the payload’s hashCode() returned.

Message Identifier

One or more expressions that determine if a message was redelivered. This property can be set only if the Use Secure Hash field is false.

Object Store

ObjectStore

Configures the object store that stores the redelivery counter for each message.

### Redelivery Policy Message Identifier Configures how to identify a redelivered message and how to find out when the message was redelivered.
FieldTypeDescriptionDefault ValueRequired

Use Secure Hash

Boolean

If true, Mule uses a secure hash algorithm to identify a redelivered message.

Id Expression

String

One or more expressions that determine when a message was redelivered. You can set this property only if the Use Secure Hash field is false.

### Resource Request An inbound request for a resource, used when the connector is acting as an MCP server.
FieldTypeDescriptionDefault ValueRequired

Requested Uri

String

Yes

### Request Attributes
FieldTypeDescriptionDefault ValueRequired

Session Id

String

Yes

Request Id

String

Yes

Additional Properties

Object

Additional values attached to the request as HTTP Headers.

Yes

Client Certificate

Client certificate used to authenticate the request.

### Text Tool Response Content Defines a text content that’s part of the response of a tool implemented through this connector.
FieldTypeDescriptionDefault ValueRequired

Text

String

Text content.

Yes

Audience

Array of Enumeration, one of:

  • USER

  • ASSISTANT

Describes who the intended consumer of this data is. It can include multiple entries to indicate content that’s useful for multiple audiences.

Priority

Number

Describes how important this data is for operating the server. A value of 1 means "most important", which indicates that the data is required. A value of 0 means "least important", which indicates that the data is entirely optional.

### Image Tool Response Content Defines an image content that’s part of the response of a tool implemented through this connector.
FieldTypeDescriptionDefault ValueRequired

Audience

Array of Enumeration, one of:

  • USER

  • ASSISTANT

Describes who the intended consumer of this data is. It can include multiple entries to indicate content useful for multiple audiences.

Priority

Number

Describes how important this data is for operating the server. A value of 1 means "most important", which indicates that the data is required. A value of 0 means "least important", which indicates that the data is entirely optional.

Data

Binary

The raw image content, without Base64 encoding.

Yes

Mime Type

String

The image MIME type.

### Text Resource Tool Response Content Defines an embedded text resource that’s part of the response of a tool implemented through this connector.
FieldTypeDescriptionDefault ValueRequired

Audience

Array of Enumeration, one of:

  • USER

  • ASSISTANT

Describes who the intended consumer of this data is. It can include multiple entries to indicate content useful for multiple audiences.

Priority

Number

Describes how important this data is for operating the server. A value of 1 means "most important", which indicates that the data is required. A value of 0 means "least important", which indicates that the data is entirely optional.

Uri

String

Resource URI.

Yes

Mime Type

String

The resource MIME type.

text/plain

Text

String

Resource text.

Yes

### Blob Resource Tool Response Content Defines an embedded blob resource that’s part of the response of a tool implemented through this connector.
FieldTypeDescriptionDefault ValueRequired

Audience

Array of Enumeration, one of:

  • USER

  • ASSISTANT

Describes who the intended consumer of this data is. It can include multiple entries to indicate content useful for multiple audiences.

Priority

Number

Describes how important this data is for operating the server. A value of 1 means "most important", which indicates that the data is required. A value of 0 means "least important", which indicates that the data is entirely optional.

Blob

Binary

The raw resource content, without Base64 encoding.

Yes

Uri

String

Resource URI.

Yes

Mime Type

String

The resource MIME type.

### Text Resource Defines a text resource.
FieldTypeDescriptionDefault ValueRequired

Text

String

Text content.

Yes

### Blob Resource Defines the contents of a Blob resource.
FieldTypeDescriptionDefault ValueRequired

Blob

Binary

The raw blob content, without Base64 encoding.

Yes

### Custom Header Configures a custom header to be included in requests or responses.
NameTypeDescriptionDefault ValueRequired

Key

String

The header name.

Yes

Value

String

The header value. Supports property placeholders and DataWeave expressions.

Yes

### Call Tool Result Attributes Attributes returned with the `CallTool` response. Use these attributes to access the complete MCP response when structured content is extracted into the payload.
FieldTypeDescriptionDefault ValueRequired

Raw Mcp Response

The full tool response returned by the server, including all content items. Useful when Extract Structured Content is true and you still need the original response.

Yes

### Get Prompt Response Response returned by `prompts/get`.
FieldTypeDescriptionDefault ValueRequired

Description

String

Description of the prompt returned by the server.

Yes

Messages

The rendered prompt messages.

Yes

### Prompt Message Response A single rendered prompt message.
FieldTypeDescriptionDefault ValueRequired

Role

Enumeration, one of:

  • USER

  • ASSISTANT

Role associated with the message.

Yes

Content

The content of the prompt message.

Yes

### Prompt Metadata Prompt metadata returned by `prompts/list`.
FieldTypeDescriptionDefault ValueRequired

Name

String

Prompt name.

Yes

Title

String

Short, human-friendly title.

Yes

Description

String

Description of the prompt.

Yes

Arguments

Argument definitions for the prompt.

Yes

### Prompt Argument Metadata Description of a single argument supported by a prompt on a remote MCP server.
FieldTypeDescriptionDefault ValueRequired

Name

String

Argument name.

Yes

Title

String

Short, human-friendly title.

Yes

Description

String

Description of the argument.

Yes

Required

Boolean

Whether the argument is required.

false

### Prompt Request Input payload for `` flows.
FieldTypeDescriptionDefault ValueRequired

Prompt Name

String

The prompt name that was requested.

Yes

Arguments

Object

Map of arguments provided by the client.

Yes

### Prompt Argument Prompt argument definition exposed in `prompts/list`.
FieldTypeDescriptionDefault ValueRequired

Name

String

Argument name.

Yes

Description

String

Description of the argument.

Required

Boolean

Whether the argument is required.

false

### Inline Output Schema Defines an inline JSON schema for the tool’s output structure. The schema content is provided directly as text.
FieldTypeDescriptionDefault ValueRequired

Output Schema

String

The JSON schema content.

Yes

### File Output Schema Defines a file-based JSON schema for the tool’s output structure. The schema is loaded from a classpath resource (for example, a file under src/main/resources/ in the Mule project).
FieldTypeDescriptionDefault ValueRequired

Output Schema File

String

The path to the JSON schema file.

Yes

### Text Prompt Message Content A text-based prompt message content.
FieldTypeDescriptionDefault ValueRequired

Text

String

The message text. Supports DataWeave expressions.

Yes

Role

Enumeration, one of:

  • USER

  • ASSISTANT

Role associated with the message.

Audience

Array of Enumeration, one of:

  • USER

  • ASSISTANT

Describes who the intended consumer of this data is. It can include multiple entries to indicate content useful for multiple audiences.

Priority

Number

Describes how important this data is for operating the server. A value of 1 means "most important", which indicates that the data is required. A value of 0 means "least important", which indicates that the data is entirely optional.

### Image Prompt Message Content An image-based prompt message content. Image data can be provided inline (via a DataWeave expression) or by selecting a file from the project’s classpath resources. The connector Base64-encodes the data internally.
FieldTypeDescriptionDefault ValueRequired

Image Data

The image data provided either inline (base64-encoded) or as a file reference.

Yes

Mime Type

String

The image MIME type.

Role

Enumeration, one of:

  • USER

  • ASSISTANT

Role associated with the message.

Audience

Array of Enumeration, one of:

  • USER

  • ASSISTANT

Describes who the intended consumer of this data is. It can include multiple entries to indicate content useful for multiple audiences.

Priority

Number

Describes how important this data is for operating the server. A value of 1 means "most important", which indicates that the data is required. A value of 0 means "least important", which indicates that the data is entirely optional.

### Embedded Resource Prompt Message Content An embedded resource prompt message content. The resource content (text or blob) is bundled directly inside the prompt message. Choose Text or Blob from the resource content dropdown, matching the same pattern used by the Resource Listener.
FieldTypeDescriptionDefault ValueRequired

Uri

String

Resource URI.

Yes

Mime Type

String

The resource MIME type.

Resource Content

The resource content (text or blob).

Yes

Role

Enumeration, one of:

  • USER

  • ASSISTANT

Role associated with the message.

Audience

Array of Enumeration, one of:

  • USER

  • ASSISTANT

Describes who the intended consumer of this data is. It can include multiple entries to indicate content useful for multiple audiences.

Priority

Number

Describes how important this data is for operating the server. A value of 1 means "most important", which indicates that the data is required. A value of 0 means "least important", which indicates that the data is entirely optional.

### Resource Link Prompt Message Content A resource link prompt message content that references an external resource by URI.
FieldTypeDescriptionDefault ValueRequired

Uri

String

Resource URI.

Yes

Name

String

Name of the linked resource.

Description

String

Description.

Mime Type

String

MIME type of the linked resource.

Size

Number

Size of the linked resource.

Role

Enumeration, one of:

  • USER

  • ASSISTANT

Role associated with the message.

Audience

Array of Enumeration, one of:

  • USER

  • ASSISTANT

Describes who the intended consumer of this data is. It can include multiple entries to indicate content useful for multiple audiences.

Priority

Number

Describes how important this data is for operating the server. A value of 1 means "most important", which indicates that the data is required. A value of 0 means "least important", which indicates that the data is entirely optional.

### Text Embedded Resource Text-based embedded resource.
FieldTypeDescriptionDefault ValueRequired

Text

String

The text content.

Yes

### Blob Embedded Resource Binary embedded resource.
FieldTypeDescriptionDefault ValueRequired

Blob

Binary

The raw blob content, without Base64 encoding.

Yes

### Inline Image Data Provides image data inline via a DataWeave expression that resolves to binary content. The connector Base64-encodes the data internally before sending it over MCP.
FieldTypeDescriptionDefault ValueRequired

Image Data

Binary

The image data.

Yes

### File Image Data Provides image data by referencing a file in the project’s classpath resources. The connector reads and Base64-encodes the file content at runtime before sending it over MCP.
FieldTypeDescriptionDefault ValueRequired

Image File

String

The path to the image file.

Yes

### Text Prompt Response Content Text content in a prompt response.
FieldTypeDescriptionDefault ValueRequired

Text

String

The text content.

Yes

### Image Prompt Response Content Image content in a prompt response. The data is the raw image bytes (already decoded from Base64).
FieldTypeDescriptionDefault ValueRequired

Mime Type

String

The image MIME type.

Yes

Data

Binary

The image data.

Yes

### Embedded Resource Prompt Response Content Embedded resource content in a prompt response. The resource content (text or blob) is bundled directly inside the prompt message.
FieldTypeDescriptionDefault ValueRequired

Resource

The embedded resource payload.

Yes

### Resource Link Prompt Response Content Resource link content in a prompt response. References an external resource by URI.
FieldTypeDescriptionDefault ValueRequired

Uri

String

Resource URI.

Yes

Name

String

Name of the linked resource.

Description

String

Description.

Mime Type

String

MIME type of the linked resource.

Size

Number

Size of the linked resource.

## See Also - [Using Anypoint Code Builder to Configure a Connector](https://docs.mulesoft.com/connectors/introduction/intro-config-use-acb) - [Using Studio to Configure a Connector](https://docs.mulesoft.com/connectors/introduction/intro-config-use-studio) - [MCP Connector Overview](https://docs.mulesoft.com/mcp-connector/latest/) - [MuleSoft Help Center](https://help.mulesoft.com) --- product: MCP Connector version: 1.7 is-latest-version: true --- # MCP Connector 1.7 XML and Maven Support > For the full documentation index, see: https://docs.mulesoft.com/llms.txt Although you can manually code a Mule app in XML, it is more efficient to use Anypoint Code Builder or Studio: - If you manually code a Mule runtime engine (Mule) app in XML, either from the Anypoint Code Builder or Studio XML editor, or from a text editor, you can access the connector from your app by adding reference statements to both your XML Mule flow and the Apache Maven `pom.xml` file. - If you add the connector in Anypoint Code Builder or Studio, the XML is automatically populated the code with the connector’s namespace and schema location and it also adds a dependency to the `pom.xml` file. ## Add a Namespace for the Connector Paste the following code inside the `mule` tag of the header of your configuration XML: ```xml http://www.mulesoft.org/schema/mule/mcp http://www.mulesoft.org/schema/mule/mcp/current/mule-mcp.xsd ``` This example shows how the namespace statements are placed in the `` XML block: ```xml ``` ## Add a POM File Dependency The Apache Maven `pom.xml` file generated by Anypoint Studio contains dependencies for a Mule app. If you code a Mule app manually, include this XML snippet in your `pom.xml` file to enable access to this connector: ```xml com.mulesoft.connectors mule-mcp-connector x.x.x mule-plugin ``` Replace `x.x.x` with the version that corresponds to the connector you are using. To obtain the most up-to-date `pom.xml` file information: 1. Go to [Anypoint Exchange](https://www.mulesoft.com/exchange/). 2. In Exchange, click **Login** and supply your Anypoint Platform username and password. 3. In Exchange, search for `mcp`. 4. Select the connector. 5. Click **Dependency Snippets** near the upper right of the screen. ## Next Step After completing your namespace and pom.xml file, you can try the [Examples](https://docs.mulesoft.com/mcp-connector/latest/mcp-connector-examples). ## See Also - [Introduction to Anypoint Connectors](https://docs.mulesoft.com/connectors/introduction/introduction-to-anypoint-connectors) - [Salesforce Help](https://help.salesforce.com) --- product: MCP Connector version: 1.0 --- # Upgrading MCP Connector to Version 1.0.0 > For the full documentation index, see: https://docs.mulesoft.com/llms.txt MCP Connector 0.1.0-BETA is deprecated. Use MCP Connector 1.0.0 instead. MCP Connector 1.0.0 is not backward-compatible with the 0.1.0-BETA version of this connector. ## Changes in This Release This release contains the following changes: - Streamable HTTP Transport Support for Streamable HTTP transport is added. This transport method replaces the deprecated SSE transport for better scalability and cloud compatibility. - Custom Response Headers Added support for custom headers on all exposed endpoints. - Enhanced Error Handling Improved error handling with specific error types and better error messages. - Performance Improvements Added caching support and timeout configurations. - Input Validation Enhanced parameter validation with JSON schema constraints. - These new types are added: - Call Tool Response - Resource Content - Resource Metadata - Tool Metadata - New Session Request - Resource Request - Text Tool Response Content - Text Resource Tool Response Content - Blob Resource Tool Response Content - Blob Resource - The `mule.http.service.implementation=NETTY` property is no longer required and must be [removed](#remove-property). - The `` element under `` is renamed to ``. If you used the 0.1.0-BETA version of this connector, you must manually rename the element in the connector’s configuration XML. ## Removed Features - The `` and `` configuration attributes are removed. - The `` operation is removed. The MCP server always advertises itself as non-dynamic. ## Update the POM File Dependency If you are using MCP Connector 0.1.0-BETA, you must update your POM file dependency to: ```xml com.mulesoft.connectors mule-mcp-connector 1.0.0 mule-plugin ``` Note that the `com.mulesoft.connector` is changed so that `connector` is now plural `connectors`. ## Remove the NETTY Property If you used the 0.1.0-BETA version of MCP Connector and added the `-Dmule.http.service.implementation=NETTY` property, remove it anywhere you added it, including the: - `AnypointStudio.ini` file - Debug configuration - Apps' properties ## See Also - [MCP Connector Reference](https://docs.mulesoft.com/mcp-connector/1.0/mcp-connector-reference) - [MCP Connector Examples](https://docs.mulesoft.com/mcp-connector/1.0/mcp-connector-examples) - [Introduction to Anypoint Connectors](https://docs.mulesoft.com/connectors/introduction/introduction-to-anypoint-connectors) - [Salesforce Help](https://help.salesforce.com) --- product: MCP Connector version: 1.1 --- # Upgrading MCP Connector to Version 1.1 > For the full documentation index, see: https://docs.mulesoft.com/llms.txt MCP Connector 0.1.0-BETA is deprecated. Use MCP Connector 1.x instead. MCP Connector 1.x is not backward-compatible with the 0.1.0-BETA version of this connector. ## Supported Upgrade Paths
From VersionTo Version

1.0

1.x

## Changes in 1.1 - A **Default Request Headers** parameter is added to both the SSE Client and Streamable Http Client connection types within the MCP Client configuration. This parameter lets you specify custom headers to send with every request to the MCP server. ## Changes in 1.0 This release contains the following changes: - Streamable HTTP Transport Support for Streamable HTTP transport is added. This transport method replaces the deprecated SSE transport for better scalability and cloud compatibility. - Custom Response Headers Added support for custom headers on all exposed endpoints. - Enhanced Error Handling Improved error handling with specific error types and better error messages. - Performance Improvements Added caching support and timeout configurations. - Input Validation Enhanced parameter validation with JSON schema constraints. - These new types are added: - Call Tool Response - Resource Content - Resource Metadata - Tool Metadata - New Session Request - Resource Request - Text Tool Response Content - Text Resource Tool Response Content - Blob Resource Tool Response Content - Blob Resource - The `mule.http.service.implementation=NETTY` property is no longer required and must be [removed](#remove-property). - The `` element under `` is renamed to ``. If you used the 0.1.0-BETA version of this connector, you must manually rename the element in the connector’s configuration XML. ## Removed Features - The `` and `` configuration attributes are removed. - The `` operation is removed. The MCP server always advertises itself as non-dynamic. ## Update the POM File Dependency If you are using MCP Connector 0.1.0-BETA, you must update your POM file dependency to: ```xml com.mulesoft.connectors mule-mcp-connector 1.0.0 mule-plugin ``` Note that the `com.mulesoft.connector` is changed so that `connector` is now plural `connectors`. ## Remove the NETTY Property If you used the 0.1.0-BETA version of MCP Connector and added the `-Dmule.http.service.implementation=NETTY` property, remove it anywhere you added it, including the: - `AnypointStudio.ini` file - Debug configuration - Apps' properties ## See Also - [MCP Connector Reference](https://docs.mulesoft.com/mcp-connector/1.1/mcp-connector-reference) - [MCP Connector Examples](https://docs.mulesoft.com/mcp-connector/1.1/mcp-connector-examples) - [Introduction to Anypoint Connectors](https://docs.mulesoft.com/connectors/introduction/introduction-to-anypoint-connectors) - [Salesforce Help](https://help.salesforce.com) --- product: MCP Connector version: 1.2 --- # Upgrading MCP Connector to Version 1.2 > For the full documentation index, see: https://docs.mulesoft.com/llms.txt MCP Connector 0.1.0-BETA is deprecated. Use MCP Connector 1.x instead. MCP Connector 1.x is not backward-compatible with the 0.1.0-BETA version of this connector. ## Supported Upgrade Paths
From VersionTo Version

1.0

1.x

## Changes in 1.2 - MCP Connector now supports distributed tracing. ## Changes in 1.1 - A **Default Request Headers** parameter is added to both the SSE Client and Streamable Http Client connection types within the MCP Client configuration. This parameter lets you specify custom headers to send with every request to the MCP server. ## Changes in 1.0 This release contains the following changes: - Streamable HTTP Transport Support for Streamable HTTP transport is added. This transport method replaces the deprecated SSE transport for better scalability and cloud compatibility. - Custom Response Headers Added support for custom headers on all exposed endpoints. - Enhanced Error Handling Improved error handling with specific error types and better error messages. - Performance Improvements Added caching support and timeout configurations. - Input Validation Enhanced parameter validation with JSON schema constraints. - These new types are added: - Call Tool Response - Resource Content - Resource Metadata - Tool Metadata - New Session Request - Resource Request - Text Tool Response Content - Text Resource Tool Response Content - Blob Resource Tool Response Content - Blob Resource - The `mule.http.service.implementation=NETTY` property is no longer required and must be [removed](#remove-property). - The `` element under `` is renamed to ``. If you used the 0.1.0-BETA version of this connector, you must manually rename the element in the connector’s configuration XML. ## Removed Features - The `` and `` configuration attributes are removed. - The `` operation is removed. The MCP server always advertises itself as non-dynamic. ## Update the POM File Dependency If you are using MCP Connector 0.1.0-BETA, you must update your POM file dependency to: ```xml com.mulesoft.connectors mule-mcp-connector 1.0.0 mule-plugin ``` Note that the `com.mulesoft.connector` is changed so that `connector` is now plural `connectors`. ## Remove the NETTY Property If you used the 0.1.0-BETA version of MCP Connector and added the `-Dmule.http.service.implementation=NETTY` property, remove it anywhere you added it, including the: - `AnypointStudio.ini` file - Debug configuration - Apps' properties ## See Also - [MCP Connector Reference](https://docs.mulesoft.com/mcp-connector/1.2/mcp-connector-reference) - [MCP Connector Examples](https://docs.mulesoft.com/mcp-connector/1.2/mcp-connector-examples) - [Introduction to Anypoint Connectors](https://docs.mulesoft.com/connectors/introduction/introduction-to-anypoint-connectors) - [Salesforce Help](https://help.salesforce.com) --- product: MCP Connector version: 1.3 --- # Upgrading MCP Connector to Version 1.3 > For the full documentation index, see: https://docs.mulesoft.com/llms.txt MCP Connector 0.1.0-BETA is deprecated. Use MCP Connector 1.x instead. MCP Connector 1.x is not backward-compatible with the 0.1.0-BETA version of this connector. ## Supported Upgrade Paths
From VersionTo Version

1.0

1.x

## Changes in 1.3 - The **MCP Server - On New Session Listener** source now supports custom rejection headers with the new **Reject With Headers** field. ## Changes in 1.2 - MCP Connector now supports distributed tracing. ## Changes in 1.1 - A **Default Request Headers** parameter is added to both the SSE Client and Streamable Http Client connection types within the MCP Client configuration. This parameter lets you specify custom headers to send with every request to the MCP server. ## Changes in 1.0 This release contains the following changes: - Streamable HTTP Transport Support for Streamable HTTP transport is added. This transport method replaces the deprecated SSE transport for better scalability and cloud compatibility. - Custom Response Headers Added support for custom headers on all exposed endpoints. - Enhanced Error Handling Improved error handling with specific error types and better error messages. - Performance Improvements Added caching support and timeout configurations. - Input Validation Enhanced parameter validation with JSON schema constraints. - These new types are added: - Call Tool Response - Resource Content - Resource Metadata - Tool Metadata - New Session Request - Resource Request - Text Tool Response Content - Text Resource Tool Response Content - Blob Resource Tool Response Content - Blob Resource - The `mule.http.service.implementation=NETTY` property is no longer required and must be [removed](#remove-property). - The `` element under `` is renamed to ``. If you used the 0.1.0-BETA version of this connector, you must manually rename the element in the connector’s configuration XML. ## Removed Features - The `` and `` configuration attributes are removed. - The `` operation is removed. The MCP server always advertises itself as non-dynamic. ## Update the POM File Dependency If you are using MCP Connector 0.1.0-BETA, you must update your POM file dependency to: ```xml com.mulesoft.connectors mule-mcp-connector 1.0.0 mule-plugin ``` Note that the `com.mulesoft.connector` is changed so that `connector` is now plural `connectors`. ## Remove the NETTY Property If you used the 0.1.0-BETA version of MCP Connector and added the `-Dmule.http.service.implementation=NETTY` property, remove it anywhere you added it, including the: - `AnypointStudio.ini` file - Debug configuration - Apps' properties ## See Also - [MCP Connector Reference](https://docs.mulesoft.com/mcp-connector/1.3/mcp-connector-reference) - [MCP Connector Examples](https://docs.mulesoft.com/mcp-connector/1.3/mcp-connector-examples) - [Introduction to Anypoint Connectors](https://docs.mulesoft.com/connectors/introduction/introduction-to-anypoint-connectors) - [Salesforce Help](https://help.salesforce.com) --- product: MCP Connector version: 1.4 --- # Upgrading MCP Connector to Version 1.4 > For the full documentation index, see: https://docs.mulesoft.com/llms.txt MCP Connector 0.1.0-BETA is deprecated. Use MCP Connector 1.x instead. MCP Connector 1.x is not backward-compatible with the 0.1.0-BETA version of this connector. ## Supported Upgrade Paths
From VersionTo Version

1.0

1.x

## Changes in 1.4 - The MCP Java SDK is upgraded to the latest release version (1.0.0). - Both the server and client transports now default to 2025-06-18 as the preferred version of the protocol. - Both the server and client transports now set the `Mcp-Protocol-Version` header to the version negotiated upon connection initialization. ## Changes in 1.3 - The **MCP Server - On New Session Listener** source now supports custom rejection headers with the new **Reject With Headers** field. ## Changes in 1.2 - MCP Connector now supports distributed tracing. ## Changes in 1.1 - A **Default Request Headers** parameter is added to both the SSE Client and Streamable Http Client connection types within the MCP Client configuration. This parameter lets you specify custom headers to send with every request to the MCP server. ## Changes in 1.0 This release contains the following changes: - Streamable HTTP Transport Support for Streamable HTTP transport is added. This transport method replaces the deprecated SSE transport for better scalability and cloud compatibility. - Custom Response Headers Added support for custom headers on all exposed endpoints. - Enhanced Error Handling Improved error handling with specific error types and better error messages. - Performance Improvements Added caching support and timeout configurations. - Input Validation Enhanced parameter validation with JSON schema constraints. - These new types are added: - Call Tool Response - Resource Content - Resource Metadata - Tool Metadata - New Session Request - Resource Request - Text Tool Response Content - Text Resource Tool Response Content - Blob Resource Tool Response Content - Blob Resource - The `mule.http.service.implementation=NETTY` property is no longer required and must be [removed](#remove-property). - The `` element under `` is renamed to ``. If you used the 0.1.0-BETA version of this connector, you must manually rename the element in the connector’s configuration XML. ## Removed Features - The `` and `` configuration attributes are removed. - The `` operation is removed. The MCP server always advertises itself as non-dynamic. ## Update the POM File Dependency If you are using MCP Connector 0.1.0-BETA, you must update your POM file dependency to: ```xml com.mulesoft.connectors mule-mcp-connector 1.0.0 mule-plugin ``` Note that the `com.mulesoft.connector` is changed so that `connector` is now plural `connectors`. ## Remove the NETTY Property If you used the 0.1.0-BETA version of MCP Connector and added the `-Dmule.http.service.implementation=NETTY` property, remove it anywhere you added it, including the: - `AnypointStudio.ini` file - Debug configuration - Apps' properties ## See Also - [MCP Connector Reference](https://docs.mulesoft.com/mcp-connector/1.4/mcp-connector-reference) - [MCP Connector Examples](https://docs.mulesoft.com/mcp-connector/1.4/mcp-connector-examples) - [Introduction to Anypoint Connectors](https://docs.mulesoft.com/connectors/introduction/introduction-to-anypoint-connectors) - [MuleSoft Help Center](https://help.mulesoft.com) --- product: MCP Connector version: 1.5 --- # Upgrading MCP Connector to Version 1.5 > For the full documentation index, see: https://docs.mulesoft.com/llms.txt MCP Connector 0.1.0-BETA is deprecated. Use MCP Connector 1.x instead. MCP Connector 1.x is not backward-compatible with the 0.1.0-BETA version of this connector. ## Supported Upgrade Paths
From VersionTo Version

1.0

1.x

## Changes in 1.5 - MCP Connector now includes the **MCP Client - Get Prompt** and **MCP Client - List Prompts** operations, and the **MCP Server - Prompt Listener** source. Expose server-side prompt templates with typed arguments and consume them from clients, with responses supporting text, image, embedded resource, and resource link content. - The **MCP Client - Call Tool** operation now includes the new **Extract Structured Content** field. Define tool parameter and output schemas using either inline JSON or external files, fully supported by robust design-time schema validation. - The connector now includes the new `MCP:SCHEMA_VALIDATION_FAILED` error. ## Changes in 1.4 - The MCP Java SDK is upgraded to the latest release version (1.0.0). - Both the server and client transports now default to 2025-06-18 as the preferred version of the protocol. - Both the server and client transports now set the `Mcp-Protocol-Version` header to the version negotiated upon connection initialization. ## Changes in 1.3 - The **MCP Server - On New Session Listener** source now supports custom rejection headers with the new **Reject With Headers** field. ## Changes in 1.2 - MCP Connector now supports distributed tracing. ## Changes in 1.1 - A **Default Request Headers** parameter is added to both the SSE Client and Streamable Http Client connection types within the MCP Client configuration. This parameter lets you specify custom headers to send with every request to the MCP server. ## Changes in 1.0 This release contains the following changes: - Streamable HTTP Transport Support for Streamable HTTP transport is added. This transport method replaces the deprecated SSE transport for better scalability and cloud compatibility. - Custom Response Headers Added support for custom headers on all exposed endpoints. - Enhanced Error Handling Improved error handling with specific error types and better error messages. - Performance Improvements Added caching support and timeout configurations. - Input Validation Enhanced parameter validation with JSON schema constraints. - These new types are added: - Call Tool Response - Resource Content - Resource Metadata - Tool Metadata - New Session Request - Resource Request - Text Tool Response Content - Text Resource Tool Response Content - Blob Resource Tool Response Content - Blob Resource - The `mule.http.service.implementation=NETTY` property is no longer required and must be [removed](#remove-property). - The `` element under `` is renamed to ``. If you used the 0.1.0-BETA version of this connector, you must manually rename the element in the connector’s configuration XML. ## Removed Features - The `` and `` configuration attributes are removed. - The `` operation is removed. The MCP server always advertises itself as non-dynamic. ## Update the POM File Dependency If you are using MCP Connector 0.1.0-BETA, you must update your POM file dependency to: ```xml com.mulesoft.connectors mule-mcp-connector 1.0.0 mule-plugin ``` Note that the `com.mulesoft.connector` is changed so that `connector` is now plural `connectors`. ## Remove the NETTY Property If you used the 0.1.0-BETA version of MCP Connector and added the `-Dmule.http.service.implementation=NETTY` property, remove it anywhere you added it, including the: - `AnypointStudio.ini` file - Debug configuration - Apps' properties ## See Also - [MCP Connector Reference](https://docs.mulesoft.com/mcp-connector/1.5/mcp-connector-reference) - [MCP Connector Examples](https://docs.mulesoft.com/mcp-connector/1.5/mcp-connector-examples) - [Introduction to Anypoint Connectors](https://docs.mulesoft.com/connectors/introduction/introduction-to-anypoint-connectors) - [MuleSoft Help Center](https://help.mulesoft.com) --- product: MCP Connector version: 1.6 --- # Upgrading MCP Connector to Version 1.6 > For the full documentation index, see: https://docs.mulesoft.com/llms.txt MCP Connector 0.1.0-BETA is deprecated. Use MCP Connector 1.x instead. MCP Connector 1.x is not backward-compatible with the 0.1.0-BETA version of this connector. ## Supported Upgrade Paths
From VersionTo Version

1.0

1.x

## Changes in 1.6 - MCP Connector now includes the **MCP Server - Create Elicitation** operation and the **MCP Client - Elicitation Listener** source. These capabilities implement the MCP elicitation protocol so servers can request additional structured input from clients during tool and resource execution. - Elicitation is opt-in through the new **Enable Elicitations** field on the client configuration. For multi-worker deployments, use Streamable HTTP server transport and configure an Object Store on the server connection so elicitation correlation is preserved across workers. SSE server transport is single-worker only. - Server connection configuration now includes the new **Elicitation Timeout Seconds**, **Elicitations Object Store**, and **Elicitation Polling Seconds** fields to route elicitation responses across replicas. - The **MCP Client - List Tools**, **MCP Client - List Resources**, and **MCP Client - List Prompts** operations now include the new **Additional Properties** field. Pass custom headers, correlation IDs, tenant identifiers, or other metadata on list calls. The values are propagated to the corresponding server-side listeners and are accessible from `attributes.additionalProperties`. ## Changes in 1.5 - MCP Connector now includes the **MCP Client - Get Prompt** and **MCP Client - List Prompts** operations, and the **MCP Server - Prompt Listener** source. Expose server-side prompt templates with typed arguments and consume them from clients, with responses supporting text, image, embedded resource, and resource link content. - The **MCP Client - Call Tool** operation now includes the new **Extract Structured Content** field. Define tool parameter and output schemas using either inline JSON or external files, fully supported by robust design-time schema validation. With this, the connector now also includes the new `MCP:SCHEMA_VALIDATION_FAILED` error. - The connector now includes response attributes to support structured client-side error handling with HTTP response details. With this, the connector now also includes the new `MCP:UNAUTHORIZED` error. ## Changes in 1.4 - The MCP Java SDK is upgraded to the latest release version (1.0.0). - Both the server and client transports now default to 2025-06-18 as the preferred version of the protocol. - Both the server and client transports now set the `Mcp-Protocol-Version` header to the version negotiated upon connection initialization. ## Changes in 1.3 - The **MCP Server - On New Session Listener** source now supports custom rejection headers with the new **Reject With Headers** field. ## Changes in 1.2 - MCP Connector now supports distributed tracing. ## Changes in 1.1 - A **Default Request Headers** parameter is added to both the SSE Client and Streamable Http Client connection types within the MCP Client configuration. Use this parameter to specify custom headers to send with every request to the MCP server. ## Changes in 1.0 This release contains the following changes: - Streamable HTTP Transport Support for Streamable HTTP transport is added. This transport method replaces the deprecated SSE transport for better scalability and cloud compatibility. - Custom Response Headers Added support for custom headers on all exposed endpoints. - Enhanced Error Handling Improved error handling with specific error types and better error messages. - Performance Improvements Added caching support and timeout configurations. - Input Validation Enhanced parameter validation with JSON schema constraints. - These new types are added: - Call Tool Response - Resource Content - Resource Metadata - Tool Metadata - New Session Request - Resource Request - Text Tool Response Content - Text Resource Tool Response Content - Blob Resource Tool Response Content - Blob Resource - The `mule.http.service.implementation=NETTY` property is no longer required and must be [removed](#remove-property). - The `` element under `` is renamed to ``. If you used the 0.1.0-BETA version of this connector, you must manually rename the element in the connector’s configuration XML. ## Removed Features - The `` and `` configuration attributes are removed. - The `` operation is removed. The MCP server always advertises itself as non-dynamic. ## Update the POM File Dependency If you are using MCP Connector 0.1.0-BETA, you must update your POM file dependency to: ```xml com.mulesoft.connectors mule-mcp-connector 1.0.0 mule-plugin ``` Note that the `com.mulesoft.connector` is changed so that `connector` is now plural `connectors`. ## Remove the NETTY Property If you used the 0.1.0-BETA version of MCP Connector and added the `-Dmule.http.service.implementation=NETTY` property, remove it anywhere you added it, including the: - `AnypointStudio.ini` file - Debug configuration - Apps' properties ## See Also - [MCP Connector Reference](https://docs.mulesoft.com/mcp-connector/1.6/mcp-connector-reference) - [MCP Connector Examples](https://docs.mulesoft.com/mcp-connector/1.6/mcp-connector-examples) - [Introduction to Anypoint Connectors](https://docs.mulesoft.com/connectors/introduction/introduction-to-anypoint-connectors) - [MuleSoft Help Center](https://help.mulesoft.com) --- product: MCP Connector version: 1.7 is-latest-version: true --- # Upgrading MCP Connector to Version 1.7 > For the full documentation index, see: https://docs.mulesoft.com/llms.txt MCP Connector 0.1.0-BETA is deprecated. Use MCP Connector 1.x instead. MCP Connector 1.x is not backward-compatible with the 0.1.0-BETA version of this connector. ## Supported Upgrade Paths
From VersionTo Version

1.0

1.x

## Changes in 1.7 - The MCP Java SDK is upgraded from 1.0.1 to 2.0.0. Connector operations, sources, configuration, and error types are unchanged. - The MCP SDK’s JSON provider is migrated to Jackson 3. Connector operations, sources, configuration, and error types are unchanged. - The Streamable HTTP transport no longer leaks resources by holding open a persistent Server-Sent Events (SSE) stream for every non-initialize request. Response framing is now deferred until an outbound message is actually sent: non-eliciting requests (such as `tools/call`, `resources/read`, and `prompts/get`) return a plain `application/json` response, and an SSE stream is opened only when the server must send a server-initiated message such as an elicitation. > [!NOTE] As part of the Streamable HTTP framing change, a request that triggers a > server-initiated message (an elicitation) now requires the client to advertise the SSE channel > in its `Accept` header. Clients that call such operations must send: > > Accept: application/json, text/event-stream > > A client that sends only `Accept: application/json` and then triggers an elicitation receives an > `INVALID_REQUEST` error. Spec-conformant MCP clients already send both media types and are > unaffected. If you maintain a custom MCP client, ensure it advertises `text/event-stream` on > requests that might elicit. ## Changes in 1.6 - MCP Connector now includes the **MCP Server - Create Elicitation** operation and the **MCP Client - Elicitation Listener** source. These capabilities implement the MCP elicitation protocol so servers can request additional structured input from clients during tool and resource execution. - Elicitation is opt-in through the new **Enable Elicitations** field on the client configuration. For multi-worker deployments, use Streamable HTTP server transport and configure an Object Store on the server connection so elicitation correlation is preserved across workers. SSE server transport is single-worker only. - Server connection configuration now includes the new **Elicitation Timeout Seconds**, **Elicitations Object Store**, and **Elicitation Polling Seconds** fields to route elicitation responses across replicas. - The **MCP Client - List Tools**, **MCP Client - List Resources**, and **MCP Client - List Prompts** operations now include the new **Additional Properties** field. Pass custom headers, correlation IDs, tenant identifiers, or other metadata on list calls. The values are propagated to the corresponding server-side listeners and are accessible from `attributes.additionalProperties`. ## Changes in 1.5 - MCP Connector now includes the **MCP Client - Get Prompt** and **MCP Client - List Prompts** operations, and the **MCP Server - Prompt Listener** source. Expose server-side prompt templates with typed arguments and consume them from clients, with responses supporting text, image, embedded resource, and resource link content. - The **MCP Client - Call Tool** operation now includes the new **Extract Structured Content** field. Define tool parameter and output schemas using either inline JSON or external files, fully supported by robust design-time schema validation. With this, the connector now also includes the new `MCP:SCHEMA_VALIDATION_FAILED` error. - The connector now includes response attributes to support structured client-side error handling with HTTP response details. With this, the connector now also includes the new `MCP:UNAUTHORIZED` error. ## Changes in 1.4 - The MCP Java SDK is upgraded to the latest release version (1.0.0). - Both the server and client transports now default to 2025-06-18 as the preferred version of the protocol. - Both the server and client transports now set the `Mcp-Protocol-Version` header to the version negotiated upon connection initialization. ## Changes in 1.3 - The **MCP Server - On New Session Listener** source now supports custom rejection headers with the new **Reject With Headers** field. ## Changes in 1.2 - MCP Connector now supports distributed tracing. ## Changes in 1.1 - A **Default Request Headers** parameter is added to both the SSE Client and Streamable Http Client connection types within the MCP Client configuration. Use this parameter to specify custom headers to send with every request to the MCP server. ## Changes in 1.0 This release contains the following changes: - Streamable HTTP Transport Support for Streamable HTTP transport is added. This transport method replaces the deprecated SSE transport for better scalability and cloud compatibility. - Custom Response Headers Added support for custom headers on all exposed endpoints. - Enhanced Error Handling Improved error handling with specific error types and better error messages. - Performance Improvements Added caching support and timeout configurations. - Input Validation Enhanced parameter validation with JSON schema constraints. - These new types are added: - Call Tool Response - Resource Content - Resource Metadata - Tool Metadata - New Session Request - Resource Request - Text Tool Response Content - Text Resource Tool Response Content - Blob Resource Tool Response Content - Blob Resource - The `mule.http.service.implementation=NETTY` property is no longer required and must be [removed](#remove-property). - The `` element under `` is renamed to ``. If you used the 0.1.0-BETA version of this connector, you must manually rename the element in the connector’s configuration XML. ## Removed Features - The `` and `` configuration attributes are removed. - The `` operation is removed. The MCP server always advertises itself as non-dynamic. ## Update the POM File Dependency If you are using MCP Connector 0.1.0-BETA, you must update your POM file dependency to: ```xml com.mulesoft.connectors mule-mcp-connector 1.0.0 mule-plugin ``` Note that the `com.mulesoft.connector` is changed so that `connector` is now plural `connectors`. ## Remove the NETTY Property If you used the 0.1.0-BETA version of MCP Connector and added the `-Dmule.http.service.implementation=NETTY` property, remove it anywhere you added it, including the: - `AnypointStudio.ini` file - Debug configuration - Apps' properties ## See Also - [MCP Connector Reference](https://docs.mulesoft.com/mcp-connector/latest/mcp-connector-reference) - [MCP Connector Examples](https://docs.mulesoft.com/mcp-connector/latest/mcp-connector-examples) - [Introduction to Anypoint Connectors](https://docs.mulesoft.com/connectors/introduction/introduction-to-anypoint-connectors) - [MuleSoft Help Center](https://help.mulesoft.com) --- product: MCP Connector version: 0.1 --- # Using Anypoint Code Builder to Configure MCP Connector 0.1.0-BETA > For the full documentation index, see: https://docs.mulesoft.com/llms.txt Cloud IDE (Beta) is scheduled for retirement on August 31, 2026. August 30, 2026 is the last day you can access Cloud IDE (Beta). Download your projects to work from Desktop IDE. Learn more in [Migrate a Project from Cloud IDE to Desktop IDE](https://docs.mulesoft.com/anypoint-code-builder/int-import-mule-project#migrate-cloud-to-desktop). To use Anypoint Code Builder to configure a connector or module, create a basic integration project in Anypoint Code Builder, add connectors and other components to your Mule application to process your business logic, and configure the attributes. ## Before You Begin Before creating an integration project, you must: - [Set up and access the Anypoint Code Builder web or desktop IDE](https://docs.mulesoft.com/anypoint-code-builder/start-acb) - Have credentials to access the connector’s API - Ensure that the Visual Studio Code Extension Pack for Java is installed. To use this connector, you must be familiar with: - The connector’s API - Anypoint Connectors - Mule runtime engine (Mule) ## Create a New Integration Project To create a new integration project: 1. In the activity bar of the IDE, click the ![Anypoint Code Builder icon](/mulesoft/current/en-us/connectors/_images/acb-icon-ms-logo.png) (**Anypoint Code Builder**) icon. 2. From **Quick Actions**, click **Develop an Integration**: ![Develop an Integration link highlighted in the Getting started section](/mulesoft/current/en-us/anypoint-code-builder/_images/develop-integration-option-mat.png) 3. Complete the following in the **Develop an Integration** form:
AttributeValue

Project Name

Unique name for your project.

This name is used as the title and name of the integration project file. For example, if the project name is "Salesforce Integration," the project file name is salesforce-integration.

Project Location

Your home directory or another directory you create. Click Browse to select a different directory for the integration project.

Don’t create the project within another project directory.

4. Select the type of project to create by selecting either the **Empty Project** or **Template or Example** card. 5. Select the **Mule runtime** and **Java Version** for your app. 6. Click **Create Project**. ## Add the Connector to Your Integration Project Anypoint Connectors provide operations for retrieving, modifying, and sending data to and from systems. In addition to the [built-in connectors](https://docs.mulesoft.com/anypoint-code-builder/acb-reference#builtin-connectors) that Anypoint Code Builder provides, you can download many other connectors from Anypoint Exchange. To import a connector from Exchange and add it to your configuration: 1. In the Explorer view, open the configuration XML file for your project, such as `my-project-name.xml`. 2. Click the ![Show Mule graphical mode icon](/mulesoft/current/en-us/anypoint-code-builder/_images/icon-tree-view.png) (**Show Mule graphical mode**) icon in the activity bar to open the canvas UI if it doesn’t open automatically. 3. Add the connector the same way you added other components from the canvas UI: 1. In the canvas UI, click the ![Add component icon](/mulesoft/current/en-us/anypoint-code-builder/_images/icon-plus.png) (**Add component**) icon. 2. In the **Add Component** panel, click **Connectors**. 3. Click the connector name and then click the operation to add, such as **Publish**: ![Add Publish operation from Anypoint MQ Connector](/mulesoft/current/en-us/anypoint-code-builder/_images/int-add-connector-operation.png) If the connector is not available locally, click the ![Search in Exchange icon](/mulesoft/current/en-us/anypoint-code-builder/_images/icon-search-exchange.png) (**Search in Exchange**) toggle: ![Search in Exchange toggle](/mulesoft/current/en-us/anypoint-code-builder/_images/int-connector-search-exchange.png)
1Search locally
2Search in Exchange
4. Select the connector to add to your project. 5. Select the operation from the **Add Component** panel. Adding a connector to an integration project does not make that connector available to other projects in your Anypoint Code Builder workspace. ## Configure the Source For the Flow A trigger (source) starts the flow when specified conditions are met. If a connector has its own associated sources, you can use a connector-specific trigger to initiate the flow. Each connector trigger has a unique configuration. You can configure the following sources for this connector: - **HTTP > Listener** Initiates a flow each time it receives a request on the configured host and port - **Scheduler** Initiates a flow when a time-based condition is met For example, to configure an HTTP Listener trigger, follow these steps: 1. Click the **Listener** component on the canvas UI. 2. (Optional) Click the edit icon to change the name of the **Listener** component. 3. (Optional) If you created a configuration file for the connector, select it. 4. In the **General** tab, in the **Path** field, enter the relative path for the path set in the HTTP configuration element. See [Configure Paths](https://docs.mulesoft.com/http-connector/latest/http-listener-ref#configure-paths). 5. Select the **Advanced** tab to configure the following attributes:
AttributeDescriptionRequired

Allowed methods

To allow all HTTP methods (default), do not define this attribute. To restrict certain methods, specify all allowed HTTP methods, for example, GET, POST, as a comma-separated list.

No

Response streaming mode

Whether to use streaming when the response is sent.

No

Output MIME type

MIME type of the payload that this component outputs.

No

Parameters

Appends a key-value pair for a reader property to the value of the Output MIME attribute. Multiple key-value pairs are allowed.

No

Output encoding

Encoding of the payload that this component outputs.

No

Streaming Strategy

Configures the way data streams are consumed in Mule apps.

No

Primary node only

Select this option to execute the Listener trigger on the primary node only when running in a cluster.

No

Redelivery policy

Configures the redelivery policy for executing requests that generate errors. You can add a redelivery policy to any source in a flow.

No

Reconnection strategy

When an operation in a Mule application fails to connect to an external server, the default behavior is for the operation to fail immediately and return a connectivity error. You can modify the default behavior by configuring the reconnection strategy for the operation.

No

Response

See HTTP Response Attributes.

No

Error Response

HTTP error response returns a status code for the error.

No

Body

Body of the error message.

No

Headers

Headers to include in the error message.

No

Status code

Status code of the error response, for example, 500.

No

Reason phrase

Reason for the error, for example, Gateway Timeout or Internal Server Error.

No

## Add Components to Your Project Add components to your integration project to build a flow: 1. In the **Explorer** view, open the XML file for your project, such as `my-project-name.xml`. 2. Select **Build a Flow** from the start card to create an empty flow: ![Anypoint Code Builder canvas with starting cards with the options to start from scratch, build a flow, or build a subflow](/mulesoft/current/en-us/connectors/_images/acb-build-flow.png) 3. Change the name of the flow: 1. Click **Flow**. 2. Click the edit icon. ![Arrow pointing to the flow name edit pencil icon](/mulesoft/current/en-us/connectors/_images/acb-change-flow-name.png) 3. Enter the flow name, and click the checkmark. 4. In the canvas UI, click the ![Add component icon](/mulesoft/current/en-us/anypoint-code-builder/_images/icon-plus.png) (**Add component**) icon. 5. In the **Add Component** panel, search for and select your component from the results. The following example shows the **Listener** component from the **HTTP** search results: ![Listener component highlighted in the Add Component section](/mulesoft/current/en-us/anypoint-code-builder/_images/main-tutorial-add-first-listener.png) The configuration XML file now includes the XML for the HTTP Listener into the `` element, for example: ```XML ``` ## Configure the Component Attributes After you add components to your integration project, configure the attributes in the component UI, or configure the attributes directly in the XML code editor. Connector XML tags start with a namespace followed by an operation, following the syntax `namespace:operation`, such as `` for a **Select** operation in Anypoint Connector for Database (Database Connector). You can use autocomplete from an expression (**fx**) field for a component to select DataWeave functions from the Core module and other values accepted in this field. ## Create a New Configuration XML File Anypoint Code Builder creates the initial Mule configuration XML file in `src/main/mule` within the Mule project. This file contains global configurations and flow structures. You can create additional configuration files, for example, to store global configurations. To create a new XML configuration file: 1. In the Explorer view, right-click the **mule** folder (`src/main/mule`) and select **New File**. Alternatively, use the menu. Show me how Select the `mule` folder, and then: - In the desktop IDE, select **File** > **New Mule Configuration File**. - In the cloud IDE, click the ![](/mulesoft/current/en-us/anypoint-code-builder/_images/icon-menu.png) (menu) icon, and select **File** > **New File**. 2. Enter a name for the new file with the `.xml` extension. 3. In the Editor view for the new file, press Ctrl+Space to display available options. 4. Select **Empty mule configuration**: ![New Mule configuration option in auto-correct](/mulesoft/current/en-us/anypoint-code-builder/_images/int-new-mule-config.png) This command adds the following code to the file: ```xml ``` ## Debug the App Debug your Mule application using the embedded debugger in Anypoint Code Builder. Before debugging your app, add the `-Dmule.http.service.implementation=NETTY` property to your debug configuration. See [Debugging Mule Applications](https://docs.mulesoft.com/anypoint-code-builder/int-debug-mule-apps). ## Deploy the App Before you deploy the app: 1. Add the `mule.http.service.implementation=NETTY` property to your app in Runtime Manager for CloudHub 2 and Runtime Fabric deployments. For more information, see [Deploying Apps to CloudHub 2.0](https://docs.mulesoft.com/cloudhub-2/ch2-deploy) and [Deploying Mule Apps to Runtime Fabric Using Runtime Manager](https://docs.mulesoft.com/runtime-fabric/latest/deploy-to-runtime-fabric). For hybrid deployments, add the property to whatever you use to start Mule apps. For more information, see [Deploy to Your Servers](https://docs.mulesoft.com/runtime-manager/deploying-to-your-own-servers). ## See Also - [Anypoint Code Builder Overview](https://docs.mulesoft.com/anypoint-code-builder/) - [Creating Integrations](https://docs.mulesoft.com/anypoint-code-builder/int-create-integrations) - [Using Anypoint Code Builder to Configure a Connector](https://docs.mulesoft.com/connectors/introduction/intro-config-use-acb) - [Anypoint Code Builder Components and Commands Reference](https://docs.mulesoft.com/anypoint-code-builder/acb-reference) - [Defining and Securing Properties for a Mule Application](https://docs.mulesoft.com/anypoint-code-builder/int-create-secure-configs) - [Triggering Flows in Your Development Environment](https://docs.mulesoft.com/anypoint-code-builder/int-trigger-flows) - [Configuring Components](https://docs.mulesoft.com/anypoint-code-builder/int-configure-components) - [Debugging Mule Applications](https://docs.mulesoft.com/anypoint-code-builder/int-debug-mule-apps) - [Salesforce Help](https://help.salesforce.com) - [Deployment Options](https://docs.mulesoft.com/runtime-manager/deployment-strategies) --- product: MCP Connector version: 1.0 --- # Using Anypoint Code Builder to Configure MCP Connector 1.0 > For the full documentation index, see: https://docs.mulesoft.com/llms.txt Cloud IDE (Beta) is scheduled for retirement on August 31, 2026. August 30, 2026 is the last day you can access Cloud IDE (Beta). Download your projects to work from Desktop IDE. Learn more in [Migrate a Project from Cloud IDE to Desktop IDE](https://docs.mulesoft.com/anypoint-code-builder/int-import-mule-project#migrate-cloud-to-desktop). To use Anypoint Code Builder to configure a connector or module, create a basic integration project in Anypoint Code Builder, add connectors and other components to your Mule application to process your business logic, and configure the attributes. ## Before You Begin Before creating an integration project, you must: - [Set up and access the Anypoint Code Builder web or desktop IDE](https://docs.mulesoft.com/anypoint-code-builder/start-acb) - Have credentials to access the connector’s API - Ensure that the Visual Studio Code Extension Pack for Java is installed. To use this connector, you must be familiar with: - The connector’s API - Anypoint Connectors - Mule runtime engine (Mule) ## Create a New Integration Project To create a new integration project: 1. In the activity bar of the IDE, click the ![Anypoint Code Builder icon](/mulesoft/current/en-us/connectors/_images/acb-icon-ms-logo.png) (**Anypoint Code Builder**) icon. 2. From **Quick Actions**, click **Develop an Integration**: ![Develop an Integration link highlighted in the Getting started section](/mulesoft/current/en-us/anypoint-code-builder/_images/develop-integration-option-mat.png) 3. Complete the following in the **Develop an Integration** form:
AttributeValue

Project Name

Unique name for your project.

This name is used as the title and name of the integration project file. For example, if the project name is "Salesforce Integration," the project file name is salesforce-integration.

Project Location

Your home directory or another directory you create. Click Browse to select a different directory for the integration project.

Don’t create the project within another project directory.

4. Select the type of project to create by selecting either the **Empty Project** or **Template or Example** card. 5. Select the **Mule runtime** and **Java Version** for your app. 6. Click **Create Project**. ## Add the Connector to Your Integration Project Anypoint Connectors provide operations for retrieving, modifying, and sending data to and from systems. In addition to the [built-in connectors](https://docs.mulesoft.com/anypoint-code-builder/acb-reference#builtin-connectors) that Anypoint Code Builder provides, you can download many other connectors from Anypoint Exchange. To import a connector from Exchange and add it to your configuration: 1. In the Explorer view, open the configuration XML file for your project, such as `my-project-name.xml`. 2. Click the ![Show Mule graphical mode icon](/mulesoft/current/en-us/anypoint-code-builder/_images/icon-tree-view.png) (**Show Mule graphical mode**) icon in the activity bar to open the canvas UI if it doesn’t open automatically. 3. Add the connector the same way you added other components from the canvas UI: 1. In the canvas UI, click the ![Add component icon](/mulesoft/current/en-us/anypoint-code-builder/_images/icon-plus.png) (**Add component**) icon. 2. In the **Add Component** panel, click **Connectors**. 3. Click the connector name and then click the operation to add, such as **Publish**: ![Add Publish operation from Anypoint MQ Connector](/mulesoft/current/en-us/anypoint-code-builder/_images/int-add-connector-operation.png) If the connector is not available locally, click the ![Search in Exchange icon](/mulesoft/current/en-us/anypoint-code-builder/_images/icon-search-exchange.png) (**Search in Exchange**) toggle: ![Search in Exchange toggle](/mulesoft/current/en-us/anypoint-code-builder/_images/int-connector-search-exchange.png)
1Search locally
2Search in Exchange
4. Select the connector to add to your project. 5. Select the operation from the **Add Component** panel. Adding a connector to an integration project does not make that connector available to other projects in your Anypoint Code Builder workspace. ## Configure the Source For the Flow A trigger (source) starts the flow when specified conditions are met. If a connector has its own associated sources, you can use a connector-specific trigger to initiate the flow. Each connector trigger has a unique configuration. You can configure the following sources for this connector: - **HTTP > Listener** Initiates a flow each time it receives a request on the configured host and port - **Scheduler** Initiates a flow when a time-based condition is met For example, to configure an HTTP Listener trigger, follow these steps: 1. Click the **Listener** component on the canvas UI. 2. (Optional) Click the edit icon to change the name of the **Listener** component. 3. (Optional) If you created a configuration file for the connector, select it. 4. In the **General** tab, in the **Path** field, enter the relative path for the path set in the HTTP configuration element. See [Configure Paths](https://docs.mulesoft.com/http-connector/latest/http-listener-ref#configure-paths). 5. Select the **Advanced** tab to configure the following attributes:
AttributeDescriptionRequired

Allowed methods

To allow all HTTP methods (default), do not define this attribute. To restrict certain methods, specify all allowed HTTP methods, for example, GET, POST, as a comma-separated list.

No

Response streaming mode

Whether to use streaming when the response is sent.

No

Output MIME type

MIME type of the payload that this component outputs.

No

Parameters

Appends a key-value pair for a reader property to the value of the Output MIME attribute. Multiple key-value pairs are allowed.

No

Output encoding

Encoding of the payload that this component outputs.

No

Streaming Strategy

Configures the way data streams are consumed in Mule apps.

No

Primary node only

Select this option to execute the Listener trigger on the primary node only when running in a cluster.

No

Redelivery policy

Configures the redelivery policy for executing requests that generate errors. You can add a redelivery policy to any source in a flow.

No

Reconnection strategy

When an operation in a Mule application fails to connect to an external server, the default behavior is for the operation to fail immediately and return a connectivity error. You can modify the default behavior by configuring the reconnection strategy for the operation.

No

Response

See HTTP Response Attributes.

No

Error Response

HTTP error response returns a status code for the error.

No

Body

Body of the error message.

No

Headers

Headers to include in the error message.

No

Status code

Status code of the error response, for example, 500.

No

Reason phrase

Reason for the error, for example, Gateway Timeout or Internal Server Error.

No

## Add Components to Your Project Add components to your integration project to build a flow: 1. In the **Explorer** view, open the XML file for your project, such as `my-project-name.xml`. 2. Select **Build a Flow** from the start card to create an empty flow: ![Anypoint Code Builder canvas with starting cards with the options to start from scratch, build a flow, or build a subflow](/mulesoft/current/en-us/connectors/_images/acb-build-flow.png) 3. Change the name of the flow: 1. Click **Flow**. 2. Click the edit icon. ![Arrow pointing to the flow name edit pencil icon](/mulesoft/current/en-us/connectors/_images/acb-change-flow-name.png) 3. Enter the flow name, and click the checkmark. 4. In the canvas UI, click the ![Add component icon](/mulesoft/current/en-us/anypoint-code-builder/_images/icon-plus.png) (**Add component**) icon. 5. In the **Add Component** panel, search for and select your component from the results. The following example shows the **Listener** component from the **HTTP** search results: ![Listener component highlighted in the Add Component section](/mulesoft/current/en-us/anypoint-code-builder/_images/main-tutorial-add-first-listener.png) The configuration XML file now includes the XML for the HTTP Listener into the `` element, for example: ```XML ``` ## Configure the Component Attributes After you add components to your integration project, configure the attributes in the component UI, or configure the attributes directly in the XML code editor. Connector XML tags start with a namespace followed by an operation, following the syntax `namespace:operation`, such as `` for a **Select** operation in Anypoint Connector for Database (Database Connector). You can use autocomplete from an expression (**fx**) field for a component to select DataWeave functions from the Core module and other values accepted in this field. ## Create a New Configuration XML File Anypoint Code Builder creates the initial Mule configuration XML file in `src/main/mule` within the Mule project. This file contains global configurations and flow structures. You can create additional configuration files, for example, to store global configurations. To create a new XML configuration file: 1. In the Explorer view, right-click the **mule** folder (`src/main/mule`) and select **New File**. Alternatively, use the menu. Show me how Select the `mule` folder, and then: - In the desktop IDE, select **File** > **New Mule Configuration File**. - In the cloud IDE, click the ![](/mulesoft/current/en-us/anypoint-code-builder/_images/icon-menu.png) (menu) icon, and select **File** > **New File**. 2. Enter a name for the new file with the `.xml` extension. 3. In the Editor view for the new file, press Ctrl+Space to display available options. 4. Select **Empty mule configuration**: ![New Mule configuration option in auto-correct](/mulesoft/current/en-us/anypoint-code-builder/_images/int-new-mule-config.png) This command adds the following code to the file: ```xml ``` ## Debug the App Debug your Mule application using the embedded debugger in Anypoint Code Builder. See [Debugging Mule Applications](https://docs.mulesoft.com/anypoint-code-builder/int-debug-mule-apps). ## Deploy the App These are available for deployment: - CloudHub 2.0 - Runtime Fabric - Hybrid - CloudHub (with limitations, such as you can’t apply policies) For more information about deploying apps, see [Deployment Options](https://docs.mulesoft.com/runtime-manager/deployment-strategies). ## See Also - [Anypoint Code Builder Overview](https://docs.mulesoft.com/anypoint-code-builder/) - [Creating Integrations](https://docs.mulesoft.com/anypoint-code-builder/int-create-integrations) - [Using Anypoint Code Builder to Configure a Connector](https://docs.mulesoft.com/connectors/introduction/intro-config-use-acb) - [Anypoint Code Builder Components and Commands Reference](https://docs.mulesoft.com/anypoint-code-builder/acb-reference) - [Defining and Securing Properties for a Mule Application](https://docs.mulesoft.com/anypoint-code-builder/int-create-secure-configs) - [Triggering Flows in Your Development Environment](https://docs.mulesoft.com/anypoint-code-builder/int-trigger-flows) - [Configuring Components](https://docs.mulesoft.com/anypoint-code-builder/int-configure-components) - [Debugging Mule Applications](https://docs.mulesoft.com/anypoint-code-builder/int-debug-mule-apps) - [Salesforce Help](https://help.salesforce.com) --- product: MCP Connector version: 1.1 --- # Using Anypoint Code Builder to Configure MCP Connector 1.1 > For the full documentation index, see: https://docs.mulesoft.com/llms.txt Cloud IDE (Beta) is scheduled for retirement on August 31, 2026. August 30, 2026 is the last day you can access Cloud IDE (Beta). Download your projects to work from Desktop IDE. Learn more in [Migrate a Project from Cloud IDE to Desktop IDE](https://docs.mulesoft.com/anypoint-code-builder/int-import-mule-project#migrate-cloud-to-desktop). To use Anypoint Code Builder to configure a connector or module, create a basic integration project in Anypoint Code Builder, add connectors and other components to your Mule application to process your business logic, and configure the attributes. ## Before You Begin Before creating an integration project, you must: - [Set up and access the Anypoint Code Builder web or desktop IDE](https://docs.mulesoft.com/anypoint-code-builder/start-acb) - Have credentials to access the connector’s API - Ensure that the Visual Studio Code Extension Pack for Java is installed. To use this connector, you must be familiar with: - The connector’s API - Anypoint Connectors - Mule runtime engine (Mule) ## Create a New Integration Project To create a new integration project: 1. In the activity bar of the IDE, click the ![Anypoint Code Builder icon](/mulesoft/current/en-us/connectors/_images/acb-icon-ms-logo.png) (**Anypoint Code Builder**) icon. 2. From **Quick Actions**, click **Develop an Integration**: ![Develop an Integration link highlighted in the Getting started section](/mulesoft/current/en-us/anypoint-code-builder/_images/develop-integration-option-mat.png) 3. Complete the following in the **Develop an Integration** form:
AttributeValue

Project Name

Unique name for your project.

This name is used as the title and name of the integration project file. For example, if the project name is "Salesforce Integration," the project file name is salesforce-integration.

Project Location

Your home directory or another directory you create. Click Browse to select a different directory for the integration project.

Don’t create the project within another project directory.

4. Select the type of project to create by selecting either the **Empty Project** or **Template or Example** card. 5. Select the **Mule runtime** and **Java Version** for your app. 6. Click **Create Project**. ## Add the Connector to Your Integration Project Anypoint Connectors provide operations for retrieving, modifying, and sending data to and from systems. In addition to the [built-in connectors](https://docs.mulesoft.com/anypoint-code-builder/acb-reference#builtin-connectors) that Anypoint Code Builder provides, you can download many other connectors from Anypoint Exchange. To import a connector from Exchange and add it to your configuration: 1. In the Explorer view, open the configuration XML file for your project, such as `my-project-name.xml`. 2. Click the ![Show Mule graphical mode icon](/mulesoft/current/en-us/anypoint-code-builder/_images/icon-tree-view.png) (**Show Mule graphical mode**) icon in the activity bar to open the canvas UI if it doesn’t open automatically. 3. Add the connector the same way you added other components from the canvas UI: 1. In the canvas UI, click the ![Add component icon](/mulesoft/current/en-us/anypoint-code-builder/_images/icon-plus.png) (**Add component**) icon. 2. In the **Add Component** panel, click **Connectors**. 3. Click the connector name and then click the operation to add, such as **Publish**: ![Add Publish operation from Anypoint MQ Connector](/mulesoft/current/en-us/anypoint-code-builder/_images/int-add-connector-operation.png) If the connector is not available locally, click the ![Search in Exchange icon](/mulesoft/current/en-us/anypoint-code-builder/_images/icon-search-exchange.png) (**Search in Exchange**) toggle: ![Search in Exchange toggle](/mulesoft/current/en-us/anypoint-code-builder/_images/int-connector-search-exchange.png)
1Search locally
2Search in Exchange
4. Select the connector to add to your project. 5. Select the operation from the **Add Component** panel. Adding a connector to an integration project does not make that connector available to other projects in your Anypoint Code Builder workspace. ## Configure the Source For the Flow A trigger (source) starts the flow when specified conditions are met. If a connector has its own associated sources, you can use a connector-specific trigger to initiate the flow. Each connector trigger has a unique configuration. You can configure the following sources for this connector: - **HTTP > Listener** Initiates a flow each time it receives a request on the configured host and port - **Scheduler** Initiates a flow when a time-based condition is met For example, to configure an HTTP Listener trigger, follow these steps: 1. Click the **Listener** component on the canvas UI. 2. (Optional) Click the edit icon to change the name of the **Listener** component. 3. (Optional) If you created a configuration file for the connector, select it. 4. In the **General** tab, in the **Path** field, enter the relative path for the path set in the HTTP configuration element. See [Configure Paths](https://docs.mulesoft.com/http-connector/latest/http-listener-ref#configure-paths). 5. Select the **Advanced** tab to configure the following attributes:
AttributeDescriptionRequired

Allowed methods

To allow all HTTP methods (default), do not define this attribute. To restrict certain methods, specify all allowed HTTP methods, for example, GET, POST, as a comma-separated list.

No

Response streaming mode

Whether to use streaming when the response is sent.

No

Output MIME type

MIME type of the payload that this component outputs.

No

Parameters

Appends a key-value pair for a reader property to the value of the Output MIME attribute. Multiple key-value pairs are allowed.

No

Output encoding

Encoding of the payload that this component outputs.

No

Streaming Strategy

Configures the way data streams are consumed in Mule apps.

No

Primary node only

Select this option to execute the Listener trigger on the primary node only when running in a cluster.

No

Redelivery policy

Configures the redelivery policy for executing requests that generate errors. You can add a redelivery policy to any source in a flow.

No

Reconnection strategy

When an operation in a Mule application fails to connect to an external server, the default behavior is for the operation to fail immediately and return a connectivity error. You can modify the default behavior by configuring the reconnection strategy for the operation.

No

Response

See HTTP Response Attributes.

No

Error Response

HTTP error response returns a status code for the error.

No

Body

Body of the error message.

No

Headers

Headers to include in the error message.

No

Status code

Status code of the error response, for example, 500.

No

Reason phrase

Reason for the error, for example, Gateway Timeout or Internal Server Error.

No

## Add Components to Your Project Add components to your integration project to build a flow: 1. In the **Explorer** view, open the XML file for your project, such as `my-project-name.xml`. 2. Select **Build a Flow** from the start card to create an empty flow: ![Anypoint Code Builder canvas with starting cards with the options to start from scratch, build a flow, or build a subflow](/mulesoft/current/en-us/connectors/_images/acb-build-flow.png) 3. Change the name of the flow: 1. Click **Flow**. 2. Click the edit icon. ![Arrow pointing to the flow name edit pencil icon](/mulesoft/current/en-us/connectors/_images/acb-change-flow-name.png) 3. Enter the flow name, and click the checkmark. 4. In the canvas UI, click the ![Add component icon](/mulesoft/current/en-us/anypoint-code-builder/_images/icon-plus.png) (**Add component**) icon. 5. In the **Add Component** panel, search for and select your component from the results. The following example shows the **Listener** component from the **HTTP** search results: ![Listener component highlighted in the Add Component section](/mulesoft/current/en-us/anypoint-code-builder/_images/main-tutorial-add-first-listener.png) The configuration XML file now includes the XML for the HTTP Listener into the `` element, for example: ```XML ``` ## Configure the Component Attributes After you add components to your integration project, configure the attributes in the component UI, or configure the attributes directly in the XML code editor. Connector XML tags start with a namespace followed by an operation, following the syntax `namespace:operation`, such as `` for a **Select** operation in Anypoint Connector for Database (Database Connector). You can use autocomplete from an expression (**fx**) field for a component to select DataWeave functions from the Core module and other values accepted in this field. ## Create a New Configuration XML File Anypoint Code Builder creates the initial Mule configuration XML file in `src/main/mule` within the Mule project. This file contains global configurations and flow structures. You can create additional configuration files, for example, to store global configurations. To create a new XML configuration file: 1. In the Explorer view, right-click the **mule** folder (`src/main/mule`) and select **New File**. Alternatively, use the menu. Show me how Select the `mule` folder, and then: - In the desktop IDE, select **File** > **New Mule Configuration File**. - In the cloud IDE, click the ![](/mulesoft/current/en-us/anypoint-code-builder/_images/icon-menu.png) (menu) icon, and select **File** > **New File**. 2. Enter a name for the new file with the `.xml` extension. 3. In the Editor view for the new file, press Ctrl+Space to display available options. 4. Select **Empty mule configuration**: ![New Mule configuration option in auto-correct](/mulesoft/current/en-us/anypoint-code-builder/_images/int-new-mule-config.png) This command adds the following code to the file: ```xml ``` ## Debug the App Debug your Mule application using the embedded debugger in Anypoint Code Builder. See [Debugging Mule Applications](https://docs.mulesoft.com/anypoint-code-builder/int-debug-mule-apps). ## Deploy the App These are available for deployment: - CloudHub 2.0 - Runtime Fabric - Hybrid - CloudHub (with limitations, such as you can’t apply policies) For more information about deploying apps, see [Deployment Options](https://docs.mulesoft.com/runtime-manager/deployment-strategies). ## See Also - [Anypoint Code Builder Overview](https://docs.mulesoft.com/anypoint-code-builder/) - [Creating Integrations](https://docs.mulesoft.com/anypoint-code-builder/int-create-integrations) - [Using Anypoint Code Builder to Configure a Connector](https://docs.mulesoft.com/connectors/introduction/intro-config-use-acb) - [Anypoint Code Builder Components and Commands Reference](https://docs.mulesoft.com/anypoint-code-builder/acb-reference) - [Defining and Securing Properties for a Mule Application](https://docs.mulesoft.com/anypoint-code-builder/int-create-secure-configs) - [Triggering Flows in Your Development Environment](https://docs.mulesoft.com/anypoint-code-builder/int-trigger-flows) - [Configuring Components](https://docs.mulesoft.com/anypoint-code-builder/int-configure-components) - [Debugging Mule Applications](https://docs.mulesoft.com/anypoint-code-builder/int-debug-mule-apps) - [Salesforce Help](https://help.salesforce.com) --- product: MCP Connector version: 1.2 --- # Using Anypoint Code Builder to Configure MCP Connector 1.2 > For the full documentation index, see: https://docs.mulesoft.com/llms.txt Cloud IDE (Beta) is scheduled for retirement on August 31, 2026. August 30, 2026 is the last day you can access Cloud IDE (Beta). Download your projects to work from Desktop IDE. Learn more in [Migrate a Project from Cloud IDE to Desktop IDE](https://docs.mulesoft.com/anypoint-code-builder/int-import-mule-project#migrate-cloud-to-desktop). To use Anypoint Code Builder to configure a connector or module, create a basic integration project in Anypoint Code Builder, add connectors and other components to your Mule application to process your business logic, and configure the attributes. ## Before You Begin Before creating an integration project, you must: - [Set up and access the Anypoint Code Builder web or desktop IDE](https://docs.mulesoft.com/anypoint-code-builder/start-acb) - Have credentials to access the connector’s API - Ensure that the Visual Studio Code Extension Pack for Java is installed. To use this connector, you must be familiar with: - The connector’s API - Anypoint Connectors - Mule runtime engine (Mule) ## Create a New Integration Project To create a new integration project: 1. In the activity bar of the IDE, click the ![Anypoint Code Builder icon](/mulesoft/current/en-us/connectors/_images/acb-icon-ms-logo.png) (**Anypoint Code Builder**) icon. 2. From **Quick Actions**, click **Develop an Integration**: ![Develop an Integration link highlighted in the Getting started section](/mulesoft/current/en-us/anypoint-code-builder/_images/develop-integration-option-mat.png) 3. Complete the following in the **Develop an Integration** form:
AttributeValue

Project Name

Unique name for your project.

This name is used as the title and name of the integration project file. For example, if the project name is "Salesforce Integration," the project file name is salesforce-integration.

Project Location

Your home directory or another directory you create. Click Browse to select a different directory for the integration project.

Don’t create the project within another project directory.

4. Select the type of project to create by selecting either the **Empty Project** or **Template or Example** card. 5. Select the **Mule runtime** and **Java Version** for your app. 6. Click **Create Project**. ## Add the Connector to Your Integration Project Anypoint Connectors provide operations for retrieving, modifying, and sending data to and from systems. In addition to the [built-in connectors](https://docs.mulesoft.com/anypoint-code-builder/acb-reference#builtin-connectors) that Anypoint Code Builder provides, you can download many other connectors from Anypoint Exchange. To import a connector from Exchange and add it to your configuration: 1. In the Explorer view, open the configuration XML file for your project, such as `my-project-name.xml`. 2. Click the ![Show Mule graphical mode icon](/mulesoft/current/en-us/anypoint-code-builder/_images/icon-tree-view.png) (**Show Mule graphical mode**) icon in the activity bar to open the canvas UI if it doesn’t open automatically. 3. Add the connector the same way you added other components from the canvas UI: 1. In the canvas UI, click the ![Add component icon](/mulesoft/current/en-us/anypoint-code-builder/_images/icon-plus.png) (**Add component**) icon. 2. In the **Add Component** panel, click **Connectors**. 3. Click the connector name and then click the operation to add, such as **Publish**: ![Add Publish operation from Anypoint MQ Connector](/mulesoft/current/en-us/anypoint-code-builder/_images/int-add-connector-operation.png) If the connector is not available locally, click the ![Search in Exchange icon](/mulesoft/current/en-us/anypoint-code-builder/_images/icon-search-exchange.png) (**Search in Exchange**) toggle: ![Search in Exchange toggle](/mulesoft/current/en-us/anypoint-code-builder/_images/int-connector-search-exchange.png)
1Search locally
2Search in Exchange
4. Select the connector to add to your project. 5. Select the operation from the **Add Component** panel. Adding a connector to an integration project does not make that connector available to other projects in your Anypoint Code Builder workspace. ## Configure the Source For the Flow A trigger (source) starts the flow when specified conditions are met. If a connector has its own associated sources, you can use a connector-specific trigger to initiate the flow. Each connector trigger has a unique configuration. You can configure the following sources for this connector: - **HTTP > Listener** Initiates a flow each time it receives a request on the configured host and port - **Scheduler** Initiates a flow when a time-based condition is met For example, to configure an HTTP Listener trigger, follow these steps: 1. Click the **Listener** component on the canvas UI. 2. (Optional) Click the edit icon to change the name of the **Listener** component. 3. (Optional) If you created a configuration file for the connector, select it. 4. In the **General** tab, in the **Path** field, enter the relative path for the path set in the HTTP configuration element. See [Configure Paths](https://docs.mulesoft.com/http-connector/latest/http-listener-ref#configure-paths). 5. Select the **Advanced** tab to configure the following attributes:
AttributeDescriptionRequired

Allowed methods

To allow all HTTP methods (default), do not define this attribute. To restrict certain methods, specify all allowed HTTP methods, for example, GET, POST, as a comma-separated list.

No

Response streaming mode

Whether to use streaming when the response is sent.

No

Output MIME type

MIME type of the payload that this component outputs.

No

Parameters

Appends a key-value pair for a reader property to the value of the Output MIME attribute. Multiple key-value pairs are allowed.

No

Output encoding

Encoding of the payload that this component outputs.

No

Streaming Strategy

Configures the way data streams are consumed in Mule apps.

No

Primary node only

Select this option to execute the Listener trigger on the primary node only when running in a cluster.

No

Redelivery policy

Configures the redelivery policy for executing requests that generate errors. You can add a redelivery policy to any source in a flow.

No

Reconnection strategy

When an operation in a Mule application fails to connect to an external server, the default behavior is for the operation to fail immediately and return a connectivity error. You can modify the default behavior by configuring the reconnection strategy for the operation.

No

Response

See HTTP Response Attributes.

No

Error Response

HTTP error response returns a status code for the error.

No

Body

Body of the error message.

No

Headers

Headers to include in the error message.

No

Status code

Status code of the error response, for example, 500.

No

Reason phrase

Reason for the error, for example, Gateway Timeout or Internal Server Error.

No

## Add Components to Your Project Add components to your integration project to build a flow: 1. In the **Explorer** view, open the XML file for your project, such as `my-project-name.xml`. 2. Select **Build a Flow** from the start card to create an empty flow: ![Anypoint Code Builder canvas with starting cards with the options to start from scratch, build a flow, or build a subflow](/mulesoft/current/en-us/connectors/_images/acb-build-flow.png) 3. Change the name of the flow: 1. Click **Flow**. 2. Click the edit icon. ![Arrow pointing to the flow name edit pencil icon](/mulesoft/current/en-us/connectors/_images/acb-change-flow-name.png) 3. Enter the flow name, and click the checkmark. 4. In the canvas UI, click the ![Add component icon](/mulesoft/current/en-us/anypoint-code-builder/_images/icon-plus.png) (**Add component**) icon. 5. In the **Add Component** panel, search for and select your component from the results. The following example shows the **Listener** component from the **HTTP** search results: ![Listener component highlighted in the Add Component section](/mulesoft/current/en-us/anypoint-code-builder/_images/main-tutorial-add-first-listener.png) The configuration XML file now includes the XML for the HTTP Listener into the `` element, for example: ```XML ``` ## Configure the Component Attributes After you add components to your integration project, configure the attributes in the component UI, or configure the attributes directly in the XML code editor. Connector XML tags start with a namespace followed by an operation, following the syntax `namespace:operation`, such as `` for a **Select** operation in Anypoint Connector for Database (Database Connector). You can use autocomplete from an expression (**fx**) field for a component to select DataWeave functions from the Core module and other values accepted in this field. ## Create a New Configuration XML File Anypoint Code Builder creates the initial Mule configuration XML file in `src/main/mule` within the Mule project. This file contains global configurations and flow structures. You can create additional configuration files, for example, to store global configurations. To create a new XML configuration file: 1. In the Explorer view, right-click the **mule** folder (`src/main/mule`) and select **New File**. Alternatively, use the menu. Show me how Select the `mule` folder, and then: - In the desktop IDE, select **File** > **New Mule Configuration File**. - In the cloud IDE, click the ![](/mulesoft/current/en-us/anypoint-code-builder/_images/icon-menu.png) (menu) icon, and select **File** > **New File**. 2. Enter a name for the new file with the `.xml` extension. 3. In the Editor view for the new file, press Ctrl+Space to display available options. 4. Select **Empty mule configuration**: ![New Mule configuration option in auto-correct](/mulesoft/current/en-us/anypoint-code-builder/_images/int-new-mule-config.png) This command adds the following code to the file: ```xml ``` ## Debug the App Debug your Mule application using the embedded debugger in Anypoint Code Builder. See [Debugging Mule Applications](https://docs.mulesoft.com/anypoint-code-builder/int-debug-mule-apps). ## Deploy the App These are available for deployment: - CloudHub 2.0 - Runtime Fabric - Hybrid - CloudHub (with limitations, such as you can’t apply policies) For more information about deploying apps, see [Deployment Options](https://docs.mulesoft.com/runtime-manager/deployment-strategies). ## See Also - [Anypoint Code Builder Overview](https://docs.mulesoft.com/anypoint-code-builder/) - [Creating Integrations](https://docs.mulesoft.com/anypoint-code-builder/int-create-integrations) - [Using Anypoint Code Builder to Configure a Connector](https://docs.mulesoft.com/connectors/introduction/intro-config-use-acb) - [Anypoint Code Builder Components and Commands Reference](https://docs.mulesoft.com/anypoint-code-builder/acb-reference) - [Defining and Securing Properties for a Mule Application](https://docs.mulesoft.com/anypoint-code-builder/int-create-secure-configs) - [Triggering Flows in Your Development Environment](https://docs.mulesoft.com/anypoint-code-builder/int-trigger-flows) - [Configuring Components](https://docs.mulesoft.com/anypoint-code-builder/int-configure-components) - [Debugging Mule Applications](https://docs.mulesoft.com/anypoint-code-builder/int-debug-mule-apps) - [Salesforce Help](https://help.salesforce.com) --- product: MCP Connector version: 1.3 --- # Using Anypoint Code Builder to Configure MCP Connector 1.3 > For the full documentation index, see: https://docs.mulesoft.com/llms.txt Cloud IDE (Beta) is scheduled for retirement on August 31, 2026. August 30, 2026 is the last day you can access Cloud IDE (Beta). Download your projects to work from Desktop IDE. Learn more in [Migrate a Project from Cloud IDE to Desktop IDE](https://docs.mulesoft.com/anypoint-code-builder/int-import-mule-project#migrate-cloud-to-desktop). To use Anypoint Code Builder to configure a connector or module, create a basic integration project in Anypoint Code Builder, add connectors and other components to your Mule application to process your business logic, and configure the attributes. ## Before You Begin Before creating an integration project, you must: - [Set up and access the Anypoint Code Builder web or desktop IDE](https://docs.mulesoft.com/anypoint-code-builder/start-acb) - Have credentials to access the connector’s API - Ensure that the Visual Studio Code Extension Pack for Java is installed. To use this connector, you must be familiar with: - The connector’s API - Anypoint Connectors - Mule runtime engine (Mule) ## Create a New Integration Project To create a new integration project: 1. In the activity bar of the IDE, click the ![Anypoint Code Builder icon](/mulesoft/current/en-us/connectors/_images/acb-icon-ms-logo.png) (**Anypoint Code Builder**) icon. 2. From **Quick Actions**, click **Develop an Integration**: ![Develop an Integration link highlighted in the Getting started section](/mulesoft/current/en-us/anypoint-code-builder/_images/develop-integration-option-mat.png) 3. Complete the following in the **Develop an Integration** form:
AttributeValue

Project Name

Unique name for your project.

This name is used as the title and name of the integration project file. For example, if the project name is "Salesforce Integration," the project file name is salesforce-integration.

Project Location

Your home directory or another directory you create. Click Browse to select a different directory for the integration project.

Don’t create the project within another project directory.

4. Select the type of project to create by selecting either the **Empty Project** or **Template or Example** card. 5. Select the **Mule runtime** and **Java Version** for your app. 6. Click **Create Project**. ## Add the Connector to Your Integration Project Anypoint Connectors provide operations for retrieving, modifying, and sending data to and from systems. In addition to the [built-in connectors](https://docs.mulesoft.com/anypoint-code-builder/acb-reference#builtin-connectors) that Anypoint Code Builder provides, you can download many other connectors from Anypoint Exchange. To import a connector from Exchange and add it to your configuration: 1. In the Explorer view, open the configuration XML file for your project, such as `my-project-name.xml`. 2. Click the ![Show Mule graphical mode icon](/mulesoft/current/en-us/anypoint-code-builder/_images/icon-tree-view.png) (**Show Mule graphical mode**) icon in the activity bar to open the canvas UI if it doesn’t open automatically. 3. Add the connector the same way you added other components from the canvas UI: 1. In the canvas UI, click the ![Add component icon](/mulesoft/current/en-us/anypoint-code-builder/_images/icon-plus.png) (**Add component**) icon. 2. In the **Add Component** panel, click **Connectors**. 3. Click the connector name and then click the operation to add, such as **Publish**: ![Add Publish operation from Anypoint MQ Connector](/mulesoft/current/en-us/anypoint-code-builder/_images/int-add-connector-operation.png) If the connector is not available locally, click the ![Search in Exchange icon](/mulesoft/current/en-us/anypoint-code-builder/_images/icon-search-exchange.png) (**Search in Exchange**) toggle: ![Search in Exchange toggle](/mulesoft/current/en-us/anypoint-code-builder/_images/int-connector-search-exchange.png)
1Search locally
2Search in Exchange
4. Select the connector to add to your project. 5. Select the operation from the **Add Component** panel. Adding a connector to an integration project does not make that connector available to other projects in your Anypoint Code Builder workspace. ## Configure a Source For the Flow A trigger (source) starts the flow when specified conditions are met. If a connector has its own associated sources, you can use a connector-specific trigger to initiate the flow. Each connector trigger has a unique configuration. You can configure the following sources for this connector: - **HTTP > Listener** Initiates a flow each time it receives a request on the configured host and port - **Scheduler** Initiates a flow when a time-based condition is met For example, to configure an HTTP Listener trigger, follow these steps: 1. Click the **Listener** component on the canvas UI. 2. (Optional) Click the edit icon to change the name of the **Listener** component. 3. (Optional) If you created a configuration file for the connector, select it. 4. In the **General** tab, in the **Path** field, enter the relative path for the path set in the HTTP configuration element. See [Configure Paths](https://docs.mulesoft.com/http-connector/latest/http-listener-ref#configure-paths). 5. Select the **Advanced** tab to configure the following attributes:
AttributeDescriptionRequired

Allowed methods

To allow all HTTP methods (default), do not define this attribute. To restrict certain methods, specify all allowed HTTP methods, for example, GET, POST, as a comma-separated list.

No

Response streaming mode

Whether to use streaming when the response is sent.

No

Output MIME type

MIME type of the payload that this component outputs.

No

Parameters

Appends a key-value pair for a reader property to the value of the Output MIME attribute. Multiple key-value pairs are allowed.

No

Output encoding

Encoding of the payload that this component outputs.

No

Streaming Strategy

Configures the way data streams are consumed in Mule apps.

No

Primary node only

Select this option to execute the Listener trigger on the primary node only when running in a cluster.

No

Redelivery policy

Configures the redelivery policy for executing requests that generate errors. You can add a redelivery policy to any source in a flow.

No

Reconnection strategy

When an operation in a Mule application fails to connect to an external server, the default behavior is for the operation to fail immediately and return a connectivity error. You can modify the default behavior by configuring the reconnection strategy for the operation.

No

Response

See HTTP Response Attributes.

No

Error Response

HTTP error response returns a status code for the error.

No

Body

Body of the error message.

No

Headers

Headers to include in the error message.

No

Status code

Status code of the error response, for example, 500.

No

Reason phrase

Reason for the error, for example, Gateway Timeout or Internal Server Error.

No

For complete source configuration details, see the [MCP Connector Reference](https://docs.mulesoft.com/mcp-connector/1.3/mcp-connector-reference). ### Example: Configure a Tool Listener Source A common use case is exposing operations as tools that MCP clients can invoke. In the XML editor, add a **Tool Listener** source to your flow: ```xml ``` ## Configure an MCP Connection MCP Connector supports both client and server configurations with different connection types. ### Configure an MCP Client Connection Use client configurations to connect your Mule application to external MCP servers. #### Streamable HTTP Client The Streamable HTTP client connection enables load-balanced, scalable connections to MCP servers: ```xml ``` #### SSE Client Connection (Deprecated) The SSE (Server-Sent Events) client enables persistent, server-push connections: ```xml ``` ### Configure an MCP Server Connection Use server configurations to expose your Mule application as an MCP server. #### Streamable HTTP Server ```xml ``` #### SSE Server Connection (Deprecated) ```xml ``` ## Configure Authentication MCP Connector client connections support standard HTTP authentication methods including Basic, Digest, NTLM, and OAuth. For detailed authentication and security configuration, see [Applying Security to the MCP Server](https://docs.mulesoft.com/mcp-connector/1.3/mcp-connector-config-topics). ## Add Operations to Your Project Add components to your integration project to build a flow: 1. In the **Explorer** view, open the XML file for your project, such as `my-project-name.xml`. 2. Select **Build a Flow** from the start card to create an empty flow: ![Anypoint Code Builder canvas with starting cards with the options to start from scratch, build a flow, or build a subflow](/mulesoft/current/en-us/connectors/_images/acb-build-flow.png) 3. Change the name of the flow: 1. Click **Flow**. 2. Click the edit icon. ![Arrow pointing to the flow name edit pencil icon](/mulesoft/current/en-us/connectors/_images/acb-change-flow-name.png) 3. Enter the flow name, and click the checkmark. 4. In the canvas UI, click the ![Add component icon](/mulesoft/current/en-us/anypoint-code-builder/_images/icon-plus.png) (**Add component**) icon. 5. In the **Add Component** panel, search for and select your component from the results. The following example shows the **Listener** component from the **HTTP** search results: ![Listener component highlighted in the Add Component section](/mulesoft/current/en-us/anypoint-code-builder/_images/main-tutorial-add-first-listener.png) The configuration XML file now includes the XML for the HTTP Listener into the `` element, for example: ```XML ``` For a complete list of operations and their configurations, see [Supported Operations](https://docs.mulesoft.com/mcp-connector/1.3/mcp-connector-reference#supported-operations). ### Example: Using Operations After you configure a connection, you can add operations to interact with MCP servers (when configured as a client) or handle requests (when configured as a server). Example of calling a tool on an MCP server: ```xml ``` Example of reading a resource from an MCP server: ```xml ``` For detailed information on each operation’s parameters and usage, see the [MCP Connector Reference](https://docs.mulesoft.com/mcp-connector/1.3/mcp-connector-reference). ## Configure TLS for Secure Connections To secure connections with TLS: ```xml ``` ## Create a New Configuration XML File Anypoint Code Builder creates the initial Mule configuration XML file in `src/main/mule` within the Mule project. This file contains global configurations and flow structures. You can create additional configuration files, for example, to store global configurations. To create a new XML configuration file: 1. In the Explorer view, right-click the **mule** folder (`src/main/mule`) and select **New File**. Alternatively, use the menu. Show me how Select the `mule` folder, and then: - In the desktop IDE, select **File** > **New Mule Configuration File**. - In the cloud IDE, click the ![](/mulesoft/current/en-us/anypoint-code-builder/_images/icon-menu.png) (menu) icon, and select **File** > **New File**. 2. Enter a name for the new file with the `.xml` extension. 3. In the Editor view for the new file, press Ctrl+Space to display available options. 4. Select **Empty mule configuration**: ![New Mule configuration option in auto-correct](/mulesoft/current/en-us/anypoint-code-builder/_images/int-new-mule-config.png) This command adds the following code to the file: ```xml ``` ## Debug the App Debug your Mule application using the embedded debugger in Anypoint Code Builder. See [Debugging Mule Applications](https://docs.mulesoft.com/anypoint-code-builder/int-debug-mule-apps). ## Deploy the App These are available for deployment: - CloudHub 2.0 - Runtime Fabric - Hybrid - CloudHub (with limitations, such as you can’t apply policies) For more information about deploying apps, see [Deployment Options](https://docs.mulesoft.com/runtime-manager/deployment-strategies). ## See Also - [Anypoint Code Builder Overview](https://docs.mulesoft.com/anypoint-code-builder/) - [Creating Integrations](https://docs.mulesoft.com/anypoint-code-builder/int-create-integrations) - [Using Anypoint Code Builder to Configure a Connector](https://docs.mulesoft.com/connectors/introduction/intro-config-use-acb) - [Anypoint Code Builder Components and Commands Reference](https://docs.mulesoft.com/anypoint-code-builder/acb-reference) - [Defining and Securing Properties for a Mule Application](https://docs.mulesoft.com/anypoint-code-builder/int-create-secure-configs) - [Triggering Flows in Your Development Environment](https://docs.mulesoft.com/anypoint-code-builder/int-trigger-flows) - [Configuring Components](https://docs.mulesoft.com/anypoint-code-builder/int-configure-components) - [Debugging Mule Applications](https://docs.mulesoft.com/anypoint-code-builder/int-debug-mule-apps) - [Salesforce Help](https://help.salesforce.com) --- product: MCP Connector version: 1.4 --- # Using Anypoint Code Builder to Configure MCP Connector 1.4 > For the full documentation index, see: https://docs.mulesoft.com/llms.txt Cloud IDE (Beta) is scheduled for retirement on August 31, 2026. August 30, 2026 is the last day you can access Cloud IDE (Beta). Download your projects to work from Desktop IDE. Learn more in [Migrate a Project from Cloud IDE to Desktop IDE](https://docs.mulesoft.com/anypoint-code-builder/int-import-mule-project#migrate-cloud-to-desktop). To use Anypoint Code Builder to configure a connector or module, create a basic integration project in Anypoint Code Builder, add connectors and other components to your Mule application to process your business logic, and configure the attributes. ## Before You Begin Before creating an integration project, you must: - [Set up and access the Anypoint Code Builder web or desktop IDE](https://docs.mulesoft.com/anypoint-code-builder/start-acb) - Have credentials to access the connector’s API - Ensure that the Visual Studio Code Extension Pack for Java is installed. To use this connector, you must be familiar with: - The connector’s API - Anypoint Connectors - Mule runtime engine (Mule) ## Create a New Integration Project To create a new integration project: 1. In the activity bar of the IDE, click the ![Anypoint Code Builder icon](/mulesoft/current/en-us/connectors/_images/acb-icon-ms-logo.png) (**Anypoint Code Builder**) icon. 2. From **Quick Actions**, click **Develop an Integration**: ![Develop an Integration link highlighted in the Getting started section](/mulesoft/current/en-us/anypoint-code-builder/_images/develop-integration-option-mat.png) 3. Complete the following in the **Develop an Integration** form:
AttributeValue

Project Name

Unique name for your project.

This name is used as the title and name of the integration project file. For example, if the project name is "Salesforce Integration," the project file name is salesforce-integration.

Project Location

Your home directory or another directory you create. Click Browse to select a different directory for the integration project.

Don’t create the project within another project directory.

4. Select the type of project to create by selecting either the **Empty Project** or **Template or Example** card. 5. Select the **Mule runtime** and **Java Version** for your app. 6. Click **Create Project**. ## Add the Connector to Your Integration Project Anypoint Connectors provide operations for retrieving, modifying, and sending data to and from systems. In addition to the [built-in connectors](https://docs.mulesoft.com/anypoint-code-builder/acb-reference#builtin-connectors) that Anypoint Code Builder provides, you can download many other connectors from Anypoint Exchange. To import a connector from Exchange and add it to your configuration: 1. In the Explorer view, open the configuration XML file for your project, such as `my-project-name.xml`. 2. Click the ![Show Mule graphical mode icon](/mulesoft/current/en-us/anypoint-code-builder/_images/icon-tree-view.png) (**Show Mule graphical mode**) icon in the activity bar to open the canvas UI if it doesn’t open automatically. 3. Add the connector the same way you added other components from the canvas UI: 1. In the canvas UI, click the ![Add component icon](/mulesoft/current/en-us/anypoint-code-builder/_images/icon-plus.png) (**Add component**) icon. 2. In the **Add Component** panel, click **Connectors**. 3. Click the connector name and then click the operation to add, such as **Publish**: ![Add Publish operation from Anypoint MQ Connector](/mulesoft/current/en-us/anypoint-code-builder/_images/int-add-connector-operation.png) If the connector is not available locally, click the ![Search in Exchange icon](/mulesoft/current/en-us/anypoint-code-builder/_images/icon-search-exchange.png) (**Search in Exchange**) toggle: ![Search in Exchange toggle](/mulesoft/current/en-us/anypoint-code-builder/_images/int-connector-search-exchange.png)
1Search locally
2Search in Exchange
4. Select the connector to add to your project. 5. Select the operation from the **Add Component** panel. Adding a connector to an integration project does not make that connector available to other projects in your Anypoint Code Builder workspace. ## Configure a Source For the Flow A trigger (source) starts the flow when specified conditions are met. If a connector has its own associated sources, you can use a connector-specific trigger to initiate the flow. Each connector trigger has a unique configuration. You can configure the following sources for this connector: - **HTTP > Listener** Initiates a flow each time it receives a request on the configured host and port - **Scheduler** Initiates a flow when a time-based condition is met For example, to configure an HTTP Listener trigger, follow these steps: 1. Click the **Listener** component on the canvas UI. 2. (Optional) Click the edit icon to change the name of the **Listener** component. 3. (Optional) If you created a configuration file for the connector, select it. 4. In the **General** tab, in the **Path** field, enter the relative path for the path set in the HTTP configuration element. See [Configure Paths](https://docs.mulesoft.com/http-connector/latest/http-listener-ref#configure-paths). 5. Select the **Advanced** tab to configure the following attributes:
AttributeDescriptionRequired

Allowed methods

To allow all HTTP methods (default), do not define this attribute. To restrict certain methods, specify all allowed HTTP methods, for example, GET, POST, as a comma-separated list.

No

Response streaming mode

Whether to use streaming when the response is sent.

No

Output MIME type

MIME type of the payload that this component outputs.

No

Parameters

Appends a key-value pair for a reader property to the value of the Output MIME attribute. Multiple key-value pairs are allowed.

No

Output encoding

Encoding of the payload that this component outputs.

No

Streaming Strategy

Configures the way data streams are consumed in Mule apps.

No

Primary node only

Select this option to execute the Listener trigger on the primary node only when running in a cluster.

No

Redelivery policy

Configures the redelivery policy for executing requests that generate errors. You can add a redelivery policy to any source in a flow.

No

Reconnection strategy

When an operation in a Mule application fails to connect to an external server, the default behavior is for the operation to fail immediately and return a connectivity error. You can modify the default behavior by configuring the reconnection strategy for the operation.

No

Response

See HTTP Response Attributes.

No

Error Response

HTTP error response returns a status code for the error.

No

Body

Body of the error message.

No

Headers

Headers to include in the error message.

No

Status code

Status code of the error response, for example, 500.

No

Reason phrase

Reason for the error, for example, Gateway Timeout or Internal Server Error.

No

For complete source configuration details, see the [MCP Connector Reference](https://docs.mulesoft.com/mcp-connector/1.4/mcp-connector-reference). ### Example: Configure a Tool Listener Source A common use case is exposing operations as tools that MCP clients can invoke. In the XML editor, add a **Tool Listener** source to your flow: ```xml ``` ## Configure an MCP Connection MCP Connector supports both client and server configurations with different connection types. ### Configure an MCP Client Connection Use client configurations to connect your Mule application to external MCP servers. #### Streamable HTTP Client The Streamable HTTP client connection enables load-balanced, scalable connections to MCP servers: ```xml ``` #### SSE Client Connection (Deprecated) The SSE (Server-Sent Events) client enables persistent, server-push connections: ```xml ``` ### Configure an MCP Server Connection Use server configurations to expose your Mule application as an MCP server. #### Streamable HTTP Server ```xml ``` #### SSE Server Connection (Deprecated) ```xml ``` ## Configure Authentication MCP Connector client connections support standard HTTP authentication methods including Basic, Digest, NTLM, and OAuth. For detailed authentication and security configuration, see [Applying Security to the MCP Server](https://docs.mulesoft.com/mcp-connector/1.4/mcp-connector-config-topics). ## Add Operations to Your Project Add components to your integration project to build a flow: 1. In the **Explorer** view, open the XML file for your project, such as `my-project-name.xml`. 2. Select **Build a Flow** from the start card to create an empty flow: ![Anypoint Code Builder canvas with starting cards with the options to start from scratch, build a flow, or build a subflow](/mulesoft/current/en-us/connectors/_images/acb-build-flow.png) 3. Change the name of the flow: 1. Click **Flow**. 2. Click the edit icon. ![Arrow pointing to the flow name edit pencil icon](/mulesoft/current/en-us/connectors/_images/acb-change-flow-name.png) 3. Enter the flow name, and click the checkmark. 4. In the canvas UI, click the ![Add component icon](/mulesoft/current/en-us/anypoint-code-builder/_images/icon-plus.png) (**Add component**) icon. 5. In the **Add Component** panel, search for and select your component from the results. The following example shows the **Listener** component from the **HTTP** search results: ![Listener component highlighted in the Add Component section](/mulesoft/current/en-us/anypoint-code-builder/_images/main-tutorial-add-first-listener.png) The configuration XML file now includes the XML for the HTTP Listener into the `` element, for example: ```XML ``` For a complete list of operations and their configurations, see [Supported Operations](https://docs.mulesoft.com/mcp-connector/1.4/mcp-connector-reference#supported-operations). ### Example: Using Operations After you configure a connection, you can add operations to interact with MCP servers (when configured as a client) or handle requests (when configured as a server). Example of calling a tool on an MCP server: ```xml ``` Example of reading a resource from an MCP server: ```xml ``` For detailed information on each operation’s parameters and usage, see the [MCP Connector Reference](https://docs.mulesoft.com/mcp-connector/1.4/mcp-connector-reference). ## Configure TLS for Secure Connections To secure connections with TLS: ```xml ``` ## Create a New Configuration XML File Anypoint Code Builder creates the initial Mule configuration XML file in `src/main/mule` within the Mule project. This file contains global configurations and flow structures. You can create additional configuration files, for example, to store global configurations. To create a new XML configuration file: 1. In the Explorer view, right-click the **mule** folder (`src/main/mule`) and select **New File**. Alternatively, use the menu. Show me how Select the `mule` folder, and then: - In the desktop IDE, select **File** > **New Mule Configuration File**. - In the cloud IDE, click the ![](/mulesoft/current/en-us/anypoint-code-builder/_images/icon-menu.png) (menu) icon, and select **File** > **New File**. 2. Enter a name for the new file with the `.xml` extension. 3. In the Editor view for the new file, press Ctrl+Space to display available options. 4. Select **Empty mule configuration**: ![New Mule configuration option in auto-correct](/mulesoft/current/en-us/anypoint-code-builder/_images/int-new-mule-config.png) This command adds the following code to the file: ```xml ``` ## Debug the App Debug your Mule application using the embedded debugger in Anypoint Code Builder. See [Debugging Mule Applications](https://docs.mulesoft.com/anypoint-code-builder/int-debug-mule-apps). ## Deploy the App These are available for deployment: - CloudHub 2.0 - Runtime Fabric - Hybrid - CloudHub (with limitations, such as you can’t apply policies) For more information about deploying apps, see [Deployment Options](https://docs.mulesoft.com/runtime-manager/deployment-strategies). ## See Also - [Anypoint Code Builder Overview](https://docs.mulesoft.com/anypoint-code-builder/) - [Creating Integrations](https://docs.mulesoft.com/anypoint-code-builder/int-create-integrations) - [Using Anypoint Code Builder to Configure a Connector](https://docs.mulesoft.com/connectors/introduction/intro-config-use-acb) - [Anypoint Code Builder Components and Commands Reference](https://docs.mulesoft.com/anypoint-code-builder/acb-reference) - [Defining and Securing Properties for a Mule Application](https://docs.mulesoft.com/anypoint-code-builder/int-create-secure-configs) - [Triggering Flows in Your Development Environment](https://docs.mulesoft.com/anypoint-code-builder/int-trigger-flows) - [Configuring Components](https://docs.mulesoft.com/anypoint-code-builder/int-configure-components) - [Debugging Mule Applications](https://docs.mulesoft.com/anypoint-code-builder/int-debug-mule-apps) - [Salesforce Help](https://help.salesforce.com) --- product: MCP Connector version: 1.5 --- # Using Anypoint Code Builder to Configure MCP Connector 1.5 > For the full documentation index, see: https://docs.mulesoft.com/llms.txt Cloud IDE (Beta) is scheduled for retirement on August 31, 2026. August 30, 2026 is the last day you can access Cloud IDE (Beta). Download your projects to work from Desktop IDE. Learn more in [Migrate a Project from Cloud IDE to Desktop IDE](https://docs.mulesoft.com/anypoint-code-builder/int-import-mule-project#migrate-cloud-to-desktop). To use Anypoint Code Builder to configure a connector or module, create a basic integration project in Anypoint Code Builder, add connectors and other components to your Mule application to process your business logic, and configure the attributes. ## Before You Begin Before creating an integration project, you must: - [Set up and access the Anypoint Code Builder web or desktop IDE](https://docs.mulesoft.com/anypoint-code-builder/start-acb) - Have credentials to access the connector’s API - Ensure that the Visual Studio Code Extension Pack for Java is installed. To use this connector, you must be familiar with: - The connector’s API - Anypoint Connectors - Mule runtime engine (Mule) ## Create a New Integration Project To create a new integration project: 1. In the activity bar of the IDE, click the ![Anypoint Code Builder icon](/mulesoft/current/en-us/connectors/_images/acb-icon-ms-logo.png) (**Anypoint Code Builder**) icon. 2. From **Quick Actions**, click **Develop an Integration**: ![Develop an Integration link highlighted in the Getting started section](/mulesoft/current/en-us/anypoint-code-builder/_images/develop-integration-option-mat.png) 3. Complete the following in the **Develop an Integration** form:
AttributeValue

Project Name

Unique name for your project.

This name is used as the title and name of the integration project file. For example, if the project name is "Salesforce Integration," the project file name is salesforce-integration.

Project Location

Your home directory or another directory you create. Click Browse to select a different directory for the integration project.

Don’t create the project within another project directory.

4. Select the type of project to create by selecting either the **Empty Project** or **Template or Example** card. 5. Select the **Mule runtime** and **Java Version** for your app. 6. Click **Create Project**. ## Add the Connector to Your Integration Project Anypoint Connectors provide operations for retrieving, modifying, and sending data to and from systems. In addition to the [built-in connectors](https://docs.mulesoft.com/anypoint-code-builder/acb-reference#builtin-connectors) that Anypoint Code Builder provides, you can download many other connectors from Anypoint Exchange. To import a connector from Exchange and add it to your configuration: 1. In the Explorer view, open the configuration XML file for your project, such as `my-project-name.xml`. 2. Click the ![Show Mule graphical mode icon](/mulesoft/current/en-us/anypoint-code-builder/_images/icon-tree-view.png) (**Show Mule graphical mode**) icon in the activity bar to open the canvas UI if it doesn’t open automatically. 3. Add the connector the same way you added other components from the canvas UI: 1. In the canvas UI, click the ![Add component icon](/mulesoft/current/en-us/anypoint-code-builder/_images/icon-plus.png) (**Add component**) icon. 2. In the **Add Component** panel, click **Connectors**. 3. Click the connector name and then click the operation to add, such as **Publish**: ![Add Publish operation from Anypoint MQ Connector](/mulesoft/current/en-us/anypoint-code-builder/_images/int-add-connector-operation.png) If the connector is not available locally, click the ![Search in Exchange icon](/mulesoft/current/en-us/anypoint-code-builder/_images/icon-search-exchange.png) (**Search in Exchange**) toggle: ![Search in Exchange toggle](/mulesoft/current/en-us/anypoint-code-builder/_images/int-connector-search-exchange.png)
1Search locally
2Search in Exchange
4. Select the connector to add to your project. 5. Select the operation from the **Add Component** panel. Adding a connector to an integration project does not make that connector available to other projects in your Anypoint Code Builder workspace. ## Configure a Source For the Flow A trigger (source) starts the flow when specified conditions are met. If a connector has its own associated sources, you can use a connector-specific trigger to initiate the flow. Each connector trigger has a unique configuration. You can configure the following sources for this connector: - **HTTP > Listener** Initiates a flow each time it receives a request on the configured host and port - **Scheduler** Initiates a flow when a time-based condition is met For example, to configure an HTTP Listener trigger, follow these steps: 1. Click the **Listener** component on the canvas UI. 2. (Optional) Click the edit icon to change the name of the **Listener** component. 3. (Optional) If you created a configuration file for the connector, select it. 4. In the **General** tab, in the **Path** field, enter the relative path for the path set in the HTTP configuration element. See [Configure Paths](https://docs.mulesoft.com/http-connector/latest/http-listener-ref#configure-paths). 5. Select the **Advanced** tab to configure the following attributes:
AttributeDescriptionRequired

Allowed methods

To allow all HTTP methods (default), do not define this attribute. To restrict certain methods, specify all allowed HTTP methods, for example, GET, POST, as a comma-separated list.

No

Response streaming mode

Whether to use streaming when the response is sent.

No

Output MIME type

MIME type of the payload that this component outputs.

No

Parameters

Appends a key-value pair for a reader property to the value of the Output MIME attribute. Multiple key-value pairs are allowed.

No

Output encoding

Encoding of the payload that this component outputs.

No

Streaming Strategy

Configures the way data streams are consumed in Mule apps.

No

Primary node only

Select this option to execute the Listener trigger on the primary node only when running in a cluster.

No

Redelivery policy

Configures the redelivery policy for executing requests that generate errors. You can add a redelivery policy to any source in a flow.

No

Reconnection strategy

When an operation in a Mule application fails to connect to an external server, the default behavior is for the operation to fail immediately and return a connectivity error. You can modify the default behavior by configuring the reconnection strategy for the operation.

No

Response

See HTTP Response Attributes.

No

Error Response

HTTP error response returns a status code for the error.

No

Body

Body of the error message.

No

Headers

Headers to include in the error message.

No

Status code

Status code of the error response, for example, 500.

No

Reason phrase

Reason for the error, for example, Gateway Timeout or Internal Server Error.

No

For complete source configuration details, see the [MCP Connector Reference](https://docs.mulesoft.com/mcp-connector/1.5/mcp-connector-reference). ### Example: Configure a Tool Listener Source A common use case is exposing operations as tools that MCP clients can invoke. In the XML editor, add a **Tool Listener** source to your flow: ```xml ``` ## Configure an MCP Connection MCP Connector supports both client and server configurations with different connection types. ### Configure an MCP Client Connection Use client configurations to connect your Mule application to external MCP servers. #### Streamable HTTP Client The Streamable HTTP client connection enables load-balanced, scalable connections to MCP servers: ```xml ``` #### SSE Client Connection (Deprecated) The SSE (Server-Sent Events) client enables persistent, server-push connections: ```xml ``` ### Configure an MCP Server Connection Use server configurations to expose your Mule application as an MCP server. #### Streamable HTTP Server ```xml ``` #### SSE Server Connection (Deprecated) ```xml ``` ## Configure Authentication MCP Connector client connections support standard HTTP authentication methods including Basic, Digest, NTLM, and OAuth. For detailed authentication and security configuration, see [Applying Security to the MCP Server](https://docs.mulesoft.com/mcp-connector/1.5/mcp-connector-config-topics). ## Add Operations to Your Project Add components to your integration project to build a flow: 1. In the **Explorer** view, open the XML file for your project, such as `my-project-name.xml`. 2. Select **Build a Flow** from the start card to create an empty flow: ![Anypoint Code Builder canvas with starting cards with the options to start from scratch, build a flow, or build a subflow](/mulesoft/current/en-us/connectors/_images/acb-build-flow.png) 3. Change the name of the flow: 1. Click **Flow**. 2. Click the edit icon. ![Arrow pointing to the flow name edit pencil icon](/mulesoft/current/en-us/connectors/_images/acb-change-flow-name.png) 3. Enter the flow name, and click the checkmark. 4. In the canvas UI, click the ![Add component icon](/mulesoft/current/en-us/anypoint-code-builder/_images/icon-plus.png) (**Add component**) icon. 5. In the **Add Component** panel, search for and select your component from the results. The following example shows the **Listener** component from the **HTTP** search results: ![Listener component highlighted in the Add Component section](/mulesoft/current/en-us/anypoint-code-builder/_images/main-tutorial-add-first-listener.png) The configuration XML file now includes the XML for the HTTP Listener into the `` element, for example: ```XML ``` For a complete list of operations and their configurations, see [Supported Operations](https://docs.mulesoft.com/mcp-connector/1.5/mcp-connector-reference#supported-operations). ### Example: Using Operations After you configure a connection, you can add operations to interact with MCP servers (when configured as a client) or handle requests (when configured as a server). Example of calling a tool on an MCP server: ```xml ``` Example of reading a resource from an MCP server: ```xml ``` For detailed information on each operation’s parameters and usage, see the [MCP Connector Reference](https://docs.mulesoft.com/mcp-connector/1.5/mcp-connector-reference). ## Configure TLS for Secure Connections To secure connections with TLS: ```xml ``` ## Create a New Configuration XML File Anypoint Code Builder creates the initial Mule configuration XML file in `src/main/mule` within the Mule project. This file contains global configurations and flow structures. You can create additional configuration files, for example, to store global configurations. To create a new XML configuration file: 1. In the Explorer view, right-click the **mule** folder (`src/main/mule`) and select **New File**. Alternatively, use the menu. Show me how Select the `mule` folder, and then: - In the desktop IDE, select **File** > **New Mule Configuration File**. - In the cloud IDE, click the ![](/mulesoft/current/en-us/anypoint-code-builder/_images/icon-menu.png) (menu) icon, and select **File** > **New File**. 2. Enter a name for the new file with the `.xml` extension. 3. In the Editor view for the new file, press Ctrl+Space to display available options. 4. Select **Empty mule configuration**: ![New Mule configuration option in auto-correct](/mulesoft/current/en-us/anypoint-code-builder/_images/int-new-mule-config.png) This command adds the following code to the file: ```xml ``` ## Debug the App Debug your Mule application using the embedded debugger in Anypoint Code Builder. See [Debugging Mule Applications](https://docs.mulesoft.com/anypoint-code-builder/int-debug-mule-apps). ## Deploy the App These are available for deployment: - CloudHub 2.0 - Runtime Fabric - Hybrid - CloudHub (with limitations, such as you can’t apply policies) For more information about deploying apps, see [Deployment Options](https://docs.mulesoft.com/runtime-manager/deployment-strategies). ## See Also - [Anypoint Code Builder Overview](https://docs.mulesoft.com/anypoint-code-builder/) - [Creating Integrations](https://docs.mulesoft.com/anypoint-code-builder/int-create-integrations) - [Using Anypoint Code Builder to Configure a Connector](https://docs.mulesoft.com/connectors/introduction/intro-config-use-acb) - [Anypoint Code Builder Components and Commands Reference](https://docs.mulesoft.com/anypoint-code-builder/acb-reference) - [Defining and Securing Properties for a Mule Application](https://docs.mulesoft.com/anypoint-code-builder/int-create-secure-configs) - [Triggering Flows in Your Development Environment](https://docs.mulesoft.com/anypoint-code-builder/int-trigger-flows) - [Configuring Components](https://docs.mulesoft.com/anypoint-code-builder/int-configure-components) - [Debugging Mule Applications](https://docs.mulesoft.com/anypoint-code-builder/int-debug-mule-apps) - [Salesforce Help](https://help.salesforce.com) --- product: MCP Connector version: 1.6 --- # Using Anypoint Code Builder to Configure MCP Connector 1.6 > For the full documentation index, see: https://docs.mulesoft.com/llms.txt Cloud IDE (Beta) is scheduled for retirement on August 31, 2026. August 30, 2026 is the last day you can access Cloud IDE (Beta). Download your projects to work from Desktop IDE. Learn more in [Migrate a Project from Cloud IDE to Desktop IDE](https://docs.mulesoft.com/anypoint-code-builder/int-import-mule-project#migrate-cloud-to-desktop). To use Anypoint Code Builder to configure a connector or module, create a basic integration project in Anypoint Code Builder, add connectors and other components to your Mule application to process your business logic, and configure the attributes. ## Before You Begin Before creating an integration project, you must: - [Set up and access the Anypoint Code Builder web or desktop IDE](https://docs.mulesoft.com/anypoint-code-builder/start-acb) - Have credentials to access the connector’s API - Ensure that the Visual Studio Code Extension Pack for Java is installed. To use this connector, you must be familiar with: - The connector’s API - Anypoint Connectors - Mule runtime engine (Mule) ## Create a New Integration Project To create a new integration project: 1. In the activity bar of the IDE, click the ![Anypoint Code Builder icon](/mulesoft/current/en-us/connectors/_images/acb-icon-ms-logo.png) (**Anypoint Code Builder**) icon. 2. From **Quick Actions**, click **Develop an Integration**: ![Develop an Integration link highlighted in the Getting started section](/mulesoft/current/en-us/anypoint-code-builder/_images/develop-integration-option-mat.png) 3. Complete the following in the **Develop an Integration** form:
AttributeValue

Project Name

Unique name for your project.

This name is used as the title and name of the integration project file. For example, if the project name is "Salesforce Integration," the project file name is salesforce-integration.

Project Location

Your home directory or another directory you create. Click Browse to select a different directory for the integration project.

Don’t create the project within another project directory.

4. Select the type of project to create by selecting either the **Empty Project** or **Template or Example** card. 5. Select the **Mule runtime** and **Java Version** for your app. 6. Click **Create Project**. ## Add the Connector to Your Integration Project Anypoint Connectors provide operations for retrieving, modifying, and sending data to and from systems. In addition to the [built-in connectors](https://docs.mulesoft.com/anypoint-code-builder/acb-reference#builtin-connectors) that Anypoint Code Builder provides, you can download many other connectors from Anypoint Exchange. To import a connector from Exchange and add it to your configuration: 1. In the Explorer view, open the configuration XML file for your project, such as `my-project-name.xml`. 2. Click the ![Show Mule graphical mode icon](/mulesoft/current/en-us/anypoint-code-builder/_images/icon-tree-view.png) (**Show Mule graphical mode**) icon in the activity bar to open the canvas UI if it doesn’t open automatically. 3. Add the connector the same way you added other components from the canvas UI: 1. In the canvas UI, click the ![Add component icon](/mulesoft/current/en-us/anypoint-code-builder/_images/icon-plus.png) (**Add component**) icon. 2. In the **Add Component** panel, click **Connectors**. 3. Click the connector name and then click the operation to add, such as **Publish**: ![Add Publish operation from Anypoint MQ Connector](/mulesoft/current/en-us/anypoint-code-builder/_images/int-add-connector-operation.png) If the connector is not available locally, click the ![Search in Exchange icon](/mulesoft/current/en-us/anypoint-code-builder/_images/icon-search-exchange.png) (**Search in Exchange**) toggle: ![Search in Exchange toggle](/mulesoft/current/en-us/anypoint-code-builder/_images/int-connector-search-exchange.png)
1Search locally
2Search in Exchange
4. Select the connector to add to your project. 5. Select the operation from the **Add Component** panel. Adding a connector to an integration project does not make that connector available to other projects in your Anypoint Code Builder workspace. ## Configure a Source For the Flow A trigger (source) starts the flow when specified conditions are met. If a connector has its own associated sources, you can use a connector-specific trigger to initiate the flow. Each connector trigger has a unique configuration. You can configure the following sources for this connector: - **HTTP > Listener** Initiates a flow each time it receives a request on the configured host and port - **Scheduler** Initiates a flow when a time-based condition is met For example, to configure an HTTP Listener trigger, follow these steps: 1. Click the **Listener** component on the canvas UI. 2. (Optional) Click the edit icon to change the name of the **Listener** component. 3. (Optional) If you created a configuration file for the connector, select it. 4. In the **General** tab, in the **Path** field, enter the relative path for the path set in the HTTP configuration element. See [Configure Paths](https://docs.mulesoft.com/http-connector/latest/http-listener-ref#configure-paths). 5. Select the **Advanced** tab to configure the following attributes:
AttributeDescriptionRequired

Allowed methods

To allow all HTTP methods (default), do not define this attribute. To restrict certain methods, specify all allowed HTTP methods, for example, GET, POST, as a comma-separated list.

No

Response streaming mode

Whether to use streaming when the response is sent.

No

Output MIME type

MIME type of the payload that this component outputs.

No

Parameters

Appends a key-value pair for a reader property to the value of the Output MIME attribute. Multiple key-value pairs are allowed.

No

Output encoding

Encoding of the payload that this component outputs.

No

Streaming Strategy

Configures the way data streams are consumed in Mule apps.

No

Primary node only

Select this option to execute the Listener trigger on the primary node only when running in a cluster.

No

Redelivery policy

Configures the redelivery policy for executing requests that generate errors. You can add a redelivery policy to any source in a flow.

No

Reconnection strategy

When an operation in a Mule application fails to connect to an external server, the default behavior is for the operation to fail immediately and return a connectivity error. You can modify the default behavior by configuring the reconnection strategy for the operation.

No

Response

See HTTP Response Attributes.

No

Error Response

HTTP error response returns a status code for the error.

No

Body

Body of the error message.

No

Headers

Headers to include in the error message.

No

Status code

Status code of the error response, for example, 500.

No

Reason phrase

Reason for the error, for example, Gateway Timeout or Internal Server Error.

No

For complete source configuration details, see the [MCP Connector Reference](https://docs.mulesoft.com/mcp-connector/1.6/mcp-connector-reference). ### Example: Configure a Tool Listener Source A common use case is exposing operations as tools that MCP clients can invoke. In the XML editor, add a **Tool Listener** source to your flow: ```xml ``` ## Configure an MCP Connection MCP Connector supports both client and server configurations with different connection types. ### Configure an MCP Client Connection Use client configurations to connect your Mule application to external MCP servers. #### Streamable HTTP Client The Streamable HTTP client connection enables load-balanced, scalable connections to MCP servers: ```xml ``` #### SSE Client Connection (Deprecated) The SSE (Server-Sent Events) client enables persistent, server-push connections: ```xml ``` ### Configure an MCP Server Connection Use server configurations to expose your Mule application as an MCP server. #### Streamable HTTP Server ```xml ``` For multi-replica deployments, configure session handling with a distributed object store for elicitation routing: ```xml ``` #### SSE Server Connection (Deprecated) > [!WARNING] SSE server transport is supported only for single-replica deployments. For > multi-replica deployments, use Streamable HTTP server transport. ```xml ``` ## Configure Authentication MCP Connector client connections support standard HTTP authentication methods including Basic, Digest, NTLM, and OAuth. For detailed authentication and security configuration, see [Applying Security to the MCP Server](https://docs.mulesoft.com/mcp-connector/1.6/mcp-connector-config-topics). ## Add Operations to Your Project Add components to your integration project to build a flow: 1. In the **Explorer** view, open the XML file for your project, such as `my-project-name.xml`. 2. Select **Build a Flow** from the start card to create an empty flow: ![Anypoint Code Builder canvas with starting cards with the options to start from scratch, build a flow, or build a subflow](/mulesoft/current/en-us/connectors/_images/acb-build-flow.png) 3. Change the name of the flow: 1. Click **Flow**. 2. Click the edit icon. ![Arrow pointing to the flow name edit pencil icon](/mulesoft/current/en-us/connectors/_images/acb-change-flow-name.png) 3. Enter the flow name, and click the checkmark. 4. In the canvas UI, click the ![Add component icon](/mulesoft/current/en-us/anypoint-code-builder/_images/icon-plus.png) (**Add component**) icon. 5. In the **Add Component** panel, search for and select your component from the results. The following example shows the **Listener** component from the **HTTP** search results: ![Listener component highlighted in the Add Component section](/mulesoft/current/en-us/anypoint-code-builder/_images/main-tutorial-add-first-listener.png) The configuration XML file now includes the XML for the HTTP Listener into the `` element, for example: ```XML ``` For a complete list of operations and their configurations, see [Supported Operations](https://docs.mulesoft.com/mcp-connector/1.6/mcp-connector-reference#supported-operations). ### Example: Using Operations After you configure a connection, you can add operations to interact with MCP servers (when configured as a client) or handle requests (when configured as a server). Example of calling a tool on an MCP server: ```xml ``` Example of reading a resource from an MCP server: ```xml ``` For detailed information on each operation’s parameters and usage, see the [MCP Connector Reference](https://docs.mulesoft.com/mcp-connector/1.6/mcp-connector-reference). ## Configure TLS for Secure Connections To secure connections with TLS: ```xml ``` ## Create a New Configuration XML File Anypoint Code Builder creates the initial Mule configuration XML file in `src/main/mule` within the Mule project. This file contains global configurations and flow structures. You can create additional configuration files, for example, to store global configurations. To create a new XML configuration file: 1. In the Explorer view, right-click the **mule** folder (`src/main/mule`) and select **New File**. Alternatively, use the menu. Show me how Select the `mule` folder, and then: - In the desktop IDE, select **File** > **New Mule Configuration File**. - In the cloud IDE, click the ![](/mulesoft/current/en-us/anypoint-code-builder/_images/icon-menu.png) (menu) icon, and select **File** > **New File**. 2. Enter a name for the new file with the `.xml` extension. 3. In the Editor view for the new file, press Ctrl+Space to display available options. 4. Select **Empty mule configuration**: ![New Mule configuration option in auto-correct](/mulesoft/current/en-us/anypoint-code-builder/_images/int-new-mule-config.png) This command adds the following code to the file: ```xml ``` ## Debug the App Debug your Mule application using the embedded debugger in Anypoint Code Builder. See [Debugging Mule Applications](https://docs.mulesoft.com/anypoint-code-builder/int-debug-mule-apps). ## Deploy the App These are available for deployment: - CloudHub 2.0 - Runtime Fabric - Hybrid - CloudHub (with limitations, such as you can’t apply policies) For more information about deploying apps, see [Deployment Options](https://docs.mulesoft.com/runtime-manager/deployment-strategies). ## See Also - [Anypoint Code Builder Overview](https://docs.mulesoft.com/anypoint-code-builder/) - [Creating Integrations](https://docs.mulesoft.com/anypoint-code-builder/int-create-integrations) - [Using Anypoint Code Builder to Configure a Connector](https://docs.mulesoft.com/connectors/introduction/intro-config-use-acb) - [Anypoint Code Builder Components and Commands Reference](https://docs.mulesoft.com/anypoint-code-builder/acb-reference) - [Defining and Securing Properties for a Mule Application](https://docs.mulesoft.com/anypoint-code-builder/int-create-secure-configs) - [Triggering Flows in Your Development Environment](https://docs.mulesoft.com/anypoint-code-builder/int-trigger-flows) - [Configuring Components](https://docs.mulesoft.com/anypoint-code-builder/int-configure-components) - [Debugging Mule Applications](https://docs.mulesoft.com/anypoint-code-builder/int-debug-mule-apps) - [Salesforce Help](https://help.salesforce.com) --- product: MCP Connector version: 1.7 is-latest-version: true --- # Using Anypoint Code Builder to Configure MCP Connector 1.7 > For the full documentation index, see: https://docs.mulesoft.com/llms.txt Cloud IDE (Beta) is scheduled for retirement on August 31, 2026. August 30, 2026 is the last day you can access Cloud IDE (Beta). Download your projects to work from Desktop IDE. Learn more in [Migrate a Project from Cloud IDE to Desktop IDE](https://docs.mulesoft.com/anypoint-code-builder/int-import-mule-project#migrate-cloud-to-desktop). To use Anypoint Code Builder to configure a connector or module, create a basic integration project in Anypoint Code Builder, add connectors and other components to your Mule application to process your business logic, and configure the attributes. ## Before You Begin Before creating an integration project, you must: - [Set up and access the Anypoint Code Builder web or desktop IDE](https://docs.mulesoft.com/anypoint-code-builder/start-acb) - Have credentials to access the connector’s API - Ensure that the Visual Studio Code Extension Pack for Java is installed. To use this connector, you must be familiar with: - The connector’s API - Anypoint Connectors - Mule runtime engine (Mule) ## Create a New Integration Project To create a new integration project: 1. In the activity bar of the IDE, click the ![Anypoint Code Builder icon](/mulesoft/current/en-us/connectors/_images/acb-icon-ms-logo.png) (**Anypoint Code Builder**) icon. 2. From **Quick Actions**, click **Develop an Integration**: ![Develop an Integration link highlighted in the Getting started section](/mulesoft/current/en-us/anypoint-code-builder/_images/develop-integration-option-mat.png) 3. Complete the following in the **Develop an Integration** form:
AttributeValue

Project Name

Unique name for your project.

This name is used as the title and name of the integration project file. For example, if the project name is "Salesforce Integration," the project file name is salesforce-integration.

Project Location

Your home directory or another directory you create. Click Browse to select a different directory for the integration project.

Don’t create the project within another project directory.

4. Select the type of project to create by selecting either the **Empty Project** or **Template or Example** card. 5. Select the **Mule runtime** and **Java Version** for your app. 6. Click **Create Project**. ## Add the Connector to Your Integration Project Anypoint Connectors provide operations for retrieving, modifying, and sending data to and from systems. In addition to the [built-in connectors](https://docs.mulesoft.com/anypoint-code-builder/acb-reference#builtin-connectors) that Anypoint Code Builder provides, you can download many other connectors from Anypoint Exchange. To import a connector from Exchange and add it to your configuration: 1. In the Explorer view, open the configuration XML file for your project, such as `my-project-name.xml`. 2. Click the ![Show Mule graphical mode icon](/mulesoft/current/en-us/anypoint-code-builder/_images/icon-tree-view.png) (**Show Mule graphical mode**) icon in the activity bar to open the canvas UI if it doesn’t open automatically. 3. Add the connector the same way you added other components from the canvas UI: 1. In the canvas UI, click the ![Add component icon](/mulesoft/current/en-us/anypoint-code-builder/_images/icon-plus.png) (**Add component**) icon. 2. In the **Add Component** panel, click **Connectors**. 3. Click the connector name and then click the operation to add, such as **Publish**: ![Add Publish operation from Anypoint MQ Connector](/mulesoft/current/en-us/anypoint-code-builder/_images/int-add-connector-operation.png) If the connector is not available locally, click the ![Search in Exchange icon](/mulesoft/current/en-us/anypoint-code-builder/_images/icon-search-exchange.png) (**Search in Exchange**) toggle: ![Search in Exchange toggle](/mulesoft/current/en-us/anypoint-code-builder/_images/int-connector-search-exchange.png)
1Search locally
2Search in Exchange
4. Select the connector to add to your project. 5. Select the operation from the **Add Component** panel. Adding a connector to an integration project does not make that connector available to other projects in your Anypoint Code Builder workspace. ## Configure a Source For the Flow A trigger (source) starts the flow when specified conditions are met. If a connector has its own associated sources, you can use a connector-specific trigger to initiate the flow. Each connector trigger has a unique configuration. You can configure the following sources for this connector: - **HTTP > Listener** Initiates a flow each time it receives a request on the configured host and port - **Scheduler** Initiates a flow when a time-based condition is met For example, to configure an HTTP Listener trigger, follow these steps: 1. Click the **Listener** component on the canvas UI. 2. (Optional) Click the edit icon to change the name of the **Listener** component. 3. (Optional) If you created a configuration file for the connector, select it. 4. In the **General** tab, in the **Path** field, enter the relative path for the path set in the HTTP configuration element. See [Configure Paths](https://docs.mulesoft.com/http-connector/latest/http-listener-ref#configure-paths). 5. Select the **Advanced** tab to configure the following attributes:
AttributeDescriptionRequired

Allowed methods

To allow all HTTP methods (default), do not define this attribute. To restrict certain methods, specify all allowed HTTP methods, for example, GET, POST, as a comma-separated list.

No

Response streaming mode

Whether to use streaming when the response is sent.

No

Output MIME type

MIME type of the payload that this component outputs.

No

Parameters

Appends a key-value pair for a reader property to the value of the Output MIME attribute. Multiple key-value pairs are allowed.

No

Output encoding

Encoding of the payload that this component outputs.

No

Streaming Strategy

Configures the way data streams are consumed in Mule apps.

No

Primary node only

Select this option to execute the Listener trigger on the primary node only when running in a cluster.

No

Redelivery policy

Configures the redelivery policy for executing requests that generate errors. You can add a redelivery policy to any source in a flow.

No

Reconnection strategy

When an operation in a Mule application fails to connect to an external server, the default behavior is for the operation to fail immediately and return a connectivity error. You can modify the default behavior by configuring the reconnection strategy for the operation.

No

Response

See HTTP Response Attributes.

No

Error Response

HTTP error response returns a status code for the error.

No

Body

Body of the error message.

No

Headers

Headers to include in the error message.

No

Status code

Status code of the error response, for example, 500.

No

Reason phrase

Reason for the error, for example, Gateway Timeout or Internal Server Error.

No

For complete source configuration details, see the [MCP Connector Reference](https://docs.mulesoft.com/mcp-connector/latest/mcp-connector-reference). ### Example: Configure a Tool Listener Source A common use case is exposing operations as tools that MCP clients can invoke. In the XML editor, add a **Tool Listener** source to your flow: ```xml ``` ## Configure an MCP Connection MCP Connector supports both client and server configurations with different connection types. ### Configure an MCP Client Connection Use client configurations to connect your Mule application to external MCP servers. #### Streamable HTTP Client The Streamable HTTP client connection enables load-balanced, scalable connections to MCP servers: ```xml ``` #### SSE Client Connection (Deprecated) The SSE (Server-Sent Events) client enables persistent, server-push connections: ```xml ``` ### Configure an MCP Server Connection Use server configurations to expose your Mule application as an MCP server. #### Streamable HTTP Server ```xml ``` For multi-replica deployments, configure session handling with a distributed object store for elicitation routing: ```xml ``` #### SSE Server Connection (Deprecated) > [!WARNING] SSE server transport is supported only for single-replica deployments. For > multi-replica deployments, use Streamable HTTP server transport. ```xml ``` ## Configure Authentication MCP Connector client connections support standard HTTP authentication methods including Basic, Digest, NTLM, and OAuth. For detailed authentication and security configuration, see [Applying Security to the MCP Server](https://docs.mulesoft.com/mcp-connector/latest/mcp-connector-config-topics). ## Add Operations to Your Project Add components to your integration project to build a flow: 1. In the **Explorer** view, open the XML file for your project, such as `my-project-name.xml`. 2. Select **Build a Flow** from the start card to create an empty flow: ![Anypoint Code Builder canvas with starting cards with the options to start from scratch, build a flow, or build a subflow](/mulesoft/current/en-us/connectors/_images/acb-build-flow.png) 3. Change the name of the flow: 1. Click **Flow**. 2. Click the edit icon. ![Arrow pointing to the flow name edit pencil icon](/mulesoft/current/en-us/connectors/_images/acb-change-flow-name.png) 3. Enter the flow name, and click the checkmark. 4. In the canvas UI, click the ![Add component icon](/mulesoft/current/en-us/anypoint-code-builder/_images/icon-plus.png) (**Add component**) icon. 5. In the **Add Component** panel, search for and select your component from the results. The following example shows the **Listener** component from the **HTTP** search results: ![Listener component highlighted in the Add Component section](/mulesoft/current/en-us/anypoint-code-builder/_images/main-tutorial-add-first-listener.png) The configuration XML file now includes the XML for the HTTP Listener into the `` element, for example: ```XML ``` For a complete list of operations and their configurations, see [Supported Operations](https://docs.mulesoft.com/mcp-connector/latest/mcp-connector-reference#supported-operations). ### Example: Using Operations After you configure a connection, you can add operations to interact with MCP servers (when configured as a client) or handle requests (when configured as a server). Example of calling a tool on an MCP server: ```xml ``` Example of reading a resource from an MCP server: ```xml ``` For detailed information on each operation’s parameters and usage, see the [MCP Connector Reference](https://docs.mulesoft.com/mcp-connector/latest/mcp-connector-reference). ## Configure TLS for Secure Connections To secure connections with TLS: ```xml ``` ## Create a New Configuration XML File Anypoint Code Builder creates the initial Mule configuration XML file in `src/main/mule` within the Mule project. This file contains global configurations and flow structures. You can create additional configuration files, for example, to store global configurations. To create a new XML configuration file: 1. In the Explorer view, right-click the **mule** folder (`src/main/mule`) and select **New File**. Alternatively, use the menu. Show me how Select the `mule` folder, and then: - In the desktop IDE, select **File** > **New Mule Configuration File**. - In the cloud IDE, click the ![](/mulesoft/current/en-us/anypoint-code-builder/_images/icon-menu.png) (menu) icon, and select **File** > **New File**. 2. Enter a name for the new file with the `.xml` extension. 3. In the Editor view for the new file, press Ctrl+Space to display available options. 4. Select **Empty mule configuration**: ![New Mule configuration option in auto-correct](/mulesoft/current/en-us/anypoint-code-builder/_images/int-new-mule-config.png) This command adds the following code to the file: ```xml ``` ## Debug the App Debug your Mule application using the embedded debugger in Anypoint Code Builder. See [Debugging Mule Applications](https://docs.mulesoft.com/anypoint-code-builder/int-debug-mule-apps). ## Deploy the App These are available for deployment: - CloudHub 2.0 - Runtime Fabric - Hybrid - CloudHub (with limitations, such as you can’t apply policies) For more information about deploying apps, see [Deployment Options](https://docs.mulesoft.com/runtime-manager/deployment-strategies). ## See Also - [Anypoint Code Builder Overview](https://docs.mulesoft.com/anypoint-code-builder/) - [Creating Integrations](https://docs.mulesoft.com/anypoint-code-builder/int-create-integrations) - [Using Anypoint Code Builder to Configure a Connector](https://docs.mulesoft.com/connectors/introduction/intro-config-use-acb) - [Anypoint Code Builder Components and Commands Reference](https://docs.mulesoft.com/anypoint-code-builder/acb-reference) - [Defining and Securing Properties for a Mule Application](https://docs.mulesoft.com/anypoint-code-builder/int-create-secure-configs) - [Triggering Flows in Your Development Environment](https://docs.mulesoft.com/anypoint-code-builder/int-trigger-flows) - [Configuring Components](https://docs.mulesoft.com/anypoint-code-builder/int-configure-components) - [Debugging Mule Applications](https://docs.mulesoft.com/anypoint-code-builder/int-debug-mule-apps) - [Salesforce Help](https://help.salesforce.com) --- product: MCP Connector version: 0.1 --- # Using Anypoint Studio to Configure MCP Connector 0.1.0-BETA > For the full documentation index, see: https://docs.mulesoft.com/llms.txt Anypoint Studio (Studio) editors help you design and update your Mule applications, properties, and configuration files. To add and configure a connector in Studio: 1. [Create a Mule project](#create-mule-project). 2. [Add the connector to your Mule project](#add-connector-to-project). 3. [Configure a source for the connector’s flow](#configure-source). 4. [Add a connector operation to the flow](#add-connector-operation). 5. [Configure a global element for the connector](#configure-global-element). 6. [Configure the other connector fields](#configure-other-fields). 7. [Debug the app](#debug). 8. [View the App Log](#view-app-log). 9. [Deploy the app](#deploy). If you are new to configuring connectors in Studio, see [Using Anypoint Studio to Configure a Connector](https://docs.mulesoft.com/connectors/introduction/intro-config-use-studio). If, after reading this topic, you need additional information about the connector fields, see the [MCP Connector Reference](https://docs.mulesoft.com/mcp-connector/0.1/mcp-connector-reference). ## Before You Begin Add the `-Dmule.http.service.implementation=NETTY` property to your `AnypointStudio.ini` file. On Mac OS: 1. Go to your `/Applications` folder, right-click the **AnypointStudio** package and select **Show Package Contents**. 2. Go to **Contents > Eclipse**, and open the `AnypointStudio.ini` file. 3. Add the `-Dmule.http.service.implementation=NETTY` property: ```text -Dorg.mule.tooling.runtime.args=-XX:-UseBiasedLocking,-Dfile.encoding=UTF-8,-XX:+UseG1GC,-XX:+UseStringDeduplication,-Dmule.deployment.forceParseConfigXmls=true,-Dmule.http.service.implementation=NETTY ``` On Windows: 1. Locate your `AnypointStudio.ini` file inside your Anypoint Studio installation directory. 2. Add the `-Dmule.http.service.implementation=NETTY` property: ```text -Dorg.mule.tooling.runtime.args=-XX:-UseBiasedLocking,-Dfile.encoding=UTF-8,-XX:+UseG1GC,-XX:+UseStringDeduplication,-Dmule.deployment.forceParseConfigXmls=true,-Dmule.http.service.implementation=NETTY ``` ## Create a Mule Project In Studio, create a new Mule project in which to add and configure Anypoint Connector for MCP (MCP Connector): 1. In Studio, select **File > New > Mule Project**. 2. Enter a name for your Mule project and click **Finish**. ## Add the Connector to Your Mule Project Add MCP Connector to your Mule project to automatically populate the XML code with the connector’s namespace and schema location and add the required dependencies to the project’s `pom.xml` file: 1. In **Mule Palette**, click **(X) Search in Exchange**. 2. In **Add Dependencies to Project**, type `mcp` in the search field. 3. Click **MCP Connector** in **Available modules**. 4. Click **Add**. 5. Click **Finish**. Adding a connector to a Mule project in Studio does not make that connector available to other projects in your Studio workspace. ## Configure a Source A source initiates a flow when a specified condition is met. You can configure one of these sources to use with MCP Connector: - [On New Session Listener](https://docs.mulesoft.com/mcp-connector/0.1/mcp-connector-reference#OnNewSessionListener) - [Resource Listener](https://docs.mulesoft.com/mcp-connector/0.1/mcp-connector-reference#ResourceListener) - [Tool Listener](https://docs.mulesoft.com/mcp-connector/0.1/mcp-connector-reference#ToolListener) - **HTTP > Listener** Initiates a flow each time it receives a request on the configured host and port - **Scheduler** Initiates a flow when a time-based condition is met For example, to configure an **HTTP > Listener** source, follow these steps: 1. In **Mule Palette**, select **HTTP > Listener**. 2. Drag **Listener** to the Studio canvas. 3. On the **Listener** configuration screen, optionally change the value of the **Display Name** field. 4. Specify a value for the **Path** field. 5. Click the plus sign (**+**) next to the **Connector configuration** field to configure a global element that can be used by all instances of the **HTTP > Listener** source in the app. 6. On the **General** tab, specify the connection information for the connector. 7. On the **TLS** tab, optionally specify the TLS information for the connector. 8. On the **Advanced** tab, optionally specify reconnection information, including a reconnection strategy. 9. Click **Test Connection** to confirm that Mule can connect with the specified server. 10. Click **OK**. ## Add a Connector Operation to the Flow When you add a connector operation to your flow, you are specifying an action for that connector to perform. To add an operation for MCP Connector, follow these steps: 1. In **Mule Palette**, select **MCP** and then select the desired operation. 2. Drag the operation onto the Studio canvas, next to the source. ## Configure a Global Element for the Connector When you configure a connector, configure a global element that all instances of that connector in the app can use. Configuring a global element requires you to provide the authentication credentials that the connector requires to access the target MCP system. You can reference a configuration file that contains ANT-style property placeholders (recommended), or you can enter your authorization credentials in the global configuration properties. For information about the benefits of using property placeholders and how to configure them, see [Anypoint Connector Configuration](https://docs.mulesoft.com/connectors/introduction/intro-connector-configuration-overview). To configure the global element for MCP Connector, follow these steps: 1. Select the operation in the Studio canvas. 2. On the properties screen for the operation, click the Add (**+**) icon to access the global element configuration fields. 3. In the **General** tab, in **Connection**, select the authentication method to configure. The MCP protocol’s security is mostly based on the OAuth Authorization Code flow. To keep it compatible with different systems and uses, the connector also supports other authentication methods, including: - [Basic Authentication](#basic-authentication) - [OAuth Authorization Code](#oauth-auth-code) - [OAuth Client Credentials](#oauth-client-credentials) - [Digest](#digest) - [NTLM](#ntlm) 4. On the **TLS** tab, optionally specify the TLS information for the connector. 5. On the **Advanced** tab, optionally specify reconnection information, including a reconnection strategy. 6. Click **Test Connection** to confirm that Mule can connect with the specified server. 7. Click **OK**. ### Basic Authentication Enter the authentication information in the **General** tab of the **Global Element Properties** screen to configure Basic authentication: 1. Select **Connection > Basic** and enter or set the values for these fields:
FieldUser Action

Name

Enter the configuration name.

Username

Username used to initialize the session.

Password

Password used to authenticate the user.

Preemptive

If set to true, the client sends its authentication credentials (username and password) with the initial HTTP request to the server, rather than waiting for the server to challenge (401 Unauthorized) the client.

### OAuth Authorization Code Used when the client is acting on behalf of an enduser (human). For instance, an agent calls an MCP tool implemented by a SaaS system. ### OAuth Client Credentials Used for machine-to-machine authentication. The client application authenticates itself directly with the authorization server using its client ID and client secret, and receives an access token. This is used when an application is accessing resources on its own behalf, not on behalf of a user. ### Digest An HTTP authentication scheme that uses a challenge-response mechanism to avoid sending passwords in plain text. It involves hashing the password and other information to verify the client’s identity. ### NTLM A Microsoft authentication protocol used primarily in Windows environments. It uses a challenge-response mechanism and is commonly used for network authentication. ## Configure Additional Connector Fields After you configure a global element for MCP Connector, configure the other required fields for the connector. The required fields vary depending on which connector operation you use. ## Debug the App Debug your Mule application using the embedded debugger in Studio. Before debugging your app, add the `-Dmule.http.service.implementation=NETTY` property to your debug configuration. See [Logging and Debugging](https://docs.mulesoft.com/mule-runtime/latest/logging-and-debugging). ## View the Application Log To check for problems, you can view the app log as follows: - If you’re running the app from Anypoint Platform, the app log output is visible on the Anypoint Studio console window. - If you’re running the app using Mule from the command line, the app log output is visible in your operating system console. Unless the log file path is customized in the app’s log file (`log4j2.xml`), you can also view the app log in the default location `MULE_HOME/logs/.log`. You can configure the location of the log path in the app log file `log4j2.xml`. ## Deploy the App Before you deploy the app: 1. Add the `mule.http.service.implementation=NETTY` property to your app in Runtime Manager for CloudHub 2 and Runtime Fabric deployments. For more information, see [Deploying Apps to CloudHub 2.0](https://docs.mulesoft.com/cloudhub-2/ch2-deploy) and [Deploying Mule Apps to Runtime Fabric Using Runtime Manager](https://docs.mulesoft.com/runtime-fabric/latest/deploy-to-runtime-fabric). For hybrid deployments, add the property to whatever you use to start Mule apps. For more information, see [Deploy to Your Servers](https://docs.mulesoft.com/runtime-manager/deploying-to-your-own-servers). ## Next Step - [Try the MCP Connector examples](https://docs.mulesoft.com/mcp-connector/0.1/mcp-connector-examples). - [Apply security to the MCP server](https://docs.mulesoft.com/mcp-connector/0.1/mcp-connector-config-topics). ## See Also - [Introduction to Anypoint Connectors](https://docs.mulesoft.com/connectors/introduction/introduction-to-anypoint-connectors) - [Using Studio to Configure a Connector](https://docs.mulesoft.com/connectors/introduction/intro-config-use-studio) - [MCP Connector Reference](https://docs.mulesoft.com/mcp-connector/0.1/mcp-connector-reference) - [Salesforce Help](https://help.salesforce.com) - [Deployment Options](https://docs.mulesoft.com/runtime-manager/deployment-strategies) --- product: MCP Connector version: 1.0 --- # Using Anypoint Studio to Configure MCP Connector 1.0 > For the full documentation index, see: https://docs.mulesoft.com/llms.txt Anypoint Studio (Studio) editors help you design and update your Mule applications, properties, and configuration files. To add and configure a connector in Studio: 1. [Create a Mule project](#create-mule-project). 2. [Add the connector to your Mule project](#add-connector-to-project). 3. [Configure a source for the connector’s flow](#configure-source). 4. [Add a connector operation to the flow](#add-connector-operation). 5. [Configure a global element for the connector](#configure-global-element). 6. [Configure the other connector fields](#configure-other-fields). 7. [Debug the app](#debug). 8. [View the App Log](#view-app-log). 9. [Apply MCP policies](#apply-mcp-policies). 10. [Deploy the app](#deploy-the-app). If you are new to configuring connectors in Studio, see [Using Anypoint Studio to Configure a Connector](https://docs.mulesoft.com/connectors/introduction/intro-config-use-studio). If, after reading this topic, you need additional information about the connector fields, see the [MCP Connector Reference](https://docs.mulesoft.com/mcp-connector/1.0/mcp-connector-reference). ## Create a Mule Project In Studio, create a new Mule project in which to add and configure Anypoint Connector for MCP (MCP Connector): 1. In Studio, select **File > New > Mule Project**. 2. Enter a name for your Mule project and click **Finish**. ## Add the Connector to Your Mule Project Add MCP Connector to your Mule project to automatically populate the XML code with the connector’s namespace and schema location and add the required dependencies to the project’s `pom.xml` file: 1. In **Mule Palette**, click **(X) Search in Exchange**. 2. In **Add Dependencies to Project**, type `mcp` in the search field. 3. Click **MCP Connector** in **Available modules**. 4. Click **Add**. 5. Click **Finish**. Adding a connector to a Mule project in Studio does not make that connector available to other projects in your Studio workspace. ## Configure a Source A source initiates a flow when a specified condition is met. You can configure one of these sources to use with MCP Connector: - [On New Session Listener](https://docs.mulesoft.com/mcp-connector/1.0/mcp-connector-reference#OnNewSessionListener) - [Resource Listener](https://docs.mulesoft.com/mcp-connector/1.0/mcp-connector-reference#ResourceListener) - [Tool Listener](https://docs.mulesoft.com/mcp-connector/1.0/mcp-connector-reference#ToolListener) - **HTTP > Listener** Initiates a flow each time it receives a request on the configured host and port - **Scheduler** Initiates a flow when a time-based condition is met For example, to configure an **HTTP > Listener** source, follow these steps: 1. In **Mule Palette**, select **HTTP > Listener**. 2. Drag **Listener** to the Studio canvas. 3. On the **Listener** configuration screen, optionally change the value of the **Display Name** field. 4. Specify a value for the **Path** field. 5. Click the plus sign (**+**) next to the **Connector configuration** field to configure a global element that can be used by all instances of the **HTTP > Listener** source in the app. 6. On the **General** tab, specify the connection information for the connector. 7. On the **TLS** tab, optionally specify the TLS information for the connector. 8. On the **Advanced** tab, optionally specify reconnection information, including a reconnection strategy. 9. Click **Test Connection** to confirm that Mule can connect with the specified server. 10. Click **OK**. ## Add a Connector Operation to the Flow When you add a connector operation to your flow, you are specifying an action for that connector to perform. To add an operation for MCP Connector, follow these steps: 1. In **Mule Palette**, select **MCP** and then select the desired operation. 2. Drag the operation onto the Studio canvas, next to the source. ## Configure a Global Element for the Connector When you configure a connector, configure a global element that all instances of that connector in the app can use. Configuring a global element requires you to provide the authentication credentials that the connector requires to access the target MCP system. You can reference a configuration file that contains ANT-style property placeholders (recommended), or you can enter your authorization credentials in the global configuration properties. For information about the benefits of using property placeholders and how to configure them, see [Anypoint Connector Configuration](https://docs.mulesoft.com/connectors/introduction/intro-connector-configuration-overview). To configure the global element for MCP Connector, follow these steps: 1. Select the operation in the Studio canvas. 2. On the properties screen for the operation, click the Add (**+**) icon to access the global element configuration fields. 3. In the **General** tab, in **Connection**, select the authentication method to configure. The MCP protocol’s security is mostly based on the OAuth Authorization Code flow. To keep it compatible with different systems and uses, the connector also supports other authentication methods, including: - [Basic Authentication](#basic-authentication) - [OAuth Authorization Code](#oauth-auth-code) - [OAuth Client Credentials](#oauth-client-credentials) - [Digest](#digest) - [NTLM](#ntlm) 4. On the **TLS** tab, optionally specify the TLS information for the connector. 5. On the **Advanced** tab, optionally specify reconnection information, including a reconnection strategy. 6. Click **Test Connection** to confirm that Mule can connect with the specified server. 7. Click **OK**. ### Basic Authentication Enter the authentication information in the **General** tab of the **Global Element Properties** screen to configure Basic authentication: 1. Select **Connection > Basic** and enter or set the values for these fields:
FieldUser Action

Name

Enter the configuration name.

Username

Username used to initialize the session.

Password

Password used to authenticate the user.

Preemptive

If set to true, the client sends its authentication credentials (username and password) with the initial HTTP request to the server, rather than waiting for the server to challenge (401 Unauthorized) the client.

### OAuth Authorization Code Used when the client is acting on behalf of an enduser (human). For instance, an agent calls an MCP tool implemented by a SaaS system. ### OAuth Client Credentials Used for machine-to-machine authentication. The client application authenticates itself directly with the authorization server using its client ID and client secret, and receives an access token. This is used when an application is accessing resources on its own behalf, not on behalf of a user. ### Digest An HTTP authentication scheme that uses a challenge-response mechanism to avoid sending passwords in plain text. It involves hashing the password and other information to verify the client’s identity. ### NTLM A Microsoft authentication protocol used primarily in Windows environments. It uses a challenge-response mechanism and is commonly used for network authentication. ## Configure Additional Connector Fields After you configure a global element for MCP Connector, configure the other required fields for the connector. The required fields vary depending on which connector operation you use. ## Debug the App Debug your Mule application using the embedded debugger in Studio. See [Logging and Debugging](https://docs.mulesoft.com/mule-runtime/latest/logging-and-debugging). ## View the Application Log To check for problems, you can view the app log as follows: - If you’re running the app from Anypoint Platform, the app log output is visible on the Anypoint Studio console window. - If you’re running the app using Mule from the command line, the app log output is visible in your operating system console. Unless the log file path is customized in the app’s log file (`log4j2.xml`), you can also view the app log in the default location `MULE_HOME/logs/.log`. You can configure the location of the log path in the app log file `log4j2.xml`. ## Apply MCP Policies MCP Connector has support for policies to enhance security, monitoring, and governance of your MCP server endpoints. You can apply policies to control access, add authentication, implement rate limiting, and provide additional security layers. Available MCP policies include: - **MCP Support Policy** Adds MCP support to an Omni Gateway MCP server instance. This policy is required for your MCP server instance to function properly. - **MCP Schema Validation Policy** Validates MCP requests to ensure they conform to the MCP specification - **MCP Attribute-Based Access Control Policy** Controls access to tools, resources, and prompts based on user information such as Tiers, IP, Headers, or Claims ### Best Practices for MCP Policies - Always apply authentication policies to production MCP servers. - Use logging policies to track MCP client activity. - Implement rate limiting to prevent abuse and ensure fair usage. - Configure different policies for development, staging, and production environments. - Periodically review and update policy configurations. For more information about available policies and their configuration, see [Inbound Policies Directory](https://docs.mulesoft.com/gateway/latest/policies-included-directory). ## Deploy the App These are available for deployment: - CloudHub 2.0 - Runtime Fabric - Hybrid - CloudHub (with limitations, such as you can’t apply policies) For more information about deploying apps, see [Deployment Options](https://docs.mulesoft.com/runtime-manager/deployment-strategies). ## Next Step - [Try the MCP Connector examples](https://docs.mulesoft.com/mcp-connector/1.0/mcp-connector-examples). - [Apply security to the MCP server](https://docs.mulesoft.com/mcp-connector/1.0/mcp-connector-config-topics). ## See Also - [Introduction to Anypoint Connectors](https://docs.mulesoft.com/connectors/introduction/introduction-to-anypoint-connectors) - [Using Studio to Configure a Connector](https://docs.mulesoft.com/connectors/introduction/intro-config-use-studio) - [MCP Connector Reference](https://docs.mulesoft.com/mcp-connector/1.0/mcp-connector-reference) - [Salesforce Help](https://help.salesforce.com) --- product: MCP Connector version: 1.1 --- # Using Anypoint Studio to Configure MCP Connector 1.1 > For the full documentation index, see: https://docs.mulesoft.com/llms.txt Anypoint Studio (Studio) editors help you design and update your Mule applications, properties, and configuration files. To add and configure a connector in Studio: 1. [Create a Mule project](#create-mule-project). 2. [Add the connector to your Mule project](#add-connector-to-project). 3. [Configure a source for the connector’s flow](#configure-source). 4. [Add a connector operation to the flow](#add-connector-operation). 5. [Configure a global element for the connector](#configure-global-element). 6. [Configure the other connector fields](#configure-other-fields). 7. [Debug the app](#debug). 8. [View the App Log](#view-app-log). 9. [Apply MCP policies](#apply-mcp-policies). 10. [Deploy the app](#deploy-the-app). If you are new to configuring connectors in Studio, see [Using Anypoint Studio to Configure a Connector](https://docs.mulesoft.com/connectors/introduction/intro-config-use-studio). If, after reading this topic, you need additional information about the connector fields, see the [MCP Connector Reference](https://docs.mulesoft.com/mcp-connector/1.1/mcp-connector-reference). ## Create a Mule Project In Studio, create a new Mule project in which to add and configure Anypoint Connector for MCP (MCP Connector): 1. In Studio, select **File > New > Mule Project**. 2. Enter a name for your Mule project and click **Finish**. ## Add the Connector to Your Mule Project Add MCP Connector to your Mule project to automatically populate the XML code with the connector’s namespace and schema location and add the required dependencies to the project’s `pom.xml` file: 1. In **Mule Palette**, click **(X) Search in Exchange**. 2. In **Add Dependencies to Project**, type `mcp` in the search field. 3. Click **MCP Connector** in **Available modules**. 4. Click **Add**. 5. Click **Finish**. Adding a connector to a Mule project in Studio does not make that connector available to other projects in your Studio workspace. ## Configure a Source A source initiates a flow when a specified condition is met. You can configure one of these sources to use with MCP Connector: - [On New Session Listener](https://docs.mulesoft.com/mcp-connector/1.1/mcp-connector-reference#OnNewSessionListener) - [Resource Listener](https://docs.mulesoft.com/mcp-connector/1.1/mcp-connector-reference#ResourceListener) - [Tool Listener](https://docs.mulesoft.com/mcp-connector/1.1/mcp-connector-reference#ToolListener) - **HTTP > Listener** Initiates a flow each time it receives a request on the configured host and port - **Scheduler** Initiates a flow when a time-based condition is met For example, to configure an **HTTP > Listener** source, follow these steps: 1. In **Mule Palette**, select **HTTP > Listener**. 2. Drag **Listener** to the Studio canvas. 3. On the **Listener** configuration screen, optionally change the value of the **Display Name** field. 4. Specify a value for the **Path** field. 5. Click the plus sign (**+**) next to the **Connector configuration** field to configure a global element that can be used by all instances of the **HTTP > Listener** source in the app. 6. On the **General** tab, specify the connection information for the connector. 7. On the **TLS** tab, optionally specify the TLS information for the connector. 8. On the **Advanced** tab, optionally specify reconnection information, including a reconnection strategy. 9. Click **Test Connection** to confirm that Mule can connect with the specified server. 10. Click **OK**. ## Add a Connector Operation to the Flow When you add a connector operation to your flow, you are specifying an action for that connector to perform. To add an operation for MCP Connector, follow these steps: 1. In **Mule Palette**, select **MCP** and then select the desired operation. 2. Drag the operation onto the Studio canvas, next to the source. ## Configure a Global Element for the Connector When you configure a connector, configure a global element that all instances of that connector in the app can use. Configuring a global element requires you to provide the authentication credentials that the connector requires to access the target MCP system. You can reference a configuration file that contains ANT-style property placeholders (recommended), or you can enter your authorization credentials in the global configuration properties. For information about the benefits of using property placeholders and how to configure them, see [Anypoint Connector Configuration](https://docs.mulesoft.com/connectors/introduction/intro-connector-configuration-overview). To configure the global element for MCP Connector, follow these steps: 1. Select the operation in the Studio canvas. 2. On the properties screen for the operation, click the Add (**+**) icon to access the global element configuration fields. 3. In the **General** tab, in **Connection**, select the authentication method to configure. The MCP protocol’s security is mostly based on the OAuth Authorization Code flow. To keep it compatible with different systems and uses, the connector also supports other authentication methods, including: - [Basic Authentication](#basic-authentication) - [OAuth Authorization Code](#oauth-auth-code) - [OAuth Client Credentials](#oauth-client-credentials) - [Digest](#digest) - [NTLM](#ntlm) 4. On the **TLS** tab, optionally specify the TLS information for the connector. 5. On the **Advanced** tab, optionally specify reconnection information, including a reconnection strategy. 6. Click **Test Connection** to confirm that Mule can connect with the specified server. 7. Click **OK**. ### Basic Authentication Enter the authentication information in the **General** tab of the **Global Element Properties** screen to configure Basic authentication: 1. Select **Connection > Basic** and enter or set the values for these fields:
FieldUser Action

Name

Enter the configuration name.

Username

Username used to initialize the session.

Password

Password used to authenticate the user.

Preemptive

If set to true, the client sends its authentication credentials (username and password) with the initial HTTP request to the server, rather than waiting for the server to challenge (401 Unauthorized) the client.

### OAuth Authorization Code Used when the client is acting on behalf of an enduser (human). For instance, an agent calls an MCP tool implemented by a SaaS system. ### OAuth Client Credentials Used for machine-to-machine authentication. The client application authenticates itself directly with the authorization server using its client ID and client secret, and receives an access token. This is used when an application is accessing resources on its own behalf, not on behalf of a user. ### Digest An HTTP authentication scheme that uses a challenge-response mechanism to avoid sending passwords in plain text. It involves hashing the password and other information to verify the client’s identity. ### NTLM A Microsoft authentication protocol used primarily in Windows environments. It uses a challenge-response mechanism and is commonly used for network authentication. ## Configure Additional Connector Fields After you configure a global element for MCP Connector, configure the other required fields for the connector. The required fields vary depending on which connector operation you use. ## Debug the App Debug your Mule application using the embedded debugger in Studio. See [Logging and Debugging](https://docs.mulesoft.com/mule-runtime/latest/logging-and-debugging). ## View the Application Log To check for problems, you can view the app log as follows: - If you’re running the app from Anypoint Platform, the app log output is visible on the Anypoint Studio console window. - If you’re running the app using Mule from the command line, the app log output is visible in your operating system console. Unless the log file path is customized in the app’s log file (`log4j2.xml`), you can also view the app log in the default location `MULE_HOME/logs/.log`. You can configure the location of the log path in the app log file `log4j2.xml`. ## Apply MCP Policies MCP Connector has support for policies to enhance security, monitoring, and governance of your MCP server endpoints. You can apply policies to control access, add authentication, implement rate limiting, and provide additional security layers. Available MCP policies include: - **MCP Support Policy** Adds MCP support to an Omni Gateway MCP server instance. This policy is required for your MCP server instance to function properly. - **MCP Schema Validation Policy** Validates MCP requests to ensure they conform to the MCP specification - **MCP Attribute-Based Access Control Policy** Controls access to tools, resources, and prompts based on user information such as Tiers, IP, Headers, or Claims ### Best Practices for MCP Policies - Always apply authentication policies to production MCP servers. - Use logging policies to track MCP client activity. - Implement rate limiting to prevent abuse and ensure fair usage. - Configure different policies for development, staging, and production environments. - Periodically review and update policy configurations. For more information about available policies and their configuration, see [Inbound Policies Directory](https://docs.mulesoft.com/gateway/latest/policies-included-directory). ## Deploy the App These are available for deployment: - CloudHub 2.0 - Runtime Fabric - Hybrid - CloudHub (with limitations, such as you can’t apply policies) For more information about deploying apps, see [Deployment Options](https://docs.mulesoft.com/runtime-manager/deployment-strategies). ## Next Step - [Try the MCP Connector examples](https://docs.mulesoft.com/mcp-connector/1.1/mcp-connector-examples). - [Apply security to the MCP server](https://docs.mulesoft.com/mcp-connector/1.1/mcp-connector-config-topics). ## See Also - [Introduction to Anypoint Connectors](https://docs.mulesoft.com/connectors/introduction/introduction-to-anypoint-connectors) - [Using Studio to Configure a Connector](https://docs.mulesoft.com/connectors/introduction/intro-config-use-studio) - [MCP Connector Reference](https://docs.mulesoft.com/mcp-connector/1.1/mcp-connector-reference) - [Salesforce Help](https://help.salesforce.com) --- product: MCP Connector version: 1.2 --- # Using Anypoint Studio to Configure MCP Connector 1.2 > For the full documentation index, see: https://docs.mulesoft.com/llms.txt Anypoint Studio (Studio) editors help you design and update your Mule applications, properties, and configuration files. To add and configure a connector in Studio: 1. [Create a Mule project](#create-mule-project). 2. [Add the connector to your Mule project](#add-connector-to-project). 3. [Configure a source for the connector’s flow](#configure-source). 4. [Add a connector operation to the flow](#add-connector-operation). 5. [Configure a global element for the connector](#configure-global-element). 6. [Configure the other connector fields](#configure-other-fields). 7. [Debug the app](#debug). 8. [View the App Log](#view-app-log). 9. [Apply MCP policies](#apply-mcp-policies). 10. [Deploy the app](#deploy-the-app). If you are new to configuring connectors in Studio, see [Using Anypoint Studio to Configure a Connector](https://docs.mulesoft.com/connectors/introduction/intro-config-use-studio). If, after reading this topic, you need additional information about the connector fields, see the [MCP Connector Reference](https://docs.mulesoft.com/mcp-connector/1.2/mcp-connector-reference). ## Create a Mule Project In Studio, create a new Mule project in which to add and configure Anypoint Connector for MCP (MCP Connector): 1. In Studio, select **File > New > Mule Project**. 2. Enter a name for your Mule project and click **Finish**. ## Add the Connector to Your Mule Project Add MCP Connector to your Mule project to automatically populate the XML code with the connector’s namespace and schema location and add the required dependencies to the project’s `pom.xml` file: 1. In **Mule Palette**, click **(X) Search in Exchange**. 2. In **Add Dependencies to Project**, type `mcp` in the search field. 3. Click **MCP Connector** in **Available modules**. 4. Click **Add**. 5. Click **Finish**. Adding a connector to a Mule project in Studio does not make that connector available to other projects in your Studio workspace. ## Configure a Source A source initiates a flow when a specified condition is met. You can configure one of these sources to use with MCP Connector: - [On New Session Listener](https://docs.mulesoft.com/mcp-connector/1.2/mcp-connector-reference#OnNewSessionListener) - [Resource Listener](https://docs.mulesoft.com/mcp-connector/1.2/mcp-connector-reference#ResourceListener) - [Tool Listener](https://docs.mulesoft.com/mcp-connector/1.2/mcp-connector-reference#ToolListener) - **HTTP > Listener** Initiates a flow each time it receives a request on the configured host and port - **Scheduler** Initiates a flow when a time-based condition is met For example, to configure an **HTTP > Listener** source, follow these steps: 1. In **Mule Palette**, select **HTTP > Listener**. 2. Drag **Listener** to the Studio canvas. 3. On the **Listener** configuration screen, optionally change the value of the **Display Name** field. 4. Specify a value for the **Path** field. 5. Click the plus sign (**+**) next to the **Connector configuration** field to configure a global element that can be used by all instances of the **HTTP > Listener** source in the app. 6. On the **General** tab, specify the connection information for the connector. 7. On the **TLS** tab, optionally specify the TLS information for the connector. 8. On the **Advanced** tab, optionally specify reconnection information, including a reconnection strategy. 9. Click **Test Connection** to confirm that Mule can connect with the specified server. 10. Click **OK**. ## Add a Connector Operation to the Flow When you add a connector operation to your flow, you are specifying an action for that connector to perform. To add an operation for MCP Connector, follow these steps: 1. In **Mule Palette**, select **MCP** and then select the desired operation. 2. Drag the operation onto the Studio canvas, next to the source. ## Configure a Global Element for the Connector When you configure a connector, configure a global element that all instances of that connector in the app can use. Configuring a global element requires you to provide the authentication credentials that the connector requires to access the target MCP system. You can reference a configuration file that contains ANT-style property placeholders (recommended), or you can enter your authorization credentials in the global configuration properties. For information about the benefits of using property placeholders and how to configure them, see [Anypoint Connector Configuration](https://docs.mulesoft.com/connectors/introduction/intro-connector-configuration-overview). To configure the global element for MCP Connector, follow these steps: 1. Select the operation in the Studio canvas. 2. On the properties screen for the operation, click the Add (**+**) icon to access the global element configuration fields. 3. In the **General** tab, in **Connection**, select the authentication method to configure. The MCP protocol’s security is mostly based on the OAuth Authorization Code flow. To keep it compatible with different systems and uses, the connector also supports other authentication methods, including: - [Basic Authentication](#basic-authentication) - [OAuth Authorization Code](#oauth-auth-code) - [OAuth Client Credentials](#oauth-client-credentials) - [Digest](#digest) - [NTLM](#ntlm) 4. On the **TLS** tab, optionally specify the TLS information for the connector. 5. On the **Advanced** tab, optionally specify reconnection information, including a reconnection strategy. 6. Click **Test Connection** to confirm that Mule can connect with the specified server. 7. Click **OK**. ### Basic Authentication Enter the authentication information in the **General** tab of the **Global Element Properties** screen to configure Basic authentication: 1. Select **Connection > Basic** and enter or set the values for these fields:
FieldUser Action

Name

Enter the configuration name.

Username

Username used to initialize the session.

Password

Password used to authenticate the user.

Preemptive

If set to true, the client sends its authentication credentials (username and password) with the initial HTTP request to the server, rather than waiting for the server to challenge (401 Unauthorized) the client.

### OAuth Authorization Code Used when the client is acting on behalf of an enduser (human). For instance, an agent calls an MCP tool implemented by a SaaS system. ### OAuth Client Credentials Used for machine-to-machine authentication. The client application authenticates itself directly with the authorization server using its client ID and client secret, and receives an access token. This is used when an application is accessing resources on its own behalf, not on behalf of a user. ### Digest An HTTP authentication scheme that uses a challenge-response mechanism to avoid sending passwords in plain text. It involves hashing the password and other information to verify the client’s identity. ### NTLM A Microsoft authentication protocol used primarily in Windows environments. It uses a challenge-response mechanism and is commonly used for network authentication. ## Configure Additional Connector Fields After you configure a global element for MCP Connector, configure the other required fields for the connector. The required fields vary depending on which connector operation you use. ## Debug the App Debug your Mule application using the embedded debugger in Studio. See [Logging and Debugging](https://docs.mulesoft.com/mule-runtime/latest/logging-and-debugging). ## View the Application Log To check for problems, you can view the app log as follows: - If you’re running the app from Anypoint Platform, the app log output is visible on the Anypoint Studio console window. - If you’re running the app using Mule from the command line, the app log output is visible in your operating system console. Unless the log file path is customized in the app’s log file (`log4j2.xml`), you can also view the app log in the default location `MULE_HOME/logs/.log`. You can configure the location of the log path in the app log file `log4j2.xml`. ## Apply MCP Policies MCP Connector has support for policies to enhance security, monitoring, and governance of your MCP server endpoints. You can apply policies to control access, add authentication, implement rate limiting, and provide additional security layers. Available MCP policies include: - **MCP Support Policy** Adds MCP support to an Omni Gateway MCP server instance. This policy is required for your MCP server instance to function properly. - **MCP Schema Validation Policy** Validates MCP requests to ensure they conform to the MCP specification - **MCP Attribute-Based Access Control Policy** Controls access to tools, resources, and prompts based on user information such as Tiers, IP, Headers, or Claims ### Best Practices for MCP Policies - Always apply authentication policies to production MCP servers. - Use logging policies to track MCP client activity. - Implement rate limiting to prevent abuse and ensure fair usage. - Configure different policies for development, staging, and production environments. - Periodically review and update policy configurations. For more information about available policies and their configuration, see [Inbound Policies Directory](https://docs.mulesoft.com/gateway/latest/policies-included-directory). ## Deploy the App These are available for deployment: - CloudHub 2.0 - Runtime Fabric - Hybrid - CloudHub (with limitations, such as you can’t apply policies) For more information about deploying apps, see [Deployment Options](https://docs.mulesoft.com/runtime-manager/deployment-strategies). ## Next Step - [Try the MCP Connector examples](https://docs.mulesoft.com/mcp-connector/1.2/mcp-connector-examples). - [Apply security to the MCP server](https://docs.mulesoft.com/mcp-connector/1.2/mcp-connector-config-topics). ## See Also - [Introduction to Anypoint Connectors](https://docs.mulesoft.com/connectors/introduction/introduction-to-anypoint-connectors) - [Using Studio to Configure a Connector](https://docs.mulesoft.com/connectors/introduction/intro-config-use-studio) - [MCP Connector Reference](https://docs.mulesoft.com/mcp-connector/1.2/mcp-connector-reference) - [Salesforce Help](https://help.salesforce.com) --- product: MCP Connector version: 1.3 --- # Using Anypoint Studio to Configure MCP Connector 1.3 > For the full documentation index, see: https://docs.mulesoft.com/llms.txt Anypoint Studio (Studio) editors help you design and update your Mule applications, properties, and configuration files. To add and configure a connector in Studio: 1. [Create a Mule project](#create-mule-project). 2. [Add the connector to your Mule project](#add-connector-to-project). 3. [Configure a source for the connector’s flow](#configure-source). 4. [Add a connector operation to the flow](#add-connector-operation). 5. [Configure a global element for the connector](#configure-global-element). 6. [Configure the other connector fields](#configure-other-fields). 7. [Debug the app](#debug). 8. [View the App Log](#view-app-log). 9. [Apply MCP policies](#apply-mcp-policies). 10. [Deploy the app](#deploy-the-app). If you are new to configuring connectors in Studio, see [Using Anypoint Studio to Configure a Connector](https://docs.mulesoft.com/connectors/introduction/intro-config-use-studio). If, after reading this topic, you need additional information about the connector fields, see the [MCP Connector Reference](https://docs.mulesoft.com/mcp-connector/1.3/mcp-connector-reference). ## Create a Mule Project In Studio, create a new Mule project in which to add and configure Anypoint Connector for MCP (MCP Connector): 1. In Studio, select **File > New > Mule Project**. 2. Enter a name for your Mule project and click **Finish**. ## Add the Connector to Your Mule Project Add MCP Connector to your Mule project to automatically populate the XML code with the connector’s namespace and schema location and add the required dependencies to the project’s `pom.xml` file: 1. In **Mule Palette**, click **(X) Search in Exchange**. 2. In **Add Dependencies to Project**, type `mcp` in the search field. 3. Click **MCP Connector** in **Available modules**. 4. Click **Add**. 5. Click **Finish**. Adding a connector to a Mule project in Studio does not make that connector available to other projects in your Studio workspace. ## Configure a Source A source initiates a flow when a specified condition is met. You can configure one of these sources to use with MCP Connector: - [On New Session Listener](https://docs.mulesoft.com/mcp-connector/1.3/mcp-connector-reference#OnNewSessionListener) - [Resource Listener](https://docs.mulesoft.com/mcp-connector/1.3/mcp-connector-reference#ResourceListener) - [Tool Listener](https://docs.mulesoft.com/mcp-connector/1.3/mcp-connector-reference#ToolListener) - **HTTP > Listener** Initiates a flow each time it receives a request on the configured host and port - **Scheduler** Initiates a flow when a time-based condition is met For example, to configure an **HTTP > Listener** source, follow these steps: 1. In **Mule Palette**, select **HTTP > Listener**. 2. Drag **Listener** to the Studio canvas. 3. On the **Listener** configuration screen, optionally change the value of the **Display Name** field. 4. Specify a value for the **Path** field. 5. Click the plus sign (**+**) next to the **Connector configuration** field to configure a global element that can be used by all instances of the **HTTP > Listener** source in the app. 6. On the **General** tab, specify the connection information for the connector. 7. On the **TLS** tab, optionally specify the TLS information for the connector. 8. On the **Advanced** tab, optionally specify reconnection information, including a reconnection strategy. 9. Click **Test Connection** to confirm that Mule can connect with the specified server. 10. Click **OK**. ## Add a Connector Operation to the Flow When you add a connector operation to your flow, you are specifying an action for that connector to perform. To add an operation for MCP Connector, follow these steps: 1. In **Mule Palette**, select **MCP** and then select the desired operation. 2. Drag the operation onto the Studio canvas, next to the source. ## Configure a Global Element for the Connector When you configure a connector, configure a global element that all instances of that connector in the app can use. Configuring a global element requires you to provide the authentication credentials that the connector requires to access the target MCP system. You can reference a configuration file that contains ANT-style property placeholders (recommended), or you can enter your authorization credentials in the global configuration properties. For information about the benefits of using property placeholders and how to configure them, see [Anypoint Connector Configuration](https://docs.mulesoft.com/connectors/introduction/intro-connector-configuration-overview). To configure the global element for MCP Connector, follow these steps: 1. Select the operation in the Studio canvas. 2. On the properties screen for the operation, click the Add (**+**) icon to access the global element configuration fields. 3. In the **General** tab, in **Connection**, select the authentication method to configure. The MCP protocol’s security is mostly based on the OAuth Authorization Code flow. To keep it compatible with different systems and uses, the connector also supports other authentication methods, including: - [Basic Authentication](#basic-authentication) - [OAuth Authorization Code](#oauth-auth-code) - [OAuth Client Credentials](#oauth-client-credentials) - [Digest](#digest) - [NTLM](#ntlm) 4. On the **TLS** tab, optionally specify the TLS information for the connector. 5. On the **Advanced** tab, optionally specify reconnection information, including a reconnection strategy. 6. Click **Test Connection** to confirm that Mule can connect with the specified server. 7. Click **OK**. ### Basic Authentication Enter the authentication information in the **General** tab of the **Global Element Properties** screen to configure Basic authentication: 1. Select **Connection > Basic** and enter or set the values for these fields:
FieldUser Action

Name

Enter the configuration name.

Username

Username used to initialize the session.

Password

Password used to authenticate the user.

Preemptive

If set to true, the client sends its authentication credentials (username and password) with the initial HTTP request to the server, rather than waiting for the server to challenge (401 Unauthorized) the client.

### OAuth Authorization Code Used when the client is acting on behalf of an enduser (human). For instance, an agent calls an MCP tool implemented by a SaaS system. ### OAuth Client Credentials Used for machine-to-machine authentication. The client application authenticates itself directly with the authorization server using its client ID and client secret, and receives an access token. This is used when an application is accessing resources on its own behalf, not on behalf of a user. ### Digest An HTTP authentication scheme that uses a challenge-response mechanism to avoid sending passwords in plain text. It involves hashing the password and other information to verify the client’s identity. ### NTLM A Microsoft authentication protocol used primarily in Windows environments. It uses a challenge-response mechanism and is commonly used for network authentication. ## Configure Additional Connector Fields After you configure a global element for MCP Connector, configure the other required fields for the connector. The required fields vary depending on which connector operation you use. ## Debug the App Debug your Mule application using the embedded debugger in Studio. See [Logging and Debugging](https://docs.mulesoft.com/mule-runtime/latest/logging-and-debugging). ## View the Application Log To check for problems, you can view the app log as follows: - If you’re running the app from Anypoint Platform, the app log output is visible on the Anypoint Studio console window. - If you’re running the app using Mule from the command line, the app log output is visible in your operating system console. Unless the log file path is customized in the app’s log file (`log4j2.xml`), you can also view the app log in the default location `MULE_HOME/logs/.log`. You can configure the location of the log path in the app log file `log4j2.xml`. ## Apply MCP Policies MCP Connector has support for policies to enhance security, monitoring, and governance of your MCP server endpoints. You can apply policies to control access, add authentication, implement rate limiting, and provide additional security layers. Available MCP policies include: - **MCP Support Policy** Adds MCP support to an Omni Gateway MCP server instance. This policy is required for your MCP server instance to function properly. - **MCP Schema Validation Policy** Validates MCP requests to ensure they conform to the MCP specification - **MCP Attribute-Based Access Control Policy** Controls access to tools, resources, and prompts based on user information such as Tiers, IP, Headers, or Claims ### Best Practices for MCP Policies - Always apply authentication policies to production MCP servers. - Use logging policies to track MCP client activity. - Implement rate limiting to prevent abuse and ensure fair usage. - Configure different policies for development, staging, and production environments. - Periodically review and update policy configurations. For more information about available policies and their configuration, see [Inbound Policies Directory](https://docs.mulesoft.com/gateway/latest/policies-included-directory). ## Deploy the App These are available for deployment: - CloudHub 2.0 - Runtime Fabric - Hybrid - CloudHub (with limitations, such as you can’t apply policies) For more information about deploying apps, see [Deployment Options](https://docs.mulesoft.com/runtime-manager/deployment-strategies). ## Next Step - [Try the MCP Connector examples](https://docs.mulesoft.com/mcp-connector/1.3/mcp-connector-examples). - [Apply security to the MCP server](https://docs.mulesoft.com/mcp-connector/1.3/mcp-connector-config-topics). ## See Also - [Introduction to Anypoint Connectors](https://docs.mulesoft.com/connectors/introduction/introduction-to-anypoint-connectors) - [Using Studio to Configure a Connector](https://docs.mulesoft.com/connectors/introduction/intro-config-use-studio) - [MCP Connector Reference](https://docs.mulesoft.com/mcp-connector/1.3/mcp-connector-reference) - [Salesforce Help](https://help.salesforce.com) --- product: MCP Connector version: 1.4 --- # Using Anypoint Studio to Configure MCP Connector 1.4 > For the full documentation index, see: https://docs.mulesoft.com/llms.txt Anypoint Studio (Studio) editors help you design and update your Mule applications, properties, and configuration files. To add and configure a connector in Studio: 1. [Create a Mule project](#create-mule-project). 2. [Add the connector to your Mule project](#add-connector-to-project). 3. [Configure a source for the connector’s flow](#configure-source). 4. [Add a connector operation to the flow](#add-connector-operation). 5. [Configure a global element for the connector](#configure-global-element). 6. [Configure the other connector fields](#configure-other-fields). 7. [Debug the app](#debug). 8. [View the App Log](#view-app-log). 9. [Apply MCP policies](#apply-mcp-policies). 10. [Deploy the app](#deploy-the-app). If you are new to configuring connectors in Studio, see [Using Anypoint Studio to Configure a Connector](https://docs.mulesoft.com/connectors/introduction/intro-config-use-studio). If, after reading this topic, you need additional information about the connector fields, see the [MCP Connector Reference](https://docs.mulesoft.com/mcp-connector/1.4/mcp-connector-reference). ## Create a Mule Project In Studio, create a new Mule project in which to add and configure Anypoint Connector for MCP (MCP Connector): 1. In Studio, select **File > New > Mule Project**. 2. Enter a name for your Mule project and click **Finish**. ## Add the Connector to Your Mule Project Add MCP Connector to your Mule project to automatically populate the XML code with the connector’s namespace and schema location and add the required dependencies to the project’s `pom.xml` file: 1. In **Mule Palette**, click **(X) Search in Exchange**. 2. In **Add Dependencies to Project**, type `mcp` in the search field. 3. Click **MCP Connector** in **Available modules**. 4. Click **Add**. 5. Click **Finish**. Adding a connector to a Mule project in Studio does not make that connector available to other projects in your Studio workspace. ## Configure a Source A source initiates a flow when a specified condition is met. You can configure one of these sources to use with MCP Connector: - [On New Session Listener](https://docs.mulesoft.com/mcp-connector/1.4/mcp-connector-reference#OnNewSessionListener) - [Resource Listener](https://docs.mulesoft.com/mcp-connector/1.4/mcp-connector-reference#ResourceListener) - [Tool Listener](https://docs.mulesoft.com/mcp-connector/1.4/mcp-connector-reference#ToolListener) - **HTTP > Listener** Initiates a flow each time it receives a request on the configured host and port - **Scheduler** Initiates a flow when a time-based condition is met For example, to configure an **HTTP > Listener** source, follow these steps: 1. In **Mule Palette**, select **HTTP > Listener**. 2. Drag **Listener** to the Studio canvas. 3. On the **Listener** configuration screen, optionally change the value of the **Display Name** field. 4. Specify a value for the **Path** field. 5. Click the plus sign (**+**) next to the **Connector configuration** field to configure a global element that can be used by all instances of the **HTTP > Listener** source in the app. 6. On the **General** tab, specify the connection information for the connector. 7. On the **TLS** tab, optionally specify the TLS information for the connector. 8. On the **Advanced** tab, optionally specify reconnection information, including a reconnection strategy. 9. Click **Test Connection** to confirm that Mule can connect with the specified server. 10. Click **OK**. ## Add a Connector Operation to the Flow When you add a connector operation to your flow, you are specifying an action for that connector to perform. To add an operation for MCP Connector, follow these steps: 1. In **Mule Palette**, select **MCP** and then select the desired operation. 2. Drag the operation onto the Studio canvas, next to the source. ## Configure a Global Element for the Connector When you configure a connector, configure a global element that all instances of that connector in the app can use. Configuring a global element requires you to provide the authentication credentials that the connector requires to access the target MCP system. You can reference a configuration file that contains ANT-style property placeholders (recommended), or you can enter your authorization credentials in the global configuration properties. For information about the benefits of using property placeholders and how to configure them, see [Anypoint Connector Configuration](https://docs.mulesoft.com/connectors/introduction/intro-connector-configuration-overview). To configure the global element for MCP Connector, follow these steps: 1. Select the operation in the Studio canvas. 2. On the properties screen for the operation, click the Add (**+**) icon to access the global element configuration fields. 3. In the **General** tab, in **Connection**, select the authentication method to configure. The MCP protocol’s security is mostly based on the OAuth Authorization Code flow. To keep it compatible with different systems and uses, the connector also supports other authentication methods, including: - [Basic Authentication](#basic-authentication) - [OAuth Authorization Code](#oauth-auth-code) - [OAuth Client Credentials](#oauth-client-credentials) - [Digest](#digest) - [NTLM](#ntlm) 4. On the **TLS** tab, optionally specify the TLS information for the connector. 5. On the **Advanced** tab, optionally specify reconnection information, including a reconnection strategy. 6. Click **Test Connection** to confirm that Mule can connect with the specified server. 7. Click **OK**. ### Basic Authentication Enter the authentication information in the **General** tab of the **Global Element Properties** screen to configure Basic authentication: 1. Select **Connection > Basic** and enter or set the values for these fields:
FieldUser Action

Name

Enter the configuration name.

Username

Username used to initialize the session.

Password

Password used to authenticate the user.

Preemptive

If set to true, the client sends its authentication credentials (username and password) with the initial HTTP request to the server, rather than waiting for the server to challenge (401 Unauthorized) the client.

### OAuth Authorization Code Used when the client is acting on behalf of an enduser (human). For instance, an agent calls an MCP tool implemented by a SaaS system. ### OAuth Client Credentials Used for machine-to-machine authentication. The client application authenticates itself directly with the authorization server using its client ID and client secret, and receives an access token. This is used when an application is accessing resources on its own behalf, not on behalf of a user. ### Digest An HTTP authentication scheme that uses a challenge-response mechanism to avoid sending passwords in plain text. It involves hashing the password and other information to verify the client’s identity. ### NTLM A Microsoft authentication protocol used primarily in Windows environments. It uses a challenge-response mechanism and is commonly used for network authentication. ## Configure Additional Connector Fields After you configure a global element for MCP Connector, configure the other required fields for the connector. The required fields vary depending on which connector operation you use. ## Debug the App Debug your Mule application using the embedded debugger in Studio. See [Logging and Debugging](https://docs.mulesoft.com/mule-runtime/latest/logging-and-debugging). ## View the Application Log To check for problems, you can view the app log as follows: - If you’re running the app from Anypoint Platform, the app log output is visible on the Anypoint Studio console window. - If you’re running the app using Mule from the command line, the app log output is visible in your operating system console. Unless the log file path is customized in the app’s log file (`log4j2.xml`), you can also view the app log in the default location `MULE_HOME/logs/.log`. You can configure the location of the log path in the app log file `log4j2.xml`. ## Apply MCP Policies MCP Connector has support for policies to enhance security, monitoring, and governance of your MCP server endpoints. You can apply policies to control access, add authentication, implement rate limiting, and provide additional security layers. Available MCP policies include: - **MCP Support Policy** Adds MCP support to an Omni Gateway MCP server instance. This policy is required for your MCP server instance to function properly. - **MCP Schema Validation Policy** Validates MCP requests to ensure they conform to the MCP specification - **MCP Attribute-Based Access Control Policy** Controls access to tools, resources, and prompts based on user information such as Tiers, IP, Headers, or Claims ### Best Practices for MCP Policies - Always apply authentication policies to production MCP servers. - Use logging policies to track MCP client activity. - Implement rate limiting to prevent abuse and ensure fair usage. - Configure different policies for development, staging, and production environments. - Periodically review and update policy configurations. For more information about available policies and their configuration, see [Inbound Policies Directory](https://docs.mulesoft.com/gateway/latest/policies-included-directory). ## Deploy the App These are available for deployment: - CloudHub 2.0 - Runtime Fabric - Hybrid - CloudHub (with limitations, such as you can’t apply policies) For more information about deploying apps, see [Deployment Options](https://docs.mulesoft.com/runtime-manager/deployment-strategies). ## Next Step - [Try the MCP Connector examples](https://docs.mulesoft.com/mcp-connector/1.4/mcp-connector-examples). - [Apply security to the MCP server](https://docs.mulesoft.com/mcp-connector/1.4/mcp-connector-config-topics). ## See Also - [Introduction to Anypoint Connectors](https://docs.mulesoft.com/connectors/introduction/introduction-to-anypoint-connectors) - [Using Studio to Configure a Connector](https://docs.mulesoft.com/connectors/introduction/intro-config-use-studio) - [MCP Connector Reference](https://docs.mulesoft.com/mcp-connector/1.4/mcp-connector-reference) - [Salesforce Help](https://help.salesforce.com) --- product: MCP Connector version: 1.5 --- # Using Anypoint Studio to Configure MCP Connector 1.5 > For the full documentation index, see: https://docs.mulesoft.com/llms.txt Anypoint Studio (Studio) editors help you design and update your Mule applications, properties, and configuration files. To add and configure a connector in Studio: 1. [Create a Mule project](#create-mule-project). 2. [Add the connector to your Mule project](#add-connector-to-project). 3. [Configure a source for the connector’s flow](#configure-source). 4. [Add a connector operation to the flow](#add-connector-operation). 5. [Configure a global element for the connector](#configure-global-element). 6. [Configure the other connector fields](#configure-other-fields). 7. [Debug the app](#debug). 8. [View the App Log](#view-app-log). 9. [Apply MCP policies](#apply-mcp-policies). 10. [Deploy the app](#deploy-the-app). If you are new to configuring connectors in Studio, see [Using Anypoint Studio to Configure a Connector](https://docs.mulesoft.com/connectors/introduction/intro-config-use-studio). If, after reading this topic, you need additional information about the connector fields, see the [MCP Connector Reference](https://docs.mulesoft.com/mcp-connector/1.5/mcp-connector-reference). ## Create a Mule Project In Studio, create a new Mule project in which to add and configure Anypoint Connector for MCP (MCP Connector): 1. In Studio, select **File > New > Mule Project**. 2. Enter a name for your Mule project and click **Finish**. ## Add the Connector to Your Mule Project Add MCP Connector to your Mule project to automatically populate the XML code with the connector’s namespace and schema location and add the required dependencies to the project’s `pom.xml` file: 1. In **Mule Palette**, click **(X) Search in Exchange**. 2. In **Add Dependencies to Project**, type `mcp` in the search field. 3. Click **MCP Connector** in **Available modules**. 4. Click **Add**. 5. Click **Finish**. Adding a connector to a Mule project in Studio does not make that connector available to other projects in your Studio workspace. ## Configure a Source A source initiates a flow when a specified condition is met. You can configure one of these sources to use with MCP Connector: - [On New Session Listener](https://docs.mulesoft.com/mcp-connector/1.5/mcp-connector-reference#OnNewSessionListener) - [Prompt Listener](https://docs.mulesoft.com/mcp-connector/1.5/mcp-connector-reference#PromptListener) - [Resource Listener](https://docs.mulesoft.com/mcp-connector/1.5/mcp-connector-reference#ResourceListener) - [Tool Listener](https://docs.mulesoft.com/mcp-connector/1.5/mcp-connector-reference#ToolListener) - **HTTP > Listener** Initiates a flow each time it receives a request on the configured host and port - **Scheduler** Initiates a flow when a time-based condition is met For example, to configure an **HTTP > Listener** source, follow these steps: 1. In **Mule Palette**, select **HTTP > Listener**. 2. Drag **Listener** to the Studio canvas. 3. On the **Listener** configuration screen, optionally change the value of the **Display Name** field. 4. Specify a value for the **Path** field. 5. Click the plus sign (**+**) next to the **Connector configuration** field to configure a global element that can be used by all instances of the **HTTP > Listener** source in the app. 6. On the **General** tab, specify the connection information for the connector. 7. On the **TLS** tab, optionally specify the TLS information for the connector. 8. On the **Advanced** tab, optionally specify reconnection information, including a reconnection strategy. 9. Click **Test Connection** to confirm that Mule can connect with the specified server. 10. Click **OK**. ## Add a Connector Operation to the Flow When you add a connector operation to your flow, you are specifying an action for that connector to perform. To add an operation for MCP Connector, follow these steps: 1. In **Mule Palette**, select **MCP** and then select the desired operation. 2. Drag the operation onto the Studio canvas, next to the source. ## Configure a Global Element for the Connector When you configure a connector, configure a global element that all instances of that connector in the app can use. Configuring a global element requires you to provide the authentication credentials that the connector requires to access the target MCP system. You can reference a configuration file that contains ANT-style property placeholders (recommended), or you can enter your authorization credentials in the global configuration properties. For information about the benefits of using property placeholders and how to configure them, see [Anypoint Connector Configuration](https://docs.mulesoft.com/connectors/introduction/intro-connector-configuration-overview). To configure the global element for MCP Connector, follow these steps: 1. Select the operation in the Studio canvas. 2. On the properties screen for the operation, click the Add (**+**) icon to access the global element configuration fields. 3. In the **General** tab, in **Connection**, select the authentication method to configure. The MCP protocol’s security is mostly based on the OAuth Authorization Code flow. To keep it compatible with different systems and uses, the connector also supports other authentication methods, including: - [Basic Authentication](#basic-authentication) - [OAuth Authorization Code](#oauth-auth-code) - [OAuth Client Credentials](#oauth-client-credentials) - [Digest](#digest) - [NTLM](#ntlm) 4. On the **TLS** tab, optionally specify the TLS information for the connector. 5. On the **Advanced** tab, optionally specify reconnection information, including a reconnection strategy. 6. Click **Test Connection** to confirm that Mule can connect with the specified server. 7. Click **OK**. ### Basic Authentication Enter the authentication information in the **General** tab of the **Global Element Properties** screen to configure Basic authentication: 1. Select **Connection > Basic** and enter or set the values for these fields:
FieldUser Action

Name

Enter the configuration name.

Username

Username used to initialize the session.

Password

Password used to authenticate the user.

Preemptive

If set to true, the client sends its authentication credentials (username and password) with the initial HTTP request to the server, rather than waiting for the server to challenge (401 Unauthorized) the client.

### OAuth Authorization Code Used when the client is acting on behalf of an enduser (human). For instance, an agent calls an MCP tool implemented by a SaaS system. ### OAuth Client Credentials Used for machine-to-machine authentication. The client application authenticates itself directly with the authorization server using its client ID and client secret, and receives an access token. This is used when an application is accessing resources on its own behalf, not on behalf of a user. ### Digest An HTTP authentication scheme that uses a challenge-response mechanism to avoid sending passwords in plain text. It involves hashing the password and other information to verify the client’s identity. ### NTLM A Microsoft authentication protocol used primarily in Windows environments. It uses a challenge-response mechanism and is commonly used for network authentication. ## Configure Additional Connector Fields After you configure a global element for MCP Connector, configure the other required fields for the connector. The required fields vary depending on which connector operation you use. ## Debug the App Debug your Mule application using the embedded debugger in Studio. See [Logging and Debugging](https://docs.mulesoft.com/mule-runtime/latest/logging-and-debugging). ## View the Application Log To check for problems, you can view the app log as follows: - If you’re running the app from Anypoint Platform, the app log output is visible on the Anypoint Studio console window. - If you’re running the app using Mule from the command line, the app log output is visible in your operating system console. Unless the log file path is customized in the app’s log file (`log4j2.xml`), you can also view the app log in the default location `MULE_HOME/logs/.log`. You can configure the location of the log path in the app log file `log4j2.xml`. ## Apply MCP Policies MCP Connector has support for policies to enhance security, monitoring, and governance of your MCP server endpoints. You can apply policies to control access, add authentication, implement rate limiting, and provide additional security layers. Available MCP policies include: - **MCP Support Policy** Adds MCP support to an Omni Gateway MCP server instance. This policy is required for your MCP server instance to function properly. - **MCP Schema Validation Policy** Validates MCP requests to ensure they conform to the MCP specification - **MCP Attribute-Based Access Control Policy** Controls access to tools, resources, and prompts based on user information such as Tiers, IP, Headers, or Claims ### Best Practices for MCP Policies - Always apply authentication policies to production MCP servers. - Use logging policies to track MCP client activity. - Implement rate limiting to prevent abuse and ensure fair usage. - Configure different policies for development, staging, and production environments. - Periodically review and update policy configurations. For more information about available policies and their configuration, see [Inbound Policies Directory](https://docs.mulesoft.com/gateway/latest/policies-included-directory). ## Deploy the App These are available for deployment: - CloudHub 2.0 - Runtime Fabric - Hybrid - CloudHub (with limitations, such as you can’t apply policies) For more information about deploying apps, see [Deployment Options](https://docs.mulesoft.com/runtime-manager/deployment-strategies). ## Next Step - [Try the MCP Connector examples](https://docs.mulesoft.com/mcp-connector/1.5/mcp-connector-examples). - [Apply security to the MCP server](https://docs.mulesoft.com/mcp-connector/1.5/mcp-connector-config-topics). ## See Also - [Introduction to Anypoint Connectors](https://docs.mulesoft.com/connectors/introduction/introduction-to-anypoint-connectors) - [Using Studio to Configure a Connector](https://docs.mulesoft.com/connectors/introduction/intro-config-use-studio) - [MCP Connector Reference](https://docs.mulesoft.com/mcp-connector/1.5/mcp-connector-reference) - [Salesforce Help](https://help.salesforce.com) --- product: MCP Connector version: 1.6 --- # Using Anypoint Studio to Configure MCP Connector 1.6 > For the full documentation index, see: https://docs.mulesoft.com/llms.txt Anypoint Studio (Studio) editors help you design and update your Mule applications, properties, and configuration files. To add and configure a connector in Studio: 1. [Create a Mule project](#create-mule-project). 2. [Add the connector to your Mule project](#add-connector-to-project). 3. [Configure a source for the connector’s flow](#configure-source). 4. [Add a connector operation to the flow](#add-connector-operation). 5. [Configure a global element for the connector](#configure-global-element). 6. [Configure the other connector fields](#configure-other-fields). 7. [Debug the app](#debug). 8. [View the App Log](#view-app-log). 9. [Apply MCP policies](#apply-mcp-policies). 10. [Deploy the app](#deploy-the-app). If you are new to configuring connectors in Studio, see [Using Anypoint Studio to Configure a Connector](https://docs.mulesoft.com/connectors/introduction/intro-config-use-studio). If, after reading this topic, you need additional information about the connector fields, see the [MCP Connector Reference](https://docs.mulesoft.com/mcp-connector/1.6/mcp-connector-reference). ## Create a Mule Project In Studio, create a new Mule project in which to add and configure Anypoint Connector for MCP (MCP Connector): 1. In Studio, select **File > New > Mule Project**. 2. Enter a name for your Mule project and click **Finish**. ## Add the Connector to Your Mule Project Add MCP Connector to your Mule project to automatically populate the XML code with the connector’s namespace and schema location and add the required dependencies to the project’s `pom.xml` file: 1. In **Mule Palette**, click **(X) Search in Exchange**. 2. In **Add Dependencies to Project**, type `mcp` in the search field. 3. Click **MCP Connector** in **Available modules**. 4. Click **Add**. 5. Click **Finish**. Adding a connector to a Mule project in Studio does not make that connector available to other projects in your Studio workspace. ## Configure a Source A source initiates a flow when a specified condition is met. You can configure one of these sources to use with MCP Connector: - [Elicitation Listener](https://docs.mulesoft.com/mcp-connector/1.6/mcp-connector-reference#ElicitationListener) - [On New Session Listener](https://docs.mulesoft.com/mcp-connector/1.6/mcp-connector-reference#OnNewSessionListener) - [Prompt Listener](https://docs.mulesoft.com/mcp-connector/1.6/mcp-connector-reference#PromptListener) - [Resource Listener](https://docs.mulesoft.com/mcp-connector/1.6/mcp-connector-reference#ResourceListener) - [Tool Listener](https://docs.mulesoft.com/mcp-connector/1.6/mcp-connector-reference#ToolListener) - **HTTP > Listener** Initiates a flow each time it receives a request on the configured host and port - **Scheduler** Initiates a flow when a time-based condition is met For example, to configure an **HTTP > Listener** source, follow these steps: 1. In **Mule Palette**, select **HTTP > Listener**. 2. Drag **Listener** to the Studio canvas. 3. On the **Listener** configuration screen, optionally change the value of the **Display Name** field. 4. Specify a value for the **Path** field. 5. Click the plus sign (**+**) next to the **Connector configuration** field to configure a global element that can be used by all instances of the **HTTP > Listener** source in the app. 6. On the **General** tab, specify the connection information for the connector. 7. On the **TLS** tab, optionally specify the TLS information for the connector. 8. On the **Advanced** tab, optionally specify reconnection information, including a reconnection strategy. 9. Click **Test Connection** to confirm that Mule can connect with the specified server. 10. Click **OK**. ## Add a Connector Operation to the Flow When you add a connector operation to your flow, you are specifying an action for that connector to perform. To add an operation for MCP Connector, follow these steps: 1. In **Mule Palette**, select **MCP** and then select the desired operation. 2. Drag the operation onto the Studio canvas, next to the source. ## Configure a Global Element for the Connector When you configure a connector, configure a global element that all instances of that connector in the app can use. Configuring a global element requires you to provide the authentication credentials that the connector requires to access the target MCP system. You can reference a configuration file that contains ANT-style property placeholders (recommended), or you can enter your authorization credentials in the global configuration properties. For information about the benefits of using property placeholders and how to configure them, see [Anypoint Connector Configuration](https://docs.mulesoft.com/connectors/introduction/intro-connector-configuration-overview). To configure the global element for MCP Connector, follow these steps: 1. Select the operation in the Studio canvas. 2. On the properties screen for the operation, click the Add (**+**) icon to access the global element configuration fields. 3. In the **General** tab, in **Connection**, select the authentication method to configure. The MCP protocol’s security is mostly based on the OAuth Authorization Code flow. To keep it compatible with different systems and uses, the connector also supports other authentication methods, including: - [Basic Authentication](#basic-authentication) - [OAuth Authorization Code](#oauth-auth-code) - [OAuth Client Credentials](#oauth-client-credentials) - [Digest](#digest) - [NTLM](#ntlm) 4. On the **TLS** tab, optionally specify the TLS information for the connector. 5. On the **Advanced** tab, optionally specify reconnection information, including a reconnection strategy. 6. Click **Test Connection** to confirm that Mule can connect with the specified server. 7. Click **OK**. ### Basic Authentication Enter the authentication information in the **General** tab of the **Global Element Properties** screen to configure Basic authentication: 1. Select **Connection > Basic** and enter or set the values for these fields:
FieldUser Action

Name

Enter the configuration name.

Username

Username used to initialize the session.

Password

Password used to authenticate the user.

Preemptive

If set to true, the client sends its authentication credentials (username and password) with the initial HTTP request to the server, rather than waiting for the server to challenge (401 Unauthorized) the client.

### OAuth Authorization Code Used when the client is acting on behalf of an end user (human). For instance, an agent calls an MCP tool implemented by a SaaS system. ### OAuth Client Credentials Used for machine-to-machine authentication. The client application authenticates itself directly with the authorization server using its client ID and client secret, and receives an access token. This is used when an application is accessing resources on its own behalf, not on behalf of a user. ### Digest An HTTP authentication scheme that uses a challenge-response mechanism to avoid sending passwords in plain text. It involves hashing the password and other information to verify the client’s identity. ### NTLM A Microsoft authentication protocol used primarily in Windows environments. It uses a challenge-response mechanism and is commonly used for network authentication. ## Configure Additional Connector Fields After you configure a global element for MCP Connector, configure the other required fields for the connector. The required fields vary depending on which connector operation you use. > [!WARNING] SSE server transport is supported only for single-replica deployments. For > multi-replica deployments, use Streamable HTTP server transport. For multi-replica Streamable HTTP deployments, configure a distributed object store in **Session Handling** and set: - **Elicitations Object Store** - **Elicitation Polling Seconds** Use a shared distributed object store so elicitation responses that land on a different replica can be correlated and routed correctly. ## Debug the App Debug your Mule application using the embedded debugger in Studio. See [Logging and Debugging](https://docs.mulesoft.com/mule-runtime/latest/logging-and-debugging). ## View the Application Log To check for problems, you can view the app log as follows: - If you’re running the app from Anypoint Platform, the app log output is visible on the Anypoint Studio console window. - If you’re running the app using Mule from the command line, the app log output is visible in your operating system console. Unless the log file path is customized in the app’s log file (`log4j2.xml`), you can also view the app log in the default location `MULE_HOME/logs/.log`. You can configure the location of the log path in the app log file `log4j2.xml`. ## Apply MCP Policies MCP Connector has support for policies to enhance security, monitoring, and governance of your MCP server endpoints. You can apply policies to control access, add authentication, implement rate limiting, and provide additional security layers. Available MCP policies include: - **MCP Support Policy** Adds MCP support to an Omni Gateway MCP server instance. This policy is required for your MCP server instance to function properly. - **MCP Schema Validation Policy** Validates MCP requests to ensure they conform to the MCP specification - **MCP Attribute-Based Access Control Policy** Controls access to tools, resources, and prompts based on user information such as Tiers, IP, Headers, or Claims ### Best Practices for MCP Policies - Always apply authentication policies to production MCP servers. - Use logging policies to track MCP client activity. - Implement rate limiting to prevent abuse and ensure fair usage. - Configure different policies for development, staging, and production environments. - Periodically review and update policy configurations. For more information about available policies and their configuration, see [Inbound Policies Directory](https://docs.mulesoft.com/gateway/latest/policies-included-directory). ## Deploy the App These are available for deployment: - CloudHub 2.0 - Runtime Fabric - Hybrid - CloudHub (with limitations, such as you can’t apply policies) For more information about deploying apps, see [Deployment Options](https://docs.mulesoft.com/runtime-manager/deployment-strategies). ## Next Step - [Try the MCP Connector examples](https://docs.mulesoft.com/mcp-connector/1.6/mcp-connector-examples). - [Apply security to the MCP server](https://docs.mulesoft.com/mcp-connector/1.6/mcp-connector-config-topics). ## See Also - [Introduction to Anypoint Connectors](https://docs.mulesoft.com/connectors/introduction/introduction-to-anypoint-connectors) - [Using Studio to Configure a Connector](https://docs.mulesoft.com/connectors/introduction/intro-config-use-studio) - [MCP Connector Reference](https://docs.mulesoft.com/mcp-connector/1.6/mcp-connector-reference) - [Salesforce Help](https://help.salesforce.com) --- product: MCP Connector version: 1.7 is-latest-version: true --- # Using Anypoint Studio to Configure MCP Connector 1.7 > For the full documentation index, see: https://docs.mulesoft.com/llms.txt Anypoint Studio (Studio) editors help you design and update your Mule applications, properties, and configuration files. To add and configure a connector in Studio: 1. [Create a Mule project](#create-mule-project). 2. [Add the connector to your Mule project](#add-connector-to-project). 3. [Configure a source for the connector’s flow](#configure-source). 4. [Add a connector operation to the flow](#add-connector-operation). 5. [Configure a global element for the connector](#configure-global-element). 6. [Configure the other connector fields](#configure-other-fields). 7. [Debug the app](#debug). 8. [View the App Log](#view-app-log). 9. [Apply MCP policies](#apply-mcp-policies). 10. [Deploy the app](#deploy-the-app). If you are new to configuring connectors in Studio, see [Using Anypoint Studio to Configure a Connector](https://docs.mulesoft.com/connectors/introduction/intro-config-use-studio). If, after reading this topic, you need additional information about the connector fields, see the [MCP Connector Reference](https://docs.mulesoft.com/mcp-connector/latest/mcp-connector-reference). ## Create a Mule Project In Studio, create a new Mule project in which to add and configure Anypoint Connector for MCP (MCP Connector): 1. In Studio, select **File > New > Mule Project**. 2. Enter a name for your Mule project and click **Finish**. ## Add the Connector to Your Mule Project Add MCP Connector to your Mule project to automatically populate the XML code with the connector’s namespace and schema location and add the required dependencies to the project’s `pom.xml` file: 1. In **Mule Palette**, click **(X) Search in Exchange**. 2. In **Add Dependencies to Project**, type `mcp` in the search field. 3. Click **MCP Connector** in **Available modules**. 4. Click **Add**. 5. Click **Finish**. Adding a connector to a Mule project in Studio does not make that connector available to other projects in your Studio workspace. ## Configure a Source A source initiates a flow when a specified condition is met. You can configure one of these sources to use with MCP Connector: - [Elicitation Listener](https://docs.mulesoft.com/mcp-connector/latest/mcp-connector-reference#ElicitationListener) - [On New Session Listener](https://docs.mulesoft.com/mcp-connector/latest/mcp-connector-reference#OnNewSessionListener) - [Prompt Listener](https://docs.mulesoft.com/mcp-connector/latest/mcp-connector-reference#PromptListener) - [Resource Listener](https://docs.mulesoft.com/mcp-connector/latest/mcp-connector-reference#ResourceListener) - [Tool Listener](https://docs.mulesoft.com/mcp-connector/latest/mcp-connector-reference#ToolListener) - **HTTP > Listener** Initiates a flow each time it receives a request on the configured host and port - **Scheduler** Initiates a flow when a time-based condition is met For example, to configure an **HTTP > Listener** source, follow these steps: 1. In **Mule Palette**, select **HTTP > Listener**. 2. Drag **Listener** to the Studio canvas. 3. On the **Listener** configuration screen, optionally change the value of the **Display Name** field. 4. Specify a value for the **Path** field. 5. Click the plus sign (**+**) next to the **Connector configuration** field to configure a global element that can be used by all instances of the **HTTP > Listener** source in the app. 6. On the **General** tab, specify the connection information for the connector. 7. On the **TLS** tab, optionally specify the TLS information for the connector. 8. On the **Advanced** tab, optionally specify reconnection information, including a reconnection strategy. 9. Click **Test Connection** to confirm that Mule can connect with the specified server. 10. Click **OK**. ## Add a Connector Operation to the Flow When you add a connector operation to your flow, you are specifying an action for that connector to perform. To add an operation for MCP Connector, follow these steps: 1. In **Mule Palette**, select **MCP** and then select the desired operation. 2. Drag the operation onto the Studio canvas, next to the source. ## Configure a Global Element for the Connector When you configure a connector, configure a global element that all instances of that connector in the app can use. Configuring a global element requires you to provide the authentication credentials that the connector requires to access the target MCP system. You can reference a configuration file that contains ANT-style property placeholders (recommended), or you can enter your authorization credentials in the global configuration properties. For information about the benefits of using property placeholders and how to configure them, see [Anypoint Connector Configuration](https://docs.mulesoft.com/connectors/introduction/intro-connector-configuration-overview). To configure the global element for MCP Connector, follow these steps: 1. Select the operation in the Studio canvas. 2. On the properties screen for the operation, click the Add (**+**) icon to access the global element configuration fields. 3. In the **General** tab, in **Connection**, select the authentication method to configure. The MCP protocol’s security is mostly based on the OAuth Authorization Code flow. To keep it compatible with different systems and uses, the connector also supports other authentication methods, including: - [Basic Authentication](#basic-authentication) - [OAuth Authorization Code](#oauth-auth-code) - [OAuth Client Credentials](#oauth-client-credentials) - [Digest](#digest) - [NTLM](#ntlm) 4. On the **TLS** tab, optionally specify the TLS information for the connector. 5. On the **Advanced** tab, optionally specify reconnection information, including a reconnection strategy. 6. Click **Test Connection** to confirm that Mule can connect with the specified server. 7. Click **OK**. ### Basic Authentication Enter the authentication information in the **General** tab of the **Global Element Properties** screen to configure Basic authentication: 1. Select **Connection > Basic** and enter or set the values for these fields:
FieldUser Action

Name

Enter the configuration name.

Username

Username used to initialize the session.

Password

Password used to authenticate the user.

Preemptive

If set to true, the client sends its authentication credentials (username and password) with the initial HTTP request to the server, rather than waiting for the server to challenge (401 Unauthorized) the client.

### OAuth Authorization Code Used when the client is acting on behalf of an end user (human). For instance, an agent calls an MCP tool implemented by a SaaS system. ### OAuth Client Credentials Used for machine-to-machine authentication. The client application authenticates itself directly with the authorization server using its client ID and client secret, and receives an access token. This is used when an application is accessing resources on its own behalf, not on behalf of a user. ### Digest An HTTP authentication scheme that uses a challenge-response mechanism to avoid sending passwords in plain text. It involves hashing the password and other information to verify the client’s identity. ### NTLM A Microsoft authentication protocol used primarily in Windows environments. It uses a challenge-response mechanism and is commonly used for network authentication. ## Configure Additional Connector Fields After you configure a global element for MCP Connector, configure the other required fields for the connector. The required fields vary depending on which connector operation you use. > [!WARNING] SSE server transport is supported only for single-replica deployments. For > multi-replica deployments, use Streamable HTTP server transport. For multi-replica Streamable HTTP deployments, configure a distributed object store in **Session Handling** and set: - **Elicitations Object Store** - **Elicitation Polling Seconds** Use a shared distributed object store so elicitation responses that land on a different replica can be correlated and routed correctly. ## Debug the App Debug your Mule application using the embedded debugger in Studio. See [Logging and Debugging](https://docs.mulesoft.com/mule-runtime/latest/logging-and-debugging). ## View the Application Log To check for problems, you can view the app log as follows: - If you’re running the app from Anypoint Platform, the app log output is visible on the Anypoint Studio console window. - If you’re running the app using Mule from the command line, the app log output is visible in your operating system console. Unless the log file path is customized in the app’s log file (`log4j2.xml`), you can also view the app log in the default location `MULE_HOME/logs/.log`. You can configure the location of the log path in the app log file `log4j2.xml`. ## Apply MCP Policies MCP Connector has support for policies to enhance security, monitoring, and governance of your MCP server endpoints. You can apply policies to control access, add authentication, implement rate limiting, and provide additional security layers. Available MCP policies include: - **MCP Support Policy** Adds MCP support to an Omni Gateway MCP server instance. This policy is required for your MCP server instance to function properly. - **MCP Schema Validation Policy** Validates MCP requests to ensure they conform to the MCP specification - **MCP Attribute-Based Access Control Policy** Controls access to tools, resources, and prompts based on user information such as Tiers, IP, Headers, or Claims ### Best Practices for MCP Policies - Always apply authentication policies to production MCP servers. - Use logging policies to track MCP client activity. - Implement rate limiting to prevent abuse and ensure fair usage. - Configure different policies for development, staging, and production environments. - Periodically review and update policy configurations. For more information about available policies and their configuration, see [Inbound Policies Directory](https://docs.mulesoft.com/gateway/latest/policies-included-directory). ## Deploy the App These are available for deployment: - CloudHub 2.0 - Runtime Fabric - Hybrid - CloudHub (with limitations, such as you can’t apply policies) For more information about deploying apps, see [Deployment Options](https://docs.mulesoft.com/runtime-manager/deployment-strategies). ## Next Step - [Try the MCP Connector examples](https://docs.mulesoft.com/mcp-connector/latest/mcp-connector-examples). - [Apply security to the MCP server](https://docs.mulesoft.com/mcp-connector/latest/mcp-connector-config-topics). ## See Also - [Introduction to Anypoint Connectors](https://docs.mulesoft.com/connectors/introduction/introduction-to-anypoint-connectors) - [Using Studio to Configure a Connector](https://docs.mulesoft.com/connectors/introduction/intro-config-use-studio) - [MCP Connector Reference](https://docs.mulesoft.com/mcp-connector/latest/mcp-connector-reference) - [Salesforce Help](https://help.salesforce.com)