
ibm/data-intelligence-mcp-server
Developer toolsdata-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 templateregistration, manual prompt templates are available in thePROMPTS_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:
- 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.
- IBM Bob + Data Intelligence A step-by-step guide showing how IBM Bob connects to the Data Intelligence MCP Server.
Table of Contents
- Quick Install - PyPI
- Quick Install - uvx
- Server
- Client Configuration
- Configuration
- Tool Groups
- 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
- uv installation guide
- Data Intelligence SaaS or CPD 5.2.1
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
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": "",
"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
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": "",
"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_governanceis 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_governanceis 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
Install
uvx ibm-watsonx-data-intelligence-mcp-server --transport stdioConfiguration
{
"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"
}
}
}
}