ABAP MCP Server SDK (mcp2)
Click on "Install Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@ABAP MCP Server SDK (mcp2)list the available tools on this server"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
ABAP Model Context Protocol Server SDK v2 (mcp2)
A stateless, rewrite of the ABAP Model Context Protocol
server SDK, targeting the upcoming 2026-07-28 protocol generation while staying downward
compatible with the legacy era (2025-03-26 … 2025-11-25).
MCP
2026-07-28draft synchronous request/response profile. SSE, subscriptions, streaming responses, sessions, and server-pushed notifications are unsupported. Legacy revisions are served statelessly with the latest legacy data shapes.
This is a server implementation only. It is stateless — no protocol sessions, no SSE — so notification- and subscription-based features are out of scope by design (see docs/ProtocolSupport.md).
Status:
1.0.0(changelog). Active v2 implementation for the stateless2026-07-28protocol generation. Protocol core, data classes, HTTP runtime, config/factory, DDIC tables, demo servers and the request/response Tasks extension are implemented and covered by abaplint plus the external Jest integration suite in the siblingmcp2_testsrepository. The original session-based SDK lives separately and is unaffected; this package uses the distinctmcp2object prefix so both can coexist in one ABAP system.
Main Differences from V1 MCP SDK
7.02 – 7.4x support ships as a separate generated downport repository, not from this one --> https://github.com/abap-ai/mcp2-702
No sessions, etc.
No default auth object and check delivered --> you must implement your own auth checks if required, see Configuration and security
No table maintenance due to frequent install issues
Related MCP server: ABAP-ADT-API MCP-Server
Intentionally not supported
ABAP Cloud - with SAP pushing towards using their MCP strategy and features in BTP I see no reason to put in the required effort
Documentation
User guide — building servers with the SDK:
Getting started — install, ICF setup, first server
Learning path — staged exercises from first tool to MRTR and tasks
Demo servers — feature map and legacy/modern walkthrough
Server identity and request context — metadata, capabilities, tracing, caching
Tools — arguments, content blocks, structured output, validation
Resources — resources, reads, templates
Prompts — prompt templates and arguments
Completions — argument autocompletion
Schemas — schema builders (general / DDIC / elicitation) + validator
Input required (MRTR) — elicitation, sampling, URL mode
Tasks — long-running background work
Configuration and security — tables, CORS, auth, error mapping
Troubleshooting — symptom-first index of common failures
Migrating from v1 — what changes, what is dropped, suggested order
Reference — design and internals:
Class reference — every public class, what it is for, where it is explained
Architecture — design, packages, eras, request flow
Protocol support — versions, methods, what is excluded and why
Conversion — per-field data-class conversion conventions
Platform abstraction — HTTP/DDIC wrapping and the ABAP Cloud roadmap
Design at a glance
Stateless only — every request is self-contained; no
Mcp-Session-Id, no session tables.One server contract, two protocol eras — legacy
initializeand modern per-request_metanegotiation served by the samezif_mcp2_server.Typed authoring surface — common server-authoring paths need no hand-written JSON: typed request getters (
require_arg_string,get_arg_string_or,bind_arguments), typed response factories (zcl_mcp2_resp_call_tool=>text,=>error_text,=>structured_data) and full-control builders (add_resource,add_resource_link,set_structured_data) with typed content annotations (zif_mcp2_content), fluent schema builders (zcl_mcp2_schema_builderfor tool schemas,zcl_mcp2_elicit_schemafor flat elicitation forms), and typed input-request builders (zcl_mcp2_input_elicitation,zcl_mcp2_input_sampling) unified byzif_mcp2_input_request. UI icons are typed everywhere the spec allows them: serverInfo (get_icons), tools, prompts, resources, resource templates and resource links (zif_mcp2_content=>icons). Pre-built ajson remains an escape hatch for rich prompt content and custom extensions.Tool catalog base — inherit from
zcl_mcp2_tool_server_base, declaredefine_tools( )once, and implementcall_tool( ). The base derivessupports_tools,tools/list,get_tool_schema, unknown-tool rejection, and default schema validation from the catalog. Advertised-schema violations are returned asisErrortool results in both eras; structurally malformed calls and unknown tools remain-32602.Era-aware capability checks on the base class —
client_supports_elicitation,client_supports_elicit_url,client_supports_sampling,client_supports_tasks(modern: declared extension; legacy: per-requestparams.taskopt-in),era_is_modern,get_protocol_version, pluscan_request_input/input_requiredfor MRTR, let authors safely gate era- and client-dependent features instead of hitting a framework-32021/-32600. Of the features SEP-2577 deprecates in2026-07-28, Roots and Logging are not implemented; Sampling is kept (as an MRTR input builder) because it is the only key-less LLM access path from ABAP.Request context without
_metaparsing — client identity, negotiated protocol, log-level hints and W3C trace context are available through typed base-class getters.serverInfolives in_metain the modern era. The2026-07-28draft movedserverInfoout of the top-level result and into_meta["io.modelcontextprotocol/serverInfo"](theResultMetaObjectshape) on 2026-07-16, so the SDK emits it there on every modern result,server/discoverincluded, and nowhere else (details). Legacyinitializeis unaffected:serverInfostays a plain top-level field there.Conversion in the data class — explicit per-field JSON↔ABAP; central code only for the JSON-RPC envelope and the modern result stamp.
Target / tooling
ABAP 7.5x classic (first iteration). abaplint
v752.ABAP 7.02 – 7.4x via a generated downport, published as a separate abapGit repository. Cloud-ready not planned.
Distributed via abapGit.
Used ABAP open-source projects
ajson — JSON library, vendored as
zmcp2_ajson(MIT).abaplint — linting and transpiler-based unit tests.
abapGit — source control.
More awesome ABAP projects at dotabap.org.
Development checks
Static check:
npm installonce, thennpm run lint(abaplint, config in abaplint.json).Behavior: the Jest integration suite in the sibling
mcp2_testsrepository, run against an ABAP system serving the SDK and its test servers. It covers both protocol eras against the reference TypeScript SDK plus raw-HTTP wire checks.ABAP unit tests run in the ABAP system (SE80/ADT); the transpiler-based local run only covers a subset (no database, vendored-ajson unicode test excluded).
License
MIT. Vendored dependencies retain their original licenses; see THIRD_PARTY_NOTICES.md.
This server cannot be installed
Maintenance
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
- AlicenseCqualityNot gradedmaintenanceAn MCP server that facilitates seamless interaction with SAP ABAP systems to manage development objects, transport requests, and source code. It provides a comprehensive suite of tools for performing syntax checks, object searches, and code modifications via the ADT API.100
- AlicenseCqualityNot gradedmaintenanceA Model Context Protocol server that facilitates seamless communication between ABAP systems and MCP clients for managing ABAP objects, transport requests, and code analysis. It acts as a wrapper for the ABAP ADT API to enhance the efficiency of ABAP development workflows.100
- AlicenseCqualityDmaintenanceAn MCP server that enables seamless communication between ABAP systems and MCP clients using the ABAP Development Tools (ADT) API. It provides tools for managing ABAP objects, handling transport requests, and performing code analysis directly through MCP-compatible interfaces.100MIT

dassian-adtofficial
AlicenseNot gradedqualityDmaintenanceMCP server for SAP ABAP development via the ADT API. Connect AI assistants to your SAP system — read, write, test, and deploy ABAP code without SAP GUI.6MIT
Related MCP Connectors
MCP server for AI dialogue using various LLM models via AceDataCloud
An MCP server that let you interact with Cycloid.io Internal Development Portal and Platform
Markdown-first MCP server for Notion API with 8 composite tools and 39 actions.
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
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/abap-ai/mcp2'
If you have feedback or need assistance with the MCP directory API, please join our Discord server