UiPath本地MCP服务器,带有用于管理多个MCP端点的Web界面。
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
# 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
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"
}
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令牌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} - 删除工具GET /api/uipath/folders - 列出UiPath文件夹GET /api/uipath/processes?folder_id={id} - 列出文件夹中的流程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云环境:
适用于本地安装:
服务器自动处理本地安装的自签名证书:
服务器自动选择适当的执行方法:
uipath.com 在URL中):使用UiPath Python SDKstartJobs端点在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)当数据库首次创建时,会自动创建一个默认管理员账户:
adminadminadmin@mydomain.comadmin⚠️ 安全警告: 请在第一次登录后立即更改默认密码!
http://localhost:8000admin,密码:admin)配置您的MCP客户端(例如,Claude Desktop)如下:
{
"mcpServers": {
"uipath": {
"url": "http://localhost:8000/mcp/MyTenant/MyServer/sse",
"headers": {
"Authorization": "Bearer <your-server-api-token>"
}
}
}
}
MIT