MCP BPMN 2.0 Diagram Server
Project description
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
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file appkit_mcp_bpmn-1.9.5.tar.gz.
File metadata
- Download URL: appkit_mcp_bpmn-1.9.5.tar.gz
- Upload date:
- Size: 69.0 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: uv/0.11.8 {"installer":{"name":"uv","version":"0.11.8","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}
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
27504ebd8682c5845a8dde68ec2daba2ccd39a7e20024d9fb588ba0982267988
|
|
| MD5 |
650116b1ca5cdef9ced21ee286d07d92
|
|
| BLAKE2b-256 |
72aac8bf8925974b1ca5bcf68ed2aab4b390ea0e6ac71ee6e5072af3f4975258
|
File details
Details for the file appkit_mcp_bpmn-1.9.5-py3-none-any.whl.
File metadata
- Download URL: appkit_mcp_bpmn-1.9.5-py3-none-any.whl
- Upload date:
- Size: 58.9 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: uv/0.11.8 {"installer":{"name":"uv","version":"0.11.8","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}
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
30d1d7e2b9cd32a9cde72ea99e9ae5f70d5bb4f52553720087afdf7a8dbba8da
|
|
| MD5 |
971a4423a561777378013e6a2203e3ae
|
|
| BLAKE2b-256 |
68556f0b390ff8ad246429f5b4ced541b5733c446dcae8009292473c54c3f80d
|