"uip mCP" 的语法和选项,可将 UiPath CLI 公开为 MCP 感知客户端的模型上下文协议服务器。
uip mcp将 CLI 公开为模型上下文协议服务器,让可感知 MCP 的客户端(Claude Desktop、Cursor、VS Code MCP 主机等)将任何uip命令作为工具调用。
技能是训练 AI 编码智能体使用 UiPath CLI 的主要路径 — 请参阅uip skills和技能。MCP 用于作为不支持技能或更喜欢 MCP 样式工具调用的客户端的替代方案。如果您的智能体支持技能,则首选技能。
大纲
uip mcp serve
uip mcp serve
uip mcp serve采用服务器流程本身的全局选项( --output 、 --output-filter 、 --log-level 、 --log-file );它向客户端公开的工具接受任何 CLI 命令字符串,并返回其标准输出/标准错误组合。退出代码遵循标准合同。
UIP MCP 服务
在STIO上启动 MCP 服务器 (以换行符分隔的 JSON-RPC)。没有网络侦听器,没有 HTTP 传输,也无需端口配置——stdio 是 1.x 中唯一支持的传输。
参数
无。
选项
无。服务器将运行到客户端关闭 STIO 传输(通常在主机应用程序退出时)。
行为
- 服务器通告单个工具
run_command,该工具接受一个参数:command(string) — 要运行的 CLI 命令,不带uip前缀。示例:"login status --output json"。
- 服务器在启动时枚举每个已安装的
uip子命令,并在 MCP 工具的描述中包含呈现的命令目录。已从该目录中排除mcp和help命令 — 客户端无法要求服务器启动另一个 MCP 服务器。 - 每次调用
run_command时,CLI 都会在子调用中运行请求的命令,并返回组合的标准输出/标准错误结果。如果子项以非零值退出,或其使用零退出代码将错误信封写入标准错误(这是一种命令在不更改退出代码的情况下报告失败的罕见情况),则结果将标记为isError: true并添加前缀Error (exit code N):
示例(从 shell 启动服务器 — 通常,您的 MCP 客户端会为您启动):
uip mcp serve
uip mcp serve
配置 MCP 客户端
所有配置都使用相同的命令/参数。服务器名称(下方为uipath )可以是任意名称。
Claude 桌面— 编辑claude_desktop_config.json :
- MacOS:
~/Library/Application Support/Claude/claude_desktop_config.json - Windows:
%APPDATA%\Claude\claude_desktop_config.json
{
"mcpServers": {
"uipath": {
"command": "uip",
"args": ["mcp", "serve"]
}
}
}
{
"mcpServers": {
"uipath": {
"command": "uip",
"args": ["mcp", "serve"]
}
}
}
保存后重新启动 Claude Desktop。
Claude 代码— 通过其 CLI 添加:
claude mcp add uipath -- uip mcp serve
claude mcp add uipath -- uip mcp serve
光标— 编辑.cursor/mcp.json (项目本地)或光标全局 MCP 配置:
{
"mcpServers": {
"uipath": {
"command": "uip",
"args": ["mcp", "serve"]
}
}
}
{
"mcpServers": {
"uipath": {
"command": "uip",
"args": ["mcp", "serve"]
}
}
}
VS Code — 编辑.vscode/mcp.json :
{
"servers": {
"uipath": {
"command": "uip",
"args": ["mcp", "serve"]
}
}
}
{
"servers": {
"uipath": {
"command": "uip",
"args": ["mcp", "serve"]
}
}
}
生命周期
MCP 服务器没有独立的停止命令。它作为 MCP 客户端的子流程存在,并在以下情况下退出:
- 客户端关闭stdio连接,
- 主机应用程序退出,或
- 从客户端配置中删除服务器条目并重新加载。
身份验证和租户上下文
uip mcp serve不管理凭据。每次调用run_command都会读取与交互式 Shell 相同的存储会话,因此,在要求智能体调用需要身份验证的命令之前,您必须单独运行uip login 。如果不存在会话,则工具结果将包含通常的AuthenticationError有效负载(请参阅退出代码)。
数据形状
工具结果遵循 MCP 工具调用合同。成功后:
{
"content": [
{ "type": "text", "text": "<combined stdout/stderr>" }
],
"isError": false
}
{
"content": [
{ "type": "text", "text": "<combined stdout/stderr>" }
],
"isError": false
}
如果失败, isError为true ,并且text前缀为Error (exit code N): 。内部文本是常规 CLI 输出(如果调用者请求了--output json ,则为 JSON,否则为默认格式)。
注意事项
- 始终从 MCP 调用内部请求 JSON。在
command字符串中传递--output json,以便智能体接收结构化数据而非表格。 - 不筛选破坏性命令。
run_command工具可以调用任何uip命令,包括logout、tools uninstall和改变 Orchestrator 状态的工具。将 MCP 服务器视为经过身份验证的 Shell,并相应地确定智能体的范围。 help和mcp已从目录中隐藏,但客户端仍可调用。无法阻止通过另一个mcp serve以递归方式调用run_command;这在实践中是无效操作,因为外部服务器控制着 STIO。
相关内容
uip skills— 主要 AI 集成路径。- 技能— 在智能体工效方面,为何优先使用技能而非原始 MCP 访问权限。
- 身份验证— 会话
run_command继承。 - 全局选项—
--output json位于 MCP 调用中。