- Información general
- Comience ya
- Conceptos
- Uso de UiPath CLI
- Guías prácticas
- Recetas de CI/CD
- Referencia de los comandos
- Información general
- Códigos de salida
- Opciones globales
- agente de código UIP
- uip coder
- uip context-grounding
- UIP Docsai
- uip function
- uip guardrails
- uip llm-configuration
- uip llm-gateway
- uip model-hub
- añadir-entidad-de-datos-de-prueba
- añadir-cola-de-datos-de-prueba
- añadir-variación-de-datos-de-prueba
- Analizar
- Crear
- Crear proyecto
- Diferencia
- Buscar actividades
- obtener-reglas-del-analizador
- obtener-predeterminado-actividad-xaml
- obtener-errores
- obtener-casos-de-prueba-manual
- obtener-pasos-de-prueba-manual
- get-library-object-repository
- get-object-repository
- obtener versiones
- get-workflow-example
- indicar-aplicación
- indicar-elemento
- inspeccionar-paquete
- install-data-fabric-entities
- instalar-o-actualizar-paquetes
- enumerar-data-fabric-entities
- list-instances
- ejemplos-de-flujo-de-trabajo-de-lista
- Paquete
- Publicar
- remote
- restore
- run, debug & execution
- archivo de ejecución
- plantillas-de-búsqueda
- iniciar-studio
- detener la ejecución
- tm
- UIA
- uip tasks
- Seguimientos de UIP
- uip traces feedback
- Migración
- Referencia y soporte
Syntax and options for `uip agenthub mcp`, which registers and manages AgentHub MCP servers — the tools coded and low-code agents can call.
uip agenthub manages UiPath AgentHub: MCP (Model Context Protocol) server registrations and their tools, plus remote A2A (agent-to-agent) agent registrations. An AgentHub MCP server is a named, folder-scoped resource that exposes a set of callable tools to coded and low-code agents — not to be confused with the MCP wire protocol itself, which is how a client actually invokes those tools at runtime.
This resource spans two pages:
- This page — concepts, and
mcp(register, list, update, delete MCP servers). mcp-toolsandremote-a2a-agent— manage the tools attached to an MCP server, and remote A2A agent registrations.
Conceptos
- Server type is fixed at creation and immutable afterward. Eight named types exist in the type enum (
uipath,command,coded,selfhosted,remote,process-assistant,platform,swagger), each mapped to a numeric wire value (0–7 respectively). Only six of the eight have a workingmcp create <type>leaf:uipath,coded,command,remote,platform,swagger.selfhostedandprocess-assistantappear in the type enum, inmcp template's accepted types, and even have worked examples in this command's own help text — but there is nomcp create selfhostedormcp create process-assistantsubcommand registered anywhere in source. Attempting either fails as an unknown command.mcp update <slug>dispatches by the server's existing type (fetched from the API), so it has no such gap — but it can only update a server that was created some other way for those two types. - Folder context. AgentHub resources are Orchestrator-folder-scoped. Pass
--folder-key <guid>or--folder-path <path>on every verb;mcp listadditionally accepts--all-foldersto enumerate every folder the caller can see (folder-by-folder, de-duplicated by slug+folder, with per-folder failures — most commonly "no AgentHub permission in that folder" — swallowed and surfaced as warnings rather than aborting the whole list).mcp createandmcp deletehard-fail before any network call if no folder is resolvable;mcp list/mcp getdo not enforce this client-side even thoughmcp list's own description says a folder context is required — omitting both there likely still fails server-side. - Input modes on create/update: exactly one of
--file,--body, or scalar flags. Passing more than one source is a client-sideConflictingInputerror; passing none isMissingInput.--print-schemashort-circuits either verb to print the type's expected JSON shape instead of writing anything — a fast way to see what--file/--bodyneeds before authoring it by hand.--dry-runshort-circuits to print the resolved mutation plan (HTTP verb, target, resolved payload) without calling the API. updatemerges onto the existing server by scalar default;--file/--bodyfully replaces. In scalar mode, only the flags you pass change — the rest of the fetched server's fields are preserved, including aplatformserver's existingselectedToolNameswhen--toolis omitted. Thetypefield itself is immutable: including it in a--file/--bodypayload is a client-side error, not a silent no-op.
Sinopsis
uip agenthub mcp list [--type <type>] [--status <s>] [--name <substr>] [--limit <n>] [--offset <n>] [--folder-key <key> | --folder-path <path> | --all-folders]
uip agenthub mcp get <slug> [--folder-key <key> | --folder-path <path>]
uip agenthub mcp create <uipath|coded|command|remote|platform|swagger> [type-specific options] [--file <path> | --body <json> | scalars] [--print-schema] [--dry-run]
uip agenthub mcp update <slug> [type-specific options] [--file <path> | --body <json> | scalars] [--print-schema] [--dry-run]
uip agenthub mcp template <type>
uip agenthub mcp delete <slug> -y [--dry-run]
uip agenthub mcp refresh-tools <slug> --folder-key <key> [--dry-run]
uip agenthub mcp list [--type <type>] [--status <s>] [--name <substr>] [--limit <n>] [--offset <n>] [--folder-key <key> | --folder-path <path> | --all-folders]
uip agenthub mcp get <slug> [--folder-key <key> | --folder-path <path>]
uip agenthub mcp create <uipath|coded|command|remote|platform|swagger> [type-specific options] [--file <path> | --body <json> | scalars] [--print-schema] [--dry-run]
uip agenthub mcp update <slug> [type-specific options] [--file <path> | --body <json> | scalars] [--print-schema] [--dry-run]
uip agenthub mcp template <type>
uip agenthub mcp delete <slug> -y [--dry-run]
uip agenthub mcp refresh-tools <slug> --folder-key <key> [--dry-run]
uip agenthub mcp list
List MCP server registrations. Filters (--type, --status, --name) and paging (--limit/--offset) are applied client-side, since the underlying API returns a flat array.
Opciones
| Largo | Valor | Predeterminado | Descripción |
|---|---|---|---|
--type <kind> | uipath|command|coded|selfhosted|remote|process-assistant|platform|swagger | — | Filter by server type. Invalid values fail client-side before any API call. |
--status <s> | String | — | Filter by status. Matched against the numeric status enum as a raw string. |
--name <substr> | String | — | Case-insensitive substring match on server name. |
--limit <number> | Entero | 50 | Tamaño de la página. |
--offset <number> | Entero | 0 | Row offset. |
--folder-key <key> | GUID | — | Orchestrator folder. Mutually exclusive with --all-folders. |
--folder-path <path> | String | — | Folder display name or fully-qualified path, resolved to a key via the Orchestrator SDK. |
--all-folders | Marca | Desactivado | Enumerate every folder the caller can see. Mutually exclusive with --folder-key/--folder-path. |
--login-validity <minutes> | Entero | — | Override the interactive-login token lifetime for this call. |
Ejemplo
uip agenthub mcp list --folder-path Shared --type uipath --name invoice
uip agenthub mcp list --folder-path Shared --type uipath --name invoice
Forma de datos (--json de salida)
{
"Code": "AgentHubMcpList",
"Data": {
"items": [{ "slug": "invoice-mcp", "name": "Invoice MCP", "type": 0, "status": 0 }],
"total": 1,
"count": 1
}
}
{
"Code": "AgentHubMcpList",
"Data": {
"items": [{ "slug": "invoice-mcp", "name": "Invoice MCP", "type": 0, "status": 0 }],
"total": 1,
"count": 1
}
}
uip agenthub mcp get
Get one MCP server by canonical slug. No name-lookup fallback — pass the exact slug from mcp list.
Argumentos
| Nombre | Obligatorio | Propósito |
|---|---|---|
<slug> | Sí | Canonical MCP server slug. |
Opciones
| Largo | Valor | Descripción |
|---|---|---|
--folder-key <key> / --folder-path <path> | GUID / string | Folder context. |
--login-validity <minutes> | Entero | Token lifetime override. |
Ejemplo
uip agenthub mcp get invoice-mcp
uip agenthub mcp get invoice-mcp
Forma de datos (--json de salida)
{ "Code": "AgentHubMcpGet", "Data": { "slug": "invoice-mcp", "name": "Invoice MCP", "type": 0 } }
{ "Code": "AgentHubMcpGet", "Data": { "slug": "invoice-mcp", "name": "Invoice MCP", "type": 0 } }
uip agenthub mcp create
Create an MCP server. One subcommand per type — uipath, coded, command, remote, platform, swagger (see Concepts for the two type names that exist in the enum but have no working create leaf). All six share --name, --slug (defaults to a slugified --name), --description, --version, plus --file/--body/--print-schema/--dry-run and folder options. Requires a resolvable folder — fails before any network call otherwise.
Type-specific options
| Tipo | Opciones adicionales | Notas |
|---|---|---|
uipath | ninguno | Payload: { server: {name, slug, description, version}, tools: [] }. Tools are added afterward via mcp-tools. |
coded | --process-key <key> | Backed by an Orchestrator process. --folder-key doubles as the payload's folderKey. |
command | --command <cmd>, --arg <arg> (repeatable), --env <key=value> (repeatable) | Launches a local binary. arguments is the joined --arg list (space-separated); environmentVariables is a JSON-stringified object built from --env pairs. |
remote | --uri <uri>, --header <key=value> (repeatable), --use-relay | headers is a JSON-stringified object from --header pairs. |
platform | --service <name>, --tool <name> (repeatable) | Payload nests scalars under server, with selectedToolNames alongside it. |
swagger | --spec-url <url>, --use-relay, --filter <expr> (repeatable, reserved) | Creates through a separate Swagger-specific API endpoint. |
Ejemplos
uip agenthub mcp create uipath --name InvoiceMcp --slug invoice-mcp
uip agenthub mcp create command --name LocalMcp --slug local-mcp --command npx --arg @some/server
uip agenthub mcp create remote --name RemoteMcp --slug remote-mcp --uri https://example/mcp
uip agenthub mcp create uipath --name InvoiceMcp --slug invoice-mcp
uip agenthub mcp create command --name LocalMcp --slug local-mcp --command npx --arg @some/server
uip agenthub mcp create remote --name RemoteMcp --slug remote-mcp --uri https://example/mcp
Forma de datos (--json de salida)
{ "Code": "AgentHubMcpCreate", "Data": { "slug": "invoice-mcp", "name": "InvoiceMcp" } }
{ "Code": "AgentHubMcpCreate", "Data": { "slug": "invoice-mcp", "name": "InvoiceMcp" } }
--print-schema returns Code: "AgentHubMcpTemplate" with the type's JSON Schema instead of creating anything. --dry-run returns Code: "DryRun" with the resolved mutation plan.
uip agenthub mcp update
Update an MCP server. Dispatches by the server's existing type (fetched first) — the same type-specific options as create are all registered on update regardless of the target's real type, but only the ones relevant to the fetched type are merged in.
Argumentos
| Nombre | Obligatorio | Propósito |
|---|---|---|
<slug> | Sí | Canonical MCP server slug. |
Opciones
Same type-specific flags as create (--name, --description, --version, --process-key, --command, --arg, --env, --uri, --header, --use-relay, --service, --tool, --spec-url), plus --file/--body/--print-schema/--dry-run and folder options. type is immutable — including it in a --file/--body payload is a client-side error.
Ejemplo
uip agenthub mcp update invoice-mcp --name InvoiceMcp
uip agenthub mcp update invoice-mcp --name InvoiceMcp
Forma de datos (--json de salida)
{ "Code": "AgentHubMcpUpdate", "Data": { "slug": "invoice-mcp", "name": "InvoiceMcp" } }
{ "Code": "AgentHubMcpUpdate", "Data": { "slug": "invoice-mcp", "name": "InvoiceMcp" } }
uip agenthub mcp template
Emit a ready-to-edit JSON skeleton for one server type — a static, connector-independent reference command (no folder options at all).
Argumentos
| Nombre | Obligatorio | Propósito |
|---|---|---|
<type> | Sí | One of uipath, coded, command, selfhosted, remote, process-assistant, platform, swagger (all 8, including the two with no working create leaf). swagger-mcp is also accepted, normalized to swagger. |
Ejemplo
uip agenthub mcp template uipath
uip agenthub mcp template uipath
Forma de datos (--json de salida)
{ "Code": "AgentHubMcpTemplate", "Data": { "server": { "name": "uipath-mcp", "description": "", "version": "1.0.0", "isActive": true }, "tools": [] } }
{ "Code": "AgentHubMcpTemplate", "Data": { "server": { "name": "uipath-mcp", "description": "", "version": "1.0.0", "isActive": true }, "tools": [] } }
uip agenthub mcp delete
Delete an MCP server by slug. Destructive — requires -y/--yes. Requires a resolvable folder.
Argumentos
| Nombre | Obligatorio | Propósito |
|---|---|---|
<slug> | Sí | Canonical MCP server slug. |
Opciones
| Largo | Descripción |
|---|---|
-y, --yes | Required to confirm. The CLI never prompts. |
--dry-run | Print the mutation plan without deleting. |
Ejemplo
uip agenthub mcp delete invoice-mcp -y
uip agenthub mcp delete invoice-mcp -y
Forma de datos (--json de salida)
{ "Code": "AgentHubMcpDelete", "Data": { "slug": "invoice-mcp", "deleted": true } }
{ "Code": "AgentHubMcpDelete", "Data": { "slug": "invoice-mcp", "deleted": true } }
uip agenthub mcp refresh-tools
Re-derive a server's tools from its live source (a process's schema, a remote/swagger endpoint, etc.).
Argumentos
| Nombre | Obligatorio | Propósito |
|---|---|---|
<slug> | Sí | Canonical MCP server slug. |
Opciones
| Largo | Descripción |
|---|---|
--folder-key <key> / --folder-path <path> | One is required — the refresh endpoint is folder-scoped (/mcp/{folderKey}/{slug}/refresh-tools). Missing both fails with an explicit error before any lookup. |
--dry-run | Print the mutation plan without refreshing. |
Behavior differs by server type: coded/command refreshes return an async runtimeId (HTTP 202, status: "Started"); remote/swagger/platform refresh synchronously (status: "Refreshed", toolCount); uipath and selfhosted servers are rejected locally — their tools are manually authored, not derived — with a NextCommand hint pointing at mcp-tools create-resource.
Ejemplo
uip agenthub mcp refresh-tools remote-mcp --folder-key f1f2f3f4-0000-0000-0000-000000000001
uip agenthub mcp refresh-tools remote-mcp --folder-key f1f2f3f4-0000-0000-0000-000000000001
Forma de datos (--json de salida)
{ "Code": "AgentHubMcpRefreshTools", "Data": { "status": "Refreshed", "toolCount": 3 } }
{ "Code": "AgentHubMcpRefreshTools", "Data": { "status": "Refreshed", "toolCount": 3 } }
Async (202) responses instead return { "runtimeId": "...", "status": "Started" }.
Relacionado
mcp-toolsandremote-a2a-agent— manage tools on a server, and remote A2A agent registrations.
Ver también
- Conceptos
- Sinopsis
- uip agenthub mcp list
- Opciones
- Ejemplo
- Forma de datos (--json de salida)
- uip agenthub mcp get
- Argumentos
- Opciones
- Ejemplo
- Forma de datos (--json de salida)
- uip agenthub mcp create
- Type-specific options
- Ejemplos
- Forma de datos (--json de salida)
- uip agenthub mcp update
- Argumentos
- Opciones
- Ejemplo
- Forma de datos (--json de salida)
- uip agenthub mcp template
- Argumentos
- Ejemplo
- Forma de datos (--json de salida)
- uip agenthub mcp delete
- Argumentos
- Opciones
- Ejemplo
- Forma de datos (--json de salida)
- uip agenthub mcp refresh-tools
- Argumentos
- Opciones
- Ejemplo
- Forma de datos (--json de salida)
- Relacionado
- Ver también