loading…
Search for a command to run...
loading…
An MCP server that enables AI assistants to programmatically create, modify, and export BPMN 2.0 workflow diagrams. It supports managing various process element
An MCP server that enables AI assistants to programmatically create, modify, and export BPMN 2.0 workflow diagrams. It supports managing various process elements and sequence flows while providing export capabilities to standard XML and SVG formats.
A Model Context Protocol (MCP) server for creating and manipulating BPMN 2.0 workflow diagrams programmatically. This server enables AI assistants and other tools to generate, edit, and export business process diagrams in the standard BPMN format.

git clone https://github.com/dattmavis/BPMN-MCP.git
cd BPMN-MCP
npm install
npm run build
Add the following to your Claude Desktop configuration file:
macOS: ~/Library/Application Support/Claude/claude_desktop_config.json
Windows: %APPDATA%\Claude\claude_desktop_config.json
{
"mcpServers": {
"bpmn": {
"command": "node",
"args": ["/absolute/path/to/BPMN-MCP/dist/index.js"]
}
}
}
Replace /absolute/path/to/BPMN-MCP with the actual path where you cloned this repository.
This MCP server works with any tool that supports the Model Context Protocol. Configure it to run:
node /path/to/BPMN-MCP/dist/index.js
Once configured, you can ask your AI assistant to create BPMN diagrams. Here are some example requests:

Create a BPMN diagram for an order processing workflow with these steps:
1. Order Received (start event)
2. Validate Order (user task)
3. Process Payment (service task)
4. Order Complete (end event)
Connect them with sequence flows.

Create a BPMN diagram for customer support ticket routing:
- Start: Ticket Received
- Task: Categorize Ticket
- Gateway: Check Priority
- If High: Escalate to Senior Support
- If Normal: Assign to Support Team
- Both paths lead to: Ticket Resolved (end)
The MCP server provides these tools:
create_bpmn_diagramCreates a new BPMN diagram and returns a diagram ID.
add_bpmn_elementAdds an element to the diagram. Supported types:
bpmn:StartEvent, bpmn:EndEvent, bpmn:IntermediateCatchEvent, bpmn:IntermediateThrowEventbpmn:Task, bpmn:UserTask, bpmn:ServiceTask, bpmn:ScriptTask, bpmn:ManualTask, bpmn:BusinessRuleTask, bpmn:SendTask, bpmn:ReceiveTaskbpmn:ExclusiveGateway, bpmn:ParallelGateway, bpmn:InclusiveGateway, bpmn:EventBasedGatewaybpmn:SubProcessconnect_bpmn_elementsCreates a sequence flow between two elements.
export_bpmn_xmlExports the diagram as BPMN 2.0 XML format.
export_bpmn_svgExports the diagram as SVG for visualization.
list_bpmn_elementsLists all elements in a diagram.
import_bpmn_xmlImports an existing BPMN XML file for editing.
The server generates standard BPMN 2.0 XML files that can be opened in:
Example XML output:
<?xml version="1.0" encoding="UTF-8"?>
<bpmn:definitions xmlns:bpmn="http://www.omg.org/spec/BPMN/20100524/MODEL"
xmlns:bpmndi="http://www.omg.org/spec/BPMN/20100524/DI"
xmlns:dc="http://www.omg.org/spec/DD/20100524/DC"
xmlns:di="http://www.omg.org/spec/DD/20100524/DI">
<bpmn:process id="Process_1" isExecutable="true">
<bpmn:startEvent id="Event_1" name="Start">
<bpmn:outgoing>Flow_1</bpmn:outgoing>
</bpmn:startEvent>
<bpmn:task id="Task_1" name="Process">
<bpmn:incoming>Flow_1</bpmn:incoming>
<bpmn:outgoing>Flow_2</bpmn:outgoing>
</bpmn:task>
<bpmn:endEvent id="Event_2" name="End">
<bpmn:incoming>Flow_2</bpmn:incoming>
</bpmn:endEvent>
<bpmn:sequenceFlow id="Flow_1" sourceRef="Event_1" targetRef="Task_1" />
<bpmn:sequenceFlow id="Flow_2" sourceRef="Task_1" targetRef="Event_2" />
</bpmn:process>
<!-- Diagram information omitted for brevity -->
</bpmn:definitions>
npm run watch
This will rebuild the project automatically when source files change.
You can test the server manually using the MCP protocol:
node dist/index.js
Then send JSON-RPC requests via stdin. Example:
{"jsonrpc":"2.0","id":1,"method":"tools/list","params":{}}
The server includes helpful hints to ensure complete diagrams:
connect_bpmn_elements to create proper workflowsMIT
Contributions are welcome! Please feel free to submit issues or pull requests.
For issues or questions:
Добавь это в claude_desktop_config.json и перезапусти Claude Desktop.
{
"mcpServers": {
"bpmn-mcp": {
"command": "npx",
"args": []
}
}
}