BPMN-MCP
用于以编程方式创建和操纵BPMN 2.0工作流图的模型上下文协议(MCP)服务器。此服务器使AI助手和其他工具能够以标准BPMN格式生成、编辑和导出业务流程图。
特性
- 创建BPMN图:从头开始生成新的工作流程图
- 添加流程元素:插入事件、任务、网关和子流程
- 连接元素:在工作流组件之间创建序列流
- 导出格式:将图表另存为BPMN 2.0 XML或SVG
- 进口支持:加载和修改现有BPMN XML文件
- 智能提示:获得有用的提示,以确保具有适当连接的完整工作流程
安装
先决条件
- Node.js(v16或更高版本)
- npm或纱线
本地设置
- 克隆存储库:
git clone https://github.com/dattmavis/BPMN-MCP.git
cd BPMN-MCP- 安装依赖项:
npm install- 构建项目:
npm run build配置
适用于克劳德桌面
将以下内容添加到您的Claude Desktop配置文件中:
macOS: ~/Library/Application Support/Claude/claude_desktop_config.json 视窗: %APPDATA%\Claude\claude_desktop_config.json
{
"mcpServers": {
"bpmn": {
"command": "node",
"args": ["/absolute/path/to/BPMN-MCP/dist/index.js"]
}
}
}替换 /absolute/path/to/BPMN-MCP 使用克隆此存储库的实际路径。
其他AI工具
此MCP服务器可与支持模型上下文协议的任何工具配合使用。将其配置为运行:
node /path/to/BPMN-MCP/dist/index.js用法
配置后,您可以要求您的AI助手创建BPMN图。以下是一些示例请求:
创建简单工作流
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)可用工具
MCP服务器提供以下工具:
create_bpmn_diagram
创建新的BPMN图并返回图ID。
add_bpmn_element
向图表中添加元素。支持的类型:
- 活动:
bpmn:StartEvent,bpmn:EndEvent,bpmn:IntermediateCatchEvent,bpmn:IntermediateThrowEvent - 任务:
bpmn:Task,bpmn:UserTask,bpmn:ServiceTask,bpmn:ScriptTask,bpmn:ManualTask,bpmn:BusinessRuleTask,bpmn:SendTask,bpmn:ReceiveTask - 网关:
bpmn:ExclusiveGateway,bpmn:ParallelGateway,bpmn:InclusiveGateway,bpmn:EventBasedGateway - 其他:
bpmn:SubProcess
connect_bpmn_elements
在两个元素之间创建序列流。
export_bpmn_xml
将图表导出为BPMN 2.0 XML格式。
export_bpmn_svg
将图表导出为SVG以进行可视化。
list_bpmn_elements
列出图表中的所有元素。
import_bpmn_xml
导入现有BPMN XML文件进行编辑。
输出示例
服务器生成可以在以下位置打开的标准BPMN 2.0 XML文件:
- Camunda建模师
- bpmn.io
- 任何符合BPMN 2.0的工具
XML输出示例:
Flow_1
Flow_1
Flow_2
Flow_2
发展
以开发模式运行
npm run watch这将在源文件更改时自动重建项目。
测试
您可以使用MCP协议手动测试服务器:
node dist/index.js然后通过stdin发送JSON-RPC请求。例子:
{"jsonrpc":"2.0","id":1,"method":"tools/list","params":{}}技术细节
建筑
- 运行时:使用TypeScript的Node.js
- BPMN引擎:bpmn-js(jsdom的无头模式)
- 协议:模型上下文协议(MCP)
- 输出:BPMN 2.0 XML标准
智能工作流提示
服务器提供了有用的提示,以确保图表完整:
- 提醒您在添加任务/事件时连接元素
- 导出具有断开连接元素的图表时发出警告
- 建议使用
connect_bpmn_elements创建适当的工作流程
许可证
麻省理工学院
贡献
欢迎投稿!请随时提交问题或拉取请求。
支持
对于问题或疑问:
- 在GitHub上打开一个问题
- 检查现有问题的解决方案
