sap-cloud-erp-mcp
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
No arguments | |||
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
| Capability | Details |
|---|---|
| tools | {
"listChanged": true
} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| s4_material_list | List materials/products from SAP S/4HANA Cloud (CE_PRODUCT_0002). Supports OData $filter/$top/$skip/$select to keep results focused. |
| s4_material_get | Get a single material/product by its material number. |
| s4_material_create | Create a new material/product. Required: productType, baseUnit, industrySector. Provide 'product' only if your system uses external numbering (leave blank for internal numbering). Use additionalFields for any other field not listed here (e.g. Division, ProductGroup, GrossWeight). |
| s4_material_update | Update fields on an existing material/product. |
| s4_material_bom_list | List Material Bill of Material headers. Supports OData $filter/$top/$skip/$select. |
| s4_material_bom_getA | Get a Material BOM header by its composite key (billOfMaterial, billOfMaterialCategory, billOfMaterialVariant, material, plant, billOfMaterialVersion, engineeringChangeDocument). Set includeItems=true to also fetch its components. |
| s4_material_bom_create | Create a Material BOM header and (optionally) its components. Required: material, plant, bomHeaderBaseUnit, bomHeaderQuantityInBaseUnit. Components are created as separate follow-up requests after the header, each requiring billOfMaterialComponent, billOfMaterialItemQuantity, billOfMaterialItemUnit. |
| s4_material_bom_update | Update header fields (e.g. BOMHeaderText, BillOfMaterialStatus) of an existing Material BOM. |
| s4_purchase_requisition_list | List purchase requisition headers. Supports OData $filter/$top/$skip/$select. |
| s4_purchase_requisition_get | Get a purchase requisition header (and optionally its items) by requisition number. |
| s4_purchase_requisition_create | Create a purchase requisition with at least one item. Required per item: itemText, accountAssignmentCategory, plant, companyCode, purchasingGroup, requestedQuantity, baseUnit, and either material or materialGroup. |
| s4_purchase_requisition_update | Update fields on an existing purchase requisition header. |
| s4_purchase_order_list | List purchase order headers. Supports OData $filter/$top/$skip/$select. |
| s4_purchase_order_getA | Get a purchase order header (and optionally its items) by PO number. |
| s4_purchase_order_createA | Create a purchase order with at least one item. Required header: companyCode, purchaseOrderType, supplier, purchasingOrganization, purchasingGroup. Required per item: plant, material, orderQuantity, netPriceAmount. For account-assigned items (e.g. category 'M' individual PO tied to a sales order), set item.accountAssignmentCategory and item.accountAssignment {salesOrder, salesOrderItem} — this creates a PurchaseOrderAccountAssignment record. |
| s4_purchase_order_updateB | Update fields on an existing purchase order header. |
| s4_purchase_contract_listA | List purchase contract (outline agreement) headers. Supports OData $filter/$top/$skip/$select. |
| s4_purchase_contract_getA | Get a purchase contract header (and optionally its items) by contract number. |
| s4_purchase_contract_createA | Create a purchase contract (outline agreement) with at least one item. Required header: purchaseContractType, supplier, purchasingOrganization, purchasingGroup, companyCode, validityStartDate, validityEndDate. Required per item: plant, targetQuantity, orderQuantityUnit, and either material or materialGroup. |
| s4_purchase_contract_update | Update fields on an existing purchase contract header. |
| s4_sales_quotation_listB | List sales quotation headers. Supports OData $filter/$top/$skip/$select. |
| s4_sales_quotation_getA | Get a sales quotation header and its items by quotation number. |
| s4_sales_quotation_create | Create a sales quotation with at least one item. Required header: salesQuotationType, salesOrganization, distributionChannel, salesDistrict, soldToParty. Required per item: material, requestedQuantity. |
| s4_sales_quotation_updateB | Update fields on an existing sales quotation header. |
| s4_sales_order_listB | List sales order headers. Supports OData $filter/$top/$skip/$select. |
| s4_sales_order_getA | Get a sales order header and its items by order number. |
| s4_sales_order_createA | Create a sales order with at least one item. Required header: salesOrderType, salesOrganization, distributionChannel, organizationDivision, soldToParty. Required per item: material. |
| s4_sales_order_updateC | Update fields on an existing sales order header. |
| s4_sales_contract_listA | List sales contract headers. Supports OData $filter/$top/$skip/$select. |
| s4_sales_contract_getA | Get a sales contract header and its items by contract number. |
| s4_sales_contract_createA | Create a sales contract with at least one item (the header cannot be created without at least one item/association). Required header: salesContractType, salesOrganization, distributionChannel, salesDistrict, soldToParty. Required per item: material, requestedQuantity. |
| s4_sales_contract_updateB | Update fields on an existing sales contract header. |
| s4_production_order_listA | List manufacturing/production orders. Supports OData $filter/$top/$skip/$select. |
| s4_production_order_getA | Get a production order by its order number. |
| s4_production_order_create | Create a production/manufacturing order. Required: material, productionPlant, manufacturingOrderType, totalQuantity. Components and operations cannot be set directly here — they come from BOM/routing explosion once the order is created. Provide manufacturingOrder only if your order type uses external numbering. |
| s4_production_order_updateA | Update fields on an existing production order (e.g. dates, quantity). Components/operations are not updatable via this tool. |
| s4_production_order_releaseA | Release a production/manufacturing order (OData function import ReleaseOrder). Order status fields like OrderIsReleased are read-only via PATCH; this is the only way to release. |
| s4_planned_order_listA | List planned orders. Supports OData $filter/$top/$skip/$select. |
| s4_planned_order_getA | Get a planned order by its order number. |
| s4_planned_order_createA | Create a planned order. Practically required: material, mrpPlant, totalQuantity (exact mandatory-field rules are not fully documented by SAP for this API — verify on your tenant). |
| s4_planned_order_update | Update fields on an existing planned order (e.g. quantity, firm indicator). |
| s4_production_order_confirmation_list | List order-level production order confirmations. Supports OData $filter/$top/$skip/$select. |
| s4_production_order_confirmation_get | Get a confirmation by its composite key (confirmationGroup, confirmationCount). |
| s4_production_order_confirmation_create | Post an order-level confirmation for a production order (confirms the whole order, not a single operation). Required: orderID, confirmationYieldQuantity, confirmationUnit. Do not set orderOperation/sequence here — that creates an operation-level confirmation instead (use s4_production_operation_confirmation_create). |
| s4_production_operation_confirmation_list | List operation-level ('time ticket') production confirmations. Supports OData $filter/$top/$skip/$select. |
| s4_production_operation_confirmation_get | Get a confirmation by its composite key (confirmationGroup, confirmationCount). |
| s4_production_operation_confirmation_create | Post an operation-level ('time ticket') confirmation for a single operation of a production order. Required: orderID, orderOperation, sequence, confirmationYieldQuantity, confirmationUnit. A production order cannot mix order-level and operation-level confirmations. |
| s4_material_document_list | List material document headers (goods movements). Supports OData $filter/$top/$skip/$select. |
| s4_material_document_get | Get a material document header and its items by document number and year. |
| s4_material_document_create | Post a goods movement (material document) with at least one item. Required per item: material, plant, goodsMovementType, entryUnit, quantityInEntryUnit. Additional fields become required depending on movement type — e.g. for a goods receipt against a PO (movement type 101) also set purchaseOrder, purchaseOrderItem, and goodsMovementRefDocType='B'; manufacturingOrder for order receipts. |
| s4_outbound_delivery_list | List outbound delivery headers. Supports OData $filter/$top/$skip/$select. |
| s4_outbound_delivery_getA | Get an outbound delivery header and its items by delivery number. |
| s4_outbound_delivery_createA | Create an outbound delivery with reference to a preceding sales order (or other document). Required: shippingPoint, at least one item with referenceSDDocument. |
| s4_outbound_delivery_update | Update fields on an existing outbound delivery header (e.g. planned dates). Not for posting goods issue, which is a separate function import out of scope for this tool. |
| s4_inbound_delivery_list | List inbound delivery headers. Supports OData $filter/$top/$skip/$select. |
| s4_inbound_delivery_get | Get an inbound delivery header and its items by delivery number. |
| s4_inbound_delivery_create | Create an inbound delivery with reference to a purchase order. Required: shippingPoint, supplier, at least one item with referenceSDDocument (PO number) and referenceSDDocumentItem (PO item). |
| s4_inbound_delivery_update | Update fields on an existing inbound delivery header. Note: some fields (e.g. batch/manufacturing date) are not updatable via this API even when included in the payload (known SAP limitation). |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
No prompts | |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
No resources | |
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/aytacmehmet/sap-cloud-erp-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server