IBM MDM MCP Server - Setup Guide
January 22, 2026 · View on GitHub
This guide provides detailed information about using the automated setup script.
Before You Begin
Prerequisites Checklist
Before running the setup script, make sure you have:
- ✅ Python 3.10+ installed and accessible via
pythonorpython3command - ✅ Git installed (to clone the repository)
- ✅ IBM MDM instance credentials ready:
- For IBM Cloud: API Key, CRN, and Base URL
- For Software Hub: Username, Password, Base URL, and Auth URL
- ✅ Claude Desktop installed (optional, only if using Claude Desktop integration)
Getting Your IBM MDM Credentials
For IBM Cloud:
- Log in to IBM Cloud Console
- Navigate to your MDM service instance
- Copy the Base URL from the service details
- Create an API Key from IAM API Keys
- Copy the CRN (Cloud Resource Name) from service details
For Software Hub:
- Get your Software Hub instance URL from your administrator
- Note your admin username and password
- The auth URL is typically:
https://your-instance.com/icp4d-api/v1/authorize
Installing Prerequisites
Python 3.10+:
# Check version
python --version
# If needed, download from https://www.python.org/downloads/
Claude Desktop (Optional):
- Download from claude.ai/download
- Install for your operating system
- Launch once to create config directory
Quick Start
The easiest way to get started is to use the automated setup wizard:
python setup_wizard.py
This will launch an interactive wizard that guides you through the entire setup process.
Setup Wizard Features
The setup_wizard.py script automates:
- Virtual Environment Creation - Creates and configures a Python virtual environment
- Dependency Installation - Installs all required packages automatically
- Environment Configuration - Interactive prompts for your IBM MDM credentials
- Claude Desktop Integration - Automatically configures Claude Desktop (optional)
- HTTP Mode Setup - Prepares the server for MCP Inspector testing (optional)
Usage Options
Interactive Setup (Recommended)
python setup_wizard.py
This mode will:
- Ask you to choose your platform (IBM Cloud or Software Hub)
- Prompt for your credentials
- Let you select tool mode (minimal or full)
- Ask which setup mode you want (Claude Desktop or HTTP)
Claude Desktop Integration Only
python setup_wizard.py --claude
Use this when you want to:
- Use the MCP server exclusively with Claude Desktop
- Automatic configuration of Claude Desktop config file
After setup:
- Restart Claude Desktop
- Open a new conversation
- IBM MDM tools will be available
HTTP Mode Only
python setup_wizard.py --http
Use this when you want to:
- Test with MCP Inspector
- Run the server as an HTTP service
- Integrate with custom MCP clients
After setup, start the server:
# macOS/Linux
.venv/bin/python src/server.py
# Windows
.venv\Scripts\python src\server.py
Platform-Specific Configuration
IBM MDM SaaS on IBM Cloud
When prompted, you'll need:
- Base URL: Your IBM MDM instance URL (default:
https://api.ca-tor.dai.cloud.ibm.com/mdm/v1/) - Auth URL: IBM Cloud IAM endpoint (default:
https://iam.cloud.ibm.com/identity/token) - API Key: Your IBM Cloud API key
- CRN: Cloud Resource Name for your MDM instance
IBM MDM on Software Hub
When prompted, you'll need:
- Base URL: Your Software Hub instance URL
- Auth URL: Software Hub authentication endpoint
- Username: Your admin username
- Password: Your admin password
Tool Modes
Minimal Mode (Default)
Exposes essential tools:
search_master_data- Search for master data (records, entities, relationships, hierarchy nodes)get_data_model- Retrieve data model schema
Full Mode
Exposes all available tools:
search_master_data- Search for master data (records, entities, relationships, hierarchy nodes)get_data_model- Retrieve data model schemaget_record- Get specific record by IDget_entity- Get entity by IDget_records_entities_by_record_id- Get entities for a record
What Gets Created
After running the setup script, you'll have:
.venv/- Python virtual environment with all dependenciessrc/.env- Environment configuration file with your credentials- Claude Desktop Config (if selected) - Updated
claude_desktop_config.json
Troubleshooting
Having issues with setup? See our comprehensive troubleshooting guide:
📖 Troubleshooting Guide - Complete solutions for:
Installation Issues:
- Python Version Problems
- Package Installation Failures
- Virtual Environment Issues
- Dependency Conflicts
Configuration Issues:
Claude Desktop Integration:
For detailed step-by-step solutions, see the full troubleshooting documentation.
Manual Configuration
If you prefer manual setup or need to modify the configuration:
-
Edit
.envfile:nano src/.env -
Edit Claude Desktop config (if using Claude Desktop):
- macOS:
~/Library/Application Support/Claude/claude_desktop_config.json - Windows:
%APPDATA%\Claude\claude_desktop_config.json - Linux:
~/.config/Claude/claude_desktop_config.json
- macOS:
Verification
After setup, verify your installation:
For HTTP Mode
# Start the server
.venv/bin/python src/server.py
# In another terminal, test with curl
curl http://localhost:8000/health
For Claude Desktop
- Restart Claude Desktop
- Open a new conversation
- Look for IBM MDM tools in the tools panel
- Try a simple query: "Show me the available MDM tools"
Next Steps
After successful setup:
- Read the main README.md for detailed usage instructions
- Check the Usage Examples section for common scenarios
- Review the Architecture documentation in
docs/ARCHITECTURE.md - Run the tests to ensure everything works:
pytest tests/
Getting Help
If you encounter issues:
- Check the Troubleshooting Guide for comprehensive solutions
- Review the Claude Desktop Setup Guide for integration help
- See the Manual Installation Guide for alternative setup methods
- Open an issue on GitHub
Advanced Usage
Custom Virtual Environment Location
The setup script creates .venv in the project root. To use a different location:
# Create venv manually
python -m venv /path/to/custom/venv
# Activate it
source /path/to/custom/venv/bin/activate # macOS/Linux
# or
\path\to\custom\venv\Scripts\activate # Windows
# Install dependencies
pip install -r requirements.txt
# Configure manually
cp src/.env.example src/.env
# Edit src/.env with your credentials
Environment Variables Override
You can override environment variables at runtime:
# Override platform
M360_TARGET_PLATFORM=cloud .venv/bin/python src/server.py
# Override tool mode
MCP_TOOLS_MODE=full .venv/bin/python src/server.py
Multiple Configurations
To maintain multiple configurations:
# Create environment-specific files
cp src/.env src/.env.production
cp src/.env src/.env.development
# Use specific config
cp src/.env.production src/.env
python src/server.py
Made with ❤️ by IBM