IBM Watsonx.data Intelligence MCP Server
Deploy the IBM Watsonx.data MCP server to securely integrate and scale Model Context Protocol interactions with IBM Data Intelligence services.
npx -y @IBM/data-intelligence-mcp-serverOverview
IBM Watsonx.data Intelligence MCP Server is an open-source implementation of the Model Context Protocol (MCP) designed to act as a bridge between MCP-enabled clients (local or remote) and IBM Watsonx.data / Data Intelligence services. It provides a modular, secure and scalable server that forwards MCP interactions to IBM Data Intelligence runtimes, enabling tools like Claude Desktop, VS Code Copilot, Watsonx Orchestrate and IBM Bob to interact with enterprise data services via a standardized protocol.
The server supports multiple transport modes (stdio, HTTP, HTTPS), flexible authentication for SaaS and CPD deployments, and a pluggable set of “tools” (actions and helpers) used by models during prompt execution. The project repository and documentation are available at https://github.com/IBM/data-intelligence-mcp-server.
Features
- MCP protocol server compatible with MCP clients (stdio and HTTP transports)
- Multiple deployment modes: local stdio, HTTP, and HTTPS
- Integration with IBM Data Intelligence SaaS and CPD (Cloud Pak for Data)
- Environment-driven configuration (API key, service URL, mode)
- Pluggable “tools” and prompt templates (see TOOLS_PROMPTS.md)
- Logging and optional file-based log path
- Extensible for additional data-intelligence capabilities and custom tools
Installation / Configuration
Prerequisites:
- Python 3.11+
- For uvx mode: uvx/uv CLI (https://docs.astral.sh/uv/getting-started/installation/)
- Target Data Intelligence: SaaS or CPD 5.2.1+
Install from PyPI:
Run as an HTTP server:
Run as HTTPS server:
- See detailed HTTPS configuration in the repository (readme_guides/SERVER_HTTPS.md).
- Provide TLS certificate and key via environment variables or configuration file (see table below).
Run with uvx (stdio transport, recommended for local desktop clients):
Common environment variables
| Variable | Purpose | Example / Default | |||||||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| DI_SERVICE_URL | Watsonx.data service endpoint | https://api.dataplatform.cloud.ibm.com | |||||||||||||||||||||
| DI_APIKEY | API key for Data Intelligence | | DI_ENV_MODE | Deployment mode (SaaS/CPD) | SaaS | MCP_TRANSPORT | Transport mode (stdio/http/https) | stdio | HOST | HTTP/HTTPS host | 0.0.0.0 | PORT | HTTP/HTTPS port | 3000 | LOG_FILE_PATH | Optional path to write server logs | /tmp/di-mcp-server-logs | SSL_CERT | Path to TLS certificate (HTTPS) | /etc/ssl/certs/server.crt | SSL_KEY | Path to TLS private key (HTTPS) | /etc/ssl/private/server.key | Adjust these variables before launching the server. For CPD installations you may also need to pass a username header when clients call the HTTP endpoint. Tools and prompt templates
Client configuration examplesClaude Desktop (stdio, recommended for local use) Claude Desktop or other clients (remote HTTP/HTTPS)
VS Code Copilot, Watsonx Orchestrate and IBM Bob: configure servers similarly to the above JSON snippets, pointing to the MCP server URL or launching via stdio when supported. Available Tools / Resources
Use Cases
Notes and next steps
|