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.
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
Connect AI agents to SAP ABAP backend systems running on R/3 or S/4HANA
Query and retrieve data from SAP databases through MCP protocol
Build custom MCP server endpoints using ABAP 7.52 or 7.02
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.