IBM MDM MCP服务器
  
A. 模型上下文协议(MCP) 服务器,通过标准化REST API交互为AI助手提供对IBM主数据管理(MDM)服务的无缝访问。
🎯 概述
这个MCP服务器使像Claude这样的人工智能助手能够与IBM MDM服务(以前称为IBM Match 360)进行交互,允许用户通过自然语言对话搜索记录、检索数据模型和管理主数据。服务器充当AI助手和IBM MDM之间的桥梁,通过模型上下文协议公开企业数据管理功能。
主要特点
- 🔌 MCP协议支持 -AI助手集成的标准接口
- 🌐 多平台 -在IBM Cloud上支持IBM MDM SaaS,在软件中心支持IBM MDM
- 🔐 安全认证 -基于令牌的自动缓存身份验证
- 🛠️ 灵活的工具模式 -基于用例的最小或全工具暴露
- 📊 类型安全 -使用Pydantic模型构建,用于稳健的数据验证
- 🏗️ 清洁建筑 -分层设计,适配器模式可维护
📋 目录
- 选项1:从PyPI安装(推荐) - 选项2:快速启动安装向导 - 选项3:手动安装
______________________________________________________________________
先决条件
在开始之前,请确保您已经:
- Python 3.10+ - 在此下载
- Git - 安装指南
- IBM MDM实例 -在软件中心访问IBM MDM SaaS(IBM Cloud)或IBM MDM,并准备好凭据
- 克劳德桌面版 (可选)- 在此下载 如果你想集成人工智能助手
📖 需要帮助开始吗? 查看详情 安装指南 有关安装先决条件和获取IBM MDM凭据的分步说明。
🔐 安全说明(仅限IBM Cloud): 生成专门用于此MCP服务器的专用API密钥-不要重复使用其他应用程序中的现有API密钥。
______________________________________________________________________
安装
选择最适合您需求的安装方法:
选项1:从PyPI安装(推荐)
安装IBM MDM MCP服务器的最简单方法是通过PyPI:
pip install ibm-mdm-mcp-server安装后,您可以直接运行服务器:
ibm_mdm_mcp_server注: 您仍然需要配置凭据。请参阅 配置 下面的部分。
选项2:快速启动安装向导
对于开发或定制,克隆存储库并使用自动设置:
# Clone the repository
git clone https://github.com/IBM/mdm-mcp-server.git
cd mdm-mcp-server
# Run the setup wizard
python setup_wizard.py安装向导将指导您完成以下操作:
- 虚拟环境创建和依赖关系安装
- 平台选择(IBM Cloud或软件中心)
- 凭证配置
- 刀具模式选择(最小或完全)
- 设置模式选择(Claude Desktop或HTTP)
设置选项:
python setup_wizard.py # Interactive setup (recommended)
python setup_wizard.py --claude # Claude Desktop integration only
python setup_wizard.py --http # HTTP mode only (for MCP Inspector)📖 有关详细的设置说明,请参阅 安装指南
选项3:手动安装
有关高级用户或自定义部署,请参阅 手动安装指南.
______________________________________________________________________
配置
安装后,配置IBM MDM凭据:
使用环境变量
创建一个 .env 在工作目录中创建文件或设置环境变量:
对于IBM Cloud上的IBM MDM SaaS:
M360_TARGET_PLATFORM=cloud
API_CLOUD_BASE_URL=
API_CLOUD_AUTH_URL=https://iam.cloud.ibm.com/identity/token
API_CLOUD_API_KEY=
API_CLOUD_CRN=
MCP_TOOLS_MODE=minimal对于软件中心上的IBM MDM:
M360_TARGET_PLATFORM=cpd
API_CPD_BASE_URL=
API_CPD_AUTH_URL=
API_USERNAME=
API_PASSWORD=
MCP_TOOLS_MODE=minimal工具模式选项:
minimal(默认):基本工具(search_master_data,get_data_model)full:所有工具,包括get_record,get_entity,get_records_entities_by_record_id
______________________________________________________________________
用法
命令行
直接从命令行运行服务器:
# Start in HTTP mode (default)
ibm_mdm_mcp_server
# Start on a custom port
ibm_mdm_mcp_server --port 3000
# Start in STDIO mode (for MCP clients)
ibm_mdm_mcp_server --mode stdio使用Claude桌面版
快速设置:
编辑您的Claude Desktop配置文件并添加:
{
"mcpServers": {
"ibm-mdm": {
"command": "uvx",
"args": ["ibm_mdm_mcp_server", "--mode", "stdio"],
"env": {
"M360_TARGET_PLATFORM": "cloud",
"API_CLOUD_BASE_URL": "https://api.ca-tor.dai.cloud.ibm.com/mdm/v1/",
"API_CLOUD_AUTH_URL": "https://iam.cloud.ibm.com/identity/token",
"API_CLOUD_API_KEY": "",
"API_CLOUD_CRN": "",
"MCP_TOOLS_MODE": "minimal"
}
}
}
}📖 用于全面的Claude桌面设置 包括uvx、源代码安装、HTTP模式和故障排除,请参阅 Claude桌面设置指南.
MCP检验员测试
# Start the server
ibm_mdm_mcp_server
# In another terminal, run the inspector
npx @modelcontextprotocol/inspector______________________________________________________________________
与Claude Desktop集成
IBM MDM MCP Server与Claude Desktop无缝集成,实现了与IBM MDM数据的自然语言交互。
设置方法
选择最适合您需求的方法:
- PyPI包 (推荐)-简单
pip install并配置 - uvx (最简单)-无需安装,自动更新
- 源代码 -用于开发和定制
- HTTP模式 -用于调试和高级用例
📖 所有方法的完整设置说明: Claude桌面设置指南
快速验证
设置后,问克劳德:
"What IBM MDM tools are available?"您应该看到列出的配置工具。
运行服务器
服务器支持两种操作模式:HTTP(用于测试/开发)和STDIO(用于Claude Desktop集成)。
快速开始
使用PyPI安装:
ibm_mdm_mcp_server # Start in HTTP mode
ibm_mdm_mcp_server --port 3000 # Custom port来源:
python src/server.py # Start in HTTP mode
python src/server.py --port 3000 # Custom portMCP检验员测试
# Start server
ibm_mdm_mcp_server
# In another terminal
npx @modelcontextprotocol/inspector📖 有关服务器操作、配置和故障排除的详细信息,请参阅 运行服务器指南.
可用工具
最小模式(默认)
常见MDM操作的基本工具:
| 工具 | 说明 |
|---|---|
search_master_data | 使用灵活的查询参数在IBM MDM中搜索主数据(记录、实体、关系、层次结构节点) |
get_data_model | 检索完整的MDM数据模型模式 |
完整模式
所有可用工具,包括高级操作:
| 工具 | 说明 |
|---|---|
search_master_data | 使用高级过滤搜索主数据 |
get_data_model | 检索数据模型架构 |
get_record | 按ID检索特定记录 |
get_entity | 按ID检索实体 |
get_records_entities_by_record_id | 获取与记录关联的所有实体 |
通过设置启用完整模式 MCP_TOOLS_MODE=full 在您的环境配置中。
______________________________________________________________________
示例查询
想看看这个MCP服务器能做什么吗?查看我们的综合 示例查询指南 其中包括:
- 📊 报告模板 -即用型仪表板和可视化模板
- 🔄 常见使用模式 -带有具体示例的现实世界场景
- 🎯 查询示例 -从基本搜索到复杂的嵌套查询
- 📈 分析查询 -分布分析、比较和数据质量报告
- 💡 最佳实践 -预防幻觉并确保结果准确的提示
快速示例:
"What entity types and searchable fields are available in my MDM system?"
"Find customer records where status equals active and region equals northeast"
"Create a regional distribution dashboard for customer records"
"Generate a data quality dashboard showing duplicates and missing data"请参阅 完整的样品文档 查看详细的示例和模板。
测试
该项目使用具有全面测试覆盖率的pytest。
快速测试命令
运行所有测试:
pytest tests/跑步覆盖:
pytest tests/ --cov=src --cov-report=term-missing生成HTML覆盖率报告:
pytest tests/ --cov=src --cov-report=html📖 有关详细的测试说明、代码质量检查和CI/CD设置,请参阅 测试指导.
建筑
该项目实现了 干净的三层分层架构 灵感来自六边形建筑原则。有关详细的体系结构文档,请参阅 建筑.md.
graph TD
A["Tools Layer
(MCP Interface)
search_master_data
get_data_model"] --> B["Service Layer
(Business Logic)
SearchService
ModelService"]
B --> C["Adapter Layer
(External APIs)
DataMSAdapter
ModelMSAdapter"]
C --> D["IBM MDM APIs
(IBM MDM)
Data MS
Model MS"]
style A fill:#e1f5ff,stroke:#01579b,stroke-width:2px
style B fill:#fff3e0,stroke:#e65100,stroke-width:2px
style C fill:#f3e5f5,stroke:#4a148c,stroke-width:2px
style D fill:#e8f5e9,stroke:#1b5e20,stroke-width:2px项目结构
src/
├── server.py # MCP server entry point
├── config.py # Configuration management
├── data_ms/ # Data microservice
│ ├── search/ # Search functionality
│ ├── records/ # Record operations
│ └── entities/ # Entity operations
├── model_ms/ # Model microservice
│ └── model/ # Data model operations
└── common/ # Shared utilities
├── auth/ # Authentication
│ └── authentication_manager.py
├── core/ # Core components
│ ├── base_adapter.py # Base adapter for HTTP
│ └── base_service.py # Base service class
└── domain/ # Domain models关键设计模式
- 分层架构:演示、业务逻辑和基础架构之间的明确分离
- 适配器模式:隔离外部API与特定平台实现的通信
- 模板方法:通过基类实现一致的服务实现模式
- 策略模式:特定于平台的身份验证策略(IBM Cloud vs Software Hub)
- 依赖注入:服务接收适配器实例以实现灵活性和可测试性
六边形建筑灵感:虽然不是一个纯粹的六边形实现,但该架构通过使用适配器隔离外部依赖关系并保持层之间的清晰边界来借鉴六边形原则。
故障排除
有问题吗?查看我们的全面故障排除指南:
📖 故障排除指南 -完整的解决方案:
- 安装和配置问题
- Claude桌面集成问题
- 服务器运行时错误
- 身份验证失败
- 网络连接问题
- 测试问题
快速修复:
- 服务器无法启动: 检查Python版本(3.10+)和环境变量
- 工具不会出现在Claude中: 验证配置文件位置并重新启动Claude Desktop
- 身份验证错误: 验证凭据并测试连接
有关详细的解决方案和分步指南,请参阅 完整的故障排除文档.
贡献
开发设置
- 分叉存储库
- 创建要素分支:
git checkout -b feature/your-feature - 进行更改并添加测试
- 运行测试:
pytest tests/ - 提交您的更改:
git commit -m "Add your feature" - 推你的叉子:
git push origin feature/your-feature - 提交拉取请求
______________________________________________________________________
发布到PyPI
对于需要向PyPI发布新版本的维护人员,请参阅 PyPI出版指南.
许可证
此项目根据Apache许可证2.0获得许可-请参阅 许可证 文件以获取详细信息。
支持
对于问题、疑问或贡献:
参考文献
致谢
内置:
______________________________________________________________________
由...制作❤️ IBM
