返回市场
UiPath-MCP-服务器

UiPath-MCP-服务器

作者:javaos742 星标更新:2025-11-15

项目介绍

UiPath MCP Server

UiPath本地MCP服务器,带有用于管理多个MCP端点的Web界面。

架构

  • 后端: Python (FastAPI/Starlette) - 带有身份验证的MCP服务器
  • 前端: React + TypeScript (Vite) - 用于服务器管理的Web界面
  • 数据库: 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。

生产构建

构建前端并运行

# 构建前端(输出到backend/static/)
./build.sh

# 运行后端(同时提供API和前端服务)
cd backend
uv run python -m src.main

访问应用在 http://localhost:8000

Docker部署

# 1. 先构建前端
./build.sh

# 2. 构建Docker镜像(使用pyproject.toml中的版本)
./docker-build-simple.sh

# 3. 使用Docker Compose运行
docker-compose up -d

Docker镜像将使用来自 backend/pyproject.toml 的版本进行标记(当前:0.1.0)。

参见 DOCKER.md 获取详细的Docker部署指南。

手动构建

# 构建前端
cd frontend
npm install
npm run build

# 运行后端
cd ../backend
uv run python -m src.main

功能

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

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": "服务器描述"
    }
    
  • 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": "工具描述",
      "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流式传输(DELETE)

认证: MCP端点需要在头部携带API令牌:

Authorization: Bearer <server-api-token>

健康检查

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

UiPath配置

认证方法

服务器支持两种UiPath认证方法:

1. 个人访问令牌(PAT)

适用于UiPath云环境:

  • 在UiPath云管理控制台生成PAT
  • 在设置页面中配置
  • 适合:UiPath云(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端点

环境变量

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

cd backend
cp .env.example .env
# 编辑.env以匹配您的配置

可用变量:

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

默认管理员账户

当数据库首次创建时,会自动创建一个默认管理员账户:

  • 用户名: admin
  • 密码: admin
  • 邮箱: admin@mydomain.com
  • 角色: admin

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

使用指南

1. 注册和登录

  1. 访问Web界面 http://localhost:8000
  2. 使用默认管理员账户登录(用户名:admin,密码:admin
  3. 或者注册新账户并使用您的凭据登录

2. 配置UiPath

  1. 转到设置页面
  2. 输入您的UiPath URL
  3. 选择认证方法:
    • PAT: 输入您的个人访问令牌
    • 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>"
      }
    }
  }
}

许可证

MIT