This Model Context Protocol (MCP) server empowers AI assistants by accessing decisions from IBM Decision Intelligence.
The MCP server is available as an npm package in the free npm registry at https://www.npmjs.com/package/di-mcp-server.
It supports both STDIO and streamable HTTP transports for local or remote deployments for supporting any MCP clients.
flowchart LR github["di-mcp-server github repository"] -- publish --> registry registry["NPM registry"] -- npx -y di-mcp-server--> server subgraph MCP Host client["MCP Client"] <-- MCP/STDIO --> server("DI MCP Server") end server -- HTTPS --> runtime("DI Runtime") subgraph Decision Intelligence SaaS runtime end client <-- MCP/HTTP --> server2("DI MCP Server") -- HTTPS --> runtime You can use the MCP server available in the npm registry. If you want to develop your own MCP server or contribute to the development, see Developing the MCP server.
You can run the MCP server with npx to expose as MCP tools the operations of the last deployed version of all decision services:
npx -y di-mcp-server --apikey <APIKEY> --url <RUNTIME_BASE_URL> --transport <TRANSPORT> --runtime <RUNTIME>where
APIKEYis the API key to access the decision runtime.RUNTIME_BASE_URLis the base URL of the decision runtime REST API. Its pattern is:https://<TENANT_NAME>.decision-prod-us-south.decision.saas.ibm.com/ads/runtime/api/v1where TENANT_NAME is the name of the tenant.TRANSPORTis eitherSTDIO(default) orHTTP.RUNTIMEis eitherDI(default) for using the decision runtime of Decision Intelligence orADSfor using the decision runtime of Cloud Pak for Business Automation or Automation Decision Services.
Example:
npx -y di-mcp-server --apikey HRJcDNlNXZVWlk9 --url https://mytenant.decision-prod-us-south.decision.saas.ibm.com/ads/runtime/api/v1The MCP server for Decision Intelligence extends its capability by enabling AI applications, such as IBM watsonx Orchestrate and Claude, to discover and execute deployed decision services.
You can integrate decision services into IBM watsonx Orchestrate by adding the MCP server.
-
In the agent builder, click Add tool.
-
Click Import
-
Then click Import from mcp server
-
Click Add MCP server
-
Specify the name for the server and the
npxcommand that is explained in the Getting started section. -
Close the dialog box, and select the tool that you want to add to your agent.
Your agent is now empowered with decisions.
-
Open the main menu, then click Manage, then click Connections, to open the Connection settings
-
Click Add new connection to launch the Add new connection wizard
-
Fill in the Connection ID and Display name fields, then click Save and continue
-
In the Configure draft connection panel:
- Select Key Value Pair as Authentication Type
- Fill-in the Key and Value fields to define the
APIKEYenvironment variable - Then click Add key value pair
-
Fill-in the Key and Value fields to define the
URLenvironment variable, then click Connect -
When the draft connection is connected, click Next
-
Similarly configure the live connection, then click Add connection
-
In the Add MCP Server wizard:
- Select the display name corresponding to the connection you just configured
- Fill-in the
npxcommand WITHOUT the--apikeyand--urlarguments - Click Connect then Done
You can integrate decision services into Claude Desktop by adding the MCP server.
-
Locate the Claude Desktop configuration file.
Find your Claude configuration directory:
- macOS:
~/Library/Application\ Support/Claude/claude_desktop_config.json - Windows:
%APPDATA%\Claude\claude_desktop_config.json - Linux:
${HOME}/.config/Claude/claude_desktop_config.json
- macOS:
-
Add the MCP server configuration to the configuration file.
-
In the configuration directory, edit or create
claude_desktop_config.json:{ [..] "mcpServers": { "di-mcp-server": { "command": "npx", "args": [ "-y", "di-mcp-server", "--apikey", "<APIKEY>", "--url", "https://<TENANT_NAME>.decision-prod-us-south.decision.saas.ibm.com/ads/runtime/api/v1" ] } } [..] } -
Alternatively, you can use the
APIKEYandURLenvironment variables to respectively specify the API key and the base URL of the decision runtime REST API:{ [..] "mcpServers": { "di-mcp-server": { "command": "npx", "args": ["-y", "di-mcp-server"], "env": { "APIKEY": "<APIKEY>", "URL": "https://<TENANT_NAME>.decision-prod-us-south.decision.saas.ibm.com/ads/runtime/api/v1" } } } [..] }
-
For more information, see https://modelcontextprotocol.io/quickstart/user.
-
In Cursor, click the cog wheel icon to open Cursor settings
-
Click Tools & Integration in the setting categories listed on the left-hand side
-
Click + New MCP Server, this will open Cursor's
mcp.jsonconfiguration file -
Add a new MCP server entry. As for Claude Desktop, you can specify the API key and base URL of the decision runtime REST API using:
- Either command line arguments:
{ [..] "mcpServers": { "di-mcp-server": { "command": "npx", "args": [ "-y", "di-mcp-server", "--apikey", "<APIKEY>", "--url", "https://<TENANT_NAME>.decision-prod-us-south.decision.saas.ibm.com/ads/runtime/api/v1" ] } } [..] } - Or environment variables:
{ [..] "mcpServers": { "di-mcp-server": { "command": "npx", "args": ["-y", "di-mcp-server"], "env": { "APIKEY": "<APIKEY>", "URL": "https://<TENANT_NAME>.decision-prod-us-south.decision.saas.ibm.com/ads/runtime/api/v1" } } } [..] }
- Either command line arguments:
For more information, see Cursor's documentation about Installing MCP servers.
You can develop your own MCP server by using the source files that are available here.
Run the following command to get the source files of the MCP server:
git clone https://github.com/DecisionsDev/di-mcp-server.git cd di-mcp-serverRun the following commands to build the MCP server from the source files:
npm install npm run buildRun the following command to test the MCP server:
npm testThe project is configured with Jest's built-in code coverage capabilities. To generate a code coverage report:
npm run test:coverageThis will:
- Run all tests in the project
- Generate a coverage report showing which parts of the code are covered by tests
- Create detailed reports in the
coveragedirectory
The coverage report includes:
- Statement coverage: percentage of code statements executed
- Branch coverage: percentage of control structures (if/else, switch) executed
- Function coverage: percentage of functions called
- Line coverage: percentage of executable lines executed
Coverage thresholds are set to 70% for statements, branches, functions, and lines. If coverage falls below these thresholds, the test command will fail.
To view the detailed HTML coverage report, open coverage/lcov-report/index.html in your browser after running the coverage command.
Run the MCP server with nodemon and the DEBUG environment variable:
- The server is restarted whenever changes are detected on the source code.
- Debug output is enabled.
npm run dev -- --apikey <APIKEY> --url <URL>APIKEY=<APIKEY> URL=<URL> npm run dev| Name | Description |
|---|---|
| APIKEY | API key to access the decision runtime. |
| DEBUG | When the value is true, the debug messages are written to the stderr of the MCP server. |
| RUNTIME | The target decision runtime: DI (default) or ADS. |
| TRANSPORT | The transport protocol: STDIO (default) or HTTP. |
| URL | Base URL of the decision runtime |
© Copyright IBM Corporation 2025.