Introducing MES AI: An Open-Source MES Framework
Manufacturing Execution Systems have a reputation for being expensive, rigid, and slow to change. Vendor products lock teams into proprietary data models, charge per-module licensing fees, and move on vendor timelines rather than plant timelines. MES AI started as a question: what would an MES look like if it were built the way modern software is built — open, composable, and AI-friendly?
The Core Idea
MES AI is not a monolith pretending to be a platform. It is a framework: a well-defined core with explicit extension points, designed so that the interesting site-specific parts live in plugins rather than in forked copies of the main codebase. The core handles the universal concerns — WIP tracking, inventory, equipment state, dispatch, ERP integration surfaces, and authentication. Plugins handle the parts that differ from site to site.
This distinction matters. When the core and the custom logic are separated, upgrading the core does not require re-validating every integration. Teams can contribute plugins independently without understanding the full platform.
What the System Covers
A typical ISA-95 Level 3 MES needs to answer a set of recurring questions: What work is authorized? What is in progress? What has been completed, and with what quality result? Where are materials? What is equipment doing right now? MES AI provides server-side services and REST endpoints for all of these, organized into domain modules:
- Operations requests — create, release, and close ERP-originated work orders.
- WIP management — lots, units, step processing, genealogy, holds, and dispositions.
- Dispatch — work-cell queues, priority strategies, and equipment assignment.
- Inventory — material lots, balances, adjustments, transfers, and consumption.
- Equipment and physical model — sites, areas, work cells, equipment, and material setups.
- Performance — OEE, availability, throughput, and state-change recording.
- ERP integration — inbound sync from ERP and outbound reporting of completions, scrap, and consumption.
The Client Applications
Rather than one monolithic UI, MES AI uses four focused Vite/React applications. Each serves a different audience and can be deployed independently:
- The design-time client is for engineers and administrators setting up master data.
- The runtime client is for processing WIP on the factory floor.
- The ERP simulator is for testing ERP integration flows without a real ERP system.
- The equipment simulator is for validating equipment-facing behavior during development.
This split keeps each UI fast and focused. Runtime users do not need to navigate around engineering configuration screens. Engineers do not need to share a session with users whose actions could disturb the data they are editing.
Deployment Philosophy
MES AI runs on Linux, macOS, or Windows. The default persistence model is PostgreSQL, with SQL Server and Oracle also supported. In development, the server and each client run independently against a shared database. In production, clients can be registered as Windows services or Linux systemd units using the included service management scripts.
The architecture does not require Kubernetes, a service mesh, or a container orchestrator to get started. A single PostgreSQL instance and a Python virtual environment are enough to run the full stack locally. Teams can containerize if they want to, but the platform does not impose that cost.
Why Open Source
Proprietary MES products are hard to evaluate honestly before you are already locked in. Open source makes the trade-offs visible. Teams can read the code, run it against their own data, and form an informed view of whether the platform fits their requirements before committing. They can contribute fixes, add plugins, and build on a foundation they understand.
MES AI is released under the MIT License. Please send any comments or suggestions to point85.apps@gmail.com.