Skip to content

data-intelligence-mcp-server is a centralized Model Context Protocol (MCP) server that provides a unified gateway for exposing and managing MCP tools across microservices in the Watsonx Data Intelligence ecosystem

License

Notifications You must be signed in to change notification settings

IBM/data-intelligence-mcp-server

Repository files navigation

Data Intelligence MCP Server

The IBM Data Intelligence MCP Server provides a modular and scalable implementation of the Model Context Protocol (MCP), purpose-built to integrate with IBM Data Intelligence services. It enables secure and extensible interaction between MCP clients and IBM’s data intelligence capabilities.

For the list of tools supported in this version and sample prompts, refer to TOOLS.md

flowchart LR
    github["data-intelligence-mcp Github"] -- publish --> registry
    registry["PyPi registry"] -- pip install ibm-watsonx-data-intelligence-mcp-server--> server
    subgraph MCP Host
        client["MCP Client"] <-- MCP/STDIO --> server("Data Intelligence MCP Server")
    end
    server -- HTTPS --> runtime("IBM Data Intelligence")
    subgraph id["Services"]
        runtime
    end
    client <-- MCP/HTTP --> server2("Data Intelligence MCP Server") -- HTTPS --> runtime

Loading

Resources:


Table of Contents

  1. Quick Install - PyPI
  2. Quick Install - uvx
  3. Server
  4. Client Configuration
  5. Configuration
  6. Running Server in Development Mode

Quick Install - PyPI

Prerequisites

  • Python 3.11 or higher
  • Data Intelligence SaaS or CPD 5.2.1

Installation

Standard Installation

Use pip/pip3 for standard installation:

pip install ibm-watsonx-data-intelligence-mcp-server

Quick Install and run - uv

Prerequisites

Install and Running

stdio mode

uvx ibm-watsonx-data-intelligence-mcp-server --transport stdio

http mode

uvx ibm-watsonx-data-intelligence-mcp-server

Server

If you have installed the ibm-watsonx-data-intelligence-mcp-server locally on your host machine and want to connect from a client such as Claude, Copilot, or LMStudio, you can use the stdio mode as described in the examples under the Client Configuration section.

The server can also be configured and run in http/https mode.

Refer to Client Settings section on applicable environment variables for http mode. Update as required before starting the server below. Default DI_ENV_MODE is SaaS

HTTP Mode

ibm-watsonx-data-intelligence-mcp-server --transport http --host 0.0.0.0 --port 3000

HTTPS Mode

Refer to SERVER_HTTPS.md for detailed HTTPS server configuration and setup.

stdio Mode

When configuring the server through Claude, Copilot, or an MCP client in stdio mode, the server does not need to be started separately. The client will invoke the server directly using standard input/output.


Client Configuration

Claude Desktop

stdio (Recommended for local mcp server setup)

Prereq: uv installation guide

Add the MCP server to your Claude Desktop configuration:

{
  "mcpServers": {
    "wxdi-mcp-server": {
      "command": "uvx",
      "args": ["ibm-watsonx-data-intelligence-mcp-server", "--transport", "stdio"],
      "env": {
         "DI_SERVICE_URL": "https://api.dataplatform.cloud.ibm.com",
         "DI_APIKEY": "<data intelligence api key>",
         "DI_ENV_MODE": "SaaS",
         "LOG_FILE_PATH": "/tmp/di-mcp-server-logs"
      }
    }
  }
}

http/https (Remote setup)

If the MCP server is running on a local/remote server in http/https mode.

For Cloud SaaS:

{
  "mcpServers": {
    "wxdi-mcp-server": {
      "url": "<url_to_mcp_server>",
      "type": "http",
      "headers": {
        "x-api-key": "your api key from cloud SaaS"
      }
    }
  }
}

For CPD:

{
  "mcpServers": {
    "wxdi-mcp-server": {
      "url": "<url_to_mcp_server>",
      "type": "http",
      "headers": {
        "x-api-key": "your api key from cpd env",
        "username": "<user name from cpd env>"
      }
    }
  }
}

VS Code Copilot

stdio (Recommended for local mcp server setup)

Prereq: uv installation guide

Add the MCP server to your VS Code Copilot MCP configuration:

{
  "servers": {
    "wxdi-mcp-server": {
      "command": "uvx",
      "args": ["ibm-watsonx-data-intelligence-mcp-server", "--transport", "stdio"],
      "env": {
         "DI_SERVICE_URL": "https://api.dataplatform.cloud.ibm.com",
         "DI_APIKEY": "<data intelligence api key>",
         "DI_ENV_MODE": "SaaS",
         "LOG_FILE_PATH": "/tmp/di-mcp-server-logs"
      }
    }
  }
}

http/https (Remote setup)

If the MCP server is running on a local/remote server in http/https mode.

For Cloud SaaS:

{
  "servers": {
    "wxdi-mcp-server": {
      "url": "<url_to_mcp_server>",
      "type": "http",
      "headers": {
        "x-api-key": "your api key from cloud SaaS"
      }
    }
  }
}

For CPD:

{
  "servers": {
    "wxdi-mcp-server": {
      "url": "<url_to_mcp_server>",
      "type": "http",
      "headers": {
        "x-api-key": "your api key for cpd env",
        "username": "<user name from cpd env>"
      }
    }
  }
}

Watsonx Orchestrate

Watsonx Orchestrate + Data Intelligence blog post demonstrates how Watsonx Orchestrate integrates with the MCP Server for automation.


Configuration

The MCP server can be configured using environment variables or a .env file. Copy .env.example to .env and modify the values as needed.

Client Settings

Below client settings are common whether http or stdio mode

Environment Variable Default Description
DI_SERVICE_URL None Base URL for Watsonx Data Intelligence instance. Example: api.dataplatform.cloud.ibm.com for SaaS and cluster url for CPD
DI_ENV_MODE SaaS Environment mode (SaaS or CPD)
REQUEST_TIMEOUT_S 60 HTTP request timeout in seconds
LOG_FILE_PATH None Logs will be written here if provided. Mandatory for stdio mode

Below client settings are only applicable for stdio mode

Environment Variable Default Description
DI_APIKEY None API key for authentication
DI_USERNAME None Username (required when using API key for CPD)
DI_AUTH_TOKEN None Bearer token for alternative to API key

For http/https mode client can send below headers

Headers Default Description
x-api-key None API key related to SaaS/CPD
username None username for CPD env If API key is provided
authorization None Bearer token alternative to apikey

e.g:

{
  "servers": {
    "wxdi-mcp-server": {
      "url": "<url_to_mcp_server>",
      "type": "http",
      "headers": {
        "x-api-key": "your api key from cloud SaaS/cpd"
      }
    }
  }
}
{
  "servers": {
    "wxdi-mcp-server": {
      "url": "<url_to_mcp_server>",
      "type": "http",
      "headers": {
        "authorization": "Bearer token"
      }
    }
  }
}

SSL/TLS Configuration

If running in CPD environment, you might need to configure SSL certificate for client connection. Please look into SSL_CERTIFICATE_GUIDE.md for more details.


Running Server in Development Mode

For development and testing purposes, you can run the server locally using the Makefile commands.

Prerequisites

  • Clone the repository
  • Install uv
  • Configure your environment variables in .env file (copy from .env.example)

Running the Server

Navigate to the project directory:

cd /path/to/data-intelligence-mcp-server

Run in stdio mode

make run-stdio

Run in HTTP mode

make run

Run in HTTPS mode

make run-https

MCP Inspector Tool

The MCP Inspector is a useful tool for testing and debugging your MCP server during development.

Prerequisites:

  • Ensure npm is installed on your machine

Usage:

npx @modelcontextprotocol/inspector

This will launch an interactive inspector interface to test your MCP server tools and capabilities.

Demo


About

data-intelligence-mcp-server is a centralized Model Context Protocol (MCP) server that provides a unified gateway for exposing and managing MCP tools across microservices in the Watsonx Data Intelligence ecosystem

Resources

License

Security policy

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 2

  •  
  •  

Languages