Skip to main content
Glama
E37dey

factory-floor-mcp

by E37dey

Server Configuration

Describes the environment variables required to run the server.

NameRequiredDescriptionDefault
SAP_USERNoTechnical read-only SAP user, used together with SAP_PASSWORD.
SAP_PLANTNoOptional SAP plant used to filter work orders.
SAP_TOKENNoSAP authentication token, an alternative to SAP_USER / SAP_PASSWORD.
SAP_PASSWORDNoPassword for the read-only SAP technical user.
SAP_ODATA_BASENoBase URL of the SAP S/4HANA OData V2 service API_PRODUCTION_ORDER_2_SRV, used to read work orders from SAP.
FACTORY_MCP_DATANoPath to the Excel workbook with one sheet per table and a header row (equivalent to the --data CLI option).
FACTORY_MCP_SALTNoSalt used to generate stable pseudonyms for operator names.
FACTORY_MCP_TOKENNoBearer token required for the HTTP transport (at least 24 characters). The server refuses to start over HTTP without it.
FACTORY_MCP_MAX_ROWSNoRow cap per response; every list indicates whether it was truncated.
FACTORY_MCP_AUDIT_LOGNoPath to the JSONL audit log where every call (including failed calls) is recorded.
FACTORY_MCP_MAX_LEVELNoMaximum classification level returned by the server: public / internal / confidential. Defaults to internal.

Instructions

Guidance the server publishes about itself, which clients place ahead of the tool catalog so the model reads it before choosing anything.

This server publishes no instructions, or was last inspected before Glama recorded them.

Capabilities

Features and capabilities supported by this server

Protocol revision2025-11-25

CapabilityDetails
tools
{
  "listChanged": false
}
prompts
{
  "listChanged": false
}
resources
{
  "subscribe": false,
  "listChanged": false
}
experimental
{}

Tools

Functions exposed to the LLM to take actions

NameDescription
list_datasetsA

List the available tables with row counts, date coverage and which columns are masked. Call this first when you do not know the data.

machine_oeeA

Overall Equipment Effectiveness (OEE = availability x performance x quality) for a period, grouped by machine, line, day or shift. Results by machine are sorted worst first.

downtime_paretoA

Downtime by reason, largest first, with share and cumulative share (Pareto). vital_few lists the reasons that make up the first 80% of lost minutes. Planned maintenance is excluded unless asked.

downtime_eventsA

Individual downtime events (newest first) for drill-down after downtime_pareto. Operator names are pseudonymized by policy.

scrap_summaryA

Scrap quantity and scrap rate for a period, grouped by reason, machine or product.

get_work_ordersA

Work orders filtered by status, line, product and due-date range, sorted by due date. Customer names and prices are withheld unless the server policy allows confidential data.

late_work_ordersA

Orders past their due date and not completed (most late first), plus orders due within horizon_days that have not started or are waiting for material. Default as_of: the day after the last production record.

inventory_alertsA

Materials at or below their reorder point, with days of cover, whether they will run out before a new delivery can arrive (lead time), and a suggested order quantity. Most urgent first.

production_kpisB

Management summary for a period, compared with the previous period of the same length: OEE and its three factors, good and scrap parts, unplanned downtime hours with the top reasons, on-time delivery, open late orders and materials below reorder point.

search_recordsA

Free-text search (substring, case-insensitive) across record fields, for questions like 'what happened with WO-26017' or 'anything about coolant'. Masked columns are not searched.

Prompts

Interactive templates invoked by user choice

NameDescription
shift_reportDaily production report for the plant manager, in Hebrew
downtime_rcaRoot-cause analysis for one machine's downtime

Resources

Contextual data attached and managed by the client

NameDescription
schemaData dictionary with classification per column
policyWhat this server may return, and what it masks
auditThe last 50 tool calls on this server

TDQS

A3.7/5.0

Scored across 10 tools

Disambiguation4/5

Tools mostly target distinct analytical areas (inventory, OEE, downtime, scrap, work orders), but get_work_orders and late_work_orders have overlapping scope, and production_kpis overlaps with component tools like machine_oee and downtime_pareto. Descriptions help clarify boundaries, reducing confusion.

Naming Consistency3/5

Mixed conventions: some tools use verb_noun (list_datasets, search_records, get_work_orders) while others are noun phrases (inventory_alerts, production_kpis, machine_oee, downtime_pareto, downtime_events, scrap_summary, late_work_orders). All are snake_case and readable, but the lack of a consistent verb pattern reduces predictability.

Tool Count5/5

10 tools is well within the typical 3-15 range for a domain-specific analytics server. Each tool provides a distinct analytical view, and there is no obvious redundancy or bloat.

Completeness4/5

The server covers key factory-floor analytics: dataset discovery, inventory alerts, production KPIs, OEE, downtime, scrap, and work orders. Minor gaps exist, such as no dedicated tool for raw production records or quality inspections beyond scrap, but core workflows are well supported.

Maintenance

ActivityMaintained
ResponsivenessNo issues