Skip to main content
Glama
Nidhideep

SAP S/4HANA MCP Server

by Nidhideep

SAP S4 MCP Server

MCP server for SAP S/4HANA OData access. Discover services, query entities, fetch metadata, and manage data — built on the @modelcontextprotocol/sdk TypeScript SDK.

Tools

Tool

Description

discover_sap_services

Discovers available services from the SAP Gateway Service Catalog

get_entity_metadata

Fetches and summarizes OData service metadata optimized for LLM consumption

get_field_values

Fetches dropdown/value-list values from SAP OData entities

execute_odata_query

Executes OData CRUD operations (GET returns CSV, writes return JSON)

Related MCP server: SAP OData to MCP Server

Prerequisites

  • Node.js >= 18.0.0

  • SAP S/4HANA system with OData services enabled

  • SAP user with appropriate OData authorizations

Setup

git clone https://github.com/Nidhideep/sap-s4-mcp-server
cd sap-s4-mcp-server
npm install
cp .env.example .env
# Edit .env with your SAP connection details
npm run build

Environment Variables

Copy .env.example to .env and fill in the values.

OData Connection (required)

Variable

Description

Example

S4_ODATA_HOST

Full SAP S/4HANA URL including scheme and port

https://my-s4.sap:44301

S4_ODATA_CLIENT

SAP client number

100

AUTH_METHOD

basic or token

basic

S4_ODATA_USER

SAP user (when AUTH_METHOD=basic)

ODATA_USER

S4_ODATA_PASSWORD

Password (when AUTH_METHOD=basic)

S4_ODATA_TOKEN

Bearer token (when AUTH_METHOD=token)

Operational

Variable

Description

Default

LOG_LEVEL

debug, info, warn, error

info

DRY_RUN

When true, all write operations are blocked

false

MCP Client Configuration

Claude Code

claude mcp add sap-s4-mcp-server -- node /absolute/path/to/sap-s4-mcp-server/dist/src/index.js

Then set env vars via .mcp.json (copy from .mcp.example.json).

Claude Desktop / Cline

Copy .mcp.example.json to .mcp.json, fill in real values, and add to your MCP client config:

{
  "mcpServers": {
    "sap-s4-mcp-server": {
      "command": "node",
      "args": ["/absolute/path/to/sap-s4-mcp-server/dist/src/index.js"],
      "env": {
        "S4_ODATA_HOST": "https://your-s4.example.com:44301",
        "S4_ODATA_CLIENT": "100",
        "AUTH_METHOD": "basic",
        "S4_ODATA_USER": "your_user",
        "S4_ODATA_PASSWORD": "your_password"
      }
    }
  }
}
  1. Discoverdiscover_sap_services to find the service name

  2. Understandget_entity_metadata to see entity sets and field names

  3. Validate inputsget_field_values to look up valid dropdown values

  4. Query or writeexecute_odata_query with the correct service, entity, and fields

Project Structure

src/
  index.ts              # Server entry point (stdio transport)
  server.ts             # Tool registration
tools/
  s4-discover-services.tool.ts   # Gateway catalog discovery
  s4-metadata.tool.ts            # OData $metadata parser
  s4-field-values.tool.ts        # Value-list / dropdown fetcher
  s4-odata-query.tool.ts         # CRUD query executor
config/
  env.ts                # Zod-validated environment config
  auth.ts               # Auth headers + CSRF token fetch
  policy.ts             # DRY_RUN enforcement + audit log
docs/
  authentication.md
  governance.md
  troubleshooting.md
examples/
  example-workflow.md

Development

npm run dev        # Watch mode with tsx
npm run typecheck  # Type-check without building
npm run build      # Compile to dist/

Governance

  • DRY_RUN=true blocks all write operations — safe for read-only environments

  • All write operations are audit-logged to stderr

  • CSRF tokens are fetched automatically before every write

  • No credentials are ever committed — use .env (gitignored) or MCP client env injection

Install Server
F
license - not found
A
quality
C
maintenance

Maintenance

Maintainers
Response time
Release cycle
Releases (12mo)
Commit activity

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

Related MCP Servers

  • A
    license
    -
    quality
    D
    maintenance
    Transforms SAP S/4HANA or ECC systems into conversational AI interfaces by exposing all OData services as dynamic MCP tools. Enables natural language interactions with ERP data for querying, creating, updating, and deleting business entities through SAP BTP integration.
    Last updated
    35
    128
    MIT
  • A
    license
    C
    quality
    D
    maintenance
    Transforms SAP S/4HANA or ECC systems into conversational AI interfaces by exposing all OData services as dynamic MCP tools. Enables natural language interactions with ERP data including querying, creating, updating, and deleting entities through SAP BTP integration.
    Last updated
    19
    35
    6
    MIT
  • A
    license
    -
    quality
    D
    maintenance
    Transforms SAP S/4HANA or ECC systems into conversational AI interfaces by exposing OData services as dynamic MCP tools. Enables natural language interactions with ERP data for querying, creating, updating, and deleting business entities.
    Last updated
    35
    1
    MIT
  • F
    license
    A
    quality
    D
    maintenance
    Enables AI assistants to integrate with SAP systems via OData REST APIs for querying entity sets, performing CRUD operations, and executing function imports. It features automatic service discovery, CSRF token management, and smart connection handling without requiring the SAP RFC SDK.
    Last updated
    11
    12

View all related MCP servers

Related MCP Connectors

View all MCP Connectors

Latest Blog Posts

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/Nidhideep/sap-s4-mcp-server'

If you have feedback or need assistance with the MCP directory API, please join our Discord server