Control-M MCP Server
Control-M MCP Server is a standards-based interface that enables AI agents and AI assistants to securely interact with Control-M workflows and automation services. It is built on the Model Context Protocol (MCP) and allows AI systems to dynamically discover Control-M capabilities and execute actions, such as trigger jobs, check workflow status, and investigate failures. For more information, see Job Management in the Control-M Automation API documentation.
Control-M MCP Server lets you utilize your own corporate AI tools and models. You can connect the Control-M MCP Server to a central tool registry or MCP gateway, together with other MCP servers. This allows you to combine different tools into a single solution. For example, you can create a single AI prompt that uses multiple MCP servers. The AI agent queries and operates the different tools to support specific business requirements and automate workflows.
Control-M MCP Server supports elicitation, which prompts the user to confirm an action before it is executed. If you want to generate a confirmation request before you perform a Control-M action, your AI assistant must also support elicitation. Authorization to perform actions is defined in the User and Role Authorizations.
Control-M MCP Server can connect to a maximum of five AI assistants in parallel and support up to 60 requests per minute.
Control-M MCP Server does not run Forecast jobs.
Control-M MCP Server is a Preview feature. Preview features enable you to provide early feedback on new ideas. You can raise Support cases for Preview features at Impact Level 3 and 4. Preview feature functionality might be modified in the future. BMC recommends that you utilize this feature in non-production environments.
Connecting AI Assistants to Control-M MCP Server
This procedure describes how to connect third-party AI assistants to Control-M MCP Server.
Before You Begin
-
Verify that you have Control-M Automation API 9.0.22.110 installed on Control-M/EM, as described in Control-M Automation API Installation. If you have a distributed environment, verify that Control-M Automation API 9.0.22.110 is installed on each Control-M/EM server.
-
Verify that your AI assistant supports elicitation if you want to generate a confirmation request before you perform an action.
Begin
-
From the Control-M/EM server, navigate to the following path:
-
UNIX: $HOME/ctm_em/etc/emweb/automation-api/automation-api.properties
-
Windows: %EM_HOME%\emweb\automation-api\automation-api.properties
-
-
In the automation-api.properties file, change the value of the mcp.server.enabled parameter to the following:
mcp.server.enabled=true
-
Stop the Control-M Automation API server with the following command:
emrestsrv stop
The server starts automatically.
-
On your third-party AI assistant, add Control-M MCP Server with the settings, as described in Control-M MCP Server Settings.
The configuration process to add an MCP server varies according to the AI assistant vendor.
This generates a JSON file with the configured settings on your AI assistant.
-
Claude Desktop
-
Visual Studio
-
Cursor
The following JSON is an example of the Control-M MCP Server configuration with an API token in Claude Desktop:
Copy"controlm": {
"command": "C:\\PROGRA~1\\nodejs\\npx.cmd",
"args": [
"-y", "mcp-remote",
"https://aapidomain:port/automation-api/mcp/stream",
"--header", "x-api-key: APIkey123"
]
}If you copy the example for Claude Desktop, verify the following:
-
Node.js is installed on you AI assistant.
-
The command parameter value must not contain spaces. For example: C:\\Program Files\\nodjs\\npmx.cmd must be C:\\PROGRA~1\\nodejs\\npx.cmd
The following JSON is an example of the Control-M MCP Server configuration with an API token in Visual Studio code:
Copy"controlm": {
"url": "https://aapidomain:port/automation-api/mcp/stream",
"type": "http",
"headers": {
"x-api-key": "APIkey123"
}
}The following JSON is an example of the Control-M MCP Server configuration with an API token in Cursor with stateless HTTP:
Copy"controlm": {
"url": "https://aapidomain:port/automation-api/mcp/message",
"type": "http",
"headers": {
"Content-Type": "application/json",
"Accept": "application/json, text/event-stream",
"x-api-key": "APIkey123"
}
}If you utilize stateless HTTP in Cursor, you must add the following parameters in the headers:
"Content-Type": "application/json"
"Accept": "application/json"
-
-
Verify in the AI assistant that Control-M MCP Server is connected. A list of MCP tools appears when it is connected.
-
Type your prompt in the AI assistant. For prompt examples, see Control-M MCP Server Prompt Examples
Control-M MCP Server Settings
The following table describes the Control-M MCP Server settings.
|
Parameter |
Description |
|---|---|
|
url |
Defines the URL of the Control-M MCP Server that you want to connect to the AI assistant in one of the following formats:
|
|
type |
Determines the server type, which must be a remote HTTP server that implements the MCP protocol. Valid Value: HTTP |
|
headers > x-api-key |
Defines an API token to grant access permissions to specific roles for a period that you can pre-define. You can create an API token with the authentication token::create API call or in Control-M Web, as described in Creating an API Token. You must include this API token in the HTTPS header of subsequent API calls in the following format: x-api-key: <token> x-api-key: E14A4F8E45406977B31A1B091E5E04237D81AEFE63ADE182E5702F5A9131A2DA0A8E8AE76D7C3CCBA0B7 |
Control-M MCP Server Prompt Examples
The following table describes various types of prompt examples.
|
Prompt Type |
Examples |
|---|---|
|
Job status |
|
|
Logs and output |
|
|
Job actions |
|
