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 "Install 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 ServerWhy 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
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
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
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/krixerx/cib7-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server