Operaton MCP
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| OPERATON_ENGINE | No | Operaton engine name used in API path templates | default |
| OPERATON_BASE_URL | Yes | Operaton REST API base URL (e.g. http://localhost:8080/engine-rest) | |
| OPERATON_PASSWORD | Yes | Operaton password for Basic Auth | |
| OPERATON_USERNAME | Yes | Operaton user for Basic Auth | |
| OPERATON_SKIP_HEALTH_CHECK | No | Skip startup connectivity check — set true for dev/test environments | false |
Capabilities
Features and capabilities supported by this server
| Capability | Details |
|---|---|
| tools | {} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| processDefinition_listB | List deployed process definitions. Filter by key, name, version, category, or tenant. Returns key, id, version, and deployment info for each definition. |
| processDefinition_countA | Count deployed process definitions matching filter criteria. Supports same filters as list. Use before listing to plan pagination. |
| processDefinition_getByIdA | Retrieve a single process definition by its unique ID. Returns full metadata: key, version, deployment ID, resource name, and tenant. |
| processDefinition_getByKeyA | Retrieve the latest deployed version of a process definition by its key. Returns full metadata including version, deployment ID, and start form key. |
| processDefinition_deleteByIdA | Delete a process definition by ID. Set cascade=true to also delete running instances, history, and jobs. Fails if instances exist and cascade is false. |
| processDefinition_deleteByKeyA | Delete all versions of a process definition by key. Set cascade=true to remove all instances and history. Fails if active instances exist and cascade is false. |
| processInstance_startByIdA | Start a new process instance by process definition ID. Use when a specific definition version is required. Returns instance ID, state, and definition info. |
| processInstance_startA | Start a new process instance by definition key (latest version). Accepts optional business key and typed variables. Returns instance ID, state, and definition info. |
| processDefinition_getXmlByIdA | Retrieve the BPMN 2.0 XML source of a process definition by ID. Useful for inspecting or debugging process models. |
| processDefinition_getXmlByKeyA | Retrieve the BPMN 2.0 XML source of the latest deployed version of a process definition by key. |
| processDefinition_activityStatsA | Get activity-level statistics for a process definition: instance counts per activity, failed job counts, and incident counts. Useful for bottleneck analysis. |
| processDefinition_statisticsA | Get process definition statistics across all deployed definitions: instance counts, failed job counts, and incident counts per definition. |
| processDefinition_suspendByKeyA | Suspend or activate a process definition by key. Suspended definitions cannot be started. Set includeProcessInstances=true to also suspend all running instances. |
| processDefinition_setHistoryTtlByIdA | Update the history time-to-live (in days) for a specific process definition version by ID. Controls how long historic instances are retained. |
| processDefinition_setHistoryTtlByKeyA | Update the history time-to-live (in days) for all versions of a process definition by key. Controls historic data retention. |
| processDefinition_restartInstancesC | Restart one or more process instances for a process definition. Use to re-execute failed or completed instances from a given activity. |
| processDefinition_getCalledProcessesA | List all process definitions statically called (via call activity) by a given process definition ID. Useful for dependency analysis. |
| deployment_listB | List deployments in the engine. Filter by name, source, deployment time range, or tenant. Returns deployment ID, name, and time for each deployment. |
| deployment_countB | Count deployments matching filter criteria. Supports same filters as deployment list. |
| deployment_deleteA | Delete a deployment by ID. Set cascade=true to also delete running instances and history. Use skipCustomListeners and skipIoMappings to bypass lifecycle hooks. |
| deployment_getByIdA | Retrieve a deployment by its ID. Returns deployment name, source, time, and tenant ID. |
| deployment_listResourcesB | List all resources (BPMN files, DMN files, forms) included in a deployment by deployment ID. |
| deployment_redeployB | Redeploy an existing deployment, optionally selecting specific resources. Creates a new deployment from resources of a previous deployment. |
| processDefinition_restartInstancesAsyncA | Restart process instances asynchronously (returns a batch job). Use when restarting many instances to avoid timeout. |
| task_claimA | Claim a user task for the specified user. After claiming, the task is assigned to that user and removed from candidate group queues. |
| task_unclaimA | Unclaim a user task, removing the current assignee. The task returns to the candidate group queue and can be claimed by another user. |
| task_completeC | Complete a user task, advancing the process to the next step. Optionally provide output variables to pass to the process. Returns confirmation. |
| task_delegateA | Delegate a user task to another user. The original owner retains ownership but the delegated user can complete it. Use for escalation workflows. |
| task_setAssigneeA | Directly assign a user task to a specific user without going through the claim workflow. Overwrites any existing assignee. |
| task_createA | Create a standalone user task not attached to a process instance. Useful for ad-hoc work items. Provide name, assignee, priority, and due date. |
| task_updateA | Update metadata of a user task: name, description, assignee, due date, priority, or parent task. Does not advance the task in the workflow. |
| task_getVariablesA | Retrieve all variables associated with a user task. Returns variables from task scope and parent process scope. |
| task_setVariablesA | Add or update multiple variables on a user task. Variables set here are available in the process after task completion. Provide typed variable values. |
| task_resolveA | Resolve a delegated task, returning ownership to the original owner. Use after the delegate has completed their work to restore normal ownership. |
| task_throwBpmnErrorA | Throw a BPMN error from a user task, triggering the boundary error event on the process. Use to signal an exceptional condition during task execution. |
| task_listA | Query user tasks with rich filtering: by assignee, candidate group, process instance, variables, due date, and more. Returns task metadata for operator review. |
| task_getByIdA | Retrieve a single user task by its ID. Returns task name, assignee, due date, priority, and process instance. |
| task_countB | Count user tasks matching filter criteria. Supports same filters as task list. Useful for workload sizing. |
| incident_listA | List active incidents in the engine. Filter by type, message, process definition, or activity. Incidents indicate failed jobs, failed scripts, or custom conditions. |
| incident_getByIdB | Retrieve a single incident by ID. Returns type, message, cause, root cause, process definition ID, and activity ID. |
| incident_countA | Count active incidents matching filter criteria. Use to gauge operational health before investigating individual incidents. |
| incident_resolveA | Resolve an incident by ID, clearing the error state and allowing the process to continue or be retried. Only applicable to custom incident types. |
| job_listB | List jobs with optional filters: process instance, job definition, exception presence, retries, and due date range. Returns id, type, retries, dueDate, and exceptionMessage. |
| job_countA | Count jobs matching filter criteria. Use to assess backlog size before listing. |
| job_getA | Retrieve a single job by ID. Returns id, type, retries, dueDate, exceptionMessage, and process instance details. |
| job_triggerExecutionA | Trigger immediate execution of a specific job. Use to manually run a scheduled or async job without waiting for its due date. |
| job_setSuspensionC | Suspend or resume a specific job by ID. Suspended jobs will not be executed by the job executor. Resume to re-enable execution. |
| job_setRetriesA | Set the retry count for a failed job. Use to reset retries after fixing the root cause of a job failure. Set to 1 or more to re-enable execution. |
| job_getStacktraceA | Retrieve the exception stacktrace for a failed job. Use to diagnose the root cause of job failures. |
| jobDefinition_listA | List job definitions with filters. Returns timer and async service task definitions with their current suspension state and override priority. |
| jobDefinition_getB | Retrieve a single job definition by ID. Returns activity details, process definition, and suspension state. |
| jobDefinition_setSuspensionB | Suspend or resume all jobs for a job definition. Use includeJobs=true to also suspend/resume active job instances for this definition. |
| user_createA | Create a new Operaton user account with profile (id, firstName, lastName, email) and credentials (password). Returns confirmation on success. |
| user_listC | Query Operaton users by id, firstName, lastName, email, or group membership. Returns profile info for each matching account. |
| user_getProfileA | Retrieve the profile of a specific Operaton user by ID. Returns firstName, lastName, and email. |
| user_updateProfileA | Update the profile of an existing Operaton user: firstName, lastName, or email. Returns confirmation on success. |
| user_updatePasswordA | Update the password for an existing Operaton user. Requires the current password for non-admin users. Returns confirmation on success. |
| user_deleteA | Delete an Operaton user account by ID. Returns confirmation on success. Returns a not-found error if the user does not exist. |
| user_unlockA | Unlock a locked Operaton user account. Use when a user has been locked due to failed login attempts. |
| group_createA | Create a new Operaton group with an id, name, and optional type. Groups are used to manage candidate task assignments and authorization. |
| group_listB | Query Operaton groups by id, name, type, or member user ID. Returns group details for each matching group. |
| group_deleteA | Delete an Operaton group by ID. Returns confirmation on success. Returns a not-found error if the group does not exist. |
| group_addMemberB | Add a user to an Operaton group by user ID and group ID. The user will receive task assignments for this group's candidate tasks. |
| group_removeMemberA | Remove a user from an Operaton group. The user will no longer receive task assignments for this group's candidate tasks. |
| history_listProcessInstancesA | Query historic process instances by key, business key, state (active/completed), or date range. Returns id, definitionKey, startTime, endTime, duration, and state. |
| history_listActivityInstancesA | Query historic activity instances for a process instance. Returns activityId, name, type, startTime, endTime, duration, and assignee for user tasks. |
| history_listTaskInstancesA | Query historic task instances by process instance, definition key, assignee, or completion state. Returns name, assignee, endTime, duration, and process instance ID. |
| history_listVariableInstancesB | Query historic variable instances by process instance ID or variable name. Returns variable name, type, value, and the activity instance that set it. |
| history_listIncidentsA | Query historic incidents including resolved ones. Filter by process instance, type, or resolution state. Use for post-incident analysis. |
| history_listJobLogsA | Query historic job execution logs for a process instance. Returns log entries with timestamp, job type, retries, and exception details. |
| history_listUserOperationsB | Query the user operation audit log. Returns who performed what operation (claim, complete, delete) on which entity and when. |
| decision_listA | List deployed DMN decision definitions. Filter by key, name, version, or tenant. Returns decision key, id, version, and deployment info. |
| decision_getByKeyA | Retrieve the latest deployed version of a decision definition by its key. Returns key, id, version, and deployment details. |
| decision_getXmlByKeyA | Retrieve the DMN XML of the latest version of a decision definition by key. Use to inspect the current decision table logic. |
| decision_evaluateA | Evaluate a deployed DMN decision table by key with typed input variables. Returns the matched rule outputs. Used to test decision logic through AI. |
| decisionRequirements_listB | List deployed Decision Requirements Definitions (DRDs). DRDs describe dependencies between decision tables in a complex DMN model. |
| processInstance_listB | List active process instances with optional filters: business key, definition key/id, state, variable values, and tenant. Returns id, definitionKey, state, and business key. |
| processInstance_countA | Count active process instances matching filter criteria. Supports same filters as list. Use before listing to plan pagination. |
| processInstance_getA | Retrieve a single active process instance by ID. Returns id, definitionKey, businessKey, state, startTime, and tenant. |
| processInstance_deleteC | Delete (cancel) an active process instance by ID. Accepts an optional deletion reason that is recorded in history. Returns confirmation on success. |
| processInstance_setSuspensionA | Suspend or resume a process instance by ID. Set suspended=true to pause execution, suspended=false to resume. Suspended instances cannot advance until resumed. |
| processInstance_getVariablesA | Retrieve all variables for an active process instance. Returns each variable with its name, type, and value. Use to inspect current execution state. |
| processInstance_setVariablesA | Add or update multiple variables on an active process instance in a single call. Provide a map of variable names to typed values. Existing variables are overwritten. |
| processInstance_getVariableA | Retrieve a single named variable from an active process instance. Returns the variable value, type, and scope. |
| processInstance_setVariableA | Set a single named variable on an active process instance. Provide the variable name, value, and type. Overwrites any existing value for that variable. |
| processInstance_getActivityTreeA | Retrieve the activity instance tree for a process instance. Shows current active activities, called sub-processes, and execution structure. |
| deployment_createA | Deploy a BPMN or DMN artifact to Operaton. Provide the XML content, filename (.bpmn or .dmn), and a deployment name. Returns deployment ID and deployed definition keys. |
| processDefinition_deployC | Deploy a BPMN process definition to Operaton. Provide BPMN or DMN XML, a filename, and a deployment name. Returns deployment metadata and deployed definition keys. |
| decision_deployC | Deploy a DMN decision artifact to Operaton. Provide DMN XML, a .dmn filename, and a deployment name. Returns deployment metadata and deployed decision definition keys. |
| processInstance_listMigratableA | List active process instances eligible for migration. Returns per-instance eligibility with call-activity blocking conditions. Filters: definition key, source version, business key pattern. |
| processDefinition_getMigrationCandidatesB | Compare source and target process definition activities. Returns auto-mappable pairs, unmapped source activities, new target activities. Optionally checks required variable presence on supplied instance IDs. |
| migration_generatePlanB | Generate a migration plan from a source to target process definition. Returns auto-mapped activity instructions and a list of unmapped source activities requiring explicit mapping. |
| migration_validatePlanA | Validate a migration plan against a set of process instances. Returns typed errors, sampled-validation flag, and consequence disclosure (timers, external tasks, cancellations). |
| migration_executeBatchA | Execute a migration plan asynchronously. Auto-chunks large instance lists. Returns batch IDs and chunk submission errors. Supports dryRun mode (validates without creating batches). |
| migration_suspendBatchA | Suspend one or more migration batches by ID. Returns per-batch success or error. |
| migration_resumeBatchA | Resume one or more suspended migration batches by ID. Returns per-batch success or error. |
| migration_deleteBatchB | Cancel (delete) one or more migration batches by ID. Returns per-batch success or error. |
| migration_listBatchesA | List active migration batches (type MIGRATE_PROCESS_INSTANCE). Optionally filter by suspended state. |
| migration_awaitBatchA | Poll migration batch(es) until all complete or timeout is reached. Returns COMPLETED or TIMEOUT with aggregated progress (completed, failed, pending job counts). |
| migration_getBatchStatusB | Get current status of a single migration batch: totalJobs, jobsCreated, jobsCompleted, jobsFailed, suspended. |
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
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/operaton/operaton-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server