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.0
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.0.tar.gz | 69.2 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| appkit_mcp_bpmn-1.15.0-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 128.2 kB
Release files / appkit_mcp_bpmn-1.15.0.tar.gz
| Download URL | appkit_mcp_bpmn-1.15.0.tar.gz |
|---|---|
| Size | 69.2 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
84e21bbc3c1369d3657849561a42fe640812718ce376b7fd94f2672868789ec0
|
|
BLAKE2b-256 checksum How to use checksums |
bb5068f1f1613e3f9a629e6a2498ae14af45889978bbed138a4b8a25495fe174
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
uv/0.12.19 {"installer":{"name":"uv","version":"0.12.19","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.0-py3-none-any.whl
| Download URL | appkit_mcp_bpmn-1.15.0-py3-none-any.whl |
|---|---|
| Size | 58.9 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
da6d648067e2e576f171e24088c41edc4429657faff6684954ec848346882175
|
|
BLAKE2b-256 checksum How to use checksums |
73bd424815d3f1ebad2b585042c3fb51b986847a3ac1f978d084964bc2e98459
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
uv/0.12.19 {"installer":{"name":"uv","version":"0.12.19","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}
|