oshaani MCP Marketplace
Sign in

← Documentation

SAP S/4HANA MCP ERP

Read sales orders, business partners, purchase orders and any OData V2 service from SAP S/4HANA.

2 credits / tool call

Quick start

  1. Add a SAP S/4HANA connection with the settings below, then click Test configuration.
  2. Create an API key for your agent.
  3. Paste the key below, click Test endpoint, and copy the configuration for your platform.
Endpointhttps://market.oshaani.com/sap (your default connection) or https://market.oshaani.com/sap/<connection-id>
TransportStreamable HTTP (stateless, JSON responses). MCP protocol versions 2024-11-05 to 2025-11-25 and 2026-07-28.
AuthenticationAuthorization: Bearer <API key>, using a key from the API keys page.

Agent configuration

The default URL uses your organisation's default SAP S/4HANA connection; a URL with an ID pins one connection.
Get a key
The key is filled into the snippets below. It stays in this page and is only sent with the test request.
Runs initialize and tools/list against the endpoint, exactly like an agent. No credits are charged.

Any MCP client that supports remote (Streamable HTTP) servers with custom headers.

{
  "name": "sap",
  "transport": "streamable-http",
  "url": "https://market.oshaani.com/sap",
  "headers": {
    "Authorization": "Bearer YOUR_API_KEY"
  }
}

Connection settings

Entered once per connection on market.oshaani.com. Secrets are encrypted and never shown again or sent to agents.

SettingTypeDescription
SAP system URL
url required
string (uri) Base URL of the S/4HANA (or Gateway) system, e.g. https://my123456-api.s4hana.cloud.sap
min length 1, max length 2083
User
username required
string Communication user (S/4HANA Cloud) or technical user with display authorizations
Password
password required secret
string
SAP client
sap_client
string e.g. 100; leave empty for the default client
pattern ^\d{3}$
Verify TLS certificate
verify_tls
boolean
default true

Tools (7)

list_services read-only

Find OData services in the SAP Gateway catalog

ArgumentTypeDescription
search string Part of the technical service name, e.g. SALES
max length 60
top integer
default 100
Maximum number of records
min 1, max 500

get_service_metadata read-only

List a service's entity sets with their keys, fields and navigation properties

ArgumentTypeDescription
service required string OData service, e.g. API_SALES_ORDER_SRV
max length 120, pattern ^[A-Za-z0-9_/]+(;v=\d{1,4})?$
entity_set string Only describe this entity set

query_entity_set read-only

Query any OData entity set with $filter, $select, $orderby and $expand

ArgumentTypeDescription
service required string OData service, e.g. API_SALES_ORDER_SRV
max length 120, pattern ^[A-Za-z0-9_/]+(;v=\d{1,4})?$
entity_set required string Entity set, e.g. A_SalesOrder
pattern ^[A-Za-z_][A-Za-z0-9_]{0,127}$
filter string OData V2 filter, e.g. "CreationDate ge datetime'2026-01-01T00:00:00'"
max length 2000
select array of string Fields to return
orderby string e.g. 'CreationDate desc'
max length 200
expand array of string Navigation properties to include, e.g. ['to_Item']
top integer
default 50
Maximum number of records
min 1, max 500
skip integer
default 0

min 0

get_entity read-only

Get a single entity by its key

ArgumentTypeDescription
service required string OData service, e.g. API_SALES_ORDER_SRV
max length 120, pattern ^[A-Za-z0-9_/]+(;v=\d{1,4})?$
entity_set required string Entity set, e.g. A_SalesOrder
pattern ^[A-Za-z_][A-Za-z0-9_]{0,127}$
key required string OData key, e.g. '4711' or SalesOrder='4711',SalesOrderItem='10'
max length 500, pattern ^[^/?#]+$
expand array of string

read_sales_orders read-only

Read sales orders, newest first, optionally for a customer or from a date

ArgumentTypeDescription
sold_to_party string Customer number
max length 10
created_from string (date)
include_items boolean
default false
top integer
default 50
Maximum number of records
min 1, max 500

read_business_partners read-only

Search business partners (customers and suppliers) by name or number

ArgumentTypeDescription
search string Part of the name, or the partner number
max length 80
top integer
default 50
Maximum number of records
min 1, max 500

read_purchase_orders read-only

Read purchase orders, newest first, optionally for a supplier

ArgumentTypeDescription
supplier string Supplier number
max length 10
top integer
default 50
Maximum number of records
min 1, max 500

Billing & errors

Each successful tool call costs 2 oshaani.com credits. initialize, tools/list, failed calls and timeouts are free.

JSON-RPC codeMeaning
-32054 (HTTP 401)Missing, unknown or revoked API key
-32053 (HTTP 404)No SAP S/4HANA connection configured for your organisation, or the connection ID is wrong
-32055 (HTTP 403)Connection disabled or origin not allowed
-32052 (HTTP 429)Rate limit reached; retry after a minute
-32050Not enough oshaani.com credits for the call
-32051Billing temporarily unavailable; the call was not run

Errors from SAP S/4HANA itself (bad IDs, permissions) come back as tool results with isError: true so the agent can read and correct them. See the SAP S/4HANA API documentation.