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.16.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.16.0.tar.gz | 69.4 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| appkit_mcp_bpmn-1.16.0-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 128.4 kB
Release files / appkit_mcp_bpmn-1.16.0.tar.gz
| Download URL | appkit_mcp_bpmn-1.16.0.tar.gz |
|---|---|
| Size | 69.4 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
fc4eb13c0a30434883b4f93764ae238f0412f867a766dba801f910bb275f9d83
|
|
BLAKE2b-256 checksum How to use checksums |
dcdfea0840cf352d0e1501a5727e6f4b7b2e8d9d4b2f8a63e9351125c75bce0c
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
uv/0.12.23 {"installer":{"name":"uv","version":"0.12.23","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.16.0-py3-none-any.whl
| Download URL | appkit_mcp_bpmn-1.16.0-py3-none-any.whl |
|---|---|
| Size | 59.0 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
a8b3172b299ee020716da1c2aae49513d65e89534e15a1534c71b9a5370ff5d9
|
|
BLAKE2b-256 checksum How to use checksums |
e3f45e536f4543d4ebddd2ffcb01d427e39d13607731be48b42a67d1953c01d7
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
uv/0.12.23 {"installer":{"name":"uv","version":"0.12.23","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}
|