MES工作流生成器
A. 模型上下文协议(MCP)服务器 用于设计、配置和可视化药品制造工作流程,包括 调配 和 造粒 阶段。该工具使制药商能够根据其设施的具体实践、设备和监管要求配置定制的制造执行系统(MES)工作流程。
______________________________________________________________________
📋 目录
______________________________________________________________________
🎯 概述
这 MES工作流生成器 是一个智能系统,可帮助制药商设计定制的工作流程 调配 和 造粒 操作。该工具不是僵化的、一刀切的流程,而是通过 决策驱动配置方法.
为什么这很重要
由于以下原因,各工厂的药品制造业务差异很大:
- 不同的ERP系统(SAP与MES驱动的分配)
- 设备能力(连接与手动天平,湿法与干法造粒)
- 材料类型(需要效力调整的原料药、密封赋形剂、粘合剂)
- 质量程序(第二人验证政策、IPC测试频率)
- 监管要求(《美国联邦法规》第21篇第11部分,欧盟附件11)
该工具通过以下方式捕捉这些变化 62实践决策 并生成跨越11个制造阶段的经过验证的、特定于客户的工作流。
______________________________________________________________________
✨ 特性
🔧 核心能力
- 决策驱动配置:回答分配和造粒阶段的62个练习问题
- 多阶段支持:从材料分配到批量收尾的11个阶段
- 多路径处理:支持称重/密封分配、湿法/干法/熔融造粒方法
- 美丽的视觉效果:带有颜色编码元素的专业美人鱼图
- 版本控制:在客户讨论期间跟踪工作流迭代
- 导出为PNG:生成客户就绪的交付成果
- 验证引擎:检测断开连接的节点和结构问题
- 异常处理:泄漏、偏差、设备故障、QA搁置的运行条件
🎨 视觉设计
- 🔷 蓝色宏 主要阶段
- 🟨 黄色任务 用于标准操作
- 🟣 紫色环 用于迭代过程
- 🔴 红色虚线框 例外情况
- 🟠 橙色钻石 用于决策点
- 🟢 绿色节点 收敛/完成
🆕 v3.0.0中的新增功能
- 🎯 造粒阶段支撑:56项新任务和34项造粒工作流程决策
- 📊 11总阶段:点胶(5个阶段)+制粒(6个阶段)
- 🔀 三路径造粒:湿法、干法和熔融造粒法路线
- 🔁 容器验证循环:用于材料转移验证的回路检测
- 📈 123总任务:涵盖端到端制药制造的综合任务库
- 🎛️ 77个决策点:两个阶段的完整决策框架
- ⚙️ SCADA/PLC集成:支持自动化过程控制和数据采集
- 🧪 LIMS集成:IPC结果链接和QA发布工作流程
______________________________________________________________________
🏗️ 建筑
┌─────────────────────────────────────────────────────────────┐
│ MCP Server (TypeScript) │
│ ┌──────────────┐ ┌──────────────┐ ┌─────────────────┐ │
│ │ Decision │ │ Workflow │ │ Export │ │
│ │ Manager │ │ Generator │ │ Engine │ │
│ └──────────────┘ └──────────────┘ └─────────────────┘ │
└─────────────────────────────────────────────────────────────┘
│
│ Reads/Writes
▼
┌─────────────────────────────────────────────────────────────┐
│ Data Layer (JSON) │
│ ┌──────────────┐ ┌──────────────┐ ┌─────────────────┐ │
│ │ decisions │ │ tasks │ │ client_ │ │
│ │ .json │ │ .json │ │ decisions.json │ │
│ └──────────────┘ └──────────────┘ └─────────────────┘ │
│ ┌──────────────────────────────────────────────────────┐ │
│ │ client_workflows.json (cache) │ │
│ └──────────────────────────────────────────────────────┘ │
└─────────────────────────────────────────────────────────────┘
│
│ Exports
▼
┌─────────────────────────────────────────────────────────────┐
│ Exports Folder (PNG Deliverables) │
│ ├── Demo Pharma/ │
│ │ ├── workflow_All_2025-01-15_14-30-00.png │
│ │ └── workflow_All_2025-01-16_10-22-15.png │
│ └── TechPharma/ │
│ └── workflow_All_2025-01-15_16-45-30.png │
└─────────────────────────────────────────────────────────────┘______________________________________________________________________
📦 安装
先决条件
- Node.js 18+和npm
- Claude桌面版 或任何MCP兼容客户端
步骤
- 克隆存储库
git clone https://github.com/yashasvi03/mes-workflow-mcp-server
cd mes-workflow-builder- 安装依赖项
npm install- 构建项目
npm run build- 配置Claude桌面
编辑您的Claude Desktop配置文件:
- macOS: ~/Library/Application Support/Claude/claude_desktop_config.json - 视窗: %APPDATA%\Claude\claude_desktop_config.json
添加MCP服务器:
{
"mcpServers": {
"mes-workflow": {
"command": "node",
"args": ["/absolute/path/to/mes-workflow-builder/build/index.js"]
}
}
}- 重新启动克劳德桌面
______________________________________________________________________
🚀 快速开始
示例:配置演示制药
// 1. Check available decisions
get_decisions({ stage: "All", category: "Practice" })
// 2. Configure key decisions
save_client_decision({
client_name: "Demo Pharma",
decision_id: "Q-ERP-01",
selected_outcome: "SAP",
rationale: "Using SAP for batch determination"
})
save_client_decision({
client_name: "Demo Pharma",
decision_id: "Q-SEC-01",
selected_outcome: "Both (material-dependent)",
rationale: "APIs need weighing, excipients can be sealed"
})
// 3. Check what's still needed
get_unanswered_decisions({ client_name: "Demo Pharma" })
// 4. Generate workflow
generate_workflow({
client_name: "Demo Pharma",
stage: "All"
})
// 5. Review and iterate (make changes, regenerate)
// 6. Export finalized workflow
export_workflow({
client_name: "Demo Pharma",
format: "png"
})______________________________________________________________________
📖 使用指南
典型工作流程
- 发现阶段
- 审查客户当前的制造程序(点胶和/或造粒) - 识别ERP/WMS/LIMS/SCADA集成 - 了解物料搬运和设备要求 - 确定造粒方法(湿/干/熔融)(如适用)
- 配置阶段
- 回答相关的实践决策(两个阶段共62个) - 使用 get_unanswered_decisions 跟踪进度 - 记录每个选择的理由
- 生成阶段
- 生成初始工作流 - 与利益相关者进行审查 - 根据需要迭代决策
- 验证阶段
- 跑 validate_workflow 检查结构 - 验证决策点是否符合SOP - 测试异常处理路径
- 出口阶段
- 将最终工作流导出为PNG - 包含在客户交付成果中 - 维护版本历史记录
最佳实践
✅ 做:
- 记录每项决定的理由
- 导出前验证工作流
- 保留导出以进行审计跟踪
- 与运营团队一起审查运行时条件
❌ 不要:
- 导出前跳过验证
- 无需客户审核即可导出
- 删除以前的导出
- 对客户实践做出假设
______________________________________________________________________
📁 项目结构
mes-workflow-builder/
├── src/
│ └── index.ts # Main MCP server implementation
├── data/
│ ├── decisions.json # 77 decisions (62 Practice + 15 Runtime)
│ ├── tasks.json # 123 workflow tasks (Dispensing + Granulation)
│ ├── client_decisions.json # Client configurations
│ └── client_workflows.json # Generated workflow cache
├── exports/
│ ├── Demo Pharma/
│ │ └── workflow_*.png # Client deliverables
│ ├── TechPharma/
│ │ └── workflow_*.png
│ └── README.md
├── build/ # Compiled JavaScript
├── package.json
├── tsconfig.json
└── README.md # This file______________________________________________________________________
🏭 工作流阶段
MES工作流生成器支持 11个制造阶段 跨越两个主要流程家族:
点胶阶段(5)
- 预分配 -设备准备就绪、清洁验证、环境检查
- 材料分配 -批次选择、WMS暂存、集装箱验证
- 称重和分配 -物料称重、效价调整、双路径(密封/称重)路由
- 标签和文件 -容器标签、批次记录生成
- 配药后 -ERP消耗过账、剩余处理
造粒阶段(6)
- 预造粒 -房间清理、设备准备就绪、校准验证
- 材料转移和验证 -逐个容器的材料验证循环
- 粘合剂制备 -粘合剂溶液制备、浓度/pH QC
- 造粒 -三路径布线(湿法/干法/熔融法)、过程控制、端点验证
- 造粒后 -排放至IBC,保留取样,QA放行决定,产量对账
- 清仓 -ERP批量过账、eBMR生成、QA审批、归档
______________________________________________________________________
🧩 决策框架
实践决策(共62项)
用于筛选工作流中出现的任务的配置时间选项:
预分配(6个决定)
- Q-HSE-01:物料搬运类别
- Q-HSE-02:清洁频率
- Q-HR-01:培训执行
- Q-ENV-01:环境测井法
- Q-ENV-02:冷链/TOR跟踪
- Q-ENV-03:环境远足行动
材料分配(4个决定)
- Q-ERP-01: 批次/批次确定(SAP与MES)
- Q-INV-02:材料选择政策(先进先出/先出)
- Q-INV-03:允许的批次状态
- Q-WMS-01:WMS集成
称重和分配(12个决定)
- Q-SEC-01: 密封容器支架(仅称重|仅密封|两者都有)
- Q-LIMS-01:效力/分析来源
- Q-QA-02:第二人验证政策
- Q-WB-01:平衡连接
- Q-WB-02:平衡适宜性执行
- Q-WB-03:默认称重方法
- Q-WB-04:超差处理
- Q-UOM-01:计量单位转换权限
- Q-UOM-02:四舍五入政策
- Q-LOT-01:允许多批
- Q-LOT-02:比例效力
- Q-DMG-01:泄漏处理
标签和文件(4项决定)
- Q-LBL-01:手动标签字段
- Q-LBL-02:标签符号标准
- Q-LBL-03:重印/作废政策
- Q-QA-04:偏差文件
配药后(2项决定)
- Q-CONS-01:ERP消耗时间
- Q-INV-06:遗存者归还政策
造粒-预造粒(4个决定)
- GRAN-D方法-001: 造粒法(湿法|干法|熔融法) -主要路线决策
- GRAN-D-CLN-001:清洁验证政策
- GRAN-D-CAL-001:仪器校准频率
- GRAN-D-ENV-001:环境监测方法
造粒-材料转移(2个决定)
- GRAN-D-MAT-001:分段材料验证方法
- GRAN-D-CON-001:集装箱完整性检查要求
造粒-粘合剂制备(2项决定)
- GRAN-D-BINDER-001:粘合剂溶液制备位置
- GRAN-D-BINDER-QC-001:使用前粘合剂质量控制测试
造粒-造粒工艺(7项决定)
- GRAN-D-配方-001:配方/设定点来源
- GRAN-D-SCADA-001:SCADA/PLC集成可用性
- GRAN-D-WET-PARM-001:湿法造粒粘合剂添加模式
- GRAN-D-CAPTURE-001:过程参数的数据采集模式
- GRAN-D-IPC-001:过程质量控制测试政策
- GRAN-D-LIMS-001:IPC结果的LIMS集成
- GRAN-D-CALC-001:自动计算对账
造粒-造粒后(6个决定)
- GRAN-D-LABEL-001:颗粒容器的标签要求
- GRAN-D-RETAIN-001:保留样本采集政策
- GRAN-D-TRANFER-001:颗粒的转移目的地
- GRAN-D-YIELD-001:产量方差调查阈值
- GRAN-D-CLEAN-POLICY-001:设备清洁频率
- GRAN-D-偏差-001:偏差文件系统
造粒-收尾(3个决定)
- GRAN-D-ERP-POST-001:ERP过账时间
- GRAN-D-EBR-001:EBMR生成和签名策略
- GRAN-D-ARCHIVE-001:记录归档和保留政策
运行条件(共15个)
在工作流中显示为决策菱形的异常路径:
点胶运行条件(13)
- C-CLN-01:清洁保持时间有效期
- C-CAL-01:天平校准有效性
- C-ENV-01:环境限制
- C-REL-01:批次放行状态
- C-TOR-01:制冷超时
- C-NET-01:网络连接
- C-STAT-01:批次状态变化
- C-DMG-01:集装箱损坏
- C-TOL-01:称重公差
- C-SPILL-01:泄漏检测
- C-VERIFY-01:容器验证
- C-WB-CONN-01:仪器握手
- C-GI-ACK-01:ERP发布确认
- C-LBL-01:标签验证
- C-SEC-01:容器密封检查(用于“两个”路径)
造粒运行条件(8)
- GRAN-C-CLN-VALID-001:清洁验证有效性
- GRAN-C-CAL-VALID-001:仪器校准有效期
- GRAN-C-ENV-VALID-001:环境条件在范围内
- GRAN-D-WET-SET-001:湿法造粒设定点验证
- GRAN-D-D-DRY-SET-001:干燥造粒参数验证
- GRAN-D-ENDPOINT-001:达到造粒终点
- GRAN-D-OOL-001:IPC结果在规范范围内
- GRAN-D-FAIL-001:设备故障恢复决策
- GRAN-D-RELEAS-001:颗粒剂的质量保证放行决定
- GRAN-D-QA-APPROVAL-001:最终批批准
______________________________________________________________________
🛠️ API 参考
核心工具
get_decisions
获取一个阶段的所有决策问题。
参数:
stage(可选):点胶:“预点胶”|“物料分配”|“称重和点胶”|《标签和文件》|“点胶后”;造粒:“预造粒”|“物料转移和验证”|“粘合剂制备”|“造粒”|《造粒后》|“收尾”|“全部”category(可选):“练习”|“运行时”
例子:
// Get Dispensing decisions
get_decisions({
stage: "Weighing & Dispensing",
category: "Practice"
})
// Get Granulation decisions
get_decisions({
stage: "Granulation",
category: "Practice"
})get_decision_details
获取有关特定决策的详细信息。
参数:
decision_id(必填):例如“Q-ERP-01”(点胶)或“GRAN-DMETHOD-001”(造粒)
例子:
// Dispensing decision
get_decision_details({ decision_id: "Q-SEC-01" })
// Granulation decision
get_decision_details({ decision_id: "GRAN-D-METHOD-001" })save_client_decision
保存客户对决策的回答。
参数:
client_name(必填):客户公司名称decision_id(必填):决策IDselected_outcome(必填):必须与有效结果匹配rationale(可选):说明
例子:
save_client_decision({
client_name: "Demo Pharma",
decision_id: "Q-SEC-01",
selected_outcome: "Both (material-dependent)",
rationale: "APIs require weighing, excipients are sealed"
})get_client_decisions
查看客户端的所有配置决策。
参数:
client_name(必填)
get_unanswered_decisions
列出仍需要答案的练习决策。
参数:
client_name(必填)stage(可选):按阶段过滤
generate_workflow
生成并自动保存工作流程图。
参数:
client_name(必填)stage(必填):生成阶段
行为:
- 根据练习决策过滤任务
- 显示所有运行时异常路径
- 自动保存到
client_workflows.json - 递增版本号
get_saved_workflow
从检索缓存的工作流 client_workflows.json.
参数:
client_name(必填)
validate_workflow
检查工作流结构是否存在问题。
参数:
client_name(必填)stage(必填)
检查:
- 孤立节点
- 失踪的前辈
- 回路结构完整性
export_workflow
将工作流导出为PNG格式 exports/[client]/.
参数:
client_name(必填)format(可选):“png”(目前仅支持格式)
行为:
- 使用Mermaid.ink API
- 创建带时间戳的文件
- 从不覆盖以前的导出
- 需要互联网连接
list_exports
列出客户端导出的所有PNG文件。
参数:
client_name(必填)
list_clients
显示所有已配置的客户端。
______________________________________________________________________
💡 示例
示例1:简单配置(仅称重)
// TechPharma: Uses MES allocation, weighing path only
save_client_decision({
client_name: "TechPharma",
decision_id: "Q-ERP-01",
selected_outcome: "MES",
rationale: "MES performs lot determination"
})
save_client_decision({
client_name: "TechPharma",
decision_id: "Q-SEC-01",
selected_outcome: "Weighing only",
rationale: "All materials require balance verification"
})
// ... configure remaining decisions ...
generate_workflow({
client_name: "TechPharma",
stage: "All"
})
// Result: Clean single-path workflow with 56 tasks示例2:双路径配置
// Demo Pharma: Uses SAP, supports both weighing and sealed
save_client_decision({
client_name: "Demo Pharma",
decision_id: "Q-ERP-01",
selected_outcome: "SAP",
rationale: "SAP ERP for batch determination"
})
save_client_decision({
client_name: "Demo Pharma",
decision_id: "Q-SEC-01",
selected_outcome: "Both (material-dependent)",
rationale: "APIs need weighing, excipients can be sealed"
})
// ... configure remaining decisions ...
generate_workflow({
client_name: "Demo Pharma",
stage: "All"
})
// Result: Dual-path workflow with decision diamond routing
// 58 tasks, 6 macros, 4 loops示例3:迭代优化
// Initial generation
generate_workflow({
client_name: "Client X",
stage: "All"
})
// Review with client, they want to change spill handling
save_client_decision({
client_name: "Client X",
decision_id: "Q-DMG-01",
selected_outcome: "Continue by adding new container",
rationale: "Updated per client feedback"
})
// Regenerate (version increments automatically)
generate_workflow({
client_name: "Client X",
stage: "All"
})
// When finalized
export_workflow({ client_name: "Client X" })______________________________________________________________________
🔍 验证和故障排除
常见问题
问题:缺少循环启动警告
⚠️ DISP-SL-006 loop end exists but DISP-SL-001 loop start is missing解决方案: 检查Q-SEC-01配置。如果设置为“两者”或“仅密封”,则应包括密封回路。
问题:孤立节点
⚠️ DISP-XYZ has no valid predecessors - orphaned node解决方案: 审查决策依赖关系。有些任务需要特定的决策组合。
问题:导出失败
Error: Mermaid.ink API returned 500解决方案: 检查互联网连接。Mermaid.ink可能有速率限制。请稍候,然后重试。
验证检查表
导出前:
- \[\]所有实践决策均已回答
- \[ \]
validate_workflow未显示任何警告 - \[\]记录决策理由
- \[\]客户已审核并批准
- \[\]根据需要验证特定阶段的工作流程
______________________________________________________________________
🤝 贡献
开发环境设置
# Clone and install
git clone
cd mes-workflow-builder
npm install
# Build
npm run build
# Watch mode for development
npm run watch添加新决策
- 添加到
data/decisions.json - 更新中受影响的任务
data/tasks.json - 更新
README.md决策框架部分 - 使用示例客户端进行测试
- 验证工作流生成
添加新任务
- 添加到
data/tasks.json结构合理 - 集
decision_id和decision_outcomeIf条件句 - 定义
predecessors用于工作流 - 测试与现有工作流的集成
______________________________________________________________________
📄 许可证
\[您的许可证在这里-例如麻省理工学院、Apache 2.0\]
______________________________________________________________________
📞 支持
对于问题、疑问或功能请求:
- 在GitHub上创建问题
- 联系人:\[your-email@example.com\]
- 文档:\[链接到文档\]
______________________________________________________________________
🙏 致谢
内置:
- 模型上下文协议(MCP)
- Mermaid.js 用于生成图表
- Mermaid.ink 用于PNG渲染
- TypeScript和Node.js
______________________________________________________________________
📊 项目统计
- 版本: 2.3.0
- 决策总数: 28练习+13运行时间=41
- 任务总数: 65(5个宏+56个微+4个循环)
- 工作流程阶段: 5
- 支持的客户端: 无限
- 导出格式: PNG(SVG即将推出)
______________________________________________________________________
🆕 版本历史
版本2.3.0(当前)
增强的工作流可视化和导出改进
- ✨ 精细的图表布局:更清晰的视觉结构,改进了节点组织
- 🎨 更好的决策点:增强决策钻石造型和位置
- 🔄 改进路径收敛:双路径工作流程(称重/密封)的视觉流更清晰
- 📦 本地PNG导出:使用@mermaid-js/mamera-cli完全支持本地导出
- 🎯 高分辨率导出:2400x3000px专业交付成果
- ⚡ 更快的一代:优化的图表生成算法
- 🧹 代码清理:删除冗余功能,精简代码库
版本2.2.0
工作流持久性和导出功能
- 💾 自动将生成的工作流保存到
client_workflows.json - 📤 通过Mermaid.ink API将工作流导出为PNG图像
- 📁 组织带有时间戳文件的客户端导出文件夹
- 🔢 工作流迭代的版本跟踪
- 📊 工作流元数据(任务计数、决策计数)
版本2.1.0
多路径点胶支持
- 🔀 双路径工作流程支持(称重+密封容器)
- 🎯 带有决策菱形的材料相关路线
- 🟣 增强的循环可视化
- 🔗 路径收敛节点
版本1.0.0
初始版本
- 📋 决策驱动的工作流配置
- 🔧 28实践决策框架
- ⚙️ 13运行时条件处理
- 📊 美人鱼图生成
- 🎨 颜色编码的工作流元素
______________________________________________________________________
最后更新时间: 2025年10月
