Manufacturing Execution
The AI Way

MES AI is an open-source Manufacturing Execution System framework you can extend with your own domain logic, plugins, and AI-assisted workflows โ€” without adapting your business to a fixed vendor product.

View on GitHub Read the Blog ↓ User Guide (PDF)
Python 3.12+ FastAPI React 19 TypeScript 5 Open Source Plugin-Driven AI-Assisted

Introduction

MES AI is an open-source Manufacturing Execution System framework for teams that want to tailor MES workflows, integrations, and user experiences to their own operations. Instead of adapting your business to a fixed vendor product, MES AI provides a foundation you can extend with your own domain logic, plugins, and AI-assisted engineering workflows.

  • No dependence on vendor licensing, proprietary roadmaps or support priorities
  • Adaptable workflows and integrations specific to your plant and business processes
  • AI-assisted development and testing to accelerate delivery
  • Control over release timing, feature priorities, and operational data

To download the source code, click the View on GitHub button above, then open the Code dropdown and select Download ZIP. Click on the Download User Guide button above, then follow the installation instructions.

System at a Glance

At the center of the system is the MES server under server/src/mes, which exposes a versioned REST API and WebSocket event stream. Around that core are several browser-based applications in clients/ that support different user roles and development workflows:

๐ŸŽจ

Design-Time Client

Configure products, routes, dispositions, equipment, plugins, and other master data.

โš™๏ธ

Runtime Client

Create and process WIP, dispatch work, record inventory activity, and handle shop-floor execution.

๐Ÿ”—

ERP Simulator

Exercise inbound planning and order-release scenarios without requiring a real ERP connection.

๐Ÿค–

Equipment Simulator

Mimic equipment interactions in development environments for fast feedback on equipment-facing workflows.

High-Level Architecture

The architecture follows a client-server model with clear separation between core execution logic, user interfaces, and integration points.

  1. The FastAPI MES server owns the domain model, persistence, business rules, API surface, and event publication.
  2. The Vite applications provide focused user experiences for engineering, operations, and simulation.
  3. Plugins extend the platform without requiring direct modification of the core.
  4. PostgreSQL, SQL Server, and Oracle databases are supported via SQLAlchemy and Alembic.
Client and MES server architecture overview

Figure 1 โ€” Clients and MES server architecture

Plugin architecture overview

Figure 2 โ€” Plugin architecture

Backend architecture overview

Figure 3 โ€” Backend architecture

FastAPI MES Server

The MES server is the core of the platform, implemented with FastAPI and organized into domain-focused modules under server/src/mes/core. These modules cover operations requests, WIP, dispatch, material management, physical model, product definition, performance, authentication, and plugins.

Key responsibilities include:

  • Exposing REST endpoints for configuration, execution, inventory, dispatch, and reporting workflows.
  • Managing lots, units, operations requests, material lots, inventory balances, and equipment state.
  • Publishing domain events through an internal async event bus and surfacing selected events to clients over WebSocket.
  • Running plugin lifecycle management so built-in and user plugins can register routes, event handlers, and integration behavior.
  • Enforcing authentication and role-based access control across both API and UI-backed workflows.

Extension Model

One of the defining architectural choices in MES AI is the plugin model. Rather than treating integrations and custom workflows as hard-coded special cases, the system uses a plugin framework that can load built-in and user-defined plugins. Plugins can contribute REST endpoints, event handlers, equipment behavior, dispatch strategies, and other extension logic.

This matters because manufacturing implementations are rarely identical. Site-specific behavior, ERP mappings, equipment protocols, and workflow rules can be introduced through plugins while the core platform stays stable.

Technology Stack

Backend

Python 3.12+ FastAPI SQLAlchemy 2 Alembic Pydantic v2 PostgreSQL Uvicorn PyJWT

Frontend

React 19 TypeScript 5 Vite 6 React Router TanStack Query Axios Tailwind CSS 4

Quality & Tooling

Pytest pytest-asyncio Playwright Ruff Pyright ESLint

Development Approach

MES AI was developed as an experiment in AI-assisted software delivery for industrial applications. The goal was to create a free and open-source MES framework that could be extended by end users with the help of modern coding agents and standard developer tools.

The implementation was built iteratively: expected MES capabilities were researched first, the architecture and technology stack were selected to support extensibility, and features were added in reviewable steps with human feedback guiding scope and direction.

AI-assisted testing was part of that process from the beginning. The project includes broad server-side unit test coverage along with end-to-end UI SQA coverage for key design-time and runtime workflows.

Please send any comments or suggestions to point85.apps@gmail.com.

From the Blog

  • Introducing MES AI: An Open-Source MES Framework

    Why we built an open, plugin-driven Manufacturing Execution System and what makes its architecture different from traditional MES products.

  • AI-Assisted Development for Industrial Software

    How modern AI coding agents accelerated the delivery of MES AI โ€” from architecture decisions and test coverage to plugin scaffolding and debugging.

  • Deep Dive: The MES AI Plugin Model

    A technical walkthrough of how the plugin framework resolves adapters, manages lifecycle, and lets teams add site-specific behavior without forking the core.

  • Three Ways to Explore the MES AI REST API

    Swagger UI for interactive testing, ReDoc for readable reference documentation, and the raw OpenAPI JSON for client generation and tooling โ€” all generated live from the running server.

View all posts โ†’