SAP ABAP MCP
About
Develop, test, analyze, and operate SAP ABAP systems through ADT from AI coding agents.
Details
- Author
- coaspe
- Categories
- Developer Tools
Jump to
Setup
Install SAP ABAP MCP in your MCP client (Claude Desktop, Cursor, Windsurf, and others).
Repository: https://github.com/coaspe/sap-abap-mcp
Follow the installation instructions in the repository README, then restart your MCP client.
The headless, client-neutral, governance-first MCP server for SAP ABAP development across multiple systems.
SAP ABAP MCP lets Codex, Claude, and other local MCP hosts work with SAP ABAP through ABAP Development Tools (ADT) HTTP services. It can inspect and edit source, run quality checks, manage transports, use abapGit and the RAP generator, inspect runtime data, compare systems, and perform guarded refactorings without an IDE runtime, SAP GUI, or an ABAP FS virtual workspace.
SAP now provides anofficial ADT MCP Serverinside its ADT clients. This project serves a different operating model: headless automation from any supported local MCP host.
This is a deployment-model comparison, not a capability benchmark or a claim of SAP endorsement. Official behavior varies by ADT and SAP backend release.
The animation contains synthetic object and transport names and no live SAP data. See theaccessible transcript and exact workflow.
You need Node.js 20 or later, network or VPN access to SAP, and an SAP HTTPS URL, three-digit client number, username, and ADT Basic Auth permission.
npx.cmd @coaspe/sap-abap-mcp@latest setup
The wizard calls the local connection aliasServer nameand the endpointSAP URL. Windows and macOS validate SAP before saving and protect the password with DPAPI or Keychain. Linux saves only non-secret settings and prints the password environment-variable commands to run before starting the MCP client.
After setup, run the command for your client on Windows:
codex mcp add sap-abap -- npx.cmd --yes --prefer-online @coaspe/sap-abap-mcp@latest serve --profile DEV100 claude mcp add --transport stdio --scope user sap-abap -- npx.cmd --yes --prefer-online @coaspe/sap-abap-mcp@latest serve --profile DEV100
On macOS or Linux, replacenpx.cmdwithnpx:
codex mcp add sap-abap -- npx --yes --prefer-online @coaspe/sap-abap-mcp@latest serve --profile DEV100 claude mcp add --transport stdio --scope user sap-abap -- npx --yes --prefer-online @coaspe/sap-abap-mcp@latest serve --profile DEV100
ReplaceDEV100with the Server name selected in the wizard. Restart the client, then usecodex mcp list,claude mcp get sap-abap, or/mcpto confirm that the process starts. The completed wizard already performs live SAP verification;/mcpalone does not prove that SAP authentication succeeded.
Prefer a plugin install? FollowClaude Code and Codex plugin marketplaces; the included setup skill guides the same local wizard without putting the SAP password in chat. See the detailedWindows,macOS, andLinuxsections for platform-specific behavior and server management.
- Read the publicroadmap.
- Run or implement the openSAP ABAP MCP compatibility profile.
- Add an opt-in, sanitized entry toADOPTERS.md.
- UseGitHub Discussionsfor implementation questions, compatibility evidence, and RFCs.
Need help evaluating it in a controlled SAP DEV/QAS environment? See theprofessional services and five-day pilot. Do not include SAP credentials, source code, hosts, tokens, or other confidential information in a public issue or discussion.
The unversionedservecommand maps the 53 legacy capabilities to 120 action-free v1 tools and seven Resources, split across boundedcore,write,analysis,debug,operations, andartifactstoolsets. Omitting--toolsetsselects all 120 tools. Use--api-version v0only for legacy client compatibility, or select toolsets explicitly when a host should advertise fewer schemas. Normal clients should omit both--api-versionand--toolsets.
See thev1 migration guidefor contracts, Resources, and the separate live-SAP verification boundary.
Capabilities are reported asunverifieduntil they succeed against a live connection.docs/live-sap-evidence.mdrecords the current sanitized results — no credentials, no customer source, no host names.
200 live checks in total: 180 tool-surface checks across two systems, plus 20 transport and CI checks on one. The tool-surface count counts each capability once per system, because release coverage is the claim; it is not 180 distinct capabilities.
On S/4HANA this includes the complete class-runner and debugger chain: a$TMPclass runner executed, a breakpoint on its own source suspended it, and the attached debugger returned a 13-frame stack, variables, an evaluated expression, and a completed step. On ECC the ADT class-run endpoint rejects the same class, so the attached debugger is unreachable there; that difference accounts for the nine extraunsupportedresults and is documented with its exact SAP message.
Reproduce the tool-surface run against your own development system:
The harness creates exactly one class in the local package$TMPunder a run-unique name, treats it as owned only after a create receipt and an immediate exact read-back agree, refuses in code to mutate anything else, and deletes it again. Existing objects are only ever read. The twounsupportedresults are missing SAP-side prerequisites — the ABAP REPL and the abapGit ADT backend — not defects.
The pinned ABAP FS 2.6.5 source exposes 43 MCP tools. This server provides a strict-compatible subset of 42; the omitted tool ismanage_subagents, which depends on the VS Code agent host. With 10 headless feature extensions andread_deferred_result, this server advertises 53 tools in total.
The development surface supports create-time source for BDEFs, classes, interfaces, programs/includes, CDS/DCL/metadata extensions, and service definitions, plus structured DDIC reads/writes, one-request batch activation, class and executable-program profiling, the ABAP FS REPL contract, detailed semantic and enhancement inspection, paged repository-child discovery, bounded runtime feeds, and an opt-in classic-object bridge. SAP-dependent capabilities remainunverifieduntil they succeed against the selected live connection; callget_sap_capabilitiesfor per-connection evidence.
Snippet execution requiresZCL_ABAP_REPLand an active SICF service at/sap/bc/z_abap_repl. Executable programs use the ADT program-run endpoint through a confirmed one-use plan and request only a bounded server-time profile.
The server provides all 42 strict-compatible headless tools from the pinned ABAP FS baseline, ten grouped feature extensions, and one infrastructure tool for continuing oversized results.
- inspect_abap_code
- refactor_abap_code
- manage_abapgit
- manage_rap_generator
- manage_abap_versions
- compare_abap_systems
- get_abap_dependency_graph
- run_sap_transaction
- get_sap_capabilities
- run_abap_application
Grouping related actions keeps the tool-schema footprint lower than exposing every operation as a separate MCP tool.read_deferred_resultis the additional infrastructure tool; it reads the remaining UTF-8 chunks of a large result without repeating the SAP operation.
Seeadvanced ABAP workflowsfor enhancement, behavior implementation, CDS Unit, local test include, and program profiling recipes. See the[classic-object bridge guidebefore enabling Screen/Dynpro or GUI Status access.
…
Sign in to leave a review
Use Google, GitHub, or an email account so ratings stay tied to real people.
No reviews posted yet.





