MCP server for the Operaton BPM REST API — exposes 300+ Operaton REST operations as MCP tools for AI agents.
npx operaton-mcpOr install globally:
npm install -g operaton-mcp
operaton-mcp| Variable | Required | Default | Description |
|---|---|---|---|
OPERATON_BASE_URL |
Yes | — | Operaton REST API base URL (e.g. http://localhost:8080/engine-rest) |
OPERATON_USERNAME |
Yes | — | Operaton user for Basic Auth |
OPERATON_PASSWORD |
Yes | — | Operaton password for Basic Auth |
OPERATON_ENGINE |
No | default |
Operaton engine name used in API path templates |
OPERATON_SKIP_HEALTH_CHECK |
No | false |
Skip startup connectivity check — set true for dev/test environments |
Add to ~/Library/Application Support/Claude/claude_desktop_config.json (macOS) or %APPDATA%\Claude\claude_desktop_config.json (Windows):
{
"mcpServers": {
"operaton": {
"command": "npx",
"args": ["-y", "operaton-mcp"],
"env": {
"OPERATON_BASE_URL": "http://localhost:8080/engine-rest",
"OPERATON_USERNAME": "demo",
"OPERATON_PASSWORD": "demo"
}
}
}
}Once connected, you can ask your AI assistant natural-language questions about your Operaton instance:
Deployments & Definitions
"Deploy this BPMN file to Operaton and name it
loan-approval-v3." "List all deployed versions of theinvoice-approvalprocess." "Show me the BPMN XML for the latest version of theonboardingprocess." "Delete the oldloan-approvaldefinition — it has no active instances."
Process Instances
"Start a new
invoice-approvalprocess with business keyINV-2024-001and set theamountvariable to 15000." "List all active instances of theloan-approvalprocess." "Suspend the instanceabc-123while we investigate the failure." "What variables are currently set on process instanceabc-123?"
User Tasks
"Show me all unassigned tasks for the
approversgroup." "Claim tasktask-456for userjohn.doe." "Complete the approval task for invoice INV-2024-001 and setapproved = true." "How many overdue tasks are there across all processes?"
Operations & Incidents
"Are there any failed jobs with no retries left?" "Reset the retry count to 3 for job
job-789and trigger immediate execution." "List all open incidents for thepayment-processingprocess."
History & Audit
"Show me all completed
invoice-approvalinstances from last week." "What activities were executed in process instanceabc-123, and how long did each take?" "Who completed the approval task for business keyINV-2024-001, and when?"
Decisions
"Deploy this DMN decision table for loan eligibility checking." "Evaluate the
credit-checkdecision withincome = 50000andcreditScore = 720."
Administration
"Create a new user
jane.smithwith emailjane@example.com." "Addjohn.doeto thesenior-approversgroup."
Manage deployed process definitions — browse, inspect, suspend, and delete BPMN definitions.
- list — query definitions with optional filters (key, name, version, tenant); count total matches
- get by ID / key — retrieve definition metadata for a specific ID or latest by key
- get XML — fetch BPMN 2.0 XML for a definition by ID or key
- statistics — process-level and activity-level statistics across all running instances
- suspend by key — suspend or resume all instances belonging to a definition
- delete by ID / key — remove a definition (and optionally its instances and history)
- restart instances — restart historic process instances synchronously or asynchronously
- set history TTL — update the history time-to-live for a definition
- get called processes — list static called process definitions for a given definition
Deploy, inspect, and manage Operaton deployments (BPMN, DMN, CMMN, and form files).
- create — upload a BPMN/DMN/CMMN resource to create a new deployment
- list — query deployments with optional filters; count total matches
- get by ID — retrieve metadata for a specific deployment
- list resources — list all resources included in a deployment
- redeploy — create a new deployment from the resources of an existing one
- delete — remove a deployment by ID
Start and manage the lifecycle of running process instances.
- start — start a new instance by definition ID or key, with optional business key and variables
- list — query active instances with filters; count total matches
- get — retrieve metadata for a specific instance
- get activity tree — inspect the current activity instance hierarchy
- suspend / resume — suspend or resume execution of an instance or a group of instances
- delete — terminate and remove a process instance
- get / set variables — read or write individual or multiple process variables
- set suspension — bulk suspend/resume by definition ID, key, or tenant
Query and manage the full lifecycle of user tasks.
- list — query tasks with rich filter criteria; count total matches
- get — retrieve a task by ID
- claim / unclaim — assign or release a task
- complete — complete a task with optional output variables
- delegate — delegate a task to another user
- resolve — resolve a delegated task back to the owner
- set assignee — directly set or change task assignee
- create / update — create a standalone task or update task properties
- get / set variables — read or write task-local variables
- throw BPMN error — trigger a BPMN error boundary event from a task
Inspect and control asynchronous jobs (timers, async continuations, retries).
- list — query jobs with filters; count total matches
- get — retrieve a job by ID
- trigger execution — execute a job immediately (bypass timer)
- suspend / resume — suspend or resume a job
- set retries — update the retry count on a failed job
- get stack trace — retrieve the exception stack trace for a failed job
Manage job definitions — the templates from which individual jobs are created.
- list — query job definitions with filters
- get — retrieve a job definition by ID
- set suspension — suspend or activate job definitions by process definition
Query and resolve process incidents (failed jobs, failed external tasks, etc.).
- list — query open incidents with filters; count total matches
- get — retrieve an incident by ID
- resolve — resolve an open incident
Manage Operaton users and their credentials.
- list — query users with filters
- get profile — retrieve a user's profile information
- create — create a new user with profile and credentials
- update profile — update a user's display name and email
- update password — change a user's password
- delete — remove a user
- unlock — unlock a user account after too many failed logins
Manage Operaton groups and their memberships.
- list — query groups with filters
- create / delete — create or remove a group
- add / remove member — manage group membership
Query the audit trail of completed and historic process data.
- list process instances — query finished or active process instances in history
- list activity instances — query historic activity executions
- list task instances — query historic task completions and assignments
- list variable instances — query historic variable values
- list incidents — query historic incidents (including resolved)
- list job logs — query historic job execution log entries
- list user operations — query the audit log of user operations (claims, completions, etc.)
Deploy and evaluate DMN decision tables.
- list — query deployed decision definitions
- get by key — retrieve a decision definition by key
- get XML by key — fetch DMN XML for a decision
- evaluate — evaluate a decision table with input variables
- list requirements — list decision requirement diagrams (DRDs)
The following capabilities are not available in the current release:
- Autonomous monitoring — AI-initiated process health watching and alerting (planned: Vision phase)
- BPMN generation — natural language → BPMN authoring and AI-assisted process design (planned: Growth phase)
- Multi-engine support — connecting to multiple Operaton instances simultaneously (planned: Growth phase)
- Prompt templates — guided scenario workflows for common operational tasks (planned: Growth phase)
- UI or dashboard — no web interface; operaton-mcp is a pure MCP server
Growth and Vision phase features are tracked in the project roadmap.
# Install dependencies (triggers code generation automatically)
npm install
# Run code generation manually
npm run generate
# Build (generate + compile + alias rewrite)
npm run build
# Watch mode for local development
npm run dev
# Run all tests (unit + smoke)
npm test
# Run integration tests (requires live Operaton instance)
OPERATON_BASE_URL=http://localhost:8080/engine-rest \
OPERATON_USERNAME=demo \
OPERATON_PASSWORD=demo \
npm run test:integrationsrc/
index.ts — MCP server entry point
config.ts — Environment variable loading and validation
http/
client.ts — Operaton HTTP client with Basic Auth
errors.ts — Error normalization with BPM-domain hints
generated/ — Build artifact (gitignored); produced by npm run generate
tools/ — Curated tool wrappers (hand-written)
config/
tool-manifest.json — Full curation manifest (name, description, frMapping per operationId)
tool-manifest.fixture.json — Fixture for development/testing
resources/
operaton-rest-api.json — Authoritative OpenAPI 3.0.2 spec (never modify)
scripts/
generate.ts — Code generation pipeline