Skip to main content
Glama
adamstuber

uipath-orchestrator-mcp

by adamstuber

Server Configuration

Describes the environment variables required to run the server.

NameRequiredDescriptionDefault
MCP_HOSTNoHost to bind when using an HTTP transport (default: 0.0.0.0)
MCP_PORTNoPort to bind when using an HTTP transport (default: 8000)
MCP_LOG_LEVELNoLogging level: DEBUG, INFO, WARN, ERROR (default: INFO)
MCP_TRANSPORTNoTransport type: stdio (default), streamable-http, or sse
UIPATH_SCOPESNoSpace-separated OAuth scopes (default: all required scopes)
UIPATH_ORG_NAMEYesYour UiPath organization name (from the cloud URL)
UIPATH_CLIENT_IDYesOAuth client ID from your external application
UIPATH_TENANT_NAMEYesYour UiPath tenant name (e.g. DefaultTenant)
UIPATH_CLIENT_SECRETYesOAuth client secret

Capabilities

Features and capabilities supported by this server

CapabilityDetails
tools
{
  "listChanged": false
}
prompts
{
  "listChanged": false
}
resources
{
  "subscribe": false,
  "listChanged": false
}
experimental
{}

Tools

Functions exposed to the LLM to take actions

NameDescription
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:

  • "Status eq 'Failed'"

  • "Status eq 'New' and Priority eq 'High'"

  • "Reference eq 'ORDER-123'"

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:

  • 'All' (default): run on all connected robots in the folder.

  • 'Specific': run only on the robots listed in robot_ids.

  • 'JobsCount': start exactly jobs_count parallel job instances.

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 tail provides or need to paginate through all entries.

Returns:

  • job: metadata (state, process, start/end time, duration, robot, error fields)

  • error_logs: all Error and Fatal log entries for the job

  • combined_log_view: deduplicated, time-sorted merge of error logs + last tail entries

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

NameDescription

No prompts

Resources

Contextual data attached and managed by the client

NameDescription

No resources

Latest Blog Posts

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