关于 Watson Orchestrate
Watson Orchestrate MCP Server 让团队从支持 MCP 的 AI 环境管理 IBM Watson Orchestrate 工具、Agent、连接和流程。它将操作转发到 Watson Orchestrate REST API,也可执行工具或调用 Agent。
主要功能
- 01管理工具和技能
- 02创建和管理 Agent
- 03管理连接及凭据
- 04创建、查看和删除流程
- 05执行工具并调用 Agent
- 06获取 OpenAPI 规范
适用场景
- 01查看和整理 Watson Orchestrate 工具目录
- 02创建 Agent 并为其分配工具
- 03为 API 工具配置连接
- 04从 AI 环境运行工具或与 Agent 对话
MCP 相关
它作为 MCP 服务运行,向客户端提供通过 REST API 转发至 Watson Orchestrate 实例的工具。Cursor、VS Code Copilot 和 Claude Desktop 等 MCP 客户端可调用这些操作。
配置
本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。
npx -y @markusvankempen/wxo-builder-mcp-serverWO_API_KEY密钥IBM Cloud API key for Watson OrchestrateWO_INSTANCE_URLWatson Orchestrate instance URL (e.g. https://xxx.orchestrate.ibm.com)本地服务需要在你的电脑上安装运行环境(如 Node.js 18+)。各客户端的配置文件位置不同,请参考客户端文档。
工具
35收录的工具列表 · 更新于 3 周前
| 参数 | 类型 | 必填 | 说明 |
|---|---|---|---|
| format | enum | 否 | full | summary |
详细介绍
WXO Builder MCP 服务
版本 1.0.4 · 作者 Markus van Kempen · 日期 2026-02-20
适用于 IBM Watson Orchestrate (WXO) 的 MCP 服务。可通过 Cursor、VS Code Copilot、Claude Desktop、Antigravity、Windsurf 或 WxO Builder 扩展来管理工具、Agent、连接和流程,并执行工具。
markusvankempen.github.io · WxO Builder 扩展 · 贡献指南 · 更新日志 · 发布指南 · 许可证
架构与数据流
此软件包有双重角色:
- MCP 协议:它作为一个MCP 服务运行——你的 AI 环境(Cursor、Claude Desktop、VS Code Copilot、Antigravity、Windsurf 等)是连接到它并调用工具的 MCP 客户端。
- **Watson Orchestrate:**它作为一个 HTTP 客户端运行——向你的 Watson Orchestrate 实例发送 REST 请求。Watson Orchestrate 不会反向连接到此进程。
┌─────────────────────────────────┐ MCP protocol ┌──────────────────────────┐ HTTP (REST API) ┌─────────────────────────┐
│ MCP Client │ ◄──────────────────► │ WXO Builder MCP Server │ ───────────────────► │ Watson Orchestrate │
│ (Cursor, Claude Desktop, │ tool calls │ (this package) │ /v1/orchestrate/* │ instance │
│ Copilot, Antigravity, etc.) │ │ │ │ (your WO cloud/hosted) │
└─────────────────────────────────┘ └──────────────────────────┘ └─────────────────────────┘
MCP 服务公开的工具可将操作转发到 Watson Orchestrate。调用工具时(例如 list_skills、invoke_agent),服务会将请求转发到 Watson Orchestrate API 并返回结果。
相关内容:WxO Builder 扩展 + MCP 服务——完美搭配
WxO Builder 扩展与此 MCP 服务协同工作,可直接在 IDE 中创建和管理 Watson Orchestrate。使用扩展进行可视化编辑,使用 MCP 服务处理 AI 驱动的工作流(Cursor、Claude Desktop 等)。
该扩展支持可视化创建工具、拖放式编辑 Agent,以及本地/远程测试。MCP 服务向 Cursor、Claude Desktop、Antigravity、Windsurf 和 VS Code Copilot 中的 AI 助手提供相同的 Watson Orchestrate 功能。
目录列表文案(cursor.directory 等)
Cursor 深度链接(使用此链接,让安装对话框显示“WxO Builder MCP Server”):
cursor://anysphere.cursor-deeplink/mcp/install?name=WxO%20Builder%20MCP%20Server&config=eyJXeE8gQnVpbGRlciBNQ1AgU2VydmVyIjp7ImNvbW1hbmQiOiJucHgiLCJhcmdzIjpbIi15IiwiQG1hcmt1c3ZhbmtlbXBlbi93eG8tYnVpbGRlci1tY3Atc2VydmVyIl0sImVudiI6eyJXT19BUElfS0VZIjoieW91ci1hcGkta2V5IiwiV09fSU5TVEFOQ0VfVVJMIjoiaHR0cHM6Ly95b3VyLWluc3RhbmNlLm9yY2hlc3RyYXRlLmlibS5jb20ifX19
Cursor 深度链接生成器的配置 JSON:
{
"WxO Builder MCP Server": {
"command": "npx",
"args": ["-y", "wxo-builder-mcp-server"],
"env": {
"WO_API_KEY": "your-api-key",
"WO_INSTANCE_URL": "https://your-instance.orchestrate.ibm.com",
"WO_AGENT_IDs": "agent-id-1,agent-id-2"
}
}
}
设置 WO_AGENT_IDs(以逗号分隔的列表)或 WO_AGENT_ID 后,当用户未指定 Agent 时,基于 Agent 的工具会使用第一个 ID 作为默认值。
简短描述(≤100 个字符):
管理 Watson Orchestrate 工具、Agent 和连接。搭配 WxO Builder 扩展使用。
较长描述:
可从 Cursor、Copilot 或 Claude 管理 IBM Watson Orchestrate(WXO)的工具、Agent、连接和流程。建议搭配 WxO Builder VS Code 扩展使用,获得完整的 IDE 体验:可视化创建工具、拖放式 Agent,以及本地/远程测试。
分发选项:
- npm – 安装
wxo-builder-mcp-server(推荐) - MCP Registry – registry.modelcontextprotocol.io/?q=wxo-builder-mcp-server
- 独立仓库 – github.com/markusvankempen/wxo-builder-mcp-server,用于仅克隆 MCP 服务
- Devkit – 此软件包也是 watsonx-orchestrate-devkit 的一部分,位于
packages/wxo-builder-mcp-server(与 WxO Builder 扩展共用)
从 npm 安装
npm install wxo-builder-mcp-server
在 Cursor 中一键安装
添加到 Cursor — 点击安装(显示“WxO Builder MCP Server”)。然后在 Cursor MCP 设置中设置 WO_API_KEY 和 WO_INSTANCE_URL。
快速开始
- 设置环境变量(或使用
.env):
WO_API_KEY=<your_ibm_cloud_api_key>
WO_INSTANCE_URL=https://<your-instance-id>.orchestrate.ibm.com
# Optional: default agent(s) when user omits agent_id/agent_name (first is used)
WO_AGENT_IDs=agent-id-1,agent-id-2
# Or single agent (backwards compatible):
# WO_AGENT_ID=<your-agent-id>
设置 WO_AGENT_IDs(以逗号分隔)或 WO_AGENT_ID 后,当用户未指定 Agent 时,工具会使用第一个 ID 作为默认值。
- 配置 MCP 客户端 – 使用
npx,这样就无需引用.js路径。Cursor 配置示例(.cursor/mcp.json):
{
"mcpServers": {
"watsonx": {
"command": "npx",
"args": ["-y", "wxo-builder-mcp-server"],
"env": {
"WO_API_KEY": "your-api-key",
"WO_INSTANCE_URL": "https://xxx.orchestrate.ibm.com"
}
}
}
}
VS Code Copilot 使用 servers 而不是 mcpServers;command 和 args 相同:
{
"servers": {
"watsonx": {
"type": "stdio",
"command": "npx",
"args": ["-y", "wxo-builder-mcp-server"],
"env": {
"WO_API_KEY": "...",
"WO_INSTANCE_URL": "https://...orchestrate.ibm.com"
}
}
}
}
配置示例
可直接复制的示例文件位于 examples/:
| 文件 | 用途 |
|---|---|
examples/.vscode/mcp.json | VS Code / GitHub Copilot → 复制到 .vscode/mcp.json |
examples/.cursor/mcp.json | Cursor → 复制到 .cursor/mcp.json |
examples/claude-desktop-config.json | Claude Desktop → 合并到 ~/Library/Application Support/Claude/claude_desktop_config.json |
examples/antigravity-mcp-config.json | Antigravity → 通过 Manage MCP Servers 添加到 mcp_config.json |
examples/windsurf-mcp-config.json | Windsurf → 复制到 ~/.codeium/windsurf/mcp_config.json |
examples/env.example | 可选的环境变量 .env 文件 |
详情请参阅 examples/README.md。
功能(与 VS Code 扩展保持一致)
OpenAPI 规范
watson-orchestrate-openapi.json– 描述此 MCP 服务使用的 Watson Orchestrate REST API 的 OpenAPI 3.0 规范(工具、Agent、连接、流程、运行)。使用get_api_spec获取。get_api_spec– 返回 OpenAPI 规范(完整内容或摘要)。可用于了解 Watson Orchestrate 实例支持哪些操作。
工具(技能)
list_skills– 列出目录中的所有工具(默认上限为 100)list_tools_with_connections– 按连接状态分组列出工具(已连接的工具与标准工具)。**与扩展程序的 Tools 视图一致。**适用于“列出我已建立活动连接的 Watson Orchestrate 工具”等提示词。list_standard_tools– 仅列出标准工具(无连接)。返回准确的数量和列表。get_skill– 按 ID 获取工具delete_skill– 删除工具deploy_skill– 根据 OpenAPI 规范创建工具。将openapi_spec["x-ibm-connection-id"]设置为将连接绑定到工具deploy_tool_from_url– 根据 URL 创建工具。支持 (1) 使用 API 密钥的 API → 自动创建连接;(2) 公共 API(REST Countries、Open-Meteo)→ 无需身份验证。create_python_tool_from_tool_spec_json– 根据tool-spec.json内容创建 Python 工具。传入原始 JSON 字符串以及python_code和requirements。当用户说“根据这个 tool-spec.json 创建工具”时使用(例如 CreatingZipFileBasedonDocuments)。create_python_tool_and_upload– 一步创建 Python 工具并上传其制品。tool_spec、python_code、可选的requirements、python_filename。create_tool_and_assign_to_agent– 一步根据 URL 创建工具并将其分配给 Agent。如果已设置WO_AGENT_IDs,则agent_id/agent_name为可选项。assign_tool_to_agent– 将工具分配给 Agent。如果已设置WO_AGENT_IDs,则agent_id/agent_name为可选项。update_skill– 更新名称、描述、权限(创建后无法编辑绑定/连接)copy_skill– 复制工具。使用new_name(例如 "MVKWeatherV2")为副本命名。保留连接和参数。名称只能包含字母、数字和下划线。execute_tool– 按名称或 ID 执行工具。agent_id为可选项;省略时使用WO_AGENT_IDs中的第一个值。
Agent
list_agents– 列出所有 Agentget_agent– 按 ID 或名称获取 Agent。如果已设置WO_AGENT_IDs,则agent_id/agent_name为可选项。get_agent_chat_starter_settings– 获取欢迎消息和快捷提示词。如果已设置WO_AGENT_IDs,则agent_id/agent_name为可选项。update_agent_chat_starter_settings– 更新welcome_message和quick_prompts。如果已设置WO_AGENT_IDs,则agent_id/agent_name为可选项。list_agent_tools– 列出分配给 Agent 的工具及其显示名称。如果已设置WO_AGENT_IDs,则agent_id/agent_name为可选项。create_agent– 创建 Agent。传入tools数组以将工具分配给 Agentupdate_agent– 更新 Agent。如果已设置WO_AGENT_IDs,则agent_id/agent_name为可选项。update_agent_instructions_from_tools– 根据已分配的工具自动生成并设置指令。如果已设置WO_AGENT_IDs,则agent_id/agent_name为可选项。invoke_agent– 与 Agent 聊天。如果已设置WO_AGENT_IDs,则agent_id/agent_name为可选项。delete_agent– 删除 Agent
连接
list_connectors– 列出可用的连接器目录list_connections– 列出已配置的连接(范围:draft、live、all)list_active_live_connections– 仅列出活动且处于 live 状态的连接(不含工具),并去重。适用于“列出所有活动且处于 live 状态的连接,只要连接”。get_connection– 按 app_id 获取连接create_connection– 创建连接条目delete_connection– 删除连接configure_connection– 为连接设置凭据(api_key、basic、bearer)
流程
list_flows、get_flow、create_flow、delete_flow
客户端兼容性
MCP 服务经过测试,可与以下客户端配合使用:
| 客户端 | 配置 | 备注 |
|---|---|---|
| Cursor | examples/.cursor/mcp.json | stdio、npx 或 node |
| VS Code Copilot | examples/.vscode/mcp.json | 使用 servers 键、type: "stdio" |
| Antigravity | examples/antigravity-mcp-config.json | 通过 Manage MCP Servers 添加 |
| Langflow | STDIO 或 JSON 模式 | 为 DataFrame 扁平化输出;列表工具没有 limit/offset 参数 |
Langflow: 工具输出会规范化为由扁平字典组成的列表(仅含基本类型值),以便 MCP Tools 组件通过 DataFrame 验证。嵌套对象(例如 binding、input_schema)会转换为 JSON 字符串。Cursor、VS Code 和 Antigravity 接收相同格式,运行方式一致。
验证: 设置 WO_API_KEY 和 WO_INSTANCE_URL 后,运行 npm run test:integration,以验证核心功能。对于 Cursor/VS Code:添加服务,然后询问“列出我的 Watson Orchestrate 工具”或“我有哪些 Agent?”。对于 Langflow:添加 MCP 服务,将 MCP Tools 连接到 Agent,然后运行工作流。
配置
设置以下环境变量(或使用 .env 文件):
WO_API_KEY=<your_ibm_cloud_api_key>
WO_INSTANCE_URL=https://<your-instance-id>.orchestrate.ibm.com
# Optional: default agent(s) when user omits agent_id/agent_name (first is used)
WO_AGENT_IDs=agent-id-1,agent-id-2
有关 WO_AGENT_IDs 和 WO_AGENT_ID 的完整详情,请参阅快速入门。
故障排除
“Process exited with code 2” / “MCP server could not be started”
- 确保已设置凭据 ——
WO_API_KEY和WO_INSTANCE_URL必须位于 MCP 配置的env块中,或位于.env文件中。 - 验证服务可手动运行 —— 在终端中:
服务应启动并等待。按 Ctrl+C 退出。WO_API_KEY=your-key WO_INSTANCE_URL=https://xxx.orchestrate.ibm.com npx -y wxo-builder-mcp-server - 检查 Node 版本 —— 需要 Node.js 18+。
- WxO Builder 扩展 —— 确保已在扩展设置中设置 API Key 和 Instance URL(在 VS Code 设置中搜索
wxo-builder)。
在本地运行
npm install
npm run build
node dist/index.js
集成测试
测试套件使用用户风格的测试问题验证与扩展的 MCP 一致性。完整文档请参阅 tests/README.md。测试问题定义在 tests/test-questions.ts 中——添加新问题即可扩展验证范围。
# With WO credentials (runs all 4 tests)
WO_API_KEY=... WO_INSTANCE_URL=... npm run test:integration
# Without WO credentials (runs local execution test only)
npm run test:integration
测试问题: 列出实时连接 | 复制工具 | 列出标准工具 | 从 URL 创建 MVKWeather | 本地/远程执行 | Agent 聊天 | 汇率 | REST Countries + 分配 | 列出 Agent 工具 | 从 tool-spec.json 创建工具(CreatingZipFileBasedonDocuments)| Agent 对话 ZIP | 下载工具制品
将工具分配给 Agent
使用 create_agent 或 update_agent,并传入包含工具 ID 的 tools 数组:
{
"name": "My Agent",
"description": "...",
"model_id": "groq/openai/gpt-oss-120b",
"instructions": "...",
"tools": ["tool-id-1", "tool-id-2"]
}
将连接分配给工具
使用 deploy_skill 部署工具时,在 OpenAPI 规范中加入 x-ibm-connection-id(或连接的 app_id),以绑定连接:
{
"tool_spec": { "name": "my_tool", "description": "..." },
"openapi_spec": {
"openapi": "3.0.1",
"info": { "title": "My Tool", "version": "1.0.0" },
"x-ibm-connection-id": "YOUR_APP_ID",
"paths": { ... }
}
}
编辑器配置(VS Code、Cursor、Claude Desktop、Antigravity、Windsurf)
重要: MCP 配置不应放在 VS Code 的 settings.json 中。请使用适用于编辑器的正确配置文件。
VS Code(搭配 GitHub Copilot)
配置文件:.vscode/mcp.json(工作区),或运行 MCP: Open User Configuration 进行全局配置。使用 npx(无需 .js 路径):
{
"servers": {
"watsonx": {
"type": "stdio",
"command": "npx",
"args": ["-y", "wxo-builder-mcp-server"],
"env": {
"WO_API_KEY": "...",
"WO_INSTANCE_URL": "https://...orchestrate.ibm.com"
}
}
}
}
Cursor
配置文件:.cursor/mcp.json(项目)或 ~/.cursor/mcp.json(全局)。使用 mcpServers(而非 servers)。command 和 args 与上文相同。
Antigravity(Google)
打开 Manage MCP Servers → View raw config,然后将 examples/antigravity-mcp-config.json 中的 watsonx 条目添加到 mcp_config.json。格式与 Cursor 的 mcpServers 相同。
Windsurf(Codeium)
配置文件:~/.codeium/windsurf/mcp_config.json(macOS/Linux)或 %USERPROFILE%\.codeium\windsurf\mcp_config.json(Windows)。使用 examples/windsurf-mcp-config.json。格式与 Cursor 的 mcpServers 相同。更改后重启 Windsurf。
替代方案:WxO Builder 扩展捆绑的服务
如果你已安装 WxO Builder VSIX,并希望使用其捆绑的服务(无需安装 npm),请使用扩展路径:
"command": "node",
"args": ["/Users/YOUR_USERNAME/.vscode/extensions/markusvankempen.wxo-builder-0.0.6/server/dist/index.js"]
本地构建(devkit 或独立仓库)
如果你克隆了 devkit 或独立仓库,请通过包目录(不带 .js 路径)使用 npx 构建并运行:
cd packages/wxo-builder-mcp-server # devkit
# or
cd wxo-builder-mcp-server # standalone repo
npm install && npm run build
{
"servers": {
"watsonx": {
"type": "stdio",
"command": "npx",
"args": ["-y", "/path/to/wxo-builder-mcp-server"],
"env": {
"WO_API_KEY": "...",
"WO_INSTANCE_URL": "https://...orchestrate.ibm.com"
}
}
}
}
发布(维护者专用)
发布到 npm
在 devkit 或独立仓库中:
cd packages/wxo-builder-mcp-server # devkit
# or
cd . # standalone repo root
npm run build
npm publish --access public
发布到 MCP Registry
- 安装 MCP publisher CLI:
brew install mcp-publisher - 登录:
mcp-publisher login github - 更新
server.json中的版本,使其与package.json一致 - 发布:
mcp-publisher publish
该服务将在 registry.modelcontextprotocol.io 上显示为 io.github.markusvankempen/wxo-builder-mcp-server。
实现:TypeScript 与 Node.js
此 MCP 服务使用 TypeScript 编写,并编译为 JavaScript。它会加载 OpenAPI 规范(watson-orchestrate-openapi.json),用于文档说明和发现。
选择 TypeScript 实现 Watson Orchestrate 的原因:
- 代码库规模更大(技能、Agent、连接、流程、身份验证、模型)
- 为 Watson Orchestrate 各种各样的 API 响应提供类型安全保障
- 更易于跨多个模块进行维护和扩展
许可证
Apache-2.0 — 查看 LICENSE。CONTRIBUTING · CHANGELOG
评论
一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。