uipath-orchestrator-mcp
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| MCP_HOST | No | Host to bind when using an HTTP transport (default: 0.0.0.0) | |
| MCP_PORT | No | Port to bind when using an HTTP transport (default: 8000) | |
| MCP_LOG_LEVEL | No | Logging level: DEBUG, INFO, WARN, ERROR (default: INFO) | |
| MCP_TRANSPORT | No | Transport type: stdio (default), streamable-http, or sse | |
| UIPATH_SCOPES | No | Space-separated OAuth scopes (default: all required scopes) | |
| UIPATH_ORG_NAME | Yes | Your UiPath organization name (from the cloud URL) | |
| UIPATH_CLIENT_ID | Yes | OAuth client ID from your external application | |
| UIPATH_TENANT_NAME | Yes | Your UiPath tenant name (e.g. DefaultTenant) | |
| UIPATH_CLIENT_SECRET | Yes | OAuth client secret |
Capabilities
Features and capabilities supported by this server
| Capability | Details |
|---|---|
| tools | {
"listChanged": false
} |
| prompts | {
"listChanged": false
} |
| resources | {
"subscribe": false,
"listChanged": false
} |
| experimental | {} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| get_orchestrator_summaryA | Return all non-workspace folders with their deployed processes and queue names. This is the primary discovery tool. Call it once at the start of any session or whenever the folder name, process name, or queue name is unknown. The names returned here are the exact values expected by folder_name, process_name, and queue_name parameters in all other tools. Returns a list of objects: {folder, processes: [...], queues: [...]}. Personal workspace folders are excluded automatically. |
| list_foldersA | List all folders in UiPath Orchestrator (raw API response). Prefer get_orchestrator_summary over this tool — it also returns processes and queues per folder and filters out personal workspaces. Use list_folders only when you need the raw folder metadata (IDs, types, parent hierarchy). |
| list_queue_definitionsA | List all queue definitions (metadata) in a folder. Returns queue names, IDs, and configuration — but not the queue items themselves. To retrieve actual work items, use get_queue_items. To count items matching a filter before fetching, use count_queue_items. Args: folder_name: The display name of the folder. |
| get_queue_itemsA | Retrieve a batch of queue items from a specific queue. Queue item statuses: New, InProgress, Successful, Failed, Abandoned, Retried, Deleted. Before calling this on a large queue, use count_queue_items to check volume. Use most_recent_first=True with a small batch_size to efficiently get the latest items. OData filter examples:
Args: folder_name: The display name of the folder. queue_name: The name of the queue. batch_size: Number of items to return (default 100). skip: Number of items to skip for pagination (default 0). filter_query: Optional OData filter string. most_recent_first: If True, return newest items first. |
| add_queue_itemB | Add a new item to a queue. Args: folder_name: The display name of the folder. queue_name: The name of the queue. specific_content: Key-value pairs of data to store with the queue item. priority: Item priority — 'Low', 'Normal', or 'High' (default 'Normal'). reference: Optional reference string for tracking purposes. |
| delete_queue_itemA | Delete a queue item by its ID. Args: queue_item_id: The ID of the queue item to delete. folder_name: The display name of the folder containing the item. |
| retry_queue_itemA | Retry a Failed or Abandoned queue item, resetting it to New so robots will pick it up again. Only applicable to items with status Failed or Abandoned — retrying items in other states will return an API error. The row_version field is returned with each queue item from get_queue_items and is required for optimistic concurrency control. Args: queue_item_id: The ID of the queue item to retry. row_version: The RowVersion value from the queue item (prevents stale retries). folder_name: The display name of the folder containing the item. |
| list_jobsA | List and filter jobs within a single folder. Use this when the user asks about jobs in a specific, known folder. Use get_jobs_across_folders instead when querying multiple folders or the entire tenant. Returns a trimmed set of fields per job: Id, ReleaseName, State, StartTime, EndTime, Info, JobError, HostMachineName, Source, and _folder. Args: folder_name: The display name of the folder. batch_size: Number of jobs to return (default 50). skip: Number of jobs to skip for pagination (default 0). state: Filter by job state — 'Faulted', 'Successful', 'Pending', 'Running', 'Stopped', 'Stopping'. job_priority: Filter by priority — 'Low', 'Normal', or 'High'. start_time: Filter jobs that started at or after this ISO 8601 datetime string. end_time: Filter jobs that ended at or before this ISO 8601 datetime string. release_name: Filter jobs by release (process) name. source: Filter by how the job was triggered — 'Manual', 'Schedule', 'Agent', 'Queue'. most_recent_first: If True, return most recently started jobs first. |
| get_jobA | Get the full details for a specific job by ID (raw API response). Returns all job fields. If you need to understand why a job failed, use diagnose_job instead — it also fetches error logs and returns a structured summary. Args: job_id: The ID of the job. folder_name: The display name of the folder containing the job. |
| start_jobA | Start a new execution of a process (release) in a folder. Provide process_name (as returned by get_orchestrator_summary) and folder_name — the release key is looked up automatically. Only provide release_key if you already have the exact GUID and want to skip that lookup. Strategy options:
Args: folder_name: The display name of the folder containing the process. process_name: The process name as returned by get_orchestrator_summary. release_key: GUID of the release. Omit to auto-resolve from process_name. strategy: Robot allocation strategy — 'All', 'Specific', or 'JobsCount'. robot_ids: List of robot IDs to target (required when strategy is 'Specific'). jobs_count: Number of job instances to start (required when strategy is 'JobsCount'). input_arguments: Dictionary of input argument name→value pairs to pass to the process. |
| stop_jobA | Stop a running job. Args: job_id: The ID of the job to stop. folder_name: The display name of the folder containing the job. strategy: Stop strategy — 'SoftStop' (graceful, waits for current transaction) or 'Kill' (immediate). |
| get_jobs_across_foldersA | Query jobs across multiple folders in a single call — the preferred tool for tenant-wide or multi-folder job queries. Use list_jobs instead only when you already know the single folder and need advanced OData filtering or job_priority filtering. Returns a trimmed set of fields per job (same as list_jobs). Results from all folders are merged and optionally sorted by StartTime. Args: state: Filter by execution state — 'Faulted', 'Successful', 'Pending', 'Running', 'Stopped', 'Stopping'. folder_names: Folders to check. If omitted, checks all non-workspace folders. hours_back: Return jobs started within the last N hours. Takes priority over days_back. days_back: Return jobs started within the last N days. release_name: Filter jobs by release name. source: Filter by how the job was triggered — 'Manual', 'Schedule', 'Agent', 'Queue'. most_recent_first: If True, return most recently started jobs first per folder, then sort combined results. Use with batch_size to efficiently find the last N jobs across folders. batch_size: Max jobs to return per folder (default 50). |
| get_job_logsA | Retrieve paginated robot execution logs for a specific job. Use diagnose_job instead when the goal is to understand a failure — it combines job metadata with error logs and recent context in a single focused response. Use get_job_logs when you need full log pagination, specific time ranges, or log levels that diagnose_job doesn't surface. Log levels (lowest to highest): Trace, Info, Warn, Error, Fatal. Args: job_id: The ID of the job. folder_name: The display name of the folder containing the job. batch_size: Number of log entries to return (default 100). skip: Number of entries to skip for pagination. min_level: Minimum log level to return — 'Trace', 'Info', 'Warn', 'Error', or 'Fatal'. Ignored if log_levels is provided. log_levels: Exact levels to include, e.g. ['Error', 'Fatal']. Takes priority over min_level. start_time: Return logs at or after this ISO 8601 datetime string. end_time: Return logs at or before this ISO 8601 datetime string. |
| diagnose_jobA | Return a focused diagnostic report for a job — the first tool to call when asked 'what went wrong?' or 'why did this job fail?'. Combines job metadata and error logs in one call, avoiding the need to chain
get_job + get_job_logs. Only use get_job_logs afterward if you need more log
history than Returns:
Args: job_id: The ID of the job to diagnose. folder_name: The display name of the folder containing the job. tail: Number of most-recent log entries to include for context (default 15). |
| list_releasesA | List all releases (deployed automations) in a folder with full metadata. In UiPath, a "release" is a specific version of a process package deployed to a folder. get_orchestrator_summary returns just the process names; use list_releases when you need release keys (GUIDs), package versions, entry points, or other deployment metadata. Args: folder_name: The display name of the folder. |
| count_queue_itemsA | Return the total number of queue items matching the given criteria — without fetching the items. Call this before get_queue_items to check volume and decide on batch_size / pagination strategy. Also useful for health checks (e.g. how many New items are waiting?). Args: folder_name: The display name of the folder. queue_name: Queue name to scope the count. If omitted, counts across all queues in the folder. filter_query: Optional OData filter string (e.g. "Status eq 'Failed'"). |
| bulk_add_queue_itemsA | Add multiple items to a queue in a single API call. Args: folder_name: The display name of the folder. queue_name: The name of the queue. items: List of item objects. Each item may contain: - specific_content (dict, required) — the data payload - priority (str, optional) — 'Low', 'Normal', or 'High' - reference (str, optional) — tracking reference commit_type: 'AllOrNothing' (default) — rolls back everything if any item fails; 'ProcessAllIndependently' — commits each item individually. |
| list_schedulesA | List all process schedules (time-based triggers) in a folder. Returns schedule metadata including cron expression, enabled/disabled state, and the associated release name. Use enable_schedule / disable_schedule to toggle them. Args: folder_name: The display name of the folder. |
| enable_scheduleB | Enable a process schedule. Args: schedule_id: The ID of the schedule to enable. folder_name: The display name of the folder containing the schedule. |
| disable_scheduleB | Disable a process schedule. Args: schedule_id: The ID of the schedule to disable. folder_name: The display name of the folder containing the schedule. |
| list_robotsA | List robots, optionally scoped to a specific folder. Args: folder_name: The display name of the folder (optional). If omitted, returns all robots. |
| list_machinesA | List machines, optionally scoped to a specific folder. Args: folder_name: The display name of the folder (optional). If omitted, returns all machines. |
| list_assetsA | List all assets in a folder. Args: folder_name: The display name of the folder. |
| get_assetA | Get a specific asset by name from a folder. Args: folder_name: The display name of the folder. asset_name: The name of the asset to retrieve. |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
No prompts | |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
No resources | |
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/adamstuber/uipath-orchestrator-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server