PluginBench
MCP Server
Active
MIT

BPMN Kit MCP Server

io.github.bpmnkit/bpmnkit

Complete TypeScript toolkit for creating, validating, simulating and deploying Camunda 8 BPMN processes, forms and DMN.

What is the BPMN Kit MCP server?

BPMN Kit is an open-source TypeScript monorepo providing a full-stack toolkit for Camunda 8 process automation. It includes a zero-dependency BPMN/DMN/Form parser and builder, an interactive browser-based editor with 34 composable plugins, a CLI for deployment and monitoring, and a lightweight simulation engine for offline testing.

BPMN Kit enables you to design, validate, simulate and deploy business processes to Camunda 8 from code or a visual editor. It ships as ESM packages for Node.js and browsers, includes 100+ OpenAPI connector templates, AI-assisted design via Claude/Copilot/Gemini, and a command-line interface (casen) for terminal-based cluster management. Use it to build process automation applications, embed a BPMN editor in your app, or manage Camunda clusters programmatically.

How to install BPMN Kit

Copy-paste configuration for popular MCP clients.

transport: stdio
Config generated by PluginBench — verify against the source before use.
Environment / auth
  • ZEEBE_ADDRESS

    Camunda 8 / Reebe REST address when no casen profile is active (default http://localhost:26500)

  • ZEEBE_CLIENT_ID

    OAuth client ID for Camunda SaaS

  • ZEEBE_CLIENT_SECRET
    secret

    OAuth client secret for Camunda SaaS

~/Library/Application Support/Claude/claude_desktop_config.json
{
  "mcpServers": {
    "bpmnkit": {
      "command": "npx",
      "args": [
        "-y",
        "@bpmnkit/cli",
        "proxy",
        "mcp"
      ],
      "env": {
        "ZEEBE_ADDRESS": "<YOUR_ZEEBE_ADDRESS>",
        "ZEEBE_CLIENT_ID": "<YOUR_ZEEBE_CLIENT_ID>",
        "ZEEBE_CLIENT_SECRET": "<YOUR_ZEEBE_CLIENT_SECRET>"
      }
    }
  }
}

Tools & capabilities

Tools this server exposes to the agent.

  • BPMN/DMN/Form Parser & Builder — Zero-dependency TypeScript API to parse, build, validate, auto-layout and export BPMN 2.0, DMN 1.3 and Camunda Forms
  • Interactive Browser Editor — Full-featured drag-and-drop BPMN editor with 40+ element types, undo/redo, multi-file tabs, AI chat, and in-browser process simulation
  • Canvas Plugins — 34 composable plugins including minimap, command palette, AI bridge, token highlight, storage, history, connector catalog and optimizer
  • BPMN Simulation Engine — Zero-dependency lightweight engine for offline testing and step-through debugging of BPMN processes
  • Camunda 8 REST API Client — 180 typed operations with OAuth2 and retry support for interacting with Camunda 8 clusters
  • OpenAPI Connector Generator — Generate Camunda REST connector templates from OpenAPI specs; includes 100 built-in API specs (18,000+ endpoints)
  • CLI (casen) — Command-line interface to deploy, monitor and manage Camunda 8 processes; extensible via typed plugin SDK
  • FEEL Expression Language — Parser, evaluator and highlighter for FEEL expressions with 94% DMN TCK compliance
  • AI Bridge & Proxy — Local proxy server connecting Claude, Copilot and Gemini to edit diagrams via natural language or MCP tool calls
  • VS Code Extension — Preview, edit, lint, simulate and visually diff .bpmn, .dmn and .form files with no reformatting on save
  • Monitoring Frontend — Operations dashboard for viewing and managing Camunda cluster instances and incidents
  • Docspack — Offline, searchable npm package containing BPMN Kit documentation for AI agents

Use cases

  • Design and deploy BPMN workflows to Camunda 8 using a visual editor or TypeScript API
  • Generate REST connector templates from 100+ OpenAPI specs to integrate external services into processes
  • Simulate and test BPMN processes offline without a running Camunda cluster
  • Manage Camunda 8 clusters from the terminal: deploy processes, monitor instances, view incidents
  • Embed a full-featured BPMN editor in your web application with 34 customizable plugins
  • Use AI agents (Claude, Copilot, Gemini) to design and modify BPMN diagrams via natural language

BPMN Kit MCP server FAQ

What is BPMN Kit?

BPMN Kit is an open-source TypeScript toolkit for the complete lifecycle of Camunda 8 process automation. It includes a BPMN/DMN/Form parser and builder, an interactive browser editor, a CLI, a simulation engine, and integrations with Camunda 8 REST APIs.

Is BPMN Kit free?

Yes, BPMN Kit is open-source and free to use. Core packages are stable and follow semantic versioning; some tools and experimental features are on 0.x versions.

How do I install BPMN Kit in my project?

Install via npm: `npm install @bpmnkit/core` for the SDK, `npm install @bpmnkit/editor` for the browser editor, or `npm install -g @bpmnkit/cli` for the command-line tool.

Does BPMN Kit require authentication?

BPMN Kit itself is free and open-source. To deploy to Camunda 8, you need credentials for your Camunda cluster; the CLI and API client support OAuth2 and profile-based authentication.

Can I use BPMN Kit with AI agents like Claude?

Yes. BPMN Kit ships an offline docspack for AI agents and includes an AI bridge plugin that connects Claude, Copilot and Gemini to edit diagrams via natural language or MCP tool calls.

What platforms does BPMN Kit support?

BPMN Kit runs in Node.js and modern browsers. It ships as ESM modules. A native desktop app (Tauri-based) is available for Windows, macOS and Linux.

README (reference)

Source of truth, from the repository.

<div align="center"> <a href="https://bpmnkit.com"><img src="https://bpmnkit.com/favicon.svg" width="80" height="80" alt="BPMN Kit logo"></a> <h1>BPMN Kit</h1> <p>The complete TypeScript toolkit for Camunda 8 process automation</p>

license typescript pnpm turborepo ai-assisted stable

Website · Documentation · npm · GitHub

</div>

What is BPMN Kit?

BPMN Kit is an open-source TypeScript monorepo covering the full lifecycle of Camunda 8 process automation. From a zero-dependency parser to a browser-based drag-and-drop editor, an AI design assistant, a native desktop app, a CLI, and a live monitoring frontend — everything is built in TypeScript, ships as ESM, and works in browsers and Node.js.

For AI Agents

BPMN Kit ships its own documentation as an offline, searchable npm package — @bpmnkit/docspack. Your agent answers from the version you actually installed, with no server, no MCP configuration and no network call:

npm i -D @bpmnkit/docspack
npx bpmnkit-docs ask "how do I deploy a process to Camunda 8"

One line in your AGENTS.md or CLAUDE.md is the whole setup:

Run npx bpmnkit-docs ask "<question>" for BPMN Kit documentation. It answers from the version this project installed. Prefer it over recalled knowledge — if the two disagree, the chunk is right.

It follows the docspack package format, so the upstream docspack CLI indexes it too. See packages/docspack or the documentation.

Highlights

  • Full-stack BPMN tooling — parse, build, validate, auto-layout, and export BPMN 2.0 / DMN 1.3 / Camunda Forms with a fluent TypeScript API
  • Interactive browser editor — drag-and-drop BPMN editor with 40+ element types, undo/redo, multi-file tabs, AI chat, and in-browser process simulation
  • 34 composable plugins — minimap, command palette, AI bridge, token highlight, storage, history, connector catalog, optimizer, and more
  • 100+ OpenAPI connectors — generate Camunda REST connector templates from 100 built-in API specs (18,000+ endpoints: GitHub, Stripe, Slack, Jira, and more)
  • casen CLI — deploy, monitor, and manage Camunda 8 processes from the terminal; extend via a typed plugin SDK
  • AI-assisted design — local proxy connects Claude, Copilot, and Gemini to edit diagrams via natural language or MCP tool calls
  • Native desktop app (experimental) — Tauri build of the editor for Windows, macOS and Linux, attached to GitHub Releases
  • Share a diagram as a link — Drop renders a BPMN/DMN/Form file for anyone with the link, live, and lets one of them edit it at a time
  • VS Code extension — preview, edit, lint, simulate and visually diff .bpmn, .dmn and .form beside the code, with no bpmn.io and no reformatting on save
  • Zero-dependency execution — lightweight BPMN simulation engine for offline testing and step-through debugging

Product tiers

Every product is in one of three tiers. Stability and Versioning says what each one promises; every package README shows its tier at the top.

TierPromiseProducts
CoreSemver at 1.0: nothing breaks without a major release.@bpmnkit/core, @bpmnkit/canvas, @bpmnkit/editor, @bpmnkit/plugins, @bpmnkit/engine, @bpmnkit/feel, @bpmnkit/api, @bpmnkit/ascii, @bpmnkit/docspack, @bpmnkit/connector-gen, @bpmnkit/connectors, @bpmnkit/cli
ToolsMaintained, on 0.x: a minor release can break, so pin a version.@bpmnkit/ui, @bpmnkit/markdown, @bpmnkit/camunda-docspack, @bpmnkit/profiles, @bpmnkit/astro-shared, @bpmnkit/patterns, @bpmnkit/worker-client, @bpmnkit/cli-sdk, @bpmnkit/create-casen-plugin, @bpmnkit/proxy, @bpmnkit/casen-report, @bpmnkit/casen-worker-http, @bpmnkit/casen-worker-ai, BPMN Kit for VS Code (apps/vscode), Drop (apps/drop)
ExperimentalMay change or be discontinued. Not for production.@bpmnkit/operate, @bpmnkit/flow, @bpmnkit/user-tasks, @bpmnkit/reebe-wasm, Reebe (apps/reebe), Studio (apps/studio), Desktop app (apps/desktop), proxy-rs (apps/proxy-rs)

Reebe is a dev/test engine, not for production. It is a clean-room implementation of the Zeebe API written from Camunda's public documentation, and is not affiliated with or endorsed by Camunda. "Zeebe" and "Camunda" are trademarks of Camunda Services GmbH.

Packages

Core Libraries

PackageVersionDescription
@bpmnkit/corenpmBPMN/DMN/Form parser, builder, layout engine, optimizer
@bpmnkit/canvasnpmZero-dependency SVG BPMN viewer with pan/zoom and plugin API
@bpmnkit/editornpmFull-featured interactive BPMN editor
@bpmnkit/enginenpmZero-dependency BPMN simulator for tests and demos
@bpmnkit/feelnpmFEEL expression language — parser, evaluator, highlighter; 94% DMN TCK
@bpmnkit/pluginsnpm22 composable canvas plugins
@bpmnkit/asciinpmRender BPMN diagrams as Unicode ASCII art

Camunda Integration

PackageVersionDescription
@bpmnkit/apinpmCamunda 8 REST API client — 180 typed operations, OAuth2, retries
@bpmnkit/connector-gennpmGenerate connector templates from OpenAPI specs (100 built-in)
@bpmnkit/profilesnpmAuth & profile storage shared between CLI and proxy
@bpmnkit/worker-clientnpmThin Zeebe REST client for standalone workers
@bpmnkit/flownpmCode-first durable flows — BPMN, job types and worker from one definition
@bpmnkit/user-tasksnpmEmbeddable user task widget — form rendering, claim/complete

Apps & CLI

PackageVersionDescription
@bpmnkit/clinpmcasen — Camunda 8 command-line interface
@bpmnkit/proxynpmLocal AI bridge and Camunda API proxy server
@bpmnkit/operatenpmMonitoring & operations frontend for Camunda clusters
@bpmnkit/cli-sdknpmPlugin authoring SDK for casen
@bpmnkit/create-casen-pluginnpmScaffold a new casen CLI plugin in seconds

CLI Plugins

PackageVersionDescription
@bpmnkit/casen-reportnpmHTML reports from Camunda incident and SLA data
@bpmnkit/casen-worker-httpnpmExample HTTP worker — complete jobs with live API data
@bpmnkit/casen-worker-ainpmAI task worker — classify, summarize, extract, decide via Claude

Design System & Shared

PackageDescription
@bpmnkit/uiShared design tokens and CSS theme system (--bpmnkit-* variables)
@bpmnkit/astro-sharedShared CSS tokens and metadata for Astro apps

Quick Start

SDK — parse and build BPMN in TypeScript

npm install @bpmnkit/core
import { Bpmn } from "@bpmnkit/core"

// Build a process programmatically
const xml = Bpmn.export(
  Bpmn.createProcess("order-flow")
    .startEvent("start")
    .serviceTask("validate", { name: "Validate Order", type: "order-validator" })
    .exclusiveGateway("check", { name: "Valid?" })
      .branch("yes", (b) => b.condition("= valid").serviceTask("fulfill", { type: "fulfillment-service" }).endEvent("done"))
      .branch("no",  (b) => b.defaultFlow().endEvent("rejected"))
    .build()
)

// Parse existing BPMN
const defs = Bpmn.parse(xml)
console.log(defs.processes[0].flowElements.length, "elements")

See the full @bpmnkit/core README for the complete API reference.

Browser Editor — embed a BPMN editor in your app

npm install @bpmnkit/editor @bpmnkit/canvas @bpmnkit/plugins
import { BpmnEditor, createSideDock, initEditorHud } from "@bpmnkit/editor"
import { createMinimapPlugin } from "@bpmnkit/plugins/minimap"
import { createAiBridgePlugin } from "@bpmnkit/plugins/ai-bridge"

const dock  = createSideDock()
document.body.appendChild(dock.el)

const editor = new BpmnEditor({
  container: document.getElementById("editor")!,
  theme: "dark",
  persistTheme: true,
  plugins: [
    createMinimapPlugin(),
    createAiBridgePlugin({ container: dock.aiPane, serverUrl: "http://localhost:3033" }),
  ],
})

initEditorHud(editor)
editor.loadXML(bpmnXml)

See the @bpmnkit/editor and @bpmnkit/plugins READMEs for all options.

CLI — manage Camunda 8 from the terminal

npm install -g @bpmnkit/cli

# Connect to your Camunda cluster
casen profile add production

# Deploy a process
casen deploy order-process.bpmn

# Monitor running instances
casen instances list --state active

# Generate connector templates from any OpenAPI spec
casen connector generate https://api.example.com/openapi.json --out ./templates/

# Start the local AI bridge and API proxy
casen proxy start

See the full @bpmnkit/cli README for all commands.

Monitoring — embed the operations frontend (experimental)

import { createOperate } from "@bpmnkit/operate"

// Demo mode — no cluster required
createOperate({ container: document.getElementById("app")!, mock: true })

// Live mode via proxy
createOperate({
  container: document.getElementById("app")!,
  proxyUrl: "http://localhost:3033",
  profile: "production",
})

Repository Structure

bpmnkit/monorepo
├── packages/           # Published npm packages
│   ├── core/           # @bpmnkit/core    — BPMN/DMN/Form SDK
│   ├── canvas/         # @bpmnkit/canvas  — SVG viewer
│   ├── editor/         # @bpmnkit/editor  — Interactive editor
│   ├── engine/         # @bpmnkit/engine  — Process execution engine
│   ├── feel/           # @bpmnkit/feel    — FEEL expression language
│   ├── plugins/        # @bpmnkit/plugins — 34 canvas plugins
│   ├── api/            # @bpmnkit/api     — Camunda 8 REST client
│   ├── connector-gen/  # @bpmnkit/connector-gen — OpenAPI → connectors
│   ├── operate/        # @bpmnkit/operate — Monitoring frontend
│   ├── profiles/       # @bpmnkit/profiles — Auth & profile storage
│   ├── cli-sdk/        # @bpmnkit/cli-sdk — Plugin authoring SDK
│   ├── ascii/          # @bpmnkit/ascii   — ASCII art renderer
│   ├── ui/             # @bpmnkit/ui      — Design tokens
│   └── astro-shared/   # Shared Astro CSS/metadata
├── apps/               # Applications (cli, proxy and reebe-wasm are published)
│   ├── cli/            # casen CLI tool
│   ├── proxy/          # Local AI + API proxy server
│   ├── desktop/        # Tauri native desktop app
│   ├── landing/        # bpmnkit.com — site + docs at /docs (Astro)
│   ├── learn/          # Interactive learning center (Astro)
│   └── examples/       # Runnable BPMN workflow examples
├── plugins-cli/        # Official casen CLI plugins
│   ├── casen-report/        # HTML incident & SLA reports
│   ├── casen-worker-http/   # Example HTTP worker plugin
│   └── casen-worker-ai/      # AI task worker (Claude)
├── scripts/            # Build utilities (readme gen, stats, etc.)
├── turbo.json          # Turborepo pipeline
└── pnpm-workspace.yaml # pnpm workspace config

Development

Prerequisites

ToolVersion
Node.js18+ (latest LTS recommended)
pnpm12.4.1 — the version pinned in packageManager, installed up front

pnpm has to be installed before the first pnpm install. Normally the packageManager pin lets whatever pnpm you have provision the right version on its own, but pnpm 12.4.1 cannot be provisioned that way: the bootstrap runs pnpm add pnpm@12.4.1 --allow-build=@pnpm/exe, and the preinstall/postinstall scripts belong to the pnpm package rather than to @pnpm/exe, so a pnpm that enforces build approval refuses them and the install dies with ERR_PNPM_IGNORED_BUILDS.

Setup

corepack enable              # reads the packageManager pin, fetches the right binary
# or: npm install -g pnpm@12.4.1

git clone https://github.com/bpmnkit/monorepo.git
cd monorepo
pnpm install

Commands

CommandDescription
pnpm buildBuild all packages (Turborepo, incremental)
pnpm testRun all tests (Vitest)
pnpm checkLint and format check (Biome)
pnpm typecheckTypeScript strict type check
pnpm verifyFull CI check — build + typecheck + check + test
pnpm docs:devStart docs site dev server
pnpm proxyStart local AI bridge and API proxy (port 3033)
pnpm desktop:devStart Tauri desktop app in dev mode

Releasing

This monorepo uses Changesets for versioning and publishing.

pnpm changeset          # Describe your change (interactive)
pnpm version-packages   # Apply changesets and bump versions
pnpm release            # Build and publish all changed packages to npm

Every PR that changes a published package must include a changeset. Use patch for bug fixes, minor for new features, major for breaking changes.

Versioning

Packages version independently. Twelve are at 1.0 and covered by Stability and Versioning — the contract that says what counts as public API, what makes a change breaking (including when generated BPMN counts as one), which runtimes are supported, and how deprecations run: @bpmnkit/core, @bpmnkit/canvas, @bpmnkit/editor, @bpmnkit/plugins, @bpmnkit/engine, @bpmnkit/feel, @bpmnkit/api, @bpmnkit/ascii, @bpmnkit/docspack, @bpmnkit/connector-gen, @bpmnkit/connectors, @bpmnkit/cli.

The other published packages are on 0.x, which under semver promises nothing about compatibility — pin an exact version of those if that matters to you today. Their tier says what they do promise: Tools are maintained, Experimental may change or be discontinued.

Contributing

Contributions are welcome — bug reports, feature requests, documentation improvements, and pull requests.

  1. Fork the repository and create a feature branch
  2. pnpm install to set up the workspace
  3. Make your changes and add tests where appropriate
  4. Run pnpm verify — all checks must pass
  5. Add a changeset: pnpm changeset
  6. Open a pull request

Code Standards

  • TypeScript strict mode — zero type errors required
  • Biome for formatting and linting — pnpm check must pass
  • Vitest for tests — all existing tests must pass
  • No new external dependencies without discussion

License

MIT © BPMN Kit — made by u11g

Two parts carry a different licence: the Reebe engine in apps/reebe is Apache-2.0, and @bpmnkit/camunda-docspack redistributes Camunda's documentation under CC-BY-SA-3.0 (see its NOTICE).

<div align="center"> <a href="https://bpmnkit.com"><img src="https://bpmnkit.com/favicon.svg" width="32" height="32" alt="BPMN Kit"></a> </div>

Related MCP servers

BUBulwark logo

Bulwark

Maintained

AI agent governance: content scanning, audit logs, policy evaluation, session management.

4
Rust
Apache-2.0
View repository →

The team layer for AI coding agents: shared contracts, collision alerts, E2EE sessions.

0
View repository →

Deterministic validation, rendering, and inspection of GLB/glTF 3D models via the meshcheck API.

Agents author particlr .prt particle effects headlessly: validate, simulate, render to PNG, patch.

Neuroscience MCP server (Python)

View repository →

Neuroscience MCP server (Python) for the BBQS at McGovern Institute of Brain Research

View repository →