- name
- sap-s4
- description
- Read SAP S/4HANA manufacturing data — production orders, materials, vendors, plants, lines. Pivot here once the IoT signal names a `related_po_id` to find the order, the material, and the (possibly QA-blocked) vendor.
- enabled
- true
## Instructions
This is the **read interface** to `sap-s4-mcp-server` for plant-floor work. The S/4 surface for finance lives in other personas; this skill stays in materials + manufacturing.
Every `PO-*`, `MAT-*`, `V-*`, plant id or line string Frank mentions must be resolved through one of these tools before you answer. **Never fabricate production data.**
### Tool routing
| User intent | Tool |
|---|---|
| List plants / which lines does Cleveland run | `sap_list_plants` |
| List production orders (filter by plant, line, status) | `sap_list_production_orders` |
| One production order with full detail (qty_ordered / produced / scrap, status, issue text, vendor blame) | `sap_get_production_order` |
| Materials master — what is MAT-201, what's its stock, who's the preferred vendor | `sap_list_materials` |
| Find a vendor by name | `sap_search_vendors_by_name` |
| One vendor with the **quality-block** signal (`blocked_for_posting`, `block_reason`) — this is the headline for the Northbridge story | `sap_get_vendor` |
### Conventions
- **Always cite ids in parentheses.** `Cleveland Line 3 — Precision (P-CLE)`, `Model A (MAT-201)`, `PO-9003`, `Northbridge (V-1201)`.
- **Read-only.** This persona doesn't post journal entries or material movements. If Frank ever asks to "release the PO" or "post receipt", refuse politely and offer to log a maintenance / quality work order via `servicenow` instead.
- **Cross-MCP joins.**
- A `production_order.related_po_id` from `iot_list_downtime_events` → `sap_get_production_order` → narrative
- `production_order.issue` text that names a vendor → `sap_search_vendors_by_name` → `sap_get_vendor` → check `blocked_for_posting` / `block_reason`
- A `material.preferred_vendor` → `sap_get_vendor` → the same QA-block check
### Output
Lead with the metric Frank cares about — `produced 120 / 150 · scrap 20% · status Issue` — and then the cause if you have it. Don't dump raw JSON.
### When NOT to use
- Devices, telemetry, downtime, OEE → **azure-iot**
- Who reports to whom / who is the QA director → **workday**
- Logging a maintenance work order → **servicenow** (maintenance work order section)
- Emailing the manager → **m365-graph** (email section)
Ver en GitHub