appkit-mcp-bpmn
MCP server component for generating and viewing BPMN 2.0 diagrams.
Features
- Generate BPMN diagrams from natural language descriptions via LLM
- Save & validate BPMN 2.0 XML with schema-aware validation
- Render diagrams in-browser using bpmn-js Viewer (read-only)
- Download diagrams as
.bpmnfiles - Public API — no authentication required
MCP Tools
generate_bpmn_diagram
Generate a BPMN 2.0 diagram from a natural language description.
Parameters:
description(str, required): Workflow description in natural languagediagram_type(str, optional):"process"|"collaboration"|"choreography"(default:"process")
Returns: JSON with {success, id, xml, download_url, view_url, error}
save_bpmn_diagram
Save pre-built BPMN 2.0 XML to the filesystem.
Parameters:
xml(str, required): Complete BPMN 2.0 XML string
Returns: JSON with {success, id, xml, download_url, view_url, error}
MCP Resource
ui://appkit/bpmn_viewer.html
Interactive BPMN diagram viewer powered by bpmn-js. Renders tool results via the MCP App ui/notifications/tool-result protocol.
Features:
- Zoom to fit viewport
- Download diagram as
.bpmnfile - Error display for invalid XML
Quick Start
from appkit_mcp_bpmn.server import create_bpmn_mcp_server
mcp = create_bpmn_mcp_server()
app = mcp.http_app(path="/mcp", transport="streamable-http")
Example Workflow
1. User: "Create an expense approval workflow"
2. LLM calls generate_bpmn_diagram(description="...", diagram_type="process")
3. Server generates XML via LLM, validates, saves to uploaded_files/
4. Returns {id, view_url, download_url}
5. MCP App renders diagram in bpmn-js Viewer
Dependencies
appkit-commons— Configuration and loggingappkit-mcp-commons— Shared MCP base modelslxml— XML parsing and validationopenai(optional) — LLM generation via OpenAI API
Metadata
Release files for appkit-mcp-bpmn 1.15.1
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| appkit_mcp_bpmn-1.15.1.tar.gz | 69.2 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| appkit_mcp_bpmn-1.15.1-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 128.1 kB
Release files / appkit_mcp_bpmn-1.15.1.tar.gz
| Download URL | appkit_mcp_bpmn-1.15.1.tar.gz |
|---|---|
| Size | 69.2 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
24c1deb75bb13f8ecc1e1e08d9b1e2f7c53a3dfa0ba5726ebb68f6f66c22df22
|
|
BLAKE2b-256 checksum How to use checksums |
d9a7758417a6418f9e71ed7475f839f6ac415c52db577b60d949de3affbfa774
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
uv/0.12.22 {"installer":{"name":"uv","version":"0.12.22","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"macOS","version":null,"id":null,"libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}
|
Release files / appkit_mcp_bpmn-1.15.1-py3-none-any.whl
| Download URL | appkit_mcp_bpmn-1.15.1-py3-none-any.whl |
|---|---|
| Size | 58.9 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
e002488a48c8eb6eb36cfaaec12ae51eb8250ed142e4b5759c59e83b2fd0d3a0
|
|
BLAKE2b-256 checksum How to use checksums |
ac0a610af253b0f9646989054848fbc1dab32e4e6ef2a0ac63cc42598a624107
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
uv/0.12.22 {"installer":{"name":"uv","version":"0.12.22","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"macOS","version":null,"id":null,"libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}
|