Documentation
Guides, references, and everything you need to build manufacturing AI agents with OpenShopFloor.
Wiki
Getting Started
Registration, your first flow, your first agent
ArchitekturArchitecture Overview
Frontend, Gateway, MCP servers, Factory Simulation
ArchitekturKnowledge Graph
Schema-driven KG building, vector embeddings, semantic search, impact analysis
ArchitekturHistorian & Time-Series
Industrial MQTT → TimescaleDB pipeline, anomaly detection, downsampling
ArchitekturOPC-UA Server Integration
OPC-UA Server anbinden, Edge Gateway, MQTT UNS Pipeline, MTP fur Prozessindustrie, ISA-95
GuidesVisual Flows Guide
Build multi-step AI workflows with the Node-RED editor
GuidesCode Agents Guide
Write TypeScript agents, deploy from GitHub
ReferenzNode-RED Custom Nodes
All 16 custom OSF nodes in detail
ReferenzAPI Reference
Auth, Chat, Agents, Flows, MCP endpoints
ReferenzMCP Tools Reference
All 118 MCP tools across 4 domains
ReferenzFactory Simulation
Machines, data model, MCP domains
BetriebGovernance & RBAC
Role-based tool access, audit logging, tool classification, factory roles
BetriebTroubleshooting & FAQ
Common errors, debugging tips, FAQ
BetriebSelf-Hosting Guide
Docker, Kubernetes, environment variables
GitHub Code Agents
Write TypeScript agents, deploy from GitHub, SDK reference
Node-RED Visual Flows
Visual flow editor, node types, execution model
Getting Started
OpenShopFloor exposes a full manufacturing simulation through 118 MCP (Model Context Protocol) tools. Your AI agent connects to our MCP server and gets access to real-time factory data.
The factory simulates a complete manufacturing environment: CNC machines, injection molding (SGM), assembly lines, pre-assembly, and a test field. All connected to ERP, OEE, QMS, tool management databases, Historian (time-series analytics), and Knowledge Graph (graph queries & semantic search).
v9 adds schema-driven Knowledge Graph building, vector embeddings for semantic search, natural language chart generation, and industrial time-series analytics via the Historian service.
Tool Reference
Capacity Planning
6 toolsMachine utilization, load analysis, CM01/CM21
factory_get_cm01Capacity utilization (CM01) for a machine by period (day/week).
| Parameter | Required |
|---|---|
| machineNo | yes |
| periodType | no |
| periodCount | no |
factory_get_capacity_overviewCapacity overview of all machines. Identifies over-/under-utilized machines.
| Parameter | Required |
|---|---|
| periodType | no |
| periodCount | no |
factory_get_capacity_summaryCompact capacity summary of all machines (current + next week).
factory_get_cm21_ordersProduction orders per work center (CM21), filterable by machine.
| Parameter | Required |
|---|---|
| machineNo | no |
factory_get_shift_scheduleShift model for all departments: which shifts run when, net minutes, holidays.
| Parameter | Required |
|---|---|
| machineId | no |
factory_get_capacity_loadAverage capacity utilization in percent.
Customer Orders
4 toolsOrder tracking, delivery risk, VA05
factory_get_customer_ordersLists all customer orders: customer, article, quantity, delivery dates, status.
| Parameter | Required |
|---|---|
| status | no |
factory_get_customer_orderDetails of a customer order including production order and delivery status.
| Parameter | Required |
|---|---|
| kundenauftragNr | yes |
factory_get_va05_summaryVA05 overview: total count, open, in production, shipped, overdue.
factory_get_orders_at_riskAt-risk customer orders near delivery date or overdue.
| Parameter | Required |
|---|---|
| daysAhead | no |
KPIs & Revenue
3 toolsOTD, revenue, delivery performance
factory_get_customer_otdOverall on-time delivery rate across all customers.
factory_get_otd_statisticsDetailed OTD statistics overall and per customer.
factory_get_monthly_revenueMonthly revenue from delivered customer orders.
Maintenance
5 toolsNotifications, MTBF/MTTR, downtime analysis
factory_get_open_notificationsAll open fault and maintenance notifications.
factory_get_maintenance_ordersMaintenance orders, optionally filtered by status.
| Parameter | Required |
|---|---|
| status | no |
factory_get_machine_reliabilityReliability metrics: MTBF, MTTR, availability.
| Parameter | Required |
|---|---|
| machineNo | yes |
| daysBack | no |
factory_get_maintenance_summaryPM overview: open notifications, orders, MTBF/MTTR.
factory_get_downtime_reportDowntime analysis with reason codes and duration.
| Parameter | Required |
|---|---|
| daysBack | no |
Material Planning
4 toolsMD04, MD07, availability forecasts, shortages
factory_get_md04Requirements/stock list (MD04) for a part, similar to SAP MD04.
| Parameter | Required |
|---|---|
| teilId | yes |
factory_get_md07All current shortages (MD07) — parts with stock deficits.
factory_get_availability_at_dateForecasts part availability at a specific date.
| Parameter | Required |
|---|---|
| teilId | yes |
| date | yes |
factory_get_baugruppen_shortagesShortages for assemblies (in-house production, not purchasable).
OEE & Production
5 toolsAvailability, performance, quality, scrap history
factory_get_machine_oeeOEE of a machine: availability x performance x quality.
| Parameter | Required |
|---|---|
| machineNo | yes |
| hours | no |
factory_get_latest_oeeLatest OEE values for all machines.
factory_get_production_historyProduction history: good parts, scrap, rework per hour.
| Parameter | Required |
|---|---|
| hours | no |
factory_get_oee_summaryOEE summary per machine: avg, min, max, scrap rate over a period. Sorted worst first.
| Parameter | Required |
|---|---|
| hours | no |
factory_get_scrap_historyScrap history grouped by machine.
| Parameter | Required |
|---|---|
| hours | no |
Work Orders
4 toolsOrder details, machine queues, material readiness
factory_get_work_orderDetails of a work order including material and capacity status.
| Parameter | Required |
|---|---|
| orderNo | yes |
factory_get_machine_queueMachine queue: orders sorted by priority.
| Parameter | Required |
|---|---|
| machineNo | yes |
factory_check_material_readinessCheck material availability for a work order.
| Parameter | Required |
|---|---|
| orderNo | yes |
factory_get_blocked_orders_countNumber of blocked orders (material/capacity).
Purchasing
3 toolsOpen purchases, suppliers, evaluations
factory_get_pending_purchasesAll open purchase orders with expected delivery dates.
factory_get_supplier_for_materialSupplier for a material with lead time and price.
| Parameter | Required |
|---|---|
| teilId | yes |
factory_get_supplier_evaluationSupplier evaluation: delivery reliability, quality, pricing.
| Parameter | Required |
|---|---|
| supplierId | no |
Quality Management
4 toolsSPC alarms, calibration, Cpk, quality notifications
factory_get_spc_alarmsActive SPC alarms with affected machines.
factory_get_calibration_dueMeasuring instruments with calibration due.
factory_get_quality_notificationsOpen quality notifications (complaints, internal defects).
factory_get_cpk_overviewProcess capability indices (Cpk) for all monitored characteristics.
| Parameter | Required |
|---|---|
| machineNo | no |
Stock & Inventory
3 toolsStock levels, reservations, low-stock alerts
factory_get_stock_itemStock level of a material with reservations and availability.
| Parameter | Required |
|---|---|
| teilId | yes |
factory_get_low_stock_itemsMaterials with low stock (below safety stock level).
factory_get_material_coverageMaterial coverage in days — which materials have the lowest reach based on stock vs. open demand.
Tool Management
9 toolsTool wear, replacements, article tool lists
tms_get_statusStatus of all tools: wear, location, availability.
tms_get_machine_toolsAll tools currently at a machine.
| Parameter | Required |
|---|---|
| machine_no | yes |
tms_get_criticalTools with critical wear (>80%).
tms_replace_toolReplace a worn tool at a machine.
| Parameter | Required |
|---|---|
| machine_no | yes |
| old_tool_id | yes |
| new_tool_id | no |
tms_get_replacementsAvailable replacement tools for a tool type.
| Parameter | Required |
|---|---|
| werkzeug_id | yes |
tms_get_tools_for_articleTool list for an article — required tool types.
| Parameter | Required |
|---|---|
| article_no | yes |
tms_check_tool_availabilityChecks if a machine has all required tools for an article.
| Parameter | Required |
|---|---|
| machine_no | yes |
| article_no | yes |
tms_get_tool_changesRequired tool changes for a changeover + additional setup time.
| Parameter | Required |
|---|---|
| machine_no | yes |
| article_no | yes |
tms_get_historyRecent tool usages and replacements.
| Parameter | Required |
|---|---|
| limit | no |
Injection Molding
5 toolsProcess data, cavity balance, trends, aggregates
sgm_get_process_dataInjection molding process data (~97 parameters): temperatures, pressures, speeds.
| Parameter | Required |
|---|---|
| machine_no | yes |
| hours | no |
sgm_get_process_trendTrend of a process parameter over time — drift detection.
| Parameter | Required |
|---|---|
| machine_no | yes |
| parameter | yes |
| hours | no |
sgm_get_cavity_balanceCavity balance (pressure distribution) — detects uneven filling.
| Parameter | Required |
|---|---|
| machine_no | yes |
| shots | no |
sgm_get_cavity_trendTrend of a cavity (hot runner temp, pressure) over time.
| Parameter | Required |
|---|---|
| machine_no | yes |
| cavity_nr | yes |
| hours | no |
sgm_get_hourly_aggregatesHourly aggregates: averages, shot count, scrap rate.
| Parameter | Required |
|---|---|
| machine_no | yes |
| hours | no |
Assembly Lines
14 toolsStation tools, OEE, BDE, process data, maintenance
montage_get_tms_statusStatus of all assembly tools: wear, station, availability.
montage_get_critical_toolsAssembly tools with critical wear (>80%).
montage_get_station_toolsAll tools at an assembly station.
| Parameter | Required |
|---|---|
| station_id | yes |
montage_get_replacementsReplacement tools for an assembly tool type.
| Parameter | Required |
|---|---|
| werkzeug_id | yes |
montage_replace_toolReplace a worn tool at an assembly station.
| Parameter | Required |
|---|---|
| station_id | yes |
| old_tool_id | yes |
montage_get_tool_historyRecent tool usages at assembly stations.
| Parameter | Required |
|---|---|
| limit | no |
montage_get_maintenance_summaryAssembly line maintenance overview.
montage_get_open_notificationsOpen fault/maintenance notifications for assembly lines.
montage_get_open_ordersOpen maintenance orders for assembly lines.
montage_get_station_reliabilityReliability metrics: MTBF, MTTR, availability.
| Parameter | Required |
|---|---|
| station_id | no |
montage_get_due_plansDue maintenance plans for assembly lines.
montage_get_oeeOEE of an assembly line (availability, performance, quality).
| Parameter | Required |
|---|---|
| linie_id | no |
montage_get_prozessdatenProcess data of an assembly station (parameters, targets, tolerances).
| Parameter | Required |
|---|---|
| station_id | yes |
| limit | no |
montage_get_bdeShop floor data: cycle times, good parts, NOK parts, fault reasons.
| Parameter | Required |
|---|---|
| linie_id | no |
| limit | no |
Energy Management
6 toolsConsumption, cost, per-part energy, base load
factory_get_energy_overviewEnergy consumption of all machines: current power draw, total kWh.
factory_get_machine_energyEnergy consumption of a machine over time.
| Parameter | Required |
|---|---|
| machineNo | yes |
| hours | no |
factory_get_energy_per_partkWh per good part for a machine.
| Parameter | Required |
|---|---|
| machineNo | yes |
| hours | no |
factory_get_energy_costsEnergy costs in EUR.
| Parameter | Required |
|---|---|
| pricePerKwh | no |
| hours | no |
factory_get_energy_trendHourly power trend for a machine.
| Parameter | Required |
|---|---|
| machineNo | yes |
| hours | no |
factory_get_base_loadBase load vs. production load of all machines.
Subcontracting
7 toolsExternal processing orders, supplier capacity
factory_get_fb_auftraegeAll subcontracting orders with status.
| Parameter | Required |
|---|---|
| status | no |
factory_get_fb_kapazitaetCapacity and utilization of subcontracting suppliers.
factory_get_fb_versandOrders ready for shipment to supplier.
factory_get_fb_wareneingangOrders with expected goods receipt.
factory_get_fb_liefertreueDelivery reliability of subcontracting suppliers.
factory_get_fb_queueOrders in queue by supplier.
| Parameter | Required |
|---|---|
| lieferantId | no |
factory_get_fb_bewertungQuality rating of subcontracting suppliers.
Pre-Assembly
4 toolsCell status, OEE, buffer levels, maintenance
montage_get_vormontage_statusStatus of pre-assembly cells VM-1, VM-2, VM-3.
montage_get_vormontage_oeeOEE of pre-assembly cells.
| Parameter | Required |
|---|---|
| cell_id | no |
montage_get_vormontage_bufferBuffer fill levels between pre-assembly and assembly lines.
montage_get_vormontage_wartungMaintenance status of pre-assembly stations.
Test Field
4 toolsFunction tests, leak tests, burn-in, defect analysis
montage_get_prueffeld_statusStatus of the test field (function test, leak test, burn-in).
montage_get_prueffeld_ergebnissePass/fail rate of the test field.
| Parameter | Required |
|---|---|
| hours | no |
montage_get_prueffeld_queueParts in the test field queue.
montage_get_prueffeld_fehleranalyseDefect analysis by defect type and product.
History
6 toolsTime-series trends, comparisons, aggregations, anomaly detection
history_get_trendTime-series data for a machine variable over configurable hours.
| Parameter | Required |
|---|---|
| machine | yes |
| variable | yes |
| hours | no |
| limit | no |
history_compareCompare same variable between two machines.
| Parameter | Required |
|---|---|
| machine_a | yes |
| machine_b | yes |
| variable | yes |
| hours | no |
history_aggregateAggregated values (AVG/MIN/MAX) per granularity.
| Parameter | Required |
|---|---|
| machine | yes |
| variable | yes |
| granularity | no |
| hours | no |
history_anomaliesFind values deviating beyond N sigma from mean.
| Parameter | Required |
|---|---|
| machine | yes |
| variable | yes |
| hours | no |
| sigma | no |
history_machinesList all machines with historian data and data point counts.
| Parameter | Required |
|---|---|
| hours | no |
history_variablesList all recorded variables for a specific machine.
| Parameter | Required |
|---|---|
| machine | yes |
Knowledge Graph
12 toolsImpact analysis, paths, neighbors, semantic search, schema, Cypher queries, chart generation, delivery snapshots
kg_impactTrace downstream impact from a source node (up to 3 hops).
| Parameter | Required |
|---|---|
| node_id | yes |
kg_pathFind shortest path between two nodes.
| Parameter | Required |
|---|---|
| from_id | yes |
| to_id | yes |
kg_neighborsGet all neighbor nodes within configurable depth.
| Parameter | Required |
|---|---|
| node_id | yes |
| depth | no |
kg_aggregateAggregate numeric property across a label.
| Parameter | Required |
|---|---|
| label | yes |
| property | yes |
kg_searchSemantic search by natural language using vector embeddings.
| Parameter | Required |
|---|---|
| query | yes |
| limit | no |
| label_filter | no |
kg_schemaGet complete KG schema — labels, relationships, properties.
kg_subgraphExtract subgraph around a node within radius.
| Parameter | Required |
|---|---|
| node_id | yes |
| radius | no |
kg_filterFilter nodes by label and property conditions.
| Parameter | Required |
|---|---|
| label | yes |
| conditions | no |
| limit | no |
kg_queryRun a read-only Cypher query against the Knowledge Graph.
| Parameter | Required |
|---|---|
| cypher | yes |
| params | no |
kg_statsQuick summary: total nodes, edges, top labels, top relationship types.
kg_delivery_snapshotDelivery feasibility snapshot — orders with materials, stock, machine capacity, OEE, customer info.
| Parameter | Required |
|---|---|
| days_ahead | no |
kg_generate_chartGenerate a Chart.js visualization from a natural language question about the KG.
| Parameter | Required |
|---|---|
| question | yes |
UNS (MQTT)
8 toolsLive machine data via MQTT: status, values, categories, alerts, comparisons
uns_list_machinesList all machines currently publishing UNS data via MQTT.
uns_get_machine_statusGet all current UNS values for a machine: BDE, ProcessData, OEE, Status.
| Parameter | Required |
|---|---|
| machine | yes |
uns_get_valueRead a single UNS topic value by full topic path.
| Parameter | Required |
|---|---|
| topic | yes |
uns_get_categoryGet all values of a data category for a machine (BDE, ProcessData, QMS, WMS).
| Parameter | Required |
|---|---|
| machine | yes |
| category | yes |
uns_search_topicsSearch UNS topics by pattern with wildcards (* = single level, # = multi level).
| Parameter | Required |
|---|---|
| pattern | yes |
uns_get_alertsShow all UNS values with non-good quality (faults, warnings, bad readings).
uns_get_historyGet last N values of a UNS topic from ring buffer — shows trend.
| Parameter | Required |
|---|---|
| topic | yes |
| count | no |
uns_compare_machinesCompare the same variable across multiple machines.
| Parameter | Required |
|---|---|
| machines | yes |
| variable | yes |
Discovery
2 toolsAuto-discovered machines and sensors from MQTT UNS
kg_discovered_machinesAll machines auto-discovered from MQTT UNS.
kg_machine_sensorsAll sensors on a discovered machine with last values.
| Parameter | Required |
|---|---|
| machine | yes |