uipath-mcp-servers

Compare original and translation side by side

🇺🇸

Original

English
🇨🇳

Translation

Chinese

UiPath AgentHub MCP Servers

UiPath AgentHub MCP服务器

Register AgentHub MCP servers via
uip agenthub mcp
. Author tools on
uipath
-type servers via
uip agenthub mcp-tools
.
mcp
here means an AgentHub MCP-server resource, not the MCP wire protocol.
Slugs like
inbox-mcp
/
team-helper
name AgentHub server registrations, not local repos.
uipath-mcp-python
(
@uipath/mcp
) is a separate server-implementation SDK — different task, see
uipath-agents
.
通过
uip agenthub mcp
注册AgentHub MCP服务器,通过
uip agenthub mcp-tools
uipath
类型服务器上创作工具。
此处的
mcp
指AgentHub MCP服务器资源,而非MCP有线协议。
inbox-mcp
/
team-helper
这类别名是AgentHub服务器注册的名称,而非本地仓库。
uipath-mcp-python
@uipath/mcp
)是独立的服务器实现SDK——属于不同任务,请参考
uipath-agents

When to Use This Skill

何时使用该技能

  • Create / update / delete / refresh / list / get an AgentHub MCP server (any of:
    uipath
    ,
    coded
    ,
    command
    ,
    remote
    ,
    swagger
    ,
    platform
    ).
  • Author resource tools on a
    uipath
    -type server; list / get / enable / disable / delete its tools.
  • Skip: Python MCP server implementation (FastMCP /
    @uipath/mcp
    ) →
    uipath-agents
    .
  • 创建/更新/删除/刷新/列出/获取AgentHub MCP服务器(支持类型:
    uipath
    coded
    command
    remote
    swagger
    platform
    )。
  • uipath
    类型服务器上创作资源工具;列出/获取/启用/禁用/删除其工具。
  • 跳过:Python MCP服务器实现(FastMCP /
    @uipath/mcp
    )→ 请参考
    uipath-agents

Trust the CLI

信任CLI工具

The CLI is the source of truth for shapes and flags. Use it instead of guessing:
  • uip agenthub mcp create <type> --print-schema --output json
    — payload shape for any server type.
  • uip agenthub mcp template <type> --output json
    — ready-to-edit
    --file
    skeleton.
  • uip agenthub mcp-tools template resource --output json
    — resource-tool payload skeleton.
  • uip agenthub mcp-tools candidates --category <kind> --output json
    — discover bindable targets.
    <kind>
    automation | agent | agentic-process | api-workflow
    .
  • --output-filter <JMESPath>
    on every command — extract specific fields without walking JSON by hand (e.g.
    --output-filter "Data.items[].slug" --output plain
    ).
  • --dry-run
    on every mutating call — resolve and inspect the body before POST. Note:
    --dry-run
    skips some server-side validation, so a clean dry-run is not a guaranteed real POST.
CLI是参数格式和标志的权威来源,请使用它而非自行猜测:
  • uip agenthub mcp create <type> --print-schema --output json
    —— 获取任意服务器类型的请求体格式。
  • uip agenthub mcp template <type> --output json
    —— 获取可直接编辑的
    --file
    模板骨架。
  • uip agenthub mcp-tools template resource --output json
    —— 获取资源工具的请求体模板骨架。
  • uip agenthub mcp-tools candidates --category <kind> --output json
    —— 发现可绑定的目标。
    <kind>
    可选值:
    automation | agent | agentic-process | api-workflow
  • 所有命令支持
    --output-filter <JMESPath>
    —— 无需手动遍历JSON即可提取特定字段(例如:
    --output-filter "Data.items[].slug" --output plain
    )。
  • 所有变更类调用支持
    --dry-run
    —— 在发送POST请求前解析并检查请求体。注意:
    --dry-run
    会跳过部分服务端验证,因此成功的预执行不代表实际POST请求一定会成功。

Critical Rules

关键规则

These are the things the CLI does not advertise in
--help
.
  1. Slug regex. Backend enforces
    ^[a-z0-9-]+$
    , length 3-50. Lowercase, digits, hyphens — no underscores, dots, or uppercase. CLI validates client-side before POST.
  2. Folder context is required on every AgentHub call. Pass
    --folder-path <name>
    OR
    --folder-key <guid>
    , never both. Exception:
    mcp list --all-folders
    spans every folder you can see (mutually exclusive with the folder flags; folders without AgentHub permission are skipped with a
    Warning
    line) — use it to locate a server when its folder is unknown, then pass that folder explicitly on every follow-up call (
    mcp-tools
    verbs have no
    --all-folders
    ).
    --folder-path
    resolves via Orchestrator SDK. Personal workspace folders (
    <user>@<tenant>'s workspace
    ) do NOT resolve by name — use
    --folder-key <guid>
    . Common names (
    Shared
    ) can be ambiguous across nested folders; the CLI returns the candidate list with GUIDs — pick one and re-run with
    --folder-key
    . Discover GUIDs via
    uip or folders list --output json
    .
    refresh-tools
    always requires
    --folder-key
    specifically
    (endpoint is
    /mcp/{folderKey}/{slug}/refresh-tools
    ).
  3. Verify after every mutation. After
    create
    /
    update
    /
    delete
    /
    refresh-tools
    , re-list (
    mcp list
    ,
    mcp-tools list --mcp <slug>
    ) or
    mcp get <slug>
    and confirm the expected state.
  4. refresh-tools
    behavior depends on server type.
    • coded
      /
      command
      — async, returns HTTP 202 + runtime id. Surface the runtime id; never claim refreshed before a follow-up
      mcp-tools list --mcp <slug>
      confirms.
    • remote
      /
      platform
      /
      swagger
      — sync, returns 200 after a synchronous fetch+upsert.
    • uipath
      /
      selfhosted
      — rejected locally; resource tools are manually authored via
      mcp-tools create-resource
      . CLI emits a
      NextCommand
      hint to author instead.
  5. mcp delete
    looks up by slug, not GUID.
    Passing a GUID returns 404.
这些是CLI的
--help
未提及的内容。
  1. Slug正则规则:后端强制要求格式为
    ^[a-z0-9-]+$
    ,长度3-50字符。仅允许小写字母、数字和连字符——不允许下划线、点或大写字母。CLI会在POST请求前在客户端进行验证。
  2. 每次AgentHub调用都需要文件夹上下文:必须传递
    --folder-path <name>
    --folder-key <guid>
    ,不可同时传递。例外情况:
    mcp list --all-folders
    会遍历所有你有权限查看的文件夹(与文件夹标志互斥;无AgentHub权限的文件夹会以
    Warning
    行提示并跳过)——当不知道服务器所在文件夹时可使用该命令定位,之后在所有后续调用中明确传递该文件夹(
    mcp-tools
    命令不支持
    --all-folders
    )。
    --folder-path
    通过Orchestrator SDK解析。个人工作区文件夹(
    <user>@<tenant>'s workspace
    )无法通过名称解析——需使用
    --folder-key <guid>
    。通用名称(如
    Shared
    )在嵌套文件夹中可能存在歧义;CLI会返回候选列表及GUID——选择其中一个并使用
    --folder-key
    重新运行。可通过
    uip or folders list --output json
    获取GUID。
    refresh-tools
    始终需要特定的
    --folder-key
    (接口为
    /mcp/{folderKey}/{slug}/refresh-tools
    )。
  3. 每次变更后进行验证:在执行
    create
    /
    update
    /
    delete
    /
    refresh-tools
    后,重新执行列表命令(
    mcp list
    mcp-tools list --mcp <slug>
    )或
    mcp get <slug>
    ,确认状态符合预期。
  4. refresh-tools
    的行为取决于服务器类型
    • coded
      /
      command
      —— 异步操作,返回HTTP 202及运行时ID。需展示该运行时ID;必须在后续执行
      mcp-tools list --mcp <slug>
      确认后,才能声称刷新完成。
    • remote
      /
      platform
      /
      swagger
      —— 同步操作,完成同步获取+更新后返回200。
    • uipath
      /
      selfhosted
      —— 本地拒绝;资源工具需通过
      mcp-tools create-resource
      手动创作。CLI会提示下一步创作命令。
  5. mcp delete
    通过slug而非GUID查找
    :传递GUID会返回404。

Server Types

服务器类型

uip agenthub mcp create
takes six type subcommands. All share
--name <display>
,
--slug <kebab>
,
--description
,
--version
,
--file
/
--body
/
--print-schema
,
--dry-run
,
--folder-path
/
--folder-key
,
--tenant
,
--login-validity
. The differentiating flag picks the integration shape:
TypeDifferentiating flagWhen to useTool surface
uipath
(none)AgentHub-hosted server you'll fill with resource tools.Authored via
uip agenthub mcp-tools create-resource
.
refresh-tools
rejected.
coded
--process-key <key>
(+
--folder-key
for the process)
Wrap an existing coded-agent process (published to Orchestrator) as an MCP server.Discovered via
refresh-tools
(async 202).
command
--command <cmd>
+
--arg <arg>
(repeatable) +
--env <k=v>
(repeatable)
Spawn a local subprocess as an MCP server.Discovered via
refresh-tools
(async 202).
remote
--uri <url>
+
--header <k=v>
(repeatable) +
--use-relay
Point at an existing HTTP MCP server. Bearer/header values can be Orchestrator asset references;
AssetReferenceSubstitutor
resolves them at runtime via the caller's token + folder context. Do NOT invent a credential-store syntax.
Discovered via
refresh-tools
(sync 200).
platform
--service <name>
(lowercase service id, e.g.
orchestrator
— the CLI
--help
example's capitalized
Orchestrator
is rejected with HTTP 400) +
--tool <name>
(repeatable; selects exposed platform tools)
Bind to a first-party UiPath service.Discovered via
refresh-tools
(sync 200).
swagger
--spec-url <url>
(+
--use-relay
)
Register an OpenAPI/Swagger spec as MCP tools. Same asset substitution as
remote
.
Discovered from the spec via
refresh-tools
(sync 200).
Headers/auth on
remote
and
swagger
are payload fields, not scalar flags. Read the shape from
--print-schema
(or
template <type>
), submit via
--file <payload.json>
or
--body '<json>'
.
mcp update <slug>
dispatches by existing server type — flag shape mirrors
create <type>
. Verify with
mcp get <slug> --output json
.
mcp template <type>
also accepts
process-assistant
and
selfhosted
— these have templates but NO
create
subcommand (backend enum only; skip).
uip agenthub mcp create
包含六个类型子命令。所有命令共享
--name <display>
--slug <kebab>
--description
--version
--file
/
--body
/
--print-schema
--dry-run
--folder-path
/
--folder-key
--tenant
--login-validity
参数。差异化标志决定集成格式:
类型差异化标志使用场景工具来源
uipath
由AgentHub托管、需填充资源工具的服务器。通过
uip agenthub mcp-tools create-resource
创作。
refresh-tools
会被拒绝。
coded
--process-key <key>
(+ 流程对应的
--folder-key
将已发布到Orchestrator的现有编码代理流程包装为MCP服务器。通过
refresh-tools
发现(异步返回202)。
command
--command <cmd>
+
--arg <arg>
(可重复) +
--env <k=v>
(可重复)
将本地子进程作为MCP服务器启动。通过
refresh-tools
发现(异步返回202)。
remote
--uri <url>
+
--header <k=v>
(可重复) +
--use-relay
指向已有的HTTP MCP服务器。Bearer/Header值可引用Orchestrator资产;
AssetReferenceSubstitutor
会在运行时通过调用者的令牌+文件夹上下文解析。请勿自行发明凭证存储语法。
通过
refresh-tools
发现(同步返回200)。
platform
--service <name>
(小写服务ID,例如
orchestrator
——CLI
--help
示例中的大写
Orchestrator
会被HTTP 400拒绝) +
--tool <name>
(可重复;选择要暴露的平台工具)
绑定到UiPath官方服务。通过
refresh-tools
发现(同步返回200)。
swagger
--spec-url <url>
(+
--use-relay
将OpenAPI/Swagger规范注册为MCP工具。资产替换逻辑与
remote
相同。
通过规范解析发现(同步返回200)。
remote
swagger
的Header/认证信息是请求体字段,而非标量标志。请通过
--print-schema
(或
template <type>
)查看格式,通过
--file <payload.json>
--body '<json>'
提交。
mcp update <slug>
会根据现有服务器类型分发——标志格式与
create <type>
一致。可通过
mcp get <slug> --output json
验证。
mcp template <type>
还支持
process-assistant
selfhosted
——这些有模板但无
create
子命令(仅后端枚举可用;请跳过)。

Resource Tools (
uipath
-type servers only)

资源工具(仅
uipath
类型服务器)

Run
uip agenthub mcp-tools create-resource
. Flags:
--mcp <slug>
(parent server),
--name
,
--description
,
--target-identifier <guid>
/
--target-name <name>
(resolve target via RCS),
--folder-key <guid>
/
--folder-path <name>
(MCP server folder context),
--target-folder-key <guid>
/
--target-folder-path <name>
(the Orchestrator resource's folder when it differs from the server's; resolves to the tool's
targetFolderKey
; never both; omit to default to the candidate's folder (
--target-name
) or the server folder; the explicit flag wins, including over a
--file
/
--body
payload field),
--category
,
--input-schema
,
--output-schema
,
--metadata
,
--continue-on-error
(default) /
--fail-fast
,
--file
/
--body
,
--dry-run
.
KindDiscoveryValidationWhen to use
resource
mcp-tools candidates --category <kind>
(kind ∈
automation
/
agent
/
agentic-process
/
api-workflow
)
Resource schemaBind an Orchestrator resource. Pass
--target-identifier <resource-id>
. Read metadata shape from
mcp-tools template resource --output json
.
candidates
is tenant-wide — each item carries its
folder {key, name}
; present the folder alongside the name when the user picks.
--target-name
lookup searches the server folder by default; resource in a different folder → pass
--target-folder-path
/
--target-folder-key
(scopes the lookup AND sets the tool's
targetFolderKey
); with
--target-identifier
, pass the same flags when the resource's folder differs from the server's.
Stringify
--metadata
/
--input-schema
/
--output-schema
as scalars (not
--file
). Build each JSON in a file and pass it as
--metadata "$(jq -c . metadata.json)"
(likewise input/output schema) — do not assemble multi-KB JSON inline in the command. Pass
--output-schema "{}"
when the underlying target has no response fields — empty string is rejected with
Unexpected end of JSON input
.
Other
mcp-tools
verbs (
list --mcp <slug>
,
get
,
enable
,
disable
,
delete
,
update
) are self-documenting via
--help
. Use them for the Critical Rule 3 verify step.
update
also accepts
--target-folder-key
/
--target-folder-path
: retargeting via
--target-identifier
defaults the tool's
targetFolderKey
to the server folder — pass the explicit flag when the new target lives elsewhere (wins over the default and over a
--file
/
--body
payload field).
执行
uip agenthub mcp-tools create-resource
。参数包括:
--mcp <slug>
(父服务器)、
--name
--description
--target-identifier <guid>
/
--target-name <name>
(通过RCS解析目标)、
--folder-key <guid>
/
--folder-path <name>
(MCP服务器的文件夹上下文)、
--target-folder-key <guid>
/
--target-folder-path <name>
(当Orchestrator资源的文件夹与服务器不同时使用;会设置工具的
targetFolderKey
;不可同时传递;省略则默认使用候选资源的文件夹(
--target-name
)或服务器文件夹;显式标志优先级最高,包括覆盖
--file
/
--body
请求体字段)、
--category
--input-schema
--output-schema
--metadata
--continue-on-error
(默认)/
--fail-fast
--file
/
--body
--dry-run
类型发现方式验证方式使用场景
resource
mcp-tools candidates --category <kind>
(kind可选值:
automation
/
agent
/
agentic-process
/
api-workflow
资源 schema绑定Orchestrator资源。传递
--target-identifier <resource-id>
。从
mcp-tools template resource --output json
查看元数据格式。
candidates
是租户级别的——每个条目包含其
folder {key, name}
;用户选择时需同时展示文件夹和名称。
--target-name
查找默认在服务器文件夹中进行;若资源在其他文件夹中,需传递
--target-folder-path
/
--target-folder-key
(限定查找范围并设置工具的
targetFolderKey
);使用
--target-identifier
时,若资源文件夹与服务器不同,需传递相同的标志。
--metadata
/
--input-schema
/
--output-schema
序列化为标量(而非通过
--file
)。在文件中构建每个JSON,然后通过
--metadata "$(jq -c . metadata.json)"
传递(输入/输出 schema同理)——请勿在命令行中手动拼接多KB的JSON。当底层目标无响应字段时,传递
--output-schema "{}"
——空字符串会被拒绝并提示
Unexpected end of JSON input
其他
mcp-tools
命令(
list --mcp <slug>
get
enable
disable
delete
update
)可通过
--help
查看说明。可用于关键规则3的验证步骤。
update
也支持
--target-folder-key
/
--target-folder-path
:通过
--target-identifier
重新定位时,工具的
targetFolderKey
默认设为服务器文件夹——当新目标位于其他位置时,需传递显式标志(优先级高于默认值和
--file
/
--body
请求体字段)。

Troubleshooting (generic)

通用故障排查

  • HTTP 400 with no detail — re-run with
    --dry-run
    to inspect the resolved body. CLI surfaces ASP.NET ProblemDetails as an
    Errors
    field listing per-field validation failures.
  • InvalidFolderKey: "--folder-key requires a GUID; use --folder-path for folder names"
    — switch to
    --folder-path <name>
    .
  • No folder named '<personal workspace>' was found. Did you mean: Shared?
    — personal workspaces are unresolvable by name; pass
    --folder-key <guid>
    (Critical Rule 2).
  • ConflictingInput: "Pass either --folder-path or --folder-key, not both."
    — drop one.
  • Slug rejected with validation error — backend enforces
    ^[a-z0-9-]+$
    , length 3-50 (Critical Rule 1).
  • mcp delete <guid>
    returns 404
    mcp delete
    looks up by slug, not GUID (Critical Rule 5).
  • refresh-tools
    returns 202 with a runtime id
    coded
    /
    command
    refreshes are async (Critical Rule 4). Surface the runtime id; verify via follow-up
    mcp-tools list --mcp <slug>
    .
  • HTTP 400无详细信息 —— 添加
    --dry-run
    重新运行以检查解析后的请求体。CLI会将ASP.NET ProblemDetails作为
    Errors
    字段展示,列出每个字段的验证失败信息。
  • InvalidFolderKey: "--folder-key requires a GUID; use --folder-path for folder names"
    —— 切换为
    --folder-path <name>
  • No folder named '<personal workspace>' was found. Did you mean: Shared?
    —— 个人工作区无法通过名称解析;需传递
    --folder-key <guid>
    (关键规则2)。
  • ConflictingInput: "Pass either --folder-path or --folder-key, not both."
    —— 删除其中一个参数。
  • Slug被验证错误拒绝 —— 后端强制要求格式为
    ^[a-z0-9-]+$
    ,长度3-50字符(关键规则1)。
  • mcp delete <guid>
    返回404
    ——
    mcp delete
    通过slug而非GUID查找(关键规则5)。
  • refresh-tools
    返回202及运行时ID
    ——
    coded
    /
    command
    类型的刷新是异步操作(关键规则4)。需展示运行时ID;通过后续执行
    mcp-tools list --mcp <slug>
    进行验证。