bpmn-mcp
Generates BPMN diagram files (.bpmn) compatible with Camunda and validates them by importing into Camunda's bpmn-js viewer before export.
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., "@bpmn-mcp Turn this into a BPMN swimlane diagram: employee leave request approval"
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.
BA BPMN plugin
Draw checked BPMN diagrams from a chat. You describe a process in plain words; the assistant asks only what is
missing, shows a picture, and after you approve gives you an SVG, a PNG and a .bpmn file that opens in Camunda.
Works in Claude, Codex and Antigravity. One engine, one set of skills, three thin wrappers.
How it works
What a business analyst sees. They describe a process in plain words. The assistant asks only what is missing, shows a picture for review, redraws it when asked, and writes the files once the picture is approved.
Diagram source: docs/diagrams/how-it-works-ba.mmd, drawn with Pele.
What is inside. Each AI tool only reads the same skills and starts the same small server. All the drawing happens in one engine on the user's own computer. Nothing is uploaded.
Diagram source: docs/diagrams/how-it-works-inside.mmd, drawn with Pele.
Three things make it safe to rely on:
The description is data, never code. Only listed fields are accepted, and nothing in it is ever run.
Every picture is checked before anyone sees it. The engine reports overlaps, crossed lines, missing ends and more, and the assistant fixes them first.
The Camunda file is tested too. The
.bpmnis loaded in Camunda's own viewer before the export is reported as done.
Related MCP server: MCP-GLSP
What is in this folder
Part | What it is |
| MCP server with three tools: |
| Turns a JSON diagram description into a drawing. Data only, nothing is executed |
| The drawing engine: layout, checks, SVG and |
| The single source of the six skills: |
| Claude plugin and marketplace manifests (the repository root is the Claude plugin) |
| Codex plugin. The folder name must equal the plugin name |
| Codex marketplace file |
| Antigravity plugin |
| The repository address. The sync script pins the server to the release tag of the current version ( |
| Copies |
| The checks and tests on GitHub (Linux and Windows), code scanning (CodeQL), the weekly OpenSSF Scorecard, and weekly dependency updates |
| How to report a vulnerability privately, and what to expect |
| The checks to run before publishing (links, text rules, tests, leak scans, a preview of the README as GitHub draws it) and a Git hook that runs them before every push |
| Instructions for anyone (or any AI tool) changing this repository. |
| The two diagrams above as Mermaid text ( |
| Numbered list of problems that cost real time, and why the code looks the way it does |
| A worked example |
| Tests for the spec, the server, the new BPMN elements, the browser helper and the packaging |
Install
Status: these commands follow each tool's documentation and the draw.io plugin, but none has been run in the real tool yet. See "What has been tested, and what has not" below.
You need uv (a small helper that runs Python programs) and Chrome or Edge (for the PNG and the Camunda check).
Tool | Commands |
Claude |
|
Codex |
|
Antigravity |
|
Then start a new chat and say "set up the BPMN tools" (or use the bpmn-setup shortcut, for example
/ba-bpmn:bpmn-setup), and describe a process.
How the server starts differs: Claude runs it from the plugin's own folder (${CLAUDE_PLUGIN_ROOT}). Codex
installs a self-contained copy of its folder and Antigravity documents no folder variable, so both run
uvx --from <source> bpmn-mcp, with the source set in packaging.json.
What it needs on the computer
uv(or Python 3.10+ withpip install .)Chrome or Edge, only for the PNG and the Camunda import check. Set
BPMN_BROWSERif it is not found, andBPMN_BROWSER_ARGSto give it extra flags (for example--no-sandboxon a locked-down Linux machine).
What has been tested, and what has not
Claim | Status |
The engine draws, checks and exports (SVG, PNG, | Tested: 80+ automated tests, and every picture looked at |
The | Tested: "imported, 0 warnings" |
The server starts through its | Tested on Windows with a Python client |
It runs on Linux and on Python 3.10 | Tested on GitHub: Ubuntu and Windows, Python 3.10 and 3.13, the checks and 110 or 111 tests on each (the one Linux skip is a Windows-only test) |
The file opens in Camunda Modeler itself | Not tested |
Install and use in Claude | Not tested (manifests follow Anthropic's documentation) |
Install and use in Codex | Not tested (follows the draw.io plugin and the Codex checks of |
Install and use in Antigravity | Not tested (follows the draw.io plugin and Google's docs; paths differ between sources) |
| Not tested yet |
Business analysts can install and use it without help | Not tested; planned pilot |
What it draws
Start and end events (an end can be an error), intermediate catch events, boundary timer, message and error events; user, service, send, receive, manual and script tasks with their type icons; collapsed sub-processes; decision, parallel and inclusive gateways; pools, lanes, message flows, link connectors, annotations. Not yet: event-based and complex gateways, expanded sub-processes, signal and escalation events, data objects, loop and multi-instance markers.
Privacy
Files are written on your own computer, under the folder the assistant was started in. Nothing is uploaded.
Security
To report a problem privately, see SECURITY.md.
What is checked, so you do not have to take it on trust:
Every change runs the same checks and the whole test suite on Linux and Windows (
.github/workflows/check.yml).CodeQL, GitHub's code scanner, reads the Python, JavaScript and workflow files on every change and every week.
OpenSSF Scorecard grades the repository's habits every week. The results are in the repository's Security tab and are not published anywhere else.
Dependabot proposes dependency updates weekly. Secret scanning and push protection are on.
GitHub Actions are pinned to full commit ids, the workflows have read-only access, and the server the Codex and Antigravity plugins start is pinned to the release tag of the version you install.
Develop
pip install -e ".[test]"
pytest --cov=bpmn_mcp.spec --cov=bpmn_mcp.server
python scripts/sync_plugins.py # after editing skills/ or packaging.json
python scripts/sync_plugins.py --check # fails if the host folders drifted
python scripts/prepublish.py --preview # every check before publishing, and a preview of the README
python scripts/prepublish.py --install-hook # once per clone: run the checks before every git pushKnown limits and open items
Not yet run in the real tools. The Claude, Codex and Antigravity installs, and
uvxstart-up, have not been tried on a clean Windows laptop. The plugin formats were checked against the draw.io plugins and the Codex checks ofsebahrens/bpmn-mcp, not against a running Codex or Antigravity.Headless Edge or Chrome hangs now and then (about 2 in 15 calls in testing). The engine retries once.
The bundled bpmn-js viewer is used unmodified under the bpmn.io licence. See
THIRD_PARTY_NOTICES.md.Maintainers: see
AGENTS.mdfor the release steps anddocs/TRAPS.mdfor known pitfalls.
Available Tools
3 toolsbpmn_buildA
Lay out and check a diagram, and write the files.
spec: the diagram as a JSON object (see bpmn_spec_guide). name: file name without extension (letters, digits, - and _). out_dir: folder under the current working folder for the outputs. stage: "svg" = checks plus SVG only (use while drafting); "all" = also PNG, .bpmn and the Camunda import check (use only after the user approved the drawing). preview: also write a look-at-it PNG (svg stage) or a Camunda preview (all stage).
Returns ok, errors (fix every one and build again), warnings, files (relative paths) and the log.
Inputs: spec (required), name, stage, out_dir, +1 more.
bpmn_setup_checkA
Check that this computer can draw diagrams. Writes nothing.
Returns plain-language findings. Run this when a user asks to set up, or when a build fails with a browser error.
Inputs: no named parameters.
bpmn_spec_guideA
Return the diagram spec format, layout rules and the fixes for each check error.
Read this before the first bpmn_build call.
Inputs: no named parameters. Returns: result
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
Loading tool schema changelog…
TDQS
Scored across 3 tools
Each tool occupies a distinct stage of a single workflow: environment check, spec reference, and build. There is no overlap in purpose, and descriptions explicitly state when to use each (e.g. read the guide before the first build).
All three share a clear bpmn_ prefix, giving a predictable namespace. The suffixes mix noun forms (spec_guide, setup_check) with a bare verb (build), a minor deviation from a strict verb_noun pattern but still readable.
Three tools is thin but justified for a narrowly scoped diagram-generation server, with each tool earning its place. A separate validate-only tool could arguably be split from bpmn_build, but the current split is defensible.
The surface covers the full draft-to-approved lifecycle (setup check, spec guide, staged build with checks and preview). Gaps are minor: there is no way to inspect or re-validate an existing .bpmn file or list prior outputs without rebuilding.
Maintenance
Related MCP Connectors
Turn conversations about work processes into process maps: read, draw, correct and export.
Turn calls and notes into process flow diagrams in Claude, ChatGPT, VS Code, Cursor, and Teams.
Create workflow, sequence, architecture, and mind map diagrams via AI assistants.
Turn a flow written as text into a step-through diagram you can share, present or embed.
Related MCP Servers
- AlicenseBqualityDmaintenanceEnables AI agents to create, manipulate, and manage BPMN 2.0 diagrams programmatically, with support for Mermaid conversion, auto-layout, and file persistence.2415MIT
- AlicenseNot gradedqualityFmaintenanceEnables AI-driven graphical diagram creation and manipulation using natural language, with support for BPMN workflows, analysis, and manual editing via the Model Context Protocol.1MIT
- AlicenseBqualityBmaintenanceEnables AI assistants to create and manage one BPMN 2.0 diagram at a time, including Mermaid conversion, validation, layout, persistence, and XML or SVG export.27MIT
- FlicenseCqualityBmaintenanceEnables generating BPMN 2.0 process models from natural language descriptions, YAML, or images via OCR, with templates, validation, and compatibility with tools like Bizagi Modeler and Camunda Modeler.41-