CIB Seven MCP Server
The CIB Seven MCP Server enables investigation, monitoring, and diagnostics of CIB Seven (BPMN-based) process instances via the CIB Seven REST API. Key capabilities include:
Look up process instances — retrieve state, business key, definition reference, and suspension status by ID.
Search and filter process instances — find running, completed, or suspended instances by definition key, business key, state, incident status, time ranges, and more; supports counting without fetching full records.
Execution history — get a full ordered activity trace for a process instance, including timings, types, and cancellation status.
Process variables — fetch all variables attached to a process instance, with configurable redaction of sensitive fields.
BPMN model XML — retrieve the BPMN XML for a process definition to understand its expected flow, gateways, and timer events.
Incident listing — view open incidents across the engine or filtered by process instance or type.
Job details — inspect retry counts, exception messages, due dates, and suspension status for associated jobs.
Statistics — generate daily/weekly/monthly histograms of started instances, including totals, averages, and busiest/quietest periods.
Diagnostic prompts — built-in prompts like
diagnose_stuck_processandincident_reportfor step-by-step troubleshooting and comprehensive incident analysis.Secure authentication — supports Keycloak OIDC client credentials flow with automatic token refresh, or unauthenticated mode.
Provides OIDC client credentials authentication with automatic token refresh for securing connections to CIB Seven REST APIs, supporting realm-based configuration and secure credential management.
Click on "Deploy Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@CIB Seven MCP Server Why is process abc-123 stuck?"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
cib7-mcp
MCP tool for investigating CIB Seven process instances. Gives Claude comprehensive knowledge of CIB Seven REST APIs with live execution and Keycloak authentication.
Features
Investigation tools — process instances, counts, daily/weekly/monthly stats, incidents, activity history, variables, BPMN XML, jobs
Semantic descriptions — Claude understands what each field means operationally, not just raw endpoint data
BPMN introspection — fetch process definition XML, Claude reasons about expected vs actual execution path
Keycloak auth — OIDC client credentials flow with automatic token refresh
Variable redaction — configurable regex patterns to hide sensitive data
Diagnostic prompts —
diagnose_stuck_processandincident_reportworkflows
Related MCP server: Procesio MCP Server
Installation
Claude Desktop
Add to your claude_desktop_config.json:
{
"mcpServers": {
"cib7": {
"command": "npx",
"args": ["cib7-mcp"],
"env": {
"CIB7_URL": "http://localhost:6009/rest"
}
}
}
}Claude Code
claude mcp add cib7-mcp -- npx cib7-mcpThen set the environment variable CIB7_URL to your CIB Seven instance.
Configuration
All configuration is via environment variables.
Variable | Required | Description |
| Yes | CIB Seven REST API URL (e.g., |
| No | Keycloak server URL (e.g., |
| No | Keycloak realm name |
| No | Keycloak client ID |
| No | Keycloak client secret |
| No | Comma-delimited regex patterns for variable redaction (e.g., |
If any KEYCLOAK_* variable is set, all four must be provided. If none are set, the tool runs in unauthenticated mode.
With Keycloak
{
"mcpServers": {
"cib7": {
"command": "npx",
"args": ["cib7-mcp"],
"env": {
"CIB7_URL": "https://your-instance.com/rest",
"KEYCLOAK_URL": "https://your-keycloak.com",
"KEYCLOAK_REALM": "your-realm",
"KEYCLOAK_CLIENT_ID": "mcp-client",
"KEYCLOAK_CLIENT_SECRET": "your-secret",
"CIB7_REDACT_PATTERNS": "password.*,secret.*,token.*,creditCard.*"
}
}
}
}Tools
Tool | Description |
| Look up a process instance by ID — state, definition, business key |
| Search process instances by definition, business key, state, start/end date, incident status, with sorting |
| Count matching instances without fetching rows. Same filter surface as |
| Daily / weekly / monthly histogram of started instances. Returns per-period counts + summary (total, average, max, min). |
| List open incidents, optionally filtered by process instance |
| Execution trace — every activity that ran, in order |
| All variables for a process instance (with redaction) |
| BPMN XML model (diagram elements stripped for readability) |
| Job execution details — retries, exception messages |
Response views
Four of the list-shaped tools accept a view parameter to control which
per-row fields are returned. The top-level response is always a bare array of
rows — only the field set per row changes.
Tool | Summary fields (default) |
|
|
|
|
|
|
|
|
view: "summary" is the default and typically drops 40–60% of the response
size compared to the raw engine shape. Pass view: "full" when you need a
field that isn't in the summary list above (e.g., processDefinitionName,
startUserId, executionId, causeIncidentId, jobDefinitionId, tenant IDs).
Prompts
Prompt | Description |
| Step-by-step diagnostic for a stuck process instance |
| Comprehensive report of all open incidents with root cause analysis |
Statistics & counting
Three tools work together for volume questions without pulling back rows:
list_process_instances— when you actually need the records. Supports filtering by definition key (single or multi), definition name, business key,startedBy, active/suspended/completed state,startedAfter/startedBefore,finishedAfter/finishedBefore,withIncidents,incidentStatus, plussortBy/sortOrderand pagination viamaxResults/firstResult.count_process_instances— same filter surface, returns just{ count: N }. Use this for "how many?" questions so the engine never has to serialize rows.process_instance_stats— daily / weekly / monthly histogram of started instances over a date range. Takesfrom,to, andperiodUnit(day,week, ormonth). Internally loopscount_process_instancesover date windows in parallel, so a 30-day daily histogram is 30 cheap count calls, not a row fetch.
process_instance_stats returns each bucket plus a summary with total, average-per-bucket, and the busiest/quietest bucket:
{
"from": "2025-03-01T00:00:00.000Z",
"to": "2025-03-31T00:00:00.000Z",
"periodUnit": "day",
"bucketCount": 30,
"summary": {
"total": 4820,
"average": 160.67,
"max": { "period": "2025-03-17", "count": 412 },
"min": { "period": "2025-03-09", "count": 3 }
},
"periods": [
{ "period": "2025-03-01", "start": "...", "end": "...", "count": 145 },
{ "period": "2025-03-02", "start": "...", "end": "...", "count": 160 }
]
}A few things to know:
Windows are right-open
[start, nextStart), so no bucket double-counts the boundary instant.Week windows advance by 7 days from
from. They are not aligned to Monday unlessfromis itself a Monday — pick yourfromaccordingly if you want ISO weeks.Month windows advance by calendar month (handles variable-length months correctly).
A safety cap of 500 buckets protects against runaway queries. Raise it with
maxBucketsif you genuinely need a longer range, or use a coarserperiodUnit.
Example Usage
Ask Claude:
"Is process
abc-123stuck?""Show me all open incidents"
"What's the BPMN definition for process definition
orderProcess:1:456?""Generate an incident report"
"How many instances of
orderProcessare running right now?""How many
orderProcessinstances finished with incidents last week?""Show me daily volume for
orderProcessover the last 30 days — which day was busiest?""Give me a monthly histogram of all process starts this year."
Development
npm install
npm run build
npm testRequires Node.js 18+.
License
MIT
Available Tools
7 toolsget_activity_historyA
Get the execution trace for a process instance — every activity that ran, in order.
This shows you exactly what happened: which tasks executed, in what order, and how long each took. Activities with a startTime but no endTime are currently executing or waiting.
Key fields:
activityType: startEvent, serviceTask, userTask, exclusiveGateway, etc.
activityName: human-readable name from the BPMN model
startTime/endTime: when the activity started and finished
durationInMillis: how long it took (null if still running)
canceled: true if the activity was interrupted
Inputs: processInstanceId (required).
get_job_detailsA
Get job execution details for a process instance. Jobs are units of work the engine executes — service tasks, timers, message events.
Key fields:
retries: how many retry attempts remain. 0 means the engine gave up and created an incident.
exceptionMessage: the error from the last failed execution attempt
dueDate: when the job is scheduled to execute (for timers)
suspended: true if the job is paused
Inputs: processInstanceId, maxResults, firstResult.
get_process_definition_xmlA
Fetch the BPMN XML model for a process definition. This is the blueprint — it shows the expected flow of the process.
Use the definitionId from get_process_instance to fetch the model. The XML includes all activities, gateways, sequence flows, and conditions. Diagram layout elements are stripped for readability.
Read the XML to understand:
The expected happy path (sequence of activities)
Gateway conditions (what determines which path is taken)
Error boundary events (what happens when activities fail)
Timer events (scheduled waits or timeouts)
Inputs: processDefinitionId (required).
get_process_instanceA
Look up a CIB Seven process instance by its ID. Returns the instance's current state, definition reference, business key, and suspension status.
Use this when you have a specific process instance ID and need to understand its current state. If you only have a business key or definition key, use list_process_instances instead.
Key response fields:
suspended: true means manually paused by an operator
ended: true means the process completed or was cancelled
businessKey: the domain identifier (e.g. order number, case ID)
definitionId: use this to fetch the BPMN XML via get_process_definition_xml
Inputs: processInstanceId (required).
get_process_variablesA
Get all variables for a process instance. Variables hold the data that drives process execution — form inputs, API responses, decision results.
Sensitive variable values may be redacted (shown as [REDACTED]) based on configured patterns.
Common variable patterns:
Error flags or status fields that indicate why a process is waiting
Retry counters that show how many times something was attempted
Input data from forms or API calls
Inputs: processInstanceId (required).
list_incidentsA
List open incidents in the process engine. Incidents record things that went wrong during execution.
Key incident types:
failedJob: a service task or timer threw an exception and the engine gave up retrying (retries=0)
failedExternalTask: an external task worker reported a failure
Use without filters to see all open incidents. Filter by processInstanceId to see incidents for a specific process.
Inputs: processInstanceId, incidentType, maxResults, firstResult.
list_process_instancesA
Search for process instances using filters. Uses the history API to find both running and completed instances.
Use this when you need to find process instances by business key, definition key, or state. Returns an array of historic process instances.
Filter options:
processDefinitionKey: the BPMN process ID (e.g., "orderProcess")
businessKey: domain identifier (e.g., "ORDER-12345")
state: ACTIVE, COMPLETED, SUSPENDED, or EXTERNALLY_TERMINATED
maxResults: limit results (default 25)
firstResult: offset for pagination
Inputs: processDefinitionKey, businessKey, active, suspended, +3 more.
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
Loading tool schema changelog…
TDQS
Scored across 7 tools
Each tool targets a distinct aspect of process execution with clear boundaries: instances (list/get), execution trace (activity_history), data (variables), background work (job_details), blueprint (definition_xml), and errors (incidents). No ambiguous overlap exists between these concepts.
Follows consistent snake_case verb_noun pattern (get_*, list_*), but applies the 'process_' prefix inconsistently (e.g., get_process_instance vs get_activity_history). Despite this, the naming remains readable and predictable.
Seven tools provide a focused, well-scoped surface for process observability without bloat. Each tool earns its place by covering a specific inspection need, fitting appropriately within the typical 3-15 tool range for this domain.
Covers core read-only inspection workflows well, but has notable gaps for a general CIB Seven integration: missing list_process_definitions (required to browse definitions without an instance), missing task-specific operations, and lacks any write/modify capabilities (create instances, update variables, resolve incidents).
Maintenance
Related MCP Connectors
Journal, invoices, and payment proposals. Authenticated; OAuth 2.1 via Keycloak.
IncidentOracle - 12-tool incident management MCP: triage, BaFin DORA reporting, RCA.
Query and manage SquaredUp dashboards, data streams, the knowledge graph, and KPIs (EU region).
Related MCP Servers
- AlicenseBqualityNot gradedmaintenanceEnables AI assistants to interact with SAP Signavio Process Manager through its API, supporting operations like managing process models, folders, dictionary entries, and searching across business process content.2331 npm11ISC
- AlicenseBqualityDmaintenanceEnables interaction with the Procesio automation platform to list, view, and manage workflows. It allows users to launch process instances and monitor their status through MCP-compatible clients.12Apache 2.0
- AlicenseBqualityBmaintenanceExposes over 300 Operaton BPM REST operations as tools for AI agents to interact with the Operaton engine. It enables managing process deployments, instances, user tasks, and decision tables through natural language commands.10526 npmApache 2.0
- AlicenseNot gradedqualityCmaintenanceMCP server for Camunda 7 that lets you inspect and manage process definitions, instances, variables, tasks, incidents, history, and evaluate DMN decisions. It supports read-only operations by default with optional write capabilities, and configurable authentication.10 npmMIT