ID

ibm/data-intelligence-mcp-server

Developer tools
20 stars 0 forks Quality 90 Trend 90

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...

Overview

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_PROMPTS.md For the list of skills supported in this version and instructions on how to use them, refer to SKILLS_REFERENCE.md : For MCP clients that don't support MCP prompts template registration, manual prompt templates are available in the PROMPTS_TEMPLATE_SAMPLES/ directory. Resources: - Integrating Claude with Watsonx Data Intelligence A step-by-step guide showing how Claude Desktop connects to the Data Intelligence MCP Server. - Watsonx Orchestrate + Data Intelligence Demonstrates how Watsonx Orchestrate integrates with the MCP Server for automation.

README

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_PROMPTS.md

For the list of skills supported in this version and instructions on how to use them, refer to SKILLS_REFERENCE.md

Note: For MCP clients that don’t support MCP prompts template registration, manual prompt templates are available in the PROMPTS_TEMPLATE_SAMPLES/ directory.

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"]  server("Data Intelligence MCP Server")
    end
    server -- HTTPS --> runtime("IBM Data Intelligence")
    subgraph id["Services"]
        runtime
    end
    client  server2("Data Intelligence MCP Server") -- HTTPS --> runtime

Resources:


Table of Contents

  1. Quick Install - PyPI
  2. Quick Install - uvx
  3. Server
  4. Client Configuration
  5. Configuration
  6. Tool Groups
  7. Privacy Policy

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

Skills Setup (Optional)

After installation, you can copy the included skills folder to your location for easy access:

wxdi-setup-skills

This interactive command will:

  • Ask for your confirmation before copying
  • Copy the skills folder to your given location
  • Handle overwrites if the folder already exists

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

To setup skills (optional):

uvx --from ibm-watsonx-data-intelligence-mcp-server wxdi-setup-skills

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

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": "",
         "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": "",
      "type": "http",
      "headers": {
        "x-api-key": "your api key from cloud SaaS"
      }
    }
  }
}

For CPD:

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

VS Code Copilot

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": "",
         "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": "",
      "type": "http",
      "headers": {
        "x-api-key": "your api key from cloud SaaS"
      }
    }
  }
}

For CPD:

{
  "servers": {
    "wxdi-mcp-server": {
      "url": "",
      "type": "http",
      "headers": {
        "x-api-key": "your api key for cpd env",
        "username": ""
      }
    }
  }
}

Watsonx Orchestrate

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

IBM Bob

IBM Bob + Data Intelligence blog post demonstrates how IBM Bob 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
DI_CONTEXT df Context for URLs returned from tool responses ( df, cpdaas for DI_ENV_MODE=SaaS; df, cpd for DI_ENV_MODE=CPD ). url will be appended by query parameter accordingly.context=df in the url for example

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": "",
      "type": "http",
      "headers": {
        "x-api-key": "your api key from cloud SaaS/cpd"
      }
    }
  }
}
{
  "servers": {
    "wxdi-mcp-server": {
      "url": "",
      "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.


Tool Groups

All tools in this MCP server are organised into named tool groups. At startup, only the Default group is enabled; all other groups are globally disabled until a connecting client explicitly requests them. Each session activates only the groups that client needs, keeping the active tool list small and focused.

Default behaviour: If no groups are specified, metadata_management_and_governance is enabled automatically. All other groups must be requested explicitly.

Available Groups

Group Name Included capabilities When to enable
metadata_management_and_governance Metadata import/enrichment, glossary management, data protection rules, workflow/approval tasks, reporting SQL tools, and governance artifacts Enabled by default. Use for the core governance and cataloguing workflows — metadata onboarding, business glossary, data protection policies, and governance approvals.
data_product Create, publish, search, and manage data products and subscriptions; import remote assets into a Data Product Hub catalog Enable when working with IBM Data Product Hub (DPH). Required for creating or consuming data products, managing subscriptions, attaching contracts, or publishing assets to a DPH catalog. Verify that IBM Data Product Hub is installed before enabling this group — see Preparing to install watsonx.data intelligence for Cloud Pak for Data.
data_quality Data quality rules, profiling analysis, quality scoring, SLA management, and quality remediation (including ODCS/SLA violation explanations) Enable when you need to assess, monitor, or remediate data quality. Applicable when working with data quality rules, SLA thresholds, quality scores, or contract test results. Verify that the Watson Knowledge Catalog data quality features are installed before enabling this group — see Preparing to install watsonx.data intelligence for Cloud Pak for Data.
lineage Data lineage graphs, upstream/downstream traversal, lineage version comparison, and asset ID conversion Enable when you need to trace data origins, understand pipeline dependencies, or compare lineage snapshots across time. Verify that the IBM Manta Data Lineage service is installed before enabling this group — see Preparing to install watsonx.data intelligence for Cloud Pak for Data.
generative_ai Text-to-SQL query generation, semantic model access, SQL-view asset creation, glossary generation from files, and AI-powered dynamic search Enable when Generative AI features are activated in your IBM Data Intelligence instance. These tools rely on LLM-backed services — including text-to-SQL, semantic search, and AI-assisted term generation — that must be explicitly enabled in the product settings before use. Verify that the generative AI capabilities are installed before enabling this group — see Preparing to install watsonx.data intelligence for Cloud Pak for Data.

HTTP Mode — x-tool-groups Header

When the server runs in http transport mode, each connecting client sends the x-tool-groups HTTP request header to declare which groups it wants enabled. Groups are resolved per session, so two clients connected simultaneously can have different active tool sets.

Format

The header value accepts below formats:

Single string:

x-tool-groups: data_product

JSON array:

x-tool-groups: ["data_product","lineage"]

IBM Bob — http with tool groups

{
  "servers": {
    "wxdi-mcp-server": {
      "url": "",
      "type": "http",
      "headers": {
        "x-api-key": "your api key",
        "x-tool-groups": ["data_product,lineage"]
      }
    }
  }
}

stdio Mode — TOOL_GROUPS Environment Variable

When the server runs in stdio transport mode set the TOOL_GROUPS environment variable. The value is read once at session initialisation.

Claude Desktop — stdio with tool groups

{
  "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": "",
        "DI_ENV_MODE": "SaaS",
        "LOG_FILE_PATH": "/tmp/di-mcp-server-logs",
        "TOOL_GROUPS": "[\"data_product\",\"lineage\"]"
      }
    }
  }
}

Key Points:

  • Group names are case-insensitive and leading/trailing whitespace is ignored.
  • Unknown group names are silently skipped .
  • If no groups are specified, metadata_management_and_governance is enabled by default.

Privacy Policy

The IBM Watsonx Data Intelligence MCP Server is committed to protecting user privacy and data security.

  • Data Collection: We collect only the data necessary for authentication and service operations (API keys, queries, operational logs)
  • Usage and Storage: Data is processed in-memory and transmitted securely to IBM Data Intelligence services via HTTPS. Local logs are stored only when configured by users. The Server maintains no persistent storage of user data.
  • Third-Party Sharing: Data is shared only with IBM Data Intelligence services (SaaS or Cloud Pak for Data) to fulfill user requests. No data is sold or shared with other third parties.

For complete details about our data handling practices, security measures, user rights, and compliance information, please read our full Privacy Policy.

Key Points:

  • Communications:
    • Server ↔ IBM Data Intelligence: HTTPS/TLS encryption
    • MCP Client ↔ Server: stdio or http transport
  • Users have full control over logging and data retention
  • No persistent storage of credentials or user data by the Server
  • Compliant with IBM security and privacy standards
View this README on GitHub

Install

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

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" } } } }