From the App Connect Dashboard, you can create an MCP server, which
includes the capability to authenticate to one or more applications and provides tools that define a
set of actions that can be performed on specific objects in those applications.
Availability: The ability to create an MCP server from an App Connect Dashboard instance is available only for Dashboard instances with a
spec.version value that resolves to 13.0.6.1-r1 or later in an IBM® App Connect Operator 12.20.0 or later deployment.
About this task
Creating an MCP server is a multi-step process:
- The MCP server requires a new (system-generated) integration runtime to act as a host, so when
you specify a name for the MCP server, you need to also provide version and license values for the
integration runtime.
The completion of this action triggers the deployment of the integration
runtime and some associated resources.
- After the integration runtime deployment completes, you need to provide authentication
credentials for your preferred applications and then choose which actions to allow on selected
objects (and to expose as MCP tools).
After you confirm your MCP tool selections, the deployment
of the MCP server and its associated resources is triggered.
When the MCP server deployment
completes, the server is displayed on the Model Context Protocol (MCP)
servers
page and you can drill down into its details.
If you are using Red Hat®
OpenShift®, routes are created by default for the integration runtime
deployment (including a route for the MCP server) to provide public URLs where the services are
hosted. The MCP server route is used to generate an endpoint location where the server can be
reached.
- If you are using IBM Cloud Kubernetes Service, you can update the custom resource (CR)
settings of the deployed integration runtime to externally expose its services. Enable ingress in
the CR to automatically create ingress resources for the integration runtime, including one for the
MCP server. The MCP server ingress resource provides a public URL that is used
to generate an endpoint location where the server can be reached. Other Kubernetes environments do not support the creation of ingress resources for
MCP servers.
Procedure
To create an MCP server, complete the following steps:
- From the navigation pane in the App Connect Dashboard, click the
MCP servers icon
to open the Model Context Protocol (MCP)
servers
page.
On initial entry, a message indicates that no MCP servers are found. After you create one or more
MCP servers, they are listed in individual tiles when you access this page.
-
Click Create MCP server to open the
Create an MCP
server
panel. This panel provides a series of views through
which you progress to define settings for the MCP server to be created.
- From the
Integration runtime preferences
view, indicate your
preference for an integration runtime that is needed to host, configure, and manage the MCP server
that you are creating.
- Indicate whether a connector-based or integration-flow-based
integration runtime is needed:
- New server (connectors based):
IBM App Connect provides a catalog of connectors, which you can use to
establish connections to IBM and third-party applications, and run
actions or API operations on chosen objects. Choose
this option if you want to use this connector-based technology to provide authentication
credentials for connecting to one or more applications, and to choose a set of actions to perform on
selected objects in these applications. If you select this option, a dedicated integration runtime
is automatically created with predefined configurations that are suitable for hosting the MCP
server.
This option is selected by default.
- Existing server (integration-flow based)
Restriction: In a Dashboard instance at version 13.0.6.1-r1, this option is not yet
available.
- Click Next.
- From the
Server details
view, specify settings for the new
MCP server and the dedicated integration runtime that will be deployed to host this MCP
server.
- In the MCP server configuration section, specify a unique short
name by which the MCP server can be identified. (This name must conform to the naming conventions
for integration runtimes and will be
validated.)
- In the Integration runtime details section, select a version,
license identifier, and license entitlement for the integration runtime.
- Click Create and proceed.
The following message is displayed to indicate that the integration runtime and some associated
resources are being deployed:
Creating integration runtime integrationRuntimeName (with some
associated resources) to host the MCP server... The deployment might take a few minutes.
During the deployment process, the following resources are created:
These configuration objects are applied to the integration runtime.
Note: If you click
Cancel before the integration runtime deployment
completes, the deployment is left in a partially completed state. If you confirm the cancel action
by clicking
Yes in the
Are you sure?
dialog, you
need to check for and then manually delete any of these resources that might have been created:
- An integration runtime that is named in the format
mcpServerNameYou can delete the integration runtime from the
Runtimes page of the App Connect Dashboard as described
in Deleting an integration runtime. When you delete the integration runtime, any associated
mcpServerName-ir-adminssl and
mcpServerName-mcp-ba-creds configuration objects, which are
owned by the integration runtime, are also deleted.
- A configuration object of type
Accounts, which is named in the format
mcpServerName-accYou can delete the configuration object from
the Configuration page of the App Connect Dashboard as
described in Managing configuration objects from the Configuration page.
When the integration runtime deployment completes, the MCP tools
view
is displayed with the list of applications (or connectors), which contain actions that you can add
as tools to the MCP server. (The terms application and connector are
generally used interchangeably.)
The listed applications are presented in a similar format to the applications that you see on the
Applications & APIs
page in an App Connect Designer instance. On initial access, each application is listed with
a Not connected status. To select the actions that you want to add as tools, you
must first connect to their associated applications.
Note: A few of the
IBM-developed connectors and a few objects for
certain connectors that are available in
App Connect Designer do not support
the Model Context Protocol. Therefore, those connectors and objects are not displayed in the
MCP tools
view because you cannot add their actions as MCP tools.
If
you want to check whether a connector supports the protocol, or check which objects support the
protocol, go to How-to guides for apps. Locate the guide for the specific
connector and then check the Model Context Protocol (MCP) support section.
- From the
MCP tools
view, connect to one or more applications
and select associated actions to add as tools to the MCP server.
- To connect to an application, click the application name and
then click Connect to add an account. Then, enter the application's
credentials in the connection fields that are displayed and click
Connect.
Connection details are specific to each application. For help with completing the fields, go to
How-to guides for apps and locate the guide for the specific application.
When you add an account, a default name of Account n is
assigned to the account, where n is a number that starts from 1.
After your connect to one or more applications, the applications are separated into
Connected and Not connected lists.
Tip:
You can update, remove, or rename an account for a connected application by using the options in
the Account options menu.
You can also add more than one account for a connected application, but it's worth noting that
you can only add actions from one account per application to the MCP server. If you have a use case
that requires multiple accounts per application, you will need to update the MCP server to switch between accounts,
or create separate MCP servers. You can add another account for a connected application as
follows:
- Click the application name in the Connected list to display the
application details.
- Click the Account drop-down list and then click Add a new
account.
- Enter the account credentials in the connection fields that are displayed and then click
Connect.
You can then choose your preferred account before you select
which actions to add as MCP tools.
- To select which actions you want to add as MCP tools, complete the following
steps:
- Click the name of a connected application (for example, Salesforce).
- Click an object name (for example, Contacts) to view its actions.
- Choose one or more actions (for example,
Create contact
) for that object by selecting the
check boxes.
For each connected application, you can select multiple actions for multiple objects. The total
numbers of selected actions per object, per application, and for all applications, are
displayed.
- Click Next.
- From the Summary view, review the list of selected actions for your
connected applications to confirm that you want to make these actions available as tools in the MCP
server.
- Click Expand all to view each selected action.
- If you want to add or remove actions, click Back to return to
the
MCP tools
view. Then, update your selected actions and click
Next to return to the Summary view.
- Click Create MCP server.
The following message is displayed to indicate that the MCP server and some associated resources
are being deployed:
Creating MCP server mcpServerName in the integration runtime
integrationRuntimeName pod... The deployment might take a few
minutes.
During the deployment process, the following resources are created:
The system-generated secret, which was created during the integration runtime deployment to store
the content of the mcpServerName-acc configuration object (of
type Accounts), is also updated. This secret is updated with details of the account
credentials for your connected applications that are linked to the MCP tools.
Note: If you click
Cancel before the MCP server deployment completes, the
deployment is left in a partially completed state. If you then confirm the cancel action by clicking
Yes in the
Are you sure?
dialog, you need to
check for and then manually delete any of these resources that might have been created:
- An integration runtime that is named in the format
mcpServerNameYou can delete the integration runtime from the
Runtimes page of the App Connect Dashboard as described
in Deleting an integration runtime. When you delete the integration runtime, any associated
mcpServerName-ir-adminssl and
mcpServerName-mcp-ba-creds configuration objects, which are
owned by the integration runtime, are also deleted.
- A configuration object of type
Accounts, which is named in the format
mcpServerName-accYou can delete the configuration object from
the Configuration page of the App Connect Dashboard as
described in Managing configuration objects from the Configuration page.
- A BAR file that is named in the format
mcpServerName-generatedID-MCPYou can
delete the BAR file from the BAR files
page of the App Connect Dashboard as described in Managing BAR files.
When the MCP server deployment completes, you are redirected to the Model Context
Protocol (MCP) servers
page. The new MCP server is displayed as a tile on this page,
with a Ready status, a generated server URL, and the server version. You can use
the Table view and Grid view buttons to change how
this information is presented.
- If you want to create an ingress resource that provides an
externally reachable URL for the deployed MCP server in an IBM Cloud Kubernetes Service
environment, update the integration runtime CR to enable ingress:
- From the Runtimes page, open the integration runtime CR in edit
mode as described in Editing the settings for a deployed integration runtime.
Configure ingress as follows:
- Use the License/License use field or
spec.license.use parameter to apply an
AppConnectEnterprise*
style license.
- Use the Channel or version field or spec.version
parameter to set the version of the integration runtime to a fully
qualified value of 13.0.6.2-r1 or later. (Also ensure that the License/License
LI or spec.license.license value is compatible with this version.
For more information, see Licensing reference for IBM App Connect Operator.)
- Set the Ingress/Enabled switch or
spec.ingress.enabled parameter to
true to enable the automatic
creation of ingress resources for the integration runtime. By default, the ingresses are constructed
with the IBM-provided ingress subdomain of your IBM Cloud Kubernetes Service cluster.
The following example shows a partial integration runtime CR with the requisite settings for an
AppConnectEnterprise* style license, a version of
13.0.6.2-r1 with a compatible L-CKFT-S6CHZW
license
identifier, and with ingress
enabled.
...
spec:
license:
accept: true
license: L-CKFT-S6CHZW
use: AppConnectEnterpriseProduction
ingress:
enabled: true
version: 13.0.6.2-r1
...
- Save the integration runtime updates.
When the update completes, the requisite ingress resources are created, and are managed by the
integration runtime. This includes an ingress resource that provides an ingress for the MCP server.
You can view the URL of the endpoint location where the server can be reached as described in Viewing and editing the details of a Model Context Protocol (MCP) server.
What to do next
- You can click the MCP server tile on the
Model Context Protocol (MCP)
servers
page to view detailed information about the associated endpoint and MCP
tools. For more information, see Viewing and editing the details of a Model Context Protocol (MCP) server.
- You can create more MCP servers from the
Model Context Protocol (MCP)
servers
page by clicking the Create button.
- You can also view these system-generated resources from the Dashboard.
- Integration runtime that hosts the MCP server
-
Go to the Runtimes page. You can click the integration runtime tile on this
page to view details about the deployed integration.
The details are displayed in a set of tabs.
- On the Contents tab, an
Application tile is shown for
each connected application and object, and you can click a tile to view details about the message
flows for the selected actions. The Properties, Policy
projects, Credentials, Security, and
Resource managers tabs display similar types of details that are shown for
integration runtimes that you deploy manually. For
more information about the details on these tabs, see Viewing detailed information about a deployed integration runtime.
- The Model Context Protocol (MCP) tools tab displays the endpoint details
for the MCP server and a listing of the MCP tools that it contains.
- Configuration objects that are applied to the integration runtime for use with the MCP
server
-
Go to the Configuration page. You see the following configuration
objects:
- A configuration object of type
Accounts, which is named in the format
mcpServerName-accThis configuration object is created with a
system-generated secret to store details of the account credentials for your connected applications
that are linked to the tools in the MCP server.
- A configuration object of type
REST Admin SSL files, which is named in the
format mcpServerName-ir-adminsslThis configuration object
references a secret, which stores a self-signed TLS certificate for secure communication between the
App Connect Dashboard and the deployed MCP server in the integration runtime
pod. The certificate is required to enable TLS on the MCP server, which is the default setting.
- A configuration object of type
setdbparms.txt, which is named in the format
mcpServerName-mcp-ba-credsThis configuration object
references a secret, which stores basic authentication credentials (that is, a username and
password) for accessing the endpoint of the deployed MCP server. The credentials are required to
enable basic authentication on the MCP server, which is the default setting. (You can copy the
generated credentials as described in Viewing and editing the details of a Model Context Protocol (MCP) server.)
Tip: You can use the following parameters in the integration runtime CR to change the
default settings for basic authentication and TLS on the MCP server, and to change the default
enabled
setting for the MCP server:
- spec.mcp.runtime.basicAuth.disabled
- spec.mcp.runtime.basicAuth.secretName
- spec.mcp.runtime.tls.disabled
- spec.mcp.runtime.tls.secretName
- spec.mcp.runtime.disabled
For more information, see Integration runtime reference: Custom resource values.
- BAR file that is deployed to the integration runtime
-
Go to the BAR files
page. The BAR file is named in the format
mcpServerName-generatedID-MCP and it packages
the resources for the MCP tools by application and object within individual
.appzip files.