u/RaceHaunting8786

▲ 0 r/abap

Made an MCP server so Claude / Cursor can read & write ABAP in your SAP system (via ADT)

We're the last dev ecosystem without real AI tooling. Copilots autocomplete ABAP, but they can't actually see your system or change anything in it.

So I built a small bridge over the standard ADT API (the same one Eclipse/ADT uses). With it, an AI assistant (Claude, Cursor, etc.) can work directly in your system:

  • read & search classes/programs/includes/function modules, run a syntax check, execute an IF_OO_ADT_CLASSRUN class (the Eclipse "F9")
  • and, when you turn it on: patch a single spot in a 40KB include without retyping it, create objects, activate, inject implicit enhancements (no modification of the standard), maintain customizing tables (SM30-style, transport-aware), create dynpros headlessly, and drive the SAP Note Assistant.

One bit fellow ABAPers might appreciate: it handles the ADT 405 ExceptionResourceIsModified lock on Z-copies of standard objects (RSTAT='P' / SMODISRC) by falling back to RPY_PROGRAM_UPDATE, so the write still goes through.

Safe by default: read-only out of the box; writes require an explicit flag, a per-call confirm, and a transport, with a syntax check before each save. Pure Python (no dependencies). Free / MIT.

Link in the comments. Curious what you'd want an AI to actually do in your system — refactors? mass maintenance? note hunting?

reddit.com
u/RaceHaunting8786 — 7 days ago
▲ 2 r/MCPservers+1 crossposts

I built an MCP server that lets Claude read & write ABAP in a live SAP system (via the ADT API)

SAP/ABAP is one of the last big dev ecosystems without proper AI tooling. Copilots can generate ABAP text, but they can't see your repository or touch your code.

So I built abap-mcp — an MCP server that talks to SAP's standard ADT REST API (the one Eclipse uses). With it, Claude/Cursor can:

  • read & search the ABAP repo, run syntax checks, execute classrun (the Eclipse "F9")
  • and, opt-in: patch source surgically, create objects, activate, inject implicit enhancements, maintain customizing tables, create dynpros headlessly, and drive the SAP Note Assistant.

A couple of implementation notes that might interest this sub:

  • No SDK — pure Python stdlib. The official mcp package + httpx blew past the connection timeout behind our corporate antivirus (~30s startup); hand-rolled JSON-RPC over stdio + urllib gets the handshake to ~5s.
  • Nastiest thing it solves: the ADT 405 ExceptionResourceIsModified lock on Z-copies of standard objects — it auto-falls-back to RPY_PROGRAM_UPDATE so the write still lands.

Read-only by default; writes need an explicit flag + confirm + transport. Free/MIT.

Repo in the comments. Feedback very welcome — and if you work with SAP, what would you want an AI to do in your system?

reddit.com
u/RaceHaunting8786 — 7 days ago