Tool

Build MCP servers on SAP ABAP for enterprise integration

An ABAP implementation of the Model Context Protocol server (up to spec 2025-11-25), built without SSE-dependent client features.

Works with sapabap

46
Spark score
out of 100
Updated 14 days ago
Version 1.0

Add to Favorites

Why it matters

Enable developers to create Model Context Protocol servers directly within SAP ABAP environments, allowing AI systems to interact with SAP R/3 and S/4HANA on-premises data and business logic through standardized interfaces.

Outcomes

What it gets done

01

Connect AI agents to SAP ABAP backend systems running on R/3 or S/4HANA

02

Query and retrieve data from SAP databases through MCP protocol

03

Build custom MCP server endpoints using ABAP 7.52 or 7.02

04

Integrate on-premises SAP business logic with AI tooling workflows

Install

Add it to your toolbox

Run in your project directory:

curl -fsSL https://spark.entire.vc/get/mcp-sap-abap-mcp-server-sdk | bash

Overview

SAP ABAP MCP Server SDK

SAP ABAP MCP Server SDK is a server-only ABAP implementation of the Model Context Protocol (specs 2025-03-26 through 2025-11-25), covering prompts, resources, tools, tasks, and completions, but no SSE-dependent notification features. Use it to expose ABAP-side functionality to MCP clients when SSE features aren't required. Needs newer protocol versions or SSE-dependent notifications point to the maintainer's separate ABAP MCP SDK V2 instead.

What it does

SAP ABAP MCP Server SDK is an ABAP implementation of the Model Context Protocol, supporting protocol versions 2025-03-26, 2025-06-18, and 2025-11-25. It is a server-only SDK - the maintainer notes there is currently no realistic way to support the SSE streaming that MCP clients require, so this SDK does not attempt a client implementation. It is built on ABAP open-source tooling: ajson (bundled as zmcp_ajson) for JSON handling, abaplint for code review and a 7.02 downport, and abapGit for source control.

When to use - and when NOT to

Use this SDK to expose ABAP-side prompts, resources, and tools to MCP clients when SSE-dependent features aren't required - it implements Tasks (long-running background work with client polling), Completions (autocomplete for prompt and resource-template arguments), and DDIC-based JSON schema generation with a validator. This exact SDK version is frozen except for error corrections and only targets protocol versions up to 2025-11-25; projects needing 2026-07-28 or later protocol support should look at the newer ABAP MCP SDK V2 instead, which the same maintainer built specifically because the session-support changes across newer protocol versions made supporting them all in one SDK impractical - V2 supports older MCP versions back to 2025-03-26 on a best-effort basis as long as sessions aren't required. It is also not a fit if standard MCP OAuth-based authorization is a hard requirement: implementing the MCP Authorization spec via custom ABAP code isn't considered feasible, so authorization has to lean on ABAP's own features, and OAuth itself is described as challenging to use outside newer S/4HANA releases.

Capabilities

  • Prompts, Resources, and Tools, including optional output schemas and task-augmented tool execution.
  • Tasks: long-running background work that clients poll for completion.
  • Completions: autocomplete support for prompt and resource-template arguments.
  • DDIC-based schema generation, plus a JSON schema builder and validator.
  • Explicitly not implemented: Sampling (open to future requests via an issue), Elicitation (no feasible path without SSE), Roots (considered largely irrelevant for ABAP), and the SSE-dependent notification types - Cancellation, Progress, Logging, listChanged, and subscribe.
  • Roadmap: longer term, the maintainer intends to add features for building modular MCP servers out of reusable implementations; near-term plans are tracked as open GitHub issues.

Who it's for

ABAP and SAP developers who want to expose SAP-side prompts, resources, and tools to MCP clients without needing SSE-dependent protocol features, and who are prepared to handle authentication through ABAP's own mechanisms rather than a full OAuth-based MCP authorization flow. Community discussion happens on the project's Discord, shared across the abap-ai organization's repos. Worth noting: part of the implementation and most of the detailed documentation were generated with AI (Claude Sonnet 3.7/4, GitHub Copilot) and only reviewed at a high level.

Source README

ABAP Model Context Protocol Server SDK

Discord - for all ABAP-AI repos.

Overview

ABAP implementation of the Model Context Protocol, supporting up to version 2025-11-25.
Note that this is only a server implementation as I currently see no realistic way to support SSE streaming which is mandatory for the client.

Supported protocol versions: 2025-03-26, 2025-06-18, 2025-11-25

Important: This SDK version will only support up to 2025-11-25 and is frozen except for error corrections. 2026-07-28 and further are implemented in the new ABAP MCP SDK V2. The vast number of breaking changes and different approaches made it challenging to properly support all versions. As especially the complex session support is gone I decided to make a clear cut and create a V2 SDK. The new SDK will support on best effort basis old MCP versions down to 2025-03-26 as long as no sessions are required.

Documentation

See Overview in docs folder.

Used ABAP OpenSource projects

Special thanks to:

  • ajson integrated as zmcp_ajson
  • abaplint for review and more important 7.02 downport
  • abapGit for source code control

Find more awesome projects at dotabap.

Features & Limitations

Currently implemented:

  • Prompts
  • Resources
  • Tools (incl. optional output schemas and task-augmented execution)
  • Tasks - long-running background work with client polling
  • Completions - autocomplete for prompt and resource-template arguments
  • DDIC-based schema generation plus a JSON schema builder and validator

No SSE support --> no notifications and therefore no support of listChanged, subscribe and logging.\

Not implemented:

  • Sampling - considered for the future, open an issue if you have a use case that would benefit from it
  • Elicitation - without SSE I see no proper way to implement this
  • Roots - likely irrelevant for ABAP
  • Further notifications not relevant without SSE: Cancellation, Progress, Logging

Authorization

Implement the standard Authorization in ABAP via custom code is not feasible, we have to rely on ABAP features.
An overview of likely options is outlined in Authentication Documentation.

Authentication

OAuth is suggested but outside of newer S/4HANA releases challenging, for options see Authentication. Further suggestions are welcome.

Roadmap

See currently open issues for the next planned steps. Longer term I intend to add features to create modular MCP servers based on reusable implementations.

FAQ

See FAQ.

GenAI Notice

Part of the coding was generated using AI, mostly with Sonnet 3.7/4 and GitHub Copilot. Detailed documentation is largely AI generated - only high-level reviewed.

FAQ

Common questions

Discussion

Questions & comments · 0

Sign In Sign in to leave a comment.