Manufacturing MCP Server - provides production performance metrics, downtime events, quality information, and machine data for manufacturing lines
Server has 4 well-named tools with clear descriptions and basic input schemas. All tools follow verb_noun naming (get*) and include parameter descriptions. However, output schemas are not documented, parameter types lack detail (no enums, ranges, or format constraints), and error handling is absent. Descriptions are adequate (100-150 chars) but lack dependency hints and recovery guidance. No tool annotations (readOnlyHint, idempotentHint) despite all tools being read-only. Missing pagination guidance for list-returning tools.
Returns production performance metrics for a manufacturing line over a specific time window, including planned vs actual output, downtime, quality losses, and overall equipment effectiveness (OEE). Use this to explain why a line underperformed or to summarize how well it ran
Returns the human-readable name and type of a machine. Use this when explaining downtime or defects so responses use real machine names instead of IDs
Returns all downtime events that occurred during a specific production run. Use this to explain why production stopped or why output was lower than expected. Each event includes the machine, reason, and duration
Returns quality and scrap information for a production run, including rejected quantity and defect types. Use this to explain production losses caused by quality problems
Output schemas not documented. LLMs cannot infer what fields getLinePerformance, getRunDowntime, getRunQuality, and getMachineInfo return. This forces agents to guess field names for downstream tool calls and risks broken chains.
No tool annotations (readOnlyHint, idempotentHint, destructiveHint). All four tools are read-only and idempotent, but this is not declared. Agents cannot determine retry safety or side-effect risk without explicit hints.
Parameter 'from' and 'to' in getLinePerformance lack format constraints. Description says '2025-09-01T06:00:00 format' but no regex or format field enforces ISO 8601. LLMs may pass invalid timestamps.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | D | 59 | 2026-07-28+ | v2 |
No error handling or recovery guidance. If a runId or lineId is invalid, the WebClient.block() call will throw an exception with no actionable message for the LLM. No guidance on what to do if a resource is not found.
Descriptions lack dependency hints. No guidance that getLinePerformance should be called before getRunDowntime, or that getMachineInfo is useful after downtime/quality lookups. Agents must discover these chains through trial.