IBM ODM管理MCP服务器文档(BETA)
概述
IBM ODM管理MCP服务器将IBM ODM管理REST API与现代AI助手和编排平台连接起来。 它使您能够:
- 作为AI助手的工具公开
- 决策中心REST API - 决策服务器REST API(又称RES控制台)
- 与Watson Orchestrate、Claude Desktop、IBM Bob等轻松集成。..
特性
- 工具集成: 将ODM决策中心和决策服务器控制台REST API端点作为工具公开
- 身份验证: Zen API密钥、基本验证和OpenID连接
- 多平台: 与Watson Orchestrate、Claude Desktop合作。..
快速入门
检查 Claude桌面集成指南 有关在中设置和使用管理MCP服务器的详细说明 克劳德桌面版.
或者检查 IBM Bob集成指南 有关在中设置和使用管理MCP服务器的详细说明 IBM Bob.
演示视频
观看我们的演示视频,了解Claude Desktop集成的实际情况:
https://github.com/user-attachments/assets/26c038a2-d650-47c5-a09e-4c1da62c578e
先决条件和安装
- Python 3.13或更高版本 -此MCP服务器是用Python编写的,需要Python 3.13或更高版本
- 紫外线 -一个快速的Python包安装程序和解析器
- Git -开源分布式版本控制系统
请在中找到安装必备组件的说明 Claude桌面集成指南-(步骤1).
配置
1.ODM容器环境和身份验证
根据您的IBM ODM部署,使用适当的身份验证/授权方法:
1.1. Cloud Pak上的业务自动化ODM
- 环境: 商业自动化云包(CP4BA)
- 身份验证: 用户名和Zen API密钥
| description | 命令行参数 | 环境变量 |
|---|---|---|
| 用户名 | --username | ODM_USERNAME= |
| Zen API密钥 | --zenapikey | ZENAPIKEY= |
1.2. Kubernetes上的ODM
- 环境: 部署在Kubernetes上的IBM ODM(包括OpenShift)
- 身份验证: 3种可能性
1. 基本身份验证:
| description | 命令行参数 | 环境变量 |
|---|---|---|
| 用户名 | --username | ODM_USERNAME= |
| 密码 | `--password | |
| ` | `ODM_PASSWORD= | |
| ` |
1. OpenID连接(使用客户端密码):
| description | 命令行参数 | 环境变量 |
|---|---|---|
| OpenID连接URL以获取令牌 | --token-url | TOKEN_URL= |
| OpenID连接客户端ID | --client-id | CLIENT_ID= |
| OpenID连接客户端机密 | --client-secret | CLIENT_SECRET= |
OpenID连接范围(可选-默认为 openid) | --scope | SCOPE= |
1. OpenID连接(使用私钥JWT):
| description | 命令行参数 | 环境变量 |
|---|---|---|
| OpenID连接URL以获取令牌 | --token-url | TOKEN_URL= |
| OpenID连接客户端ID | --client-id | CLIENT_ID= |
| 用于PKJWT身份验证的证书路径 | --pkjwt-cert-path | PKJWT_CERT_PATH= |
| 用于PKJWT身份验证的私钥路径 | `--pkjwt-key-path | |
| ` | `PKJWT_KEY_PATH= | |
| ` | ||
| 用于PKJWT身份验证的私钥密码(可选:仅当私钥受密码保护时才需要) | `--pkjwt-key-password | |
| ` | `PKJWT_KEY_PASSWORD= | |
| ` | ||
OpenID连接范围(可选-默认为 openid) | --scope | SCOPE= |
1.3. 面向开发人员的ODM(Docker/Local)
- 环境: 本地Docker或开发者版
- 身份验证: 基本认证
| description | 命令行参数 | 环境变量 |
|---|---|---|
| 用户名 | --username | ODM_USERNAME= |
| 密码 | `--password | |
| ` | `ODM_PASSWORD= | |
| ` |
2.授权
2.1.Cloud Pak上的业务自动化ODM
如果ODM部署在IBM Cloud Pak for Business Automation中,则使用的用户/服务帐户必须分配一个角色,该角色授予以下Zen权限之一:
| Zen权限 | 等效ODM Liberty角色 | 描述 |
|---|---|---|
| ODM-管理决策中心 | rtsAdministrator | 允许访问所有决策中心工具 |
| ODM-管理决策中心数据库 | rtsInstaller | 提供对所有决策中心工具的访问 |
| ODM-在决策中心 | rtsConfigManager | 中管理决策服务和部署,仅允许访问一些决策中心工具 |
| ODM-在决策中心 | rtsUser | 中管理决策服务,仅允许访问部分决策中心工具 |
| Zen权限 | 等效ODM Liberty角色 | 描述 |
|---|---|---|
| ODM-在decision Server中监视和部署决策服务 | resDeployer | 提供对所有决策服务器控制台工具的访问 |
| ODM-监控决策服务器中的决策服务 | resMonitor | 仅提供对某些决策服务器控制台工具的访问 |
阅读更多 管理用户权限.
2.2.Kubernetes上的ODM
如果ODM部署在Kubernetes上,则使用的用户/服务帐户必须至少具有以下角色之一:
| ODM角色 | 描述 |
|---|---|
| rtsAdministrator | 允许访问所有决策中心工具 |
| rtsAdministrator | 允许访问所有决策中心工具 |
| rtsConfig Manager | 仅允许访问部分决策中心工具 |
| rtsUser | 仅允许访问部分决策中心工具 |
| ODM角色 | 描述 |
|---|---|
| resDeployer | 允许访问所有决策服务器控制台工具 |
| resMonitor | 仅允许访问部分Decision Server控制台工具 |
2.3.云端ODM
如果ODM部署在云端的托管产品ODM中,则使用的用户/服务帐户必须至少分配以下角色之一(适用于合适的环境(开发/测试/生产)):
| 决策中心角色 | 描述 |
|---|---|
| 管理员 | 允许访问所有决策中心工具 |
| Configuration Manager | 允许访问所有决策中心工具 |
| 用户 | 仅允许访问部分决策中心工具 |
| 决策服务器角色 | 描述 |
|---|---|
| Deployer | 允许访问所有决策服务器控制台工具 |
| 监视器 | 仅允许访问部分Decision Server控制台工具 |
阅读更多 创建和管理服务帐户.
3.安全连接
3.1.服务器证书
要建立与服务器的SSL/TLS安全连接,管理MCP服务器必须能够访问用于签署服务器证书的证书。
如果使用公共CA证书对服务器证书进行签名,则管理MCP服务器可以在系统受信任的证书中找到它。
如果这是自签名证书,可以指定:
- CLI:
--ssl-cert-path - 环境:
SSL_CERT_PATH=
或者,在开发/测试环境中,可以忽略服务器的真实性:
- CLI:
--verifyssl "False" - 环境:
VERIFY_SSL="False"
3.2.mTLS(双向TLS)
ODM可以被配置为检查试图建立安全连接的客户端的真实性。
在这种情况下,管理MCP服务器(充当客户端)必须配置私钥及其相关证书(并且服务器必须配置为在建立安全连接时信任提供该证书的客户端)。
可以指定以下参数:
- CLI: `--mtls-key-path
--mtls-cert-path 并且可选 --mtls-key-password ` 如果私钥受密码保护。
- 环境: `MTLS_KEY_PATH=
MTLS_CERT_PATH= 并且可选 MTLS_KEY_PASSWORD= ` 如果私钥受密码保护。
配置参数表
| CLI参数 | 环境变量 | 描述 | 默认值 |
|---|---|---|---|
--url | ODM_URL | 决策中心REST API的URL | |
--res-url | ODM_RES_URL | 决策服务器控制台(又称RES控制台)的URL | |
--username | ODM_USERNAME | 用户名(基本身份验证、Zen身份验证或OpenId Connect) | odmAdmin |
--password | ODM_PASSWORD | 密码(基本身份验证或OpenId连接) | odmAdmin |
--zenapikey | ZENAPIKEY | 用于使用Cloud Pak进行身份验证的Zen API密钥,用于业务自动化 | |
--client-id | CLIENT_ID | 用于身份验证的OpenID Connect客户端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 Connect令牌端点URL | |
--scope | SCOPE | 请求访问令牌时使用的OpenID Connect作用域 | openid |
--verifyssl | VERIFY_SSL | 是否验证SSL证书(True 或 False) | True |
--ssl-cert-path | SSL_CERT_PATH | SSL证书文件的路径。如果未提供,则默认为系统证书。 | |
--mtls-cert-path | MTLS_CERT_PATH | 用于双向TLS身份验证的客户端SSL证书文件的路径(mTLS强制要求) | |
--mtls-key-path | MTLS_KEY_PATH | 用于双向TLS身份验证的客户端SSL私钥文件的路径(mTLS强制要求) | |
--mtls-key-password | MTLS_KEY_PASSWORD | 用于解密客户端私钥以进行双向TLS身份验证的密码。仅当密钥受密码保护时才需要。 |
监控MCP服务器的参数 |CLI参数|环境变量|描述|默认值| |--------------|----------------------|-------------|---------| |--log-level|LOG_LEVEL|设置日志记录级别(DEBUG,INFO,WARNING,ERROR,CRITICAL) |INFO| |--traces-dir|TRACES_DIR|存储工具执行跟踪的目录|~/.ibm-odm-management-mcp-server/traces| |--trace|TRACE|指定要跟踪的内容(EXECUTIONS,EXECUTIONS_WITH_CONTENT,CONFIGURATION) | |--traces-maxsize|TRACES_MAXSIZE|删除最旧痕迹之前要存储的最大痕迹数|200|
筛选已发布工具的参数 |CLI参数|环境变量|描述|默认值| |--------------|----------------------|-------------|---------| |--tools|TOOLS|要发布的工具列表(例如decisionServices版本createRelease)。此选项优先于选项--无工具和--标签|| |--no-tools|NO_TOOLS|要忽略的工具列表(例如launchCleanup擦除executeSqlScript)。此选项优先于选项--tags|| |--tags|TAGS|标签列表(例如,关于探索构建)。仅发布属于所列标记的工具。 | |
在远程模式下启动MCP服务器的参数(允许来自远程MCP客户端的连接) |CLI参数|环境变量|描述|默认值| |--------------|----------------------|-------------|---------| |--transport|TRANSPORT|stdio,streamable-http或sse:管理MCP服务器的通信方式:本地(stdio)或远程(streamable-http或sse)) |stdio| |--host|HOST|MCP服务器在远程模式下监听的IP或主机名。 |0.0.0.0| |--port|PORT|MCP服务器在远程模式下监听的端口。 |3000| |--mount-path|MOUNT_PATH|MCP服务器在远程模式下监听的路径。 |/mcp|
MCP服务器配置文件
您可以使用JSON配置文件为Claude Desktop等客户端配置MCP服务器,该文件可以包含环境变量和命令行参数。
提示:
- 使用CLI参数进行快速覆盖或非敏感参数。
- 使用环境变量作为机密。
- 如果需要,您可以混合使用这两种方法。CLI参数覆盖环境变量。
以下是不同类型的部署(开发/测试或生产)、环境(CloudPak等)和用例的一些示例:
- 示例1:基本身份验证
- 示例2:开发人员ODM的基本授权
- 示例3:对于Cloud Pak(Zen API密钥)
- 示例4:OpenID连接
- 示例5:mTLS(双向TLS)身份验证
- 示例6:工具过滤
- 示例7:基于角色的工具筛选
- 示例8:已启用监控
示例1:基本身份验证
下面的示例显示了一个典型的用例,其中敏感信息(此处为密码)作为环境变量传递(这样它就不会显示在进程的参数中),其他参数作为CLI参数传递:
{
"mcpServers": {
"ibm-odm-management-mcp-server": {
"command": "uvx",
"args": [
"--from", "git+https://github.com/DecisionsDev/ibm-odm-management-mcp-server",
"ibm-odm-management-mcp-server",
"--url", "https://decisioncenter-api-url",
"--res-url", "https://res-console-url",
"--ssl-cert-path", "certificate-file",
"--username", "username"
],
"env": {
"ODM_PASSWORD": "password"
}
}
}
}示例2:开发人员ODM的基本授权
对于本地开发和测试,请使用Basic Auth。
"args": [
"--from", "git+https://github.com/DecisionsDev/ibm-odm-management-mcp-server",
"ibm-odm-management-mcp-server",
"--url", "http://localhost:9060/decisioncenter-api",
"--res-url", "http://localhost:9060/res",
"--username", "odmAdmin"
],
"env": {
"ODM_PASSWORD": "odmAdmin"
}示例3:对于Cloud Pak(Zen API密钥)
对于Cloud Pak上的生产部署,请使用Zen API密钥。
"args": [
"--from", "git+https://github.com/DecisionsDev/ibm-odm-management-mcp-server",
"ibm-odm-management-mcp-server",
"--url", "https://decisioncenter-api-url",
"--res-url", "https://res-console-url",
"--ssl-cert-path", "certificate-file",
"--username", "USERNAME"
],
"env": {
"ZENAPIKEY": "ZEN_API_KEY"
}示例4:OpenID连接
对于Cloud Pak以外的其他环境上的生产部署,如果ODM配置为使用OpenID Connect,则可以使用它。
管理MCP服务器支持以下选项,以对令牌端点和ODM进行身份验证:
- 令牌终结点的客户端身份验证:
- 使用a 客户端密钥 或 - 使用 私钥JWT
- ODM的用户身份验证
- 使用用户的凭据(用户名和密码)(密码授予),或 - 使用客户端服务帐户(客户端凭据授予)
决策中心API的最佳使用方式是使用用户的凭据进行身份验证,以便:
- 用户只能访问他们被允许查看和修改的内容,
- 并且用户的角色被强制执行。
决策服务器API可以使用客户端服务帐户。请注意,如果客户端服务帐户被授予角色(例如。 resDeployer)用户没有的。
- 使用客户端密码和用户凭据的示例
"args": [
"--from", "git+https://github.com/DecisionsDev/ibm-odm-management-mcp-server",
"ibm-odm-management-mcp-server",
"--url", "https://decisioncenter-api-url",
"--res-url", "https://res-console-url",
"--ssl-cert-path", "certificate-file",
"--token-url", "https://your-openid-connect_provider-token-endpoint-url",
"--scope", "the_scope_to_be_used_if_different_from_default_value_openid"
],
"env": {
"CLIENT_ID": "YOUR_CLIENT_ID",
"CLIENT_SECRET": "YOUR_CLIENT_SECRET",
"ODM_USERNAME": "YOUR_USERNAME",
"ODM_PASSWORD": "YOUR_PASSWORD"
}- 使用私钥(PKJWT)并使用客户端凭据向决策服务器API进行身份验证的示例
"args": [
"--from", "git+https://github.com/DecisionsDev/ibm-odm-management-mcp-server",
"ibm-odm-management-mcp-server",
"--res-url", "https://res-console-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_CERT_PATH": "PKJWT_CERTIFICATE_FILENAME"
}示例5:mTLS(双向TLS)身份验证
管理MCP服务器还支持mTLS(双向TLS)身份验证,这进一步保护了SSL连接。
mTLS必须辅以另一种用于授权目的的身份验证/授权方式(以评估访问决策中心的权利),例如下面示例中的基本身份验证:
"args": [
"--from", "git+https://github.com/DecisionsDev/ibm-odm-management-mcp-server",
"ibm-odm-management-mcp-server",
"--url", "https://decisioncenter-api-url",
"--res-url", "https://res-console-url",
"--ssl-cert-path", "certificate-file",
"--username", "USERNAME_OR_SERVICE_ACCOUNT"
],
"env": {
"PASSWORD": "USERNAME_OR_SERVICE_ACCOUNT_PASSWORD",
"MTLS_KEY_PATH": "MTLS_PRIVATE_KEY_FILENAME",
"MTLS_CERT_PATH": "MTLS_CERTIFICATE_FILENAME"
}示例6:工具过滤
您可能只想发布一部分工具。 以下三个选项可以实现这一目标。 它们可以单独使用或一起使用,在后一种情况下,按以下优先顺序处理:
- 首先,您可以明确指定要发布的工具
例如,您可以指定仅发布工具 decisionServices (列出决策服务), decisionService (通过其ID获得决策服务), testSuites (测试套件列表), run (运行测试套件), testreports 和 decisionServicesImport:
"args": [
"--tools", "decisionServices", "decisionService", "testSuites", "run", "testreports", "decisionServicesImport"
]此选项优先于以下其他两个选项:如果使用 --tools 选项,无论其他选项的值如何,它都会被发布。
- 您还可以指定不应发布的工具
例如,您可以发布所有工具,但 wipe, executeSQLScript 和 launchCleanup
"args": [
"--no-tools", "wipe", "executeSQLScript", "launchCleanup"
]此选项优先于下一个选项:如果使用 --no-tools 选项,无论其值如何,都不会发布 --tags 选项。
- 最后,您可以指定应发布的工具的标签
使用时 --tags 选项中,不属于所列标签/类别的工具不会发布。
例如,使用下面的配置,属于标签/类别的决策中心工具 Admin 或 DBAdmin 不会发布:
"args": [
"--tags", "About", "Explore", "Manage", "Govern", "Build", "Interchange"
]在 --tools 和 --no-tools 选项、工具由其标识 operationId.
以下是工具列表及其 operationId ODM 9.5.0.1中的标签:
- 决策中心工具:
operationId | 工具 | 标签 | 角色 |
|---|---|---|---|
| registerWebhook | 注册一个webhook以通知其他应用程序来自决策中心的事件 | 管理 | rtsAdministrator |
| renameSnapshot | 从决策服务重命名快照 | 管理 | |
| addServer | 添加用于部署、模拟和测试的目标服务器 | 管理 | rtsAdministrator |
| createValidationActivity | 在开放版本中创建验证活动 | 管理 | |
| createChangeActivity | 在开放版本中创建更改活动 | 管理 | |
| 快照 | 与决策服务关联的快照列表 | 探索 | |
| 快照 | 在决策服务中创建分支的快照 | 管理 | |
| releases | 决策服务中的发布列表 | 探索 | |
| createRelease | 在决策服务中创建新版本 | Govern | |
| 分支 | 决策服务中的分支列表 | 探索 | |
| createDSBranch | 在决策服务中创建新分支 | 管理 | |
| renameBranch | 从决策服务重命名分支 | 管理 | |
| copyBranch | 从现有分支创建一个新分支,并将其父分支设置为主分支,或者在发布的情况下设置为初始版本 | 管理 | |
| setPersistenceLocale | 设置持久性区域设置 | DBAdmin | rtsAdministrator |
| registerWebhook_1 | 更新webhook以通知其他应用程序来自决策中心的事件 | 管理 | rtsAdministrator |
| deleteWebhook | 注销webhook | 管理 | rtsAdministrator |
| addUser | 添加或更新用户 | 管理员 | rtsAdministrator |
| 运行 | 运行测试套件 | 构建 | |
| 服务器 | 服务器详细信息 | 浏览 | |
| updateServer | 更新用于部署、模拟和测试的目标服务器 | 管理 | rtsAdministrator |
| deleteServer | 删除用于部署、模拟和测试的目标服务器 | 管理 | rtsAdministrator |
| getUsersRolesLegistry | 检索上传的最后一个配置文件 | 管理员 | rtsAdministrator |
| setUsersRolesLegistry | 设置用户、组和角色的配置 | 管理员 | rtsAdministrator |
| ldapSync | 将存储库与任何关联的LDAP服务器同步 | 管理员 | rtsAdministrator |
| 发布 | 发布详情 | 探索 | |
| updateRelease | 更新决策服务的开放版本 | Govern | |
| deleteRelease | 删除决策服务中的开放发布 | 管理 | |
| reopenRelease | 重新打开在决策服务中被取消或拒绝的发布 | 管理 | |
| removeReleaseApprovar | 从决策服务的开放版本中删除审批者 | 管理 | |
| rejectRelease | 拒绝决策服务的公开发布 | 管理 | |
| changeRelease所有者 | 更改决策服务开放版本的所有者 | 管理 | |
| cancelRelease | 取消决策服务中的公开发布 | 管理 | |
| approveRelease | 批准决策服务的公开发布 | 管理 | |
| allowReleaseApproval | 允许批准决策服务的公开发布 | 管理 | |
| addReleaseApprovar | 将审批人添加到决策服务的开放版本中 | Govern | |
| importTabPermissions | 导入选项卡权限 | 管理员 | rtsAdministrator |
| importPermissions | 导入权限 | 管理员 | |
| importCommandPermissions | 导入命令权限 | 管理员 | rtsAdministrator |
| addGroup | 添加或更新组 | 管理员 | rtsAdministrator |
| updateDynamicDomains | 更新动态域 | 管理员 | |
| 部署 | 将RuleApp部署到执行服务器(规则执行服务器) | 构建 | |
| build | 为部署配置构建RuleApp | build | |
| snapshot_1 | 在决策服务中创建分支的快照 | 构建 | |
| branchImport | 在现有分支之上导入决策服务 | 管理员 | |
| importDT | 将Excel文件导入现有决策表 | 管理 | |
| decisionServices导入 | 将决策服务导入存储库 | 管理 | |
| branchSecurity | 分支的安全配置 | 管理员 | rtsAdministrator |
| branchSecurity_1 | 在分支上强制执行安全性 | 管理员 | rtsAdministrator |
| applyAsset | 无 | 交换 | |
| 活动 | 活动详情 | 探索 | |
| updateActivity | 更新开放版本中的活动 | 管理 | |
| deleteActivity | 删除开放版本中的活动 | 管理 | |
| resumeWorkInActivity | 在开放版本中恢复活动中的工作 | 管理 | |
| reopenActivity | 在开放版本中重新打开活动 | 管理 | |
| removeActivityAuthor | 从开放版本中的活动中删除作者 | 管理 | |
| removeActivityApprovar | 从开放发布中的活动中删除审批者 | 管理 | |
| rejectChangesInActivity | 拒绝开放版本中活动的更改 | 管理 | |
| finishWorkInActivity | 完成开放版本中活动的工作 | 管理 | |
| changeActivityOwner | 更改开放版本中活动的所有者 | 管理 | |
| cancelActivity | 取消开放版本中的活动 | 管理 | |
| approveChangesInActivity | 批准开放版本中活动的更改 | 管理 | |
| allowActivityApproval | 允许对公开发布中的活动进行审批 | 管理 | |
| addActivityAuthor | 向开放版本中的活动添加作者 | 管理 | |
| addActivityApprovar | 向开放发布中的活动添加审批人 | 管理 | |
| wipe | 擦除元素版本内容 | DBAdmin | |
| uploadMessages文件 | 持久化本地化消息文件 | DBAdmin | rtsAdministrator |
| uploadExtensionModelFiles | 持久化模型扩展文件.brmx和.brdx | DBAdmin | rtsAdministrator |
| executeSQLScript | 运行SQL脚本 | DBAdmin | rtsAdministrator |
| generate | 启动DC数据库诊断生成 | DBAdmin | rtsAdministrator |
| generateExtensionModelScript | 为模型扩展生成SQL脚本 | DBAdmin | rtsAdministrator |
| stopCleanup | 停止清理操作 | DBAdmin | rtsAdministrator |
| launchCleanup | 启动存储库清理 | DBAdmin | rtsAdministrator |
| webhooks | 获取绑定到此决策中心实例的webhooks列表 | 管理 | rtsAdministrator |
| users | 在决策中心 | 管理员 | rtsAdministrator中定义的用户列表 |
| eraseAllUsers | 删除所有用户 | 管理员 | rtsAdministrator |
| user | 用户详细信息 | 管理员 | rtsAdministrator |
| deleteuser | 删除用户 | admin | rtsadadministrative |
| testSuite | 测试套件的详细信息 | 探索 | |
| testReport | 测试报告的详细信息 | 探索 | |
| deleteTestReport | 删除测试报告 | 生成 | |
| snapshot_2 | 快照的详细信息 | 探索 | |
| deleteSnapshot | 从决策服务中删除快照 | 管理 | |
| 服务器 | 在决策中心中定义的服务器列表 | 浏览 | |
| 度量 | 获取存储库度量 | 管理员 | rtsAdministrator |
| 项目 | 获取具有ID的项目 | 探索 | |
| variablesets | 项目中的variableSet列表 | 探索 | |
| 技术规则 | 项目中的技术规则列表 | 探索 | |
| rules | 项目中的规则列表 | 探索 | |
| ruleflows | 项目中的规则流列表 | 探索 | |
| generateReport | 为项目生成报告 | 探索 | |
| 查询 | 项目中的查询列表 | 探索 | |
| queryRun | 查询返回的元素列表 | Explore | |
| queryReport | 使用查询返回的元素生成报告 | Explore | |
| 操作 | 项目中的操作列表 | 探索 | |
| functions | 项目中的函数列表 | 探索 | |
| 文件夹 | 项目文件夹列表 | 探索 | |
| exportTabPermissions | 将选项卡权限导出为JSON | 管理员 | rtsAdministrator |
| exportPermissions | 将为组定义的权限导出为JSON | 管理员 | rtsAdministrator |
| effectivePermissions | 将一个或多个组的有效权限检索到JSON | 管理 | |
| exportCommandPermissions | 将命令权限导出为JSON | 管理员 | rtsAdministrator |
| groups | 在决策中心 | 管理员 | rtsAdministrator中定义的组列表 |
| eraseAllGroups | 删除所有组 | 管理员 | artsAdministrator |
| group | 组的详细信息 | 管理员 | rtsAdministrator |
| deleteGroup | 删除组 | 管理员 | rtsAdministrator |
| listDynamicDomains | 获取动态域列表 | 管理员 | |
| 部署配置 | 部署配置的详细信息 | 探索 | |
| 下载 | 下载部署配置的RuleApp存档 | 构建 | |
| 部署报告 | 部署报告的详细信息 | 探索 | |
| decisionServices | 获取决策服务列表 | 探索 | |
| decisionService | 通过ID获取决策服务 | 探索 | |
| deleteDecisionService | 删除决策服务 | 管理员 | rtsAdministrator |
| testSuites | 决策服务的测试套件列表 | 探索 | |
| testReports | 决策服务的测试报告列表 | 探索 | |
| projects | 构成决策服务的项目列表以及决策服务本身 | 探索 | |
| decisionService导出 | 将决策服务导出到压缩文件 | 管理 | |
| 部署配置 | 决策服务的部署配置列表 | 探索 | |
| deployment reports | 决策服务的部署报告列表 | 浏览 | |
| exportDT | 从现有决策表导出Excel文件 | 管理 | |
| activities | 决策服务中的活动列表 | 探索 | |
| 分支 | 分支详细信息 | 探索 | |
| deleteBranch | 从决策服务中删除分支 | 管理 | |
| branch_1 | 从 | Admin | rtsAdministrator继承安全配置的分支的详细信息 |
| branchGroups | 在分支上设置的组的逗号分隔列表 | 管理员 | rtsAdministrator |
| about | 获取系统、产品和数据库信息 | about | |
| getExecutionStatus | 获取SQL脚本的运行状态 | DBAdmin | |
| getModelExtensionFiles | 将模型扩展文件作为文件存档检索 | DBAdmin | rtsAdministrator |
| generateMigrationRole | 生成迁移角色 | DBAdmin | rtsAdministrator |
| generateMigrationScript | 生成迁移脚本 | DBAdmin | rtsAdministrator |
| results | 获取DC数据库诊断结果 | DBAdmin | rtsAdministrator |
| isCleanupRunning | 检查清理执行情况 | DBAdmin | |
| cleanupReport | 将上次清理操作的报告导出为JSON | DBAdmin | |
| cleanupOldReports | 将旧的清理报告导出为JSON | DBAdmin | |
| discadBuildState | 丢弃分支、版本、活动和快照的所有构建状态 | 管理 | rtsAdministrator |
- 决策服务器/RES控制台工具:
| 操作ID | 工具 | 标签 | 角色 |
|---|---|---|---|
| getRuleApps | 返回存储库中包含的所有RuleApps。 | ruleapps | resMonitor |
| getCountOfRuleApps | 获取规则应用的计数 | ruleapps | resMonitor |
| getRuleAppsByName | 返回具有指定名称的所有RuleApps | RuleApps | resMonitor |
| getCountOfRuleAppsByName | 按名称获取规则应用的计数 | ruleapps | resMonitor |
| getRuleAppWithHighestNumber | 返回RuleApp的最高版本,由其名称 | ruleapps | resMonitor标识 |
| getRuleAppWithHighestNumberArchive | 返回RuleApp | ruleapps | resMonitor最高版本的存档 |
| getRuleApp | 返回由其名称和版本号标识的RuleApp | ruleapps | resMonitor |
| getRulesets | 返回RuleApp | ruleapps | resMonitor中包含的所有规则集 |
| getCountOfRulesets | 获取规则集计数 | ruleapps | resMonitor |
| addRuleset | 在存储库 | ruleapps | resDeployer中的RuleApp中添加一个新规则集,由其名称和版本号标识 |
| getRuleAppArchive | 返回RuleApp | ruleapps | resMonitor的存档 |
| notifyRuleAppChanges | 通知重新加载RuleApp | ruleapps | resMonitor中包含的所有规则集 |
| getRuleAppProperties | 返回与RuleApp | ruleapps | resMonitor关联的所有属性 |
| getCountOfRuleAppProperties | 获取ruleapp属性的计数 | ruleapps | resMonitor |
| addRuleAppProperty | 向RuleApp添加一个新的命名属性,由其名称和版本号 | ruleapps | resDeployer标识 |
| updateRuleAppProperty | 更新由RuleApp的名称和版本号标识的RuleApp的现有属性 | ruleapps | resDeployer |
| deleteRuleAppProperty | 删除由RuleApp的名称和版本号标识的RuleApp的命名属性 | ruleapps | resDeployer |
| getRulesetsByName | 返回RuleApp | ruleapps | resMonitor中包含的具有该名称的所有规则集 |
| getCountOfRulesetsByName | 按名称获取规则集计数 | ruleapps | resMonitor |
| getRulesetWithHighestNumber | 返回规则集的最高版本,由其名称标识,包含在由其名称和版本号标识的RuleApp中 | ruleapps | resMonitor |
| getRulesetWithHighestNumberArchive | 返回由规则集的名称及其RuleApp | ruleapps | resMonitor的名称和最高版本标识的规则集的最高版本的存档 |
| getRulesetWithHighestArchive2 | 返回由其名称及其RuleApp | ruleapps | resMonitor的名称和版本号标识的规则集最高版本的存档 |
| getRuleset | 返回RuleApp | ruleapps | resMonitor中包含的规则集,由其名称和版本号标识 |
| getRulesetXOM | 返回RuleApp | ruleapps | resMonitor中包含的规则集引用的XOM |
| getRulesetSignature | 返回规则集的签名,由其名称和版本号以及RuleApp | ruleapps | resMonitor的名称和版本编号标识 |
| getRulesetArchive | 返回由其名称和版本号以及RuleApp | ruleapps | resMonitor的名称和版本编号标识的规则集的存档 |
| updateRulesetArchive | 用另一个规则集存档替换现有的规则集存档 | ruleapps | resDeployer |
| notifyRulesetChanges | 通知重新加载规则集,由其名称和版本号以及RuleApp | ruleapps | resMonitor的名称和版本编号标识 |
| getRulesetProperties | 返回与规则集关联的所有属性,这些属性由其名称和版本号以及RuleApp | ruleapps | resMonitor的名称和版本编号标识 |
| getCountOfRulesetProperties | 获取规则集属性计数 | ruleapps | resMonitor |
| addRulesetProperty | 向规则集中添加一个新的命名属性,该属性由其名称和版本号标识,包含在由其名称与版本号标识的RuleApp中 | ruleapps | resDeployer |
| updateRulesetProperty | 更新规则集的现有属性,该属性由其名称和版本号以及RuleApp | ruleapps | resDeployer的名称和版本编号标识 |
| deleteRulesetProperty | 删除由名称和版本号标识的规则集的命名属性,该属性包含在由名称和版号标识的RuleApp中 | ruleapps | resDeployer |
| deployRulesetArchive | 在存储库中的指定位置部署规则集存档 | ruleapps | resDeployer |
| updateRuleset | 更新存储库 | ruleapps | resDeployer中RuleApp中由其名称和版本号标识的现有规则集 |
| deleteRuleset | 删除RuleApp中包含的由其名称和版本号标识的规则集 | ruleapps | resDeployer |
| updateRuleApp | 更新存储库中的现有RuleApp | ruleapps | resDeployer |
| deleteRuleApp | 从存储库中删除由其名称和版本号标识的RuleApp | ruleapps | resDeployer |
| deployRuleAppArchive | 根据作为参数传递的合并和版本控制策略,在存储库中部署RuleApp存档 | ruleapps | resDeployer |
| addRuleApp | 在存储库中添加新的RuleApp | ruleapps | resDeployer |
| getAllRulesets | 返回存储库的所有规则集。 | 规则集 | resMonitor |
| getCountOfAllRulesets | 获取所有规则集的计数 | 规则集 | resMonitor |
| getLibraries | 返回存储库中包含的所有托管XOM库。 | 库 | resMonitor |
| getCountOfLibraries | 获取库计数 | 库 | resMonitor |
| getLibrarysByName | 返回所有托管XOM库,由其名称 | libraries | resMonitor标识 |
| getCountOfLibrarysByName | 按名称获取库计数 | 库 | resMonitor |
| getLibraryWithHighestNumber | 返回托管XOM库的最高版本,由其名称 | libraries | resMonitor标识 |
| getLibrary | 返回托管XOM库 | 库 | resMonitor的描述 |
| addLibrary | 在存储库中添加新的托管XOM库。 | 库 | resDeployer |
| updateLibrary | 更新现有托管XOM库引用的资源和库 | 库 | resDeployer |
| deleteLibrary | 从存储库中删除命名库 | 库 | resDeployer |
| deleteUnusedLibrary | 从存储库中删除未使用和/或有错误的库 | 库 | resDeployer |
| getResources | 返回存储库中包含的所有托管XOM。 | xoms | resMonitor |
| getCountOfResources | 获取资源计数 | xoms | resMonitor |
| getResourcesByName | 返回具有指定名称 | XOMs | resMonitor的所有托管XOM |
| getCountOfResourcesByName | 按名称获取资源计数 | xoms | resMonitor |
| getByteCodeOfHighestResource | 返回托管XOM的最高版本的字节码 | xoms | resMonitor |
| getResourceWithHighestNumber | 返回由其名称 | xoms | resMonitor标识的托管XOM的最高版本 |
| getResource | 返回托管XOM | xoms | resMonitor的描述 |
| getByteCodeOfResource | 返回由其名称和版本号标识的托管XOM的字节码 | xoms | resMonitor |
| deleteResource | 从存储库中删除托管XOM | xoms | resDeployer |
| deployResource | 在存储库中部署托管XOM | xoms | resDeployer |
| deleteUnusedXomResources | 从存储库中删除未使用和/或出错的XOM资源 | xoms | resDeployer |
| getDecisionTraces | 从存储库中返回与可选选择筛选器匹配的所有决策仓库跟踪。 | 决策跟踪 | resMonitor |
| getCountOfDecisionTraces | 获取决策跟踪计数 | decisiontraces | resMonitor |
| getDecisionTrace | 返回具有指定执行标识符的决策仓库跟踪 | decisiontraces | resMonitor |
| deleteDecisionTrace | 从存储库中删除具有指定执行标识符的跟踪 | decisiontraces | resDeployer |
| deleteDecisionTracesByIds | 当执行标识符包含在请求正文中时,删除所有决策仓库跟踪 | decisiontraces | resDeployer |
| deleteDecisionTraces | 删除与可选选择筛选器匹配的所有决策仓库跟踪。 | 决策跟踪 | resDeployer |
| getExecutionUnits | 返回所有执行单元的信息。 | 执行单位 | resMonitor |
| getCountOfExecutionUnits | 获取执行单元计数 | 执行单元 | resMonitor |
| getRulesetStatistics | 返回规则集的执行统计信息 | executionunits | resMonitor |
| resetRulesetStatistics | 重置规则集的执行统计信息。 | 执行单位 | resDeployer |
| getRulesetStatisticsForExecutionUnit | 返回有关规则集的执行统计信息 | executionunits | resMonitor |
| getConsoleInfo | 返回规则执行服务器控制台初始化信息。 | 实用程序 | resMonitor |
| getDiagnostics | 返回规则执行服务器诊断信息。 | 实用程序 | resMonitor |
| getDiagnosticById | 返回指定元素ID的诊断信息。 | 实用程序 | resMonitor |
| getVersion | 返回规则执行服务器版本信息。 | 实用程序 | resMonitor |
示例7:基于角色的工具筛选
某些工具仅限于具有特定角色的用户使用。当管理MCP服务器使用不授予所需角色的凭据时,这些工具会被自动过滤掉。 请参阅上表中的“角色”列,了解每个工具所需的角色。
在下面的示例中(适用于ODM for Developer),定义了两个MCP服务器,每个服务器使用不同的凭据。
- 第一个MCP服务器发布用户可以使用的决策中心工具子集
rtsUser角色 - 第二MCP服务器发布决策服务器控制台工具的子集,用户可以使用
rtsMonitor角色
{
"mcpServers": {
"ibm-odm-dc-management-mcp-server": {
"command": "uvx",
"args": [
"--from", "git+https://github.com/DecisionsDev/ibm-odm-management-mcp-server",
"ibm-odm-management-mcp-server",
"--url", "http://localhost:9060/decisioncenter-api",
"--username", "rtsUser1"
],
"env": {
"ODM_PASSWORD": "rtsUser1"
}
},
"ibm-odm-res-management-mcp-server": {
"command": "uvx",
"args": [
"--from", "git+https://github.com/DecisionsDev/ibm-odm-management-mcp-server",
"ibm-odm-management-mcp-server",
"--res-url", "http://localhost:9060/res",
"--username", "resMonitor"
],
"env": {
"ODM_PASSWORD": "resMonitor"
}
}
}
}示例8:已启用监控
使用下面的配置,MCP服务器会记录一个名为 --.json 在 ~/.mcp-server-traces 每次运行工具时,都会打开目录。此文件为空。或者,它可以通过替换来存储工具执行的输入和输出 EXECUTIONS 随着 EXECUTIONS_WITH_CONTENT.
"args": [
"--from", "git+https://github.com/DecisionsDev/ibm-odm-management-mcp-server",
"ibm-odm-management-mcp-server",
"--url", "https://decisioncenter-api-url",
"--res-url", "https://res-console-url",
"--username", "odmAdmin",
"--trace", "EXECUTIONS",
"--traces-dir", "~/.mcp-server-traces"
],
"env": {
"ODM_PASSWORD": "odmAdmin"
}通过此配置,一个名为 getToolExecutions 可用于返回工具执行。默认情况下,MCP服务器只保留200次执行(可配置)。达到此限制后,将删除最旧的执行。
此工具可以查询特定工具或特定HTTP响应代码的执行情况。它可以选择检索用于调用工具的输入和返回的输出,前提是这些信息已存储(需要参数 EXECUTIONS_WITH_CONTENT).
您可以向AI代理提出以下问题:
Which tools have been executed the most?Have users been added or deleted? If so, which ?Which executions failed and for which reason ?注意:您还可以让MCP服务器记录一个名为parsing.json通过添加以下内容,包含返回给AI代理(用于调试)的工具列表CONFIGURATION论点:"--trace", "EXECUTIONS", "CONFIGURATION",.
Docker 镜像
该存储库具有 以便您可以构建一个运行IBM ODM Management MCP服务器的Docker映像,这对于远程运行MCP服务器非常有用。
您可以在 readme。
