SAP S/4HANA MCP. Run core ERP transactions from chat.
Works with every AI agent you already use
…and any MCP-compatible client
Just plug in your AI agents and start using Vinkius.
The SAP S/4HANA MCP Server connects your AI agent directly to core Enterprise Resource Planning functions. Manage vendor records, generate purchase orders, check real-time inventory stock levels across plants, and post financial journal entries—all through natural language conversation.
It gives you transactional control over the system without needing a GUI.
What your AI agents can do
Create business partner
Creates a new vendor or customer record in the SAP system.
Create purchase order
Generates and submits a structured purchase order with specified line items.
Get business partner
Retrieves all details for one specific business partner using its ID number.
Create, retrieve, or list all business partner master data (customers, suppliers) using specific IDs or filters.
Generate new purchase orders with line items for a vendor or check the status and history of existing POs.
Get real-time material stock availability across specific plants or storage locations.
Query General Ledger account balances and submit journal entries for financial postings.
Execute custom OData v4 queries to retrieve data from modules not covered by standard tools (e.g., specific production planning metrics).
Ask AI about this MCP
Supported MCP Clients
Waiting for input…
SAP S/4HANA MCP Server: 9 Tools for ERP Ops
These nine tools cover the entire operational scope of SAP S/4HANA. Use them to process orders, manage master data, and track material stock levels with your AI agent.
019d7603create business partner
Creates a new vendor or customer record in the SAP system.
019d7603create purchase order
Generates and submits a structured purchase order with specified line items.
019d7603get business partner
Retrieves all details for one specific business partner using its ID number.
019d7603get gl balances
Pulls current balances and historical data from the General Ledger accounts.
019d7603get material stock
Returns the available quantity of a specific material across all defined storage locations.
019d7603list business partners
Searches and returns lists of business partners, allowing filtering by type (person/organization).
019d7603list purchase orders
Lists multiple purchase orders, supporting filters like vendor or status.
019d7603list sales orders
Retrieves a list of sales orders and their current delivery or billing status.
019d7603query odata
Executes any exposed OData v4 service for custom data reports across the system.
Choose How to Get Started
Build a custom MCP for your own tools, or connect a ready-made integration from our catalog.
Build Your Own
Turn any API into an MCP. Import a spec, define Agent Skills, or deploy with MCPFusion.
- Import from OpenAPI, Swagger, or YAML specs
- Create Agent Skills with progressive disclosure
- Deploy to edge with MCPFusion framework
- Built in DLP, auth, and compliance on every call
- Real time usage dashboard and cost metering
- Publish to catalog or keep private
Make Your AI Do More
Start with SAP S/4HANA, then connect any of our 4,700+ other servers whenever your AI needs more. One click, no limits.
- Use this MCP plus 4,700+ others, all in one place
- Add new capabilities to your AI anytime you want
- Every connection is secured and compliant automatically
- Track usage and costs across all your servers
- Works with Claude, ChatGPT, Cursor, and more
- New servers added to the catalog every week
What you can do with this MCP connector
You're connecting your AI agent right into SAP S/4HANA, so you don't have to mess with transaction codes or navigate complex menus. You talk naturally, and it handles the transactions in the core ERP system.
Managing Vendor and Customer Records: Need to add a new supplier? Use create_business_partner to generate an entire vendor or customer master record. If you know their ID number, get_business_partner pulls up all of that specific data for you instantly. You can also run through the existing contacts using list_business_partners, letting your agent filter those records by type—whether they're a person or an organization.
Processing Purchase Orders: When it comes to buying stuff, you can generate and submit structured purchase orders with all their specified line items using create_purchase_order. Need to check what else is going on? You'll use list_purchase_orders to pull up a list of POs, letting your agent filter that list by specific vendors or current status.
Sales and Shipping Status: For the other side of the ledger—sales—your agent runs list_sales_orders, giving you a clear view of those orders and exactly what their delivery or billing status is.
Inventory Management: Tracking stock should be easy. Run get_material_stock to get real-time material availability across every single storage location or plant defined in the system. This tells you the exact count, period.
Financial Accounting: For the money stuff, your agent uses get_gl_balances to pull current and historical balance data directly from General Ledger accounts. If you're posting a new journal entry, it handles that too.
Custom Reports and Data Queries: Don't see what you need in the standard tools? No sweat. Use query_odata. This lets your agent execute any exposed OData v4 service to run custom data reports across modules not covered by the basic functions, giving you deep access into specific production planning metrics or niche operational details.
It’s transactional control over the whole system, all through conversation. You'll get actionable results whether you're setting up a new partner record, checking if there’s enough material on hand to fulfill an order, posting a journal entry, or running a deep dive report across several modules.
How SAP S/4HANA MCP Works
- 1 Subscribe to this server and provide your SAP S/4HANA Communication User credentials and instance URL.
- 2 Your AI client connects, authenticating against the exposed API endpoints within your system.
- 3 You ask a question (e.g., 'What's stock for MAT-123?'), and the agent calls the correct tool (
get_material_stock), processes the result, and gives you a direct answer.
The bottom line is: You talk to your AI client, the client talks to SAP via these tools, and you get actionable data back—no manual navigation needed.
Who Is SAP S/4HANA MCP For?
This server is for operational teams who spend too much time navigating complex ERP GUI screens. If you're a financial analyst staring at dozens of tabs to find a balance, or a planner manually cross-referencing stock spreadsheets, this saves hours. It lets your agent perform the transactional work.
Posting journal entries for month-end close and querying G/L balances without opening the SAP FI module.
Creating purchase orders instantly or listing all POs needed to reconcile a quarter's spend.
Checking material stock levels across multiple plants and investigating low-stock alerts on the fly.
Accelerating data retrieval for client audits by running precise, custom OData queries across different modules.
What Changes When You Connect
- Instantly generate purchase orders. Instead of filling out 10 screens, you simply ask the agent to
create_purchase_orderwith the necessary details, and it handles the entire submission process. - Stop spreadsheet cross-referencing inventory counts. Use
get_material_stockto get total available units by plant instantly, giving you immediate visibility into stock levels. - Simplify financial reporting. Get a snapshot of G/L account balances using
get_gl_balances. This eliminates the need to navigate multiple accounting reports just to check an ending balance. - Master data management is faster than ever. You can onboard new vendors or clients by calling
create_business_partner, keeping your partner records current without touching SAP GUI. - Handle custom reporting with
query_odata. If a standard report doesn't exist, you provide the service path and let your agent pull exactly the data you need.
Real-World Use Cases
The Month-End Close:
A Financial Analyst needs to reconcile cost centers. Instead of running three different reports in SAP FI, they ask their agent to check G/L account balances using get_gl_balances. The system pulls the raw balance data and presents it, allowing them to proceed immediately with journal entries.
Urgent Vendor Onboarding:
A Procurement Specialist gets a quote from a new supplier. They use create_business_partner to add the vendor record first, then use that resulting BP ID to call create_purchase_order, completing both setup and ordering in one chat session.
Addressing Stock Shortfalls:
A Supply Chain Planner notices a potential bottleneck. They ask for the stock level of 'MAT-XYZ' using get_material_stock. The system confirms low stock at Plant 2000, triggering a follow-up action to list pending POs that need to be checked.
Auditing Complex Data:
An external consultant needs to check the total sales order value for Q1 across three regions. They don't have a standard report, so they use query_odata with specific parameters (service path and filters) to pull the exact data set required.
The Tradeoffs
Assuming sequential calls work.
A user tries to run a PO creation, then immediately runs list_purchase_orders without specifying the correct supplier or date range. The agent gets overwhelmed with thousands of results and fails to pinpoint the target order.
→
Always scope your requests. First, use list_business_partners to confirm the Vendor ID, then pass that specific ID to both create_purchase_order and list_purchase_orders. This keeps the context tight.
Asking for a non-standard calculation.
A user asks, 'What is the average cost of all materials purchased in 2023?' The tools only expose raw data (e.g., get_material_stock, list_purchase_orders), not complex aggregation logic outside SAP's core modules.
→
If you need a custom calculation, use query_odata. Provide the service path and specify that your query needs to aggregate cost metrics.
Mixing read and write operations.
A user asks, 'Show me my vendors, then create an order for them.' The agent might get confused about whether they should list all vendors or just the one relevant to the PO being created.
→
Break it into two distinct steps. First, run list_business_partners with clear filters ('Organization' type). Second, use the resulting ID in a separate call to create_purchase_order. Keep your requests atomic.
When It Fits, When It Doesn't
Use this server if your primary need is transactional control over standard SAP processes (P2P, O2C, FI/CO) and you want to eliminate GUI navigation. If you can describe the task using core ERP concepts—like 'I need to post a journal entry' or 'I need to check stock by plant'—this server works.
Don't use this if your goal is complex data transformation across unrelated systems (e.g., pulling inventory from SAP and merging it with external weather data). For those cases, you need an integration layer on top of the tools, not just the tools themselves. If you only need to read static reference documents or run simple calculations outside the ERP logic, a simpler API wrapper might suffice. But if it involves creating records or running standard SAP checks, this is where you need to be.
Independent Platform Disclaimer: Vinkius is an independent platform and is not affiliated with, endorsed by, sponsored by, verified by, or otherwise authorized by SAP S/4HANA. All third-party trademarks, logos, and brand names are the property of their respective owners. Their use on this website is strictly for informational purposes to identify service compatibility and interoperability.
VINKIUS INFRASTRUCTURE
Cloud Hosted
Managed infra
V8 Isolated
Sandboxed per request
Zero-Trust Proxy
No stored credentials
DLP Enforced
Policy on every call
GDPR Compliant
EU data residency
Token Compression
~60% cost reduction
Works with Claude, ChatGPT, Cursor, and more
The Model Context Protocol standardizes how applications expose capabilities to LLMs. Instead of operating in isolation, your AI gains direct access to external platforms, live data, and real-world actions through secure, standardized connections.
This server provides 9 capabilities that interface natively with Claude, ChatGPT, Cursor, and any MCP client. No middleware. No custom integration required.
Available Capabilities
Navigating SAP used to feel like wading through endless transaction codes.
Right now, doing anything complex—like checking a PO's history and then verifying if the vendor exists—means opening dozens of tabs. You click from the 'Material Master' screen to the 'Vendor Profile,' copy an ID, open the 'PO Status' report, paste it in, and finally navigate to the 'G/L Balance' tab just for confirmation. It's a multi-hour, high-friction process.
With this MCP server, you talk to your agent like talking to a coworker who knows SAP inside out. You don't mention transactions or tabs; you just say, 'What's the latest stock level for MAT-XYZ at Plant 2000?' And boom—you get the number. It’s direct, it’s fast, and it works.
SAP S/4HANA MCP Server: Write code that talks directly to your books.
The biggest time sink disappears: the need to jump between separate modules. You don't have to switch context from Finance (FI) to Materials Management (MM). The agent handles the transition, allowing you to ask, 'If I create a PO for this raw material, what does that impact my GL balance?' and get an integrated answer.
This changes everything because it lets you build true end-to-end workflows right in your chat window. You're no longer just running reports; you’re executing business processes instantly. That's the difference.
Common Questions About SAP S/4HANA MCP
How do I use `create_purchase_order`? +
You must provide a structured JSON payload including the CompanyCode, PurchaseOrderType, and all line items within the required array. The agent can guide you on the necessary fields.
Can I check stock using `get_material_stock`? +
Yes. You provide the material ID and specify which plants or storage locations you want to check. It returns available units for each location instantly.
What is the difference between `list_business_partners` and `get_business_partner`? +
list_business_partners searches a group of records, allowing you to filter by criteria like 'Organization' or status. get_business_partner, however, requires an exact ID to retrieve a single, specific record.
Is `query_odata` for general reporting? +
That’s right. It runs any exposed OData v4 service path on your system. Use this when the standard tools don't cover a unique data pull you need for an audit or report.
How do I post financial entries with `get_gl_balances`? +
While get_gl_balances retrieves current balances, the full posting capability requires providing detailed journal entry parameters—accounts, debit/credit amounts, and cost centers.
How do I filter results when listing purchase orders using `list_purchase_orders`? +
You use OData $filter syntax for precise filtering. You can restrict Purchase Orders by status, supplier ID, or date range in one call. This keeps your data set small and focused.
What permissions are required to successfully run `create_business_partner`? +
The connected user must have write access (Create/Update) for Business Partner master data. If the role is read-only, the call will fail with an authorization error code.
Can I retrieve associated details using `query_odata`? +
Yes, use the $expand operator to traverse related entities. This lets you pull associated data—like line items for a PO or addresses for a BP—in one single query execution.
What authentication does SAP S/4HANA require? +
SAP S/4HANA uses Communication Arrangements with a dedicated Communication User. You create a technical user in the Fiori Launchpad, assign it to a Communication System, and link it to the appropriate Communication Scenario (e.g. SAP_COM_0008 for Business Partners).
Can I create purchase orders through the agent? +
Yes. The create_purchase_order tool posts to the A_PurchaseOrder OData endpoint. Provide the supplier, purchasing organization, plant, material, quantity, and price — the agent returns the PO number on success.
Does it support querying custom OData services? +
Absolutely. The query_odata tool executes GET requests against any OData v4 service exposed via your Communication Arrangement, including custom CDS views. Full $filter, $expand, and $select support is included.
Can I check stock levels across multiple plants? +
Yes. The get_material_stock tool queries the A_MaterialStock OData service, returning current stock quantities by plant and storage location. You can filter by material number, plant, or storage location.
Use it with your favorite AI tools
Connect this server to Cursor, Claude, VS Code, and more.
More in this category
OneSignal
Send push notifications, emails, and in-app messages to millions of users with segmentation and A/B testing built in.
Cisco Meraki
Cloud-managed IT via Cisco Meraki — track networks, devices, and client connectivity.
Epic Online Services & Social Analytics
The definitive server for Epic Games social intelligence — track player profiles, friends, and achievements via AI.
You might also like
Zenkit
Manage workspaces, lists, and entries via the Zenkit API.
Udemy Alternative
Manage your Udemy instructor dashboard—respond to student questions, handle direct messages, and track course reviews directly from your AI agent.
OpenCorporates
Access the largest open database of companies — audit corporate records and officers via AI.