UiPath MCP服务器管理工具

一个用于管理多个UiPath MCP端点的本地化服务器解决方案,提供多租户认证、动态工具管理和实时监控功能。

  • by javaos74
  • Python
  • 本地部署
  • 3 星标
  • 更新于
在 GitHub 查看 javaos74/uipath-mcp-server

使用说明

UiPath MCP服务器

UiPath本地MCP服务器,带Web UI,用于管理多个MCP端点。

建筑

  • 后端:Python(FastAPI/Starlette)-带身份验证的MCP服务器
  • 前端:React+TypeScript(Vite)-用于服务器管理的Web UI
  • 数据库:SQLite-用户、服务器和工具配置

发展

先决条件

  • Python 3.11+
  • Node.js 18+
  • uv(Python包管理器)

后端开发

cd backend
uv sync
uv run python -m src.main

后端运行 http://localhost:8000

前端开发

cd frontend
npm install
npm run dev

前端开发服务器运行在 http://localhost:3000 API代理到后端。

生产建设

构建前端并运行

# Build frontend (outputs to backend/static/)
./build.sh

# Run backend (serves both API and frontend)
cd backend
uv run python -m src.main

访问应用程序 http://localhost:8000

Docker部署

# 1. Build frontend first
./build.sh

# 2. Build Docker image (uses version from pyproject.toml)
./docker-build-simple.sh

# 3. Run with Docker Compose
docker-compose up -d

Docker镜像将被标记为来自的版本 backend/pyproject.toml (目前: 0.1.0).

看 医生.md 了解详细的Docker部署指南。

手动构建

# Build frontend
cd frontend
npm install
npm run build

# Run backend
cd ../backend
uv run python -m src.main

特性

  • 🔐 多租户身份验证 -用户注册和基于JWT的身份验证
  • 🤖 多个MCP服务器 -创建和管理多个MCP服务器端点
  • 🔧 动态工具管理 -创建映射到UiPath流程的工具
  • 🔑 双重身份验证支持 -PAT(个人访问令牌)和OAuth 2.0
  • 🌐 Web用户界面 -基于React的界面,便于管理
  • 📊 实时监控 -跟踪工具执行和作业状态
  • 🔒 安全令牌管理 -每个服务器生成和管理API令牌
  • 🏢 内部支持 -适用于UiPath Cloud和本地安装

API终点

认证

  • POST /auth/register -注册新用户

    {
      "username": "user",
      "email": "user@example.com",
      "password": "password123"
    }
    
  • POST /auth/login -登录并获取JWT令牌

    {
      "username": "user",
      "password": "password123"
    }
    
  • GET /auth/me -获取当前用户信息(需要JWT)

  • PUT /auth/uipath-config -更新UiPath配置

    {
      "uipath_url": "https://cloud.uipath.com/org/tenant",
      "uipath_auth_type": "pat",
      "uipath_access_token": "your-pat-token"
    }
    

    或者对于OAuth:

    {
      "uipath_url": "https://your-server.com/org/tenant",
      "uipath_auth_type": "oauth",
      "uipath_client_id": "your-client-id",
      "uipath_client_secret": "your-client-secret"
    }
    

MCP服务器

  • GET /api/servers -列出当前用户的所有服务器
  • POST /api/servers -创建新的MCP服务器
    {
      "tenant_name": "MyTenant",
      "server_name": "MyServer",
      "description": "Server description"
    }
    
  • GET /api/servers/{tenant}/{server} -获取服务器详细信息
  • PUT /api/servers/{tenant}/{server} -更新服务器
  • DELETE /api/servers/{tenant}/{server} -删除服务器

服务器令牌管理

  • GET /api/servers/{tenant}/{server}/token -获取当前API令牌
  • POST /api/servers/{tenant}/{server}/token -生成新的API令牌
  • DELETE /api/servers/{tenant}/{server}/token -吊销API令牌

MCP工具

  • GET /api/servers/{tenant}/{server}/tools -列出所有工具
  • POST /api/servers/{tenant}/{server}/tools -创建新工具
    {
      "name": "my_tool",
      "description": "Tool description",
      "input_schema": {
        "type": "object",
        "properties": {
          "param1": {"type": "string"}
        },
        "required": ["param1"]
      },
      "uipath_process_name": "ProcessName",
      "uipath_folder_id": "folder-id"
    }
    
  • GET /api/servers/{tenant}/{server}/tools/{tool} -获取工具详细信息
  • PUT /api/servers/{tenant}/{server}/tools/{tool} -更新工具
  • DELETE /api/servers/{tenant}/{server}/tools/{tool} -删除工具

UiPath集成

  • GET /api/uipath/folders -列出UiPath文件夹
  • GET /api/uipath/processes?folder_id={id} -列出文件夹中的进程

MCP协议

  • GET /mcp/{tenant}/{server}/sse -MCP客户端的SSE连接
  • POST /mcp/{tenant}/{server}/sse/messages -SSE消息发布
  • GET /mcp/{tenant}/{server} -HTTP流式传输(GET)
  • POST /mcp/{tenant}/{server} -HTTP流式传输(POST)
  • DELETE /mcp/{tenant}/{server} -HTTP流式传输(删除)

认证:MCP终结点需要标头中的API令牌:

Authorization: Bearer <server-api-token>

健康检查

  • GET /health -服务器健康检查端点

UiPath配置

身份验证方法

服务器支持UiPath的两种身份验证方法:

1.个人访问令牌(PAT)

最适合UiPath云环境:

  • 从UiPath云管理控制台生成PAT
  • 在设置页面中配置
  • 适用于:优步云(Cloud.UiPath.com)

2.OAuth 2.0(客户端凭据)

最适合本地安装:

  • 在UiPath中创建OAuth应用程序
  • 获取客户端ID和客户端密码
  • 在设置页面中配置
  • 适用于:具有自签名证书的本地UiPath安装

SSL证书处理

服务器自动处理本地安装的自签名证书:

  • 非云URL的SSL验证已禁用
  • SSL警告被抑制
  • 与内部CA证书无缝协作

执行方法

服务器会自动选择适当的执行方法:

  • UiPath云 (uipath.com 在URL中):使用UiPath Python SDK
  • 前提的:将REST API与 startJobs 端点

环境变量

创建一个 .env 文件在 backend/ 目录:

cd backend
cp .env.example .env
# Edit .env with your configuration

可用变量:

  • API_HOST -服务器主机(默认值:0.0.0.0)
  • API_PORT -服务器端口(默认值:8000)
  • DB_PATH -数据库文件路径(默认:数据库/mcp_servers.db)
  • SECRET_KEY -JWT密钥(生产所需)
  • TOOL_CALL_TIMEOUT -UiPath工具执行超时(秒)(默认值:600)
  • LOG_LEVEL -日志记录级别(默认值:INFO)

默认管理员帐户

首次创建数据库时,会自动创建默认管理员帐户:

  • 用户名: admin
  • 密码: admin
  • 电子邮件: admin@mydomain.com
  • 角色: admin

⚠️ 安全警告:请在首次登录后立即更改默认密码!

使用指南

1.注册和登录

  1. 访问web UI http://localhost:8000
  2. 使用默认管理员帐户登录(用户名: admin,密码: admin)
  3. 或者注册一个新帐户并使用您的凭据登录

2.配置UiPath

  1. 转到设置页面
  2. 输入您的UiPath URL
  3. 选择身份验证方法:
    • 专利审查高速路:输入您的个人访问令牌
    • OAuth:输入客户端ID和客户端密码
  4. 保存配置

3.创建MCP服务器

  1. 转到仪表板
  2. 点击“创建服务器”
  3. 输入租户名称和服务器名称
  4. 为服务器生成API令牌

4.添加工具

  1. 从列表中选择服务器
  2. 点击“从UiPath添加工具”
  3. 选择文件夹和进程
  4. 配置刀具参数
  5. 保存刀具

5.使用MCP服务器

配置您的MCP客户端(例如Claude Desktop):

{
  "mcpServers": {
    "uipath": {
      "url": "http://localhost:8000/mcp/MyTenant/MyServer/sse",
      "headers": {
        "Authorization": "Bearer <your-server-api-token>"
      }
    }
  }
}

许可证

麻省理工学院