IBM ODM 决策 MCP 服务器连接了 IBM ODM 和现代 AI 助手及编排平台。 它使您能够:
有关设置和使用 Claude Desktop 与决策 MCP 服务器的详细说明,请参阅 Claude Desktop 集成指南。
观看我们的演示视频,了解 Claude Desktop 集成的实际操作:
通过决策 MCP 服务器,IBM watsonx 编排可以增强由 IBM 运营决策经理 (ODM) 实现的决策。
有关详细说明,请参阅 IBM watsonx 编排集成指南。
运行决策 MCP 服务器最简单的方法是使用 uv,它处理包安装和执行:
macOS 和 Linux:
curl -LsSf https://astral.sh/uv/install.sh | sh
Windows:
powershell -c "irm https://astral.sh/uv/install.ps1 | iex"
替代方法(通过 pip):
pip install uv
有关更多安装选项,请参阅 uv 文档。
一旦安装了 uv,您可以直接运行决策 MCP 服务器而无需手动安装:
uvx --from git+https://github.com/DecisionsDev/ibm-odm-decision-mcp-server start --url http://localhost:9060/res
uvx 命令会自动:
根据您的 IBM ODM 部署情况,使用适当的认证/授权方法:
--zenapikey <您的 Zen API 密钥>ZENAPIKEY=<您的 Zen API 密钥>--username <用户名> --password <密码>ODM_USERNAME=<用户名> ODM_PASSWORD=<密码>--client-id <CLIENT_ID> --client-secret <CLIENT_SECRET> --token-url <TOKEN_URL> 并可选 --scope <scope>CLIENT_ID=<client_id> CLIENT_SECRET=<client_secret> TOKEN_URL=<URL> 并可选 SCOPE=<scope>--client-id <CLIENT_ID> --pkjwt-key-path <PRIVATE_KEY_PATH> --pkjwt-cert-path <CERT_PATH> --token-url <TOKEN_URL> 并可选 --scope <scope> 和 --pkjwt-key-password <PASSWORD> 如果私钥受密码保护。CLIENT_ID=<client_id> PKJWT_KEY_PATH=<private_key_path> PKJWT_CERT_PATH=<cert_path> TOKEN_URL=<URL> 并可选 SCOPE=<scope> 和 PKJWT_KEY_PASSWORD=<password> 如果私钥受密码保护。注意: PKJWT 认证需要私钥及其证书。私钥用于签署 JWT(JSON Web Token),而证书用于计算 x5t 指纹。可以使用受密码保护的私钥。在这种情况下,必须指定密码。
--username <用户名> --password <密码>ODM_USERNAME=<用户名> ODM_PASSWORD=<密码>决策 MCP 服务器实际上与两个不同的 ODM 组件/服务器通信:
当这两个 ODM 组件被配置为使用不同的认证类型时,决策 MCP 服务器可以通过以下方式配置:
CLI: --console-auth-type <console_auth_type> --runtime-auth-type <runtime_auth_type>
环境变量: CONSOLE_AUTH_TYPE=<console_auth_type> RUNTIME_AUTH_TYPE=<runtime_auth_type>
其中
<console_auth_type>和<runtime_auth_type>必须取以下值之一:
auth_type 描述. BASIC 基本认证 ZEN Zen API 密钥认证. SECRET 使用客户端密钥的 OpenID 连接认证 PKJWT 使用私钥(PKJWT)的 OpenID 连接认证 NONE 无认证/授权
注意事项:
- 决策 MCP 服务器不支持使用相同的认证类型但不同的凭据
- 例如,使用两个不同用户名的基本认证(一个用于 RES 控制台,另一个用于运行时)
- 这种情况不被支持。
- 必须配置唯一的用户/服务账户以访问两个 ODM 组件(见下文3. 授权)。
如果 ODM 部署在 IBM Cloud Pak for Business Automation 中,使用的用户/服务账户必须分配有授予以下 Zen 权限的角色,以便能够访问 RES 控制台和决策服务运行时:
| Zen 权限 |
|---|
| ODM - 监控决策服务在决策服务中 |
| ODM - 执行决策服务在决策服务中 |
更多信息请参阅 管理用户权限。
如果 ODM 部署在 Kubernetes 上,使用的用户/服务账户必须具有以下角色:
| ODM 角色 |
|---|
| resMonitors |
| resExecutors |
如果 ODM 部署在托管服务 ODM on Cloud 中,必须为使用的用户/服务账户分配以下角色(适用于合适的环境(开发/测试/生产)):
| ODM on Cloud 角色 |
|---|
| Monitor |
更多信息请参阅 创建和管理服务账户。
为了建立到服务器的安全 SSL/TLS 连接,决策 MCP 服务器必须有权访问用于签署服务器证书的证书。
如果使用公共 CA 证书签署了服务器证书,决策 MCP 服务器可以在系统信任的证书中找到它。
如果是自签名证书,可以指定:
--ssl-cert-path <证书文件名>SSL_CERT_PATH=<证书文件名>或者,在开发/测试环境中,可以忽略服务器的真实性:
--verifyssl "False"VERIFY_SSL="False"服务器可以配置为检查尝试建立安全连接的客户端的真实性。
在这种情况下,作为客户端的决策 MCP 服务器必须配置有私钥及其相关证书(并且服务器必须配置为信任在建立安全连接时呈现该证书的客户端)。
可以指定以下参数:
--mtls-key-path <PRIVATE_KEY_PATH> --mtls-cert-path <CERT_PATH> 并可选 --mtls-key-password <PASSWORD> 如果私钥受密码保护。MTLS_KEY_PATH=<private_key_path> MTLS_CERT_PATH=<cert_path> 并可选 MTLS_KEY_PASSWORD=<password> 如果私钥受密码保护。| CLI 参数 | 环境变量 | 描述 | 默认值 |
|---|---|---|---|
--url | ODM_URL | 决策服务控制台的 URL(用于管理和部署操作) | http://localhost:9060/res |
--runtime-url | ODM_RUNTIME_URL | 决策服务运行时的 URL(用于执行决策服务) | <ODM_URL>/DecisionService |
--username | ODM_USERNAME | 基本认证或 Zen 认证的用户名 | odmAdmin |
--password | ODM_PASSWORD | 基本认证的密码 | odmAdmin |
--zenapikey | ZENAPIKEY | 用于 Cloud Pak for Business Automation 的 Zen API 密钥认证 | |
--client-id | CLIENT_ID | 用于认证的 OpenID 连接客户端 ID | |
--client-secret | CLIENT_SECRET | 用于认证的 OpenID 连接客户端密钥 | |
--pkjwt-cert-path | PKJWT_CERT_PATH | PKJWT 认证的证书路径(对于 PKJWT 是必需的) | |
--pkjwt-key-path | PKJWT_KEY_PATH | PKJWT 认证的私钥证书路径(对于 PKJWT 是必需的) | |
--pkjwt-key-password | PKJWT_KEY_PASSWORD | 解密 PKJWT 认证私钥的密码。仅在密钥受密码保护时需要。 | |
--token-url | TOKEN_URL | 用于认证的 OpenID 连接令牌端点 URL | |
--scope | SCOPE | 请求访问令牌时使用的 OpenID 连接范围,使用客户端凭证进行认证 | openid |
--verifyssl | VERIFY_SSL | 是否验证 SSL 证书(True 或 False) | True |
--ssl-cert-path | SSL_CERT_PATH | SSL 证书文件的路径。如果没有提供,默认为系统证书。 | |
--mtls-cert-path | MTLS_CERT_PATH | 客户端的 SSL 证书文件路径,用于 mTLS 认证(对于 mTLS 是必需的) | |
--mtls-key-path | MTLS_KEY_PATH | 客户端的 SSL 私钥文件路径,用于 mTLS 认证(对于 mTLS 是必需的) | |
--mtls-key-password | MTLS_KEY_PASSWORD | 解密客户端 mTLS 认证私钥的密码。仅在密钥受密码保护时需要。 | |
--console-auth-type | CONSOLE_AUTH_TYPE | 显式设置 RES 控制台的认证类型(BASIC, ZEN, PKJWT, SECRET, NONE) | |
--runtime-auth-type | RUNTIME_AUTH_TYPE | 显式设置决策服务运行时的认证类型(BASIC, ZEN, PKJWT, SECRET, NONE) | |
--log-level | LOG_LEVEL | 设置日志级别(DEBUG, INFO, WARNING, ERROR, CRITICAL) | INFO |
--traces-dir | TRACES_DIR | 存储执行跟踪的目录 | ~/.mcp-server/traces |
--trace-enable | TRACE_ENABLE | 启用或禁用跟踪存储(True 或 False) | False |
--trace-maxsize | TRACE_MAXSIZE | 在删除最旧的跟踪之前存储的最大跟踪数 | 50 |
您可以使用 JSON 配置文件为像 Claude Desktop 或 Cursor AI 这样的客户端配置 MCP 服务器,该文件可以包含环境变量和命令行参数。
提示:
下面的例子显示了一个典型场景,其中敏感信息(这里是指密码)作为环境变量传递(因此不会出现在进程参数中),其他参数作为命令行参数传递:
{
"mcpServers": {
"ibm-odm-decision-mcp-server": {
"command": "uvx",
"args": [
"--from",
"git+https://github.com/DecisionsDev/ibm-odm-decision-mcp-server",
"start",
"--url", "https://odm-res-console-url",
"--ssl-cert-path", "certificate-file",
"--username", "your-username"
],
"env": {
"ODM_PASSWORD": "odmAdmin"
}
}
}
}
以下示例展示了根据部署类型(开发/测试或生产)和环境(CloudPak 等)的不同使用场景。
对于本地开发和测试,使用基本认证。
"args": [
"--from",
"git+https://github.com/DecisionsDev/ibm-odm-decision-mcp-server",
"start",
"--url", "http://localhost:9060/res",
"--username", "odmAdmin"
],
"env": {
"ODM_PASSWORD": "odmAdmin"
}
对于 Cloud Pak 上的生产部署,使用 Zen API 密钥。
"args": [
"--from",
"git+https://github.com/DecisionsDev/ibm-odm-decision-mcp-server",
"start",
"--url", "https://odm-res-console-url",
"--ssl-cert-path", "certificate-file",
"--username", "YOUR_ZENUSERNAME"
],
"env": {
2023-10-12 16:00:00
"ZENAPIKEY": "YOUR_ZEN_API_KEY"
}
对于 Cloud Pak 以外的其他环境上的生产部署,如果 ODM 配置为使用 OpenID 连接,可以使用 OpenID 连接。
决策 MCP 服务器可以使用客户端凭证流程对配置为使用 OpenID 连接的 ODM 进行认证。
有两种认证变体:
"args": [
"--from",
"git+https://github.com/DecisionsDev/ibm-odm-decision-mcp-server",
"start",
"--url", "https://odm-res-console-url",
"--runtime-url", "https://odm-runtime-url",
"--ssl-cert-path", "certificate-file",
"--token-url", "https://your-openid-connect_provider-token-endpoint-url",
"--scope", "the_scope_to_be_used_for_client_credentials"
],
"env": {
"CLIENT_ID": "YOUR_CLIENT_ID",
"CLIENT_SECRET": "YOUR_CLIENT_SECRET"
}
"args": [
"--from",
"git+https://github.com/DecisionsDev/ibm-odm-decision-mcp-server",
"start",
"--url", "https://odm-res-console-url",
"--runtime-url", "https://odm-runtime-url",
"--ssl-cert-path", "certificate-file",
"--token-url", "https://your-openid-connect_provider-token-endpoint-url",
"--scope", "the_scope_to_be_used_for_client_credentials"
],
"env": {
"CLIENT_ID": "YOUR_CLIENT_ID",
"PKJWT_KEY_PATH": "PKJWT_PRIVATE_KEY_FILENAME",
"PKJWT