mcpField
U
uipath-mcp-servers

uipath-mcp-servers

github.com/uipathAgent 工作流17546 次安装今天更新
代码仓库

关于 uipath-mcp-servers

用于通过 UiPath Orchestrator 的 Agent Gateway 和 `uip agenthub` 命令行管理 MCP 服务及其工具的技能。涵盖服务生命周期、工具配置、连接检查,以及获取客户端使用的 URL。

主要功能

  1. 01创建和管理 MCP 服务
  2. 02刷新服务工具
  3. 03检查连接和工具
  4. 04将 UiPath 项目绑定为工具
  5. 05配置 platform 服务工具
  6. 06获取客户端连接 URL

适用场景

  1. 01设置 Agent Gateway MCP 服务
  2. 02将流程或 Agent 暴露为工具
  3. 03检查服务连接和工具
  4. 04查找 platform 服务提供的工具

MCP 相关

指导使用 `uip agenthub mcp` 和 `mcp-tools` 管理 MCP 服务及其工具,包括获取客户端连接所需的 MCP URL。

安装

复制下面的命令,在终端中运行。

$npx skills add https://github.com/uipath/skills --skill uipath-mcp-servers

安装后在 Claude Code 中输入/uipath-mcp-servers确认已加载。

包含的文件

除 SKILL.md 外,安装时一起下载的参考资料和脚本。

references/
tools-guide.md
troubleshooting-guide.md
updating-servers-guide.md

详细介绍

UiPath Agent Gateway MCP 服务

Agent Gateway 是 Orchestrator 中 MCP 服务和 A2A Agent 的中心:简介、MCP 服务类型。本技能介绍其 MCP 服务。CLI 命令组名为 agenthub:uip agenthub mcp 用于管理服务,uip agenthub mcp-tools 用于管理服务的工具。

何时使用此技能

服务 — uip agenthub mcp,以及用于查询 platform 名称的 uip agenthub platform-services / platform-tools:

  • 创建、更新、删除、列出或获取任意类型的 MCP 服务(服务类型说明了各类型的适用场景),并刷新其工具。
  • 检查服务是否正常工作:检查其 Integration Service 连接及其工具(检查服务)。
  • 获取 MCP 客户端连接所用的 McpUrl。
  • 查找 platform 服务可以公开的 UiPath 服务和工具名称。

工具 — uip agenthub mcp-tools:

  • 将 Orchestrator 流程、Agent、代理流程或 API 工作流绑定为 uipath 服务上的工具;编辑或移除这些工具。
  • 在 platform 服务上添加或移除工具。
  • 列出或获取任意服务的工具。

不属于本技能的内容: 调用 MCP 工具的 Agent → uipath-agents;将 uip CLI 本身作为 MCP 服务运行(uip mcp serve)→ uipath-platform;A2A Agent(uip agenthub remote-a2a-agent --help;没有技能涵盖此项)。没有技能涵盖 MCP 服务本身的编写(uipath-mcp Python SDK、FastMCP、可自托管运行时):请参阅 uipath-mcp 快速入门。

重要规则

以下是 CLI 不会在 --help 中说明的事项。

  1. 传入的 slug 必须与 mcp list 输出的完全一致。 创建时 CLI 不会验证 slug:如果未指定 --slug,它会将小写的 --name 中其他字符替换为 - 后发送,但结果仍可能少于 3 个字符或多于 50 个字符。服务要求 slug 符合 ^[a-z0-9-]+$,长度为 3-50 个字符(显示名称为 3-100 个字符),因此务必传入 --slug。服务会先按显示名称、再按 slug 查找服务,因此如果 mcp get、mcp update、refresh-tools 和所有 mcp-tools ... --mcp 命令的参数解析后对应的是另一个 slug,就会拒绝该参数('<INPUT>' resolves to the MCP server '<SLUG>' …)。绝不要传入显示名称或 GUID:mcp delete 对 slug 以外的任何值都会返回 404。

  2. 每个服务命令都要指定其文件夹。 按照文件夹上下文中各命令的说明,传入 --folder-key <FOLDER_KEY>(GUID)或 --folder-path <FOLDER_PATH>(名称或 Parent/Child),两者不可同时传入。slug 对应的 404 通常意味着文件夹不正确:使用 mcp list --all-folders 查找服务,并传入其 FolderKey。

  3. 负载使用 camelCase;CLI 打印的其他所有内容均使用 PascalCase。 --file / --body 中的键必须使用 API 的 camelCase 名称(name、slug、uri、headers、processKey、targetIdentifier 等)。mcp create、mcp update 以及 mcp-tools 的 create / update 动词会拒绝大小写与字段名称不符的键,即使使用 --dry-run 也一样(Payload keys differ from their fields only in case: `Name` should be `name`, …):请按列出的名称重命名每个键。与任何字段都不匹配的键会被直接丢弃,不会报错。mcp template 和 mcp-tools template 会打印 camelCase 负载:编辑后按原样发送。--print-schema 会描述 camelCase 负载,但它本身不是负载。mcp get、mcp list、所有 create / update 结果、mcp-tools list 和 --dry-run 计划会打印 PascalCase:将复制的值放到 --print-schema 提供的 camelCase 名称下。mcp get 还会将远程服务的 URI 显示为 Arguments,将远程服务 / swagger 标头显示为 EnvironmentVariables。

  4. 使用标志设置标头和环境变量。 在 create 和 update 中,remote / swagger 使用 --header <NAME>=<VALUE>,command 使用 --env <KEY>=<VALUE>,每个条目使用一次。CLI 会发送以换行符分隔的 Name:Value / KEY=VALUE 行,供服务存储;如果名称重复或值包含换行符,则会拒绝。标头值恰好为 %ASSETS/<ASSET_NAME>% 时,会在调用时替换为该 Orchestrator 资产的值,该值从服务端文件夹读取。资产必须包含完整的值(例如 Bearer <TOKEN>):Bearer %ASSETS/<ASSET_NAME>% 会按字面内容发送。切勿另行编造语法。Orchestrator 会将资产值提供给门户中的 Agent Gateway 和作业,但不会提供给 CLI 登录:在此类服务上通过 CLI 执行 refresh-tools 会失败并返回 403(故障排除)。执行 mcp update 时,--header / --env 会替换所有已存储的条目;若要保留机密,请传入 "<NAME>=****",其中名称的拼写必须与 mcp get 显示 **** 值时完全一致。

  5. 根据结果确认每次变更。 mcp create / mcp update 会返回已存储的服务;mcp-tools create-resource / create-raw / update 会返回已存储的工具;只有在所有删除操作均成功后,delete 才会报告 Deleted: true。mcp-tools enable / disable 会返回不含工具选择的服务:请使用 uip agenthub mcp-tools list --mcp <SLUG> --folder-path <FOLDER_PATH> --limit 1000 --output-filter "{Names: Items[].Name, Total: Total, Count: Count}" --output json 确认(未筛选的行会包含每个工具的架构)。mcp get 无论如何都会将机密显示为 ****,因此无法证明被屏蔽的值已保留。确认 refresh-tools 是否成功应查看其 Data.Status(规则 7),而不是重新列出工具。

  6. 标量标志会保留字段;负载会替换字段。 使用标量标志时,mcp update 会读取服务,并将所有未更改的已存储字段一并发送回去。--file / --body 负载会原样发送:其中省略的每个字段会按负载表中的说明保留或清除。省略 description 始终会将其清除;不含 selectedToolNames / useAllTools 的 platform 负载会清除工具选择,并关闭 All tools;--print-schema 不会说明这一行为适用于所有字段。对于 uipath 服务,不含 tools 的更新会保留所有工具;包含 tools 的负载则会替换所有工具。在执行任何 mcp update 前,请先阅读更新服务。

  7. refresh-tools 取决于服务类型。 新建的 coded、command 或 remote 服务在运行前没有工具:请在 mcp create 之后运行;更改 remote 的 --uri 后也要运行(已存储的工具仍来自旧 URI)。运行时需要文件夹,使用 --dry-run 时也一样。

    • coded / command:Data: {RuntimeId, Status: "Started"}。Agent Gateway 已将该服务作为 Orchestrator 作业启动(uip or jobs get <RUNTIME_ID> --output json);只有该作业注册工具后,工具列表才会变化。请报告 RuntimeId;切勿声称工具已刷新。
    • remote / swagger:Data: {Status: "Refreshed"},且工具已存储:remote 工具会从其 URI 获取;swagger 工具会根据其 swaggerUrl 重新生成,并使用已存储的标头再次下载(若没有 URL,则从已存储的规范生成)。
    • platform:Data: {Status: "Refreshed"}。服务会丢弃其缓存的服务定义;工具选择会保留。
    • uipath / selfhosted:不接受。uipath 工具来自 mcp-tools create-resource;selfhosted 工具来自为其提供服务的运行时。
  8. 删除时需要 slug、文件夹和 --yes。 mcp delete 和 mcp-tools delete 未指定 --yes 时会拒绝运行,即使指定了 --dry-run 也一样,并且绝不会提示确认:传入该参数前,请先向用户确认。先列出将要删除的内容(mcp list --limit 1000,且 Total 等于 Count;前缀筛选使用 --output-filter "Items[?starts_with(Slug, '<PREFIX>')].Slug"),显示每个 slug 及其 Name,并且只删除用户从该列表中确认的服务。mcp delete 每次调用只接受一个 slug:逐个运行,然后再次列出。mcp delete --dry-run 不会检查服务是否存在。mcp-tools delete --name <SUBSTR> 按不区分大小写的子字符串匹配;匹配到多个工具时,名称完全相同的工具优先;--allow-multiple 会删除所有匹配项:优先使用 mcp-tools list 提供的工具 ID。

  9. 列出平台名称;绝不猜测。 --service 的值取自 platform-services list,--tool 的值取自 platform-tools list,大小写必须完全一致,并且每个 --tool 标志只指定一个名称(参见平台步骤)。不同环境中的服务各不相同:绝不假定存在 orchestrator。使用 --tool 或 --use-all-tools,不能同时使用;两者都不指定时,服务没有工具。

  10. 绝不绕过拒绝操作转发已保存的凭据。 如果将 remote 服务移至其他源站(协议、主机或端口不同),或将 swagger 服务移至其他规范,且此操作会将已保存的连接令牌或秘密请求头发送到该位置,mcp update 会拒绝执行。请遵循拒绝信息中的 Instructions(移动服务);未经用户同意,不要删除请求头或连接以绕过拒绝。

文件夹上下文

命令文件夹输入
mcp list必须指定 --folder-key、--folder-path 或 --all-folders 之一
mcp get、mcp create <TYPE>、mcp update(包括 --print-schema、--dry-run)、mcp delete、mcp refresh-tools必须指定 --folder-key 或 --folder-path
每个接受 --mcp 的 mcp-tools 子命令服务所在的文件夹,必填;create-resource、create-raw 和 update 还接受 --target-folder-key / --target-folder-path,用于指定另一个文件夹中的目标
mcp-tools candidates可选:不指定时,搜索范围为整个租户
mcp create <TYPE> --print-schema无(会忽略文件夹标志)
mcp template、mcp-tools template、platform-services list、platform-tools list无:指定文件夹标志会报错 unknown option
  • 使用 uip or folders list --output json 查找文件夹:将某行的 Key 作为 --folder-key,或将其 Path 作为 --folder-path。
  • 个人工作区文件夹(<USER_EMAIL>'s workspace)无法按名称解析:请使用 --folder-key。
  • 嵌套文件夹存在同名文件夹时,会解析为完整路径完全匹配的文件夹;否则,CLI 会列出候选项:使用 Parent/Child 或 --folder-key 重新运行。
  • mcp list --all-folders 会列出你有权读取的所有文件夹中的服务,每行附带其 FolderKey(mcp-tools 不支持 --all-folders)。无法读取的文件夹只会在 stderr 中报告。
  • 标量 create coded 会使用任一文件夹标志填充请求载荷中的 folderKey;采用编码格式的 --file / --body 必须自行包含 folderKey。

信任 CLI

  • uip agenthub mcp create <TYPE> --print-schema --output json — 按类型创建载荷字段。无需登录,也无需文件夹。
  • uip agenthub mcp template <TYPE> --output json — 创建 --file 骨架:编辑其中的值,然后原样发送。
  • uip agenthub mcp update <SLUG> --folder-path <FOLDER_PATH> --print-schema --output json — 更新该服务类型对应的字段。此命令会读取服务,因此需要登录、文件夹和准确的 slug。只有部分字段会说明省略该字段会产生什么效果:载荷表涵盖了所有字段。
  • platform 名称来自 uip agenthub platform-services list 和 uip agenthub platform-tools list:按照 platform 步骤的说明运行它们。
  • uip agenthub mcp-tools candidates --category <CATEGORY> --output json — 可转换为 uipath 服务工具的 Orchestrator 资源。<CATEGORY> ∈ automation | agent | agentic-process | api-workflow;--category 仅适用于 uipath 服务工具(candidates、create-resource、create-raw)。
  • uip agenthub mcp get <SLUG> --folder-path <FOLDER_PATH> --output json — McpUrl 是 MCP 客户端连接的端点。要显示用户指定的服务,请在 mcp list 中按 Name 查找其 Slug,然后运行 mcp get 并列出其工具(规则 5)。
  • mcp get / mcp list 将 Type 打印为数字:0 表示 uipath,1 表示 command,2 表示 coded,3 表示 selfhosted,4 表示 remote,6 表示 platform,7 表示 swagger。Status 为 1 表示已连接,为 0 表示已断开。工具的 Type 是另一个数字。空值字段会被省略:没有 ConnectionId 表示没有 Integration Service 连接。对于 swagger 服务,mcp get 还会打印规范 URL(SwaggerUrl;内联规范时会省略);无法读取时,会在 stderr 上发出警告([WARN] Could not read the spec URL …),并显示不含该 URL 的服务。
  • --output-filter <JMESPATH> 适用于每条命令,可筛选命令打印的键:PascalCase(Items[].Slug),以及 mcp template 和 --print-schema 中的 camelCase(uri)。结果也会使用相同的大小写形式,因此筛选器无法将输出转换为载荷键。mcp list 和 mcp-tools list 只筛选当前页(默认 --limit 50):传入 --limit 1000,并确认 Total 等于 Count。platform-services list / platform-tools list 在未传入 --limit 时会拒绝筛选器。
  • --dry-run 会运行 CLI 检查并打印计划(Code: DryRun),但不会执行变更。mcp update、refresh-tools 和 mcp-tools 的变更操作仍会读取服务(需要登录、准确的 slug 和文件夹),而且 mcp update 的所有拒绝条件在试运行时也会触发。服务端的验证不会运行,因此试运行成功并不保证实际调用也会成功。
  • 失败时会打印 ErrorCode、Retry、Message、Instructions,以及适用时的 NextCommand(值会加上 shell 引号)、Errors(被 400 拒绝的字段)和 Context.HttpStatus。请根据 ErrorCode、Retry 和 Instructions 采取行动,而不要依据退出代码。NextCommand 通常会重复你的文件夹标志,但有些只包含动词(platform 服务上的 mcp-tools enable --mcp <SLUG>,uipath 服务上的 mcp-tools create-resource --mcp <SLUG> --folder-key <GUID>):运行前请添加文件夹和必需的标志。
  • 大多数 --help 示例都省略了文件夹标志(mcp delete --dry-run 也省略了 --yes,mcp-tools update 示例则省略了 --mcp),而且示例中的输出键大小写与实际输出不同:请遵循规则 3 的大小写,而不要照搬示例。

服务类型

uip agenthub mcp create <TYPE> 使用 --name、--slug、--description、--version、--file / --body / --print-schema、--dry-run、--folder-path / --folder-key、--login-validity。标量标志、--file 或 --body 必须且只能使用其中一种。CLI 不会检查必填字段(--print-schema 会列出这些字段);服务会返回包含 Errors 的 400 错误,但如果创建 swagger 时既未提供 --spec-url,也未提供 swaggerContent,则会失败并返回 HTTP 409 错误 Either SwaggerUrl or SwaggerContent must be provided。

类型特定类型标志适用场景工具来源更多信息
uipath(无)用于添加可运行 Orchestrator 流程、Agent、智能体流程或 API 工作流的工具的服务。mcp-tools create-resource工具、绑定、uipath 更新
coded--process-key <PROCESS_KEY>已发布的编码 MCP 服务包(uipath-mcp Python SDK;流程类型为 MCPServer),以作业形式在服务文件夹中启动。不是编码 Agent。refresh-tools(异步)负载、刷新错误
command--command <CMD>、--arg <ARG>(可重复,至少一个)、--env <KEY>=<VALUE>(可重复)Agent Gateway 以命令(npx / uvx + 包)的形式在无服务器作业中启动的 stdio MCP 服务。refresh-tools(异步)掩码值、刷新错误
remote--uri <URL>、--header <NAME>=<VALUE>(可重复)、--connection-id <CONNECTION_ID>、--use-relay托管在其他位置的 HTTP MCP 服务:可以是供应商的服务,也可以是通过 Relay 连接的公司网络内部服务。refresh-tools(同步)掩码值、迁移服务、网络错误
swagger--spec-url <URL>、--header <NAME>=<VALUE>(可重复)、--use-relay带有 OpenAPI 文档的 REST API:每个操作对应一个工具。创建时使用规范,以及 refresh-tools(同步)负载、迁移服务、网络错误
platform--service <SERVICE_NAME>,然后使用 --tool <TOOL_NAME>(可重复)或 --use-all-toolsUiPath 自有服务(例如 Test Manager):选择一组工具,或选择所有工具(包括日后添加的工具)。所选工具,或所有工具平台选择、平台错误
  • coded:--process-key 是来自 uip or processes list --folder-key <FOLDER_KEY> --process-type MCPServer --output json 的流程(发布)Key GUID,而不是其 ProcessKey 字段(包名称)。流程必须位于服务所在的文件夹中,且创建时服务不会检查这一点:只有在服务运行时才会显现错误的密钥。mcp template coded 中的 processKey / folderKey 是占位符:请将二者都替换为 GUID。

  • **command:**服务会按空格拆分 arguments,因此单个 --arg 值不能包含空格。

  • **remote / swagger:**未使用 --use-relay 时,服务会阻止访问私有主机(URL blocked for security reasons: …);使用后,任何绝对 http(s) URL 都会通过 Relay 访问(swagger:包括规范下载和 API 调用)。执行 mcp update 时,--use-relay / --no-use-relay 用于切换 Relay;若两者都未指定,则保留原设置。--connection-id(remote)是 Integration Service 连接的 GUID,其令牌用于验证调用身份:该连接必须是连接器 uipath-uipath-mcp 的 OAuth 连接,可通过 uip is connections list <CONNECTOR_KEY> --all-folders --output json 并使用该连接器密钥获取。

  • **swagger:**需要租户启用 Swagger MCP 功能(否则会返回 HTTP 404)。--header 的值会用于规范下载和每次 API 调用。内联规范(swaggerContent)只能通过 --file / --body 传入。虽然接受 --filter,但不会发送。创建结果包含完整规范:请使用 --output-filter "{Slug: Slug, McpUrl: McpUrl}" 对其进行筛选。

  • platform:

    1. uip agenthub platform-services list --output json — 将用户的描述与 DisplayName 匹配;传入其 ServiceName。多个名称可能都包含相同的词语(Test Manager、Test Manager External、Test Manager Performance Testing):选择完全匹配的名称,否则请询问用户。
    2. uip agenthub platform-tools list --service <SERVICE_NAME> --limit 1000 --output-filter "{Names: Items[].Name, Total: Total}" --output json — 列出工具名称。未经筛选的行包含 JSON Schema,结果可能有数百 KB;使用 --name <SUBSTR> 搜索可返回包含 Description 的完整行。选择工具处理请求前,请阅读每个候选工具的 Description(例如,“列出测试用例”应使用 Get_test_cases,而不是 Get_Automated_Test_Cases_For_Folder),并告知用户你选择的确切名称。
    3. uip agenthub mcp create platform --name <NAME> --slug <SLUG> --service <SERVICE_NAME> --tool <TOOL_NAME> --tool <TOOL_NAME> --folder-path <FOLDER_PATH> --output json,或者用 --use-all-tools 替代 --tool。
    4. uip agenthub mcp-tools list --mcp <SLUG> --folder-path <FOLDER_PATH> --limit 1000 --output-filter "{Names: Items[].Name, Total: Total, Count: Count}" --output json — 列出其公开的工具(对于 All tools 服务,会列出该服务的所有工具)。

    mcp get 会将服务显示为 Arguments,将模式显示为 UseAllTools。如果租户未启用 Platform MCP,两个列表命令都会失败并返回 Platform MCP is not enabled on this tenant.;而 create platform 和针对 platform 的 mcp update 则会返回没有响应正文的 HTTP 404。

  • selfhosted / process-assistant:mcp template 接受这两种类型,但 mcp create 不支持。自托管服务会在 uipath-mcp Python 运行时启动时自行注册;CLI 可以对其执行 list / get / delete,但会拒绝对其执行 mcp update 和 refresh-tools。process-assistant 是旧版值。

更新服务

mcp update <SLUG> 会读取服务,然后发送该类型的完整更新内容。标量标志只会更改其指定的内容,且不能与 --file / --body 组合使用;按照负载表的说明,负载会保留或清除其中未提及的内容,字段使用 camelCase,且不包含 type。每种类型都支持 --name、--description 和 --version。该类型不支持的标志会被拒绝(<FLAGS> apply only to <TYPES> servers; '<SLUG>' is a <TYPE> server.;单个标志时使用 applies),--service 也会被拒绝。

类型修改方式
uipath不支持其他标志;工具会保留。使用 mcp-tools 修改工具:负载中的 tools 列表会替换所有工具(指南)。
coded--process-key;folderKey 会保留为服务自身的文件夹。
command--command、--arg(替换所有参数)、--env(替换所有变量;规则 4)。
remote--uri、--header(全部替换;规则 4)、--use-relay / --no-use-relay、--connection-id <CONNECTION_ID> 或 --clear-connection(两者都不指定时,连接会保留)。
swagger--spec-url(重新下载规范并重新生成工具)、--header(全部替换)、--use-relay / --no-use-relay。
platform--tool(替换整个选择)、--use-all-tools / --no-use-all-tools;未指定时,选择和模式会保留。对于 All tools 服务,使用 --tool 时需要指定 --no-use-all-tools。
selfhosted、process-assistant不接受。

各类型的负载字段、uipath 工具列表、屏蔽值以及将服务移至其他主机的说明:references/updating-servers-guide.md。

检查服务

Agent Gateway 的 Check connection 会测试服务的 Integration Service 连接;Refresh tools 会测试服务本身。

  • 连接: 使用 mcp get 中的 ConnectionId 执行 uip is connections ping <CONNECTION_ID> --force-refresh --output json(没有 ConnectionId 表示该服务没有可检查的连接)。Data.Status: "Enabled" 表示连接处于启用状态。其他任何状态都会导致失败,并显示 Connection '<CONNECTION_ID>' is not enabled (status: <STATUS>).;Expired 连接需要其所有者重新登录(执行 uip is connections edit <CONNECTION_ID>,或在门户中打开 Integration Service)。请告知用户;不要为了绕过此问题而创建、替换或清除连接。
  • 服务: 使用 refresh-tools(规则 7)。对于 remote 和 swagger,Refreshed 表示 Agent Gateway 使用其凭据访问了服务(或规范),并存储了列出的工具;使用 mcp-tools list 确认(规则 5)。失败时会指出原因(故障排除)。对于 coded / command,它只会启动作业。如果服务器上有调用者自己的按用户连接,则会使用该连接;否则使用服务的 ConnectionId;CLI 无法列出按用户连接。
  • refresh-tools 是一项写操作:对于 remote 和 swagger,如果工具列表的任意字段与已存储列表不同,就会以新 ID 重新创建所有工具,并删除这些工具的防护规则。如果用户只是要求检查服务,请在执行前告知用户。

工具(uip agenthub mcp-tools)

动词适用对象
create-resource、create-raw、update、delete仅适用于 uipath 服务
enable、disable仅适用于 platform 服务
list、get --name <NAME>所有类型
get <TOOL_ID>除 platform 外的所有类型(404:其工具未存储)
template、candidates无需服务
  • 绑定资源: 从 mcp-tools candidates --category <CATEGORY> --name <SUBSTR> --output json 的结果中选取一行(单页,默认 50 条:使用 --name 缩小范围;同时显示该行的 Folder.Name 和 Name),然后运行 uip agenthub mcp-tools create-resource --mcp <SLUG> --name <NAME> --description "<DESCRIPTION>" --category <CATEGORY> --target-identifier <RESOURCE_ID> --target-folder-key <RESOURCE_FOLDER_KEY> --folder-path <FOLDER_PATH> --output json,并使用该行的 Id 和 Folder.Key。务必传入 --description(服务要求提供描述;如果该行没有描述,请根据请求编写)和 --category。candidates --name 会匹配子字符串(EchoAgent 也会找到 Coded copy of EchoAgent):选择 Name 完全匹配的行;如果没有匹配项或存在多个匹配项,请显示每个匹配项的 Name 和 Folder.Name 并询问用户。选错行仍会创建可用的工具,因此请检查结果的 TargetIdentifier 是否为该行的 Id。
  • 平台工具选择: 使用 uip agenthub mcp-tools enable / disable --mcp <SLUG> --name <TOOL_NAME> --folder-path <FOLDER_PATH> --output json(重复传入 --name)添加或移除指定工具,同时保留其余工具。在 All tools 服务上,enable 不会更改任何内容,disable 会被拒绝:请先运行 uip agenthub mcp update <SLUG> --no-use-all-tools --folder-path <FOLDER_PATH> --output json,这会保留所有已选工具。对于服务未定义的名称,disable 会拒绝执行(Tools not found in the <SERVICE_NAME> service: …);但如果该名称由服务定义、而服务器未选择,执行会成功且不产生任何变化:请先列出工具;如果名称不在列表中,请告知用户,而不要运行命令。
  • 编辑工具: 使用 mcp-tools update <TOOL_ID> 更改工具自身的字段;使用 mcp update 更改服务。请从 mcp-tools list 获取 ID:--name 会匹配子字符串;如果匹配多个,则优先选择名称完全匹配(区分大小写)的工具。只有 uipath 工具可以编辑:其他类型的工具来自其源(URI、规范、命令、软件包、服务),而 refresh-tools 会根据源重新构建这些工具。
  • mcp-tools template 会输出 camelCase 负载(规则 3);create-raw 会忽略其标量标志,因此只能与 --file / --body 一起使用。mcp-tools update --rename 会更改 Name,而非 MCP 客户端看到的名称 McpName。

标志、默认值、目标文件夹、update、delete、get 和分页说明:references/tools-guide.md。其中大部分内容适用于 uipath 和 platform 服务;其他类型仅适用其中的列表部分。

故障排除

  • Payload keys differ from their fields only in case: … — 按照列出的内容重命名每个键(规则 3);从 mcp get 或 mcp-tools list 复制的键采用 PascalCase。未传入 --description 时,create-resource 返回 HTTP 400 — 传入 --description。
  • AgentHub requires a folder context. … — 添加文件夹标志(文件夹上下文)。No folder named '<NAME>' was found. — 名称拼写错误,或者这是个人工作区:将其 Key 作为 --folder-key 传入。
  • '<INPUT>' resolves to the MCP server '<SLUG>', … — 传入已存储的 <SLUG>(规则 1);如果 <INPUT> 是另一台服务的 slug,请先重命名 <SLUG>。slug 返回 HTTP 404 — 文件夹错误,或者传入的不是 slug(规则 1、2)。
  • --uri moves '<SLUG>' to another origin, … / --spec-url gives '<SLUG>' a new spec, …(或者在使用 --file / --body 时显示 The payload's …)— 规则 10。
  • This command requires a <EXPECTED_TYPE> MCP server; <SLUG> is <TYPE>. — mcp-tools 子命令不适用于该类型。对于 coded / command / remote / swagger,运行 NextCommand(refresh-tools)。对于 platform,其 NextCommand 会提示运行不带 --name 或文件夹的 mcp-tools enable;请补上这两项。
  • Platform MCP is not enabled on this tenant.,或 create platform 返回 HTTP 404 — 此租户未启用该功能:请使用其他租户或服务类型。

参考导航

不要这样做

  • 不要猜测平台服务或工具的名称,也不要假定它是 orchestrator(规则 9)。
  • 不要将 PascalCase CLI 输出原样粘贴到负载中(规则 3)。
  • 不要在需要 slug 的位置传入显示名称或 GUID(规则 1)。
  • 用户确认删除前,不要传入 --yes(规则 8)。
  • coded / command 刷新返回 Status: "Started" 时,不要报告刷新已完成(规则 7)。
  • 不要直接复制 --help 示例而不添加其中省略的文件夹标志。

评论

支持 Markdown