chandrashekhar-mahajan/abap-mcp-server
Fifteen ADT tools behind five pluggable authentication strategies — Kerberos/SPNEGO, OAuth 2.0, X.509, browser SSO and basic — for systems where basic auth is not an option.
Most servers in this corner assume a username and a password. In an enterprise that is SSO-only, that assumption is the whole blocker, and this is the entry that answers it: Kerberos/SPNEGO through the SAP Secure Login Client or Windows SSPI, OAuth 2.0, X.509 certificates, and a browser SSO flow served from a /login page for the interactive cases. Beside the auth work it carries fifteen tools for search, read and write, tests, table queries and dump analysis, CSRF and session cookie handling, a /health endpoint, and both streamable HTTP and legacy SSE on one /sse endpoint.
Facts
Where it sits
Before choosing this
Conditions
PracticalFunctional boundary
Built and last touched in the same week of March 2026, so the maintenance reading is what it is — the authentication work is the reason to look, and a stalled repository is the reason to read it before depending on it.
PolicySAP API Policy 4.2026a§ 1.1, 1.2, 2.2.2from Agent access to your codeAn MCP server calls ADT or another SAP API of a running system for an agent.
- § 1.1 Published APIs. Published APIs are made available for the documented purposes identified by SAP, including integration, extensions and data exchange.
- § 1.2 Non-Published APIs. Customer and third-party applications must not access non-published APIs except where documentation permits it or SAP otherwise authorizes it.
- § 2.2.2 AI call sequences and data extraction. Outside SAP-endorsed architectures, data services or expressly identified pathways, the policy prohibits specified agentic API use and systematic or large-scale extraction.
An agent that plans and executes ADT calls is the case section 2.2.2 names. Check that the endpoints are published for the intended use, and that the design runs within a pathway SAP identifies for it.
SAP API Policy 4.2026a →What it declares
Every artifact
- Type
- MCP server
- Origin
- Independently maintained
- Runtime
- Node.js
As an MCP server
- Runs as
- local process
- Transport
- stdioHTTPSSE
- Authentication
- Kerberosuser and passwordOAuth / OIDCX.509browser SSOSAML
- Tools
- 15
- Read-only
- nostates it is not
- Guardrails
4 quoted from README show all
Server runs locally on
localhost— no credentials sent externallyKerberos/SPNEGO never stores passwords — uses Windows domain TGT
CSRF tokens auto-managed, session cookies kept in memory only
Restrict the SAP user's authorizations to ADT-relevant objects
For agent access to ABAP code
- Read
- sourcesearchwhere-usedDDICCDStable data
- Change
- writecreateactivatetransportsgit
- Check
- syntaxATCABAP Unit
- Run
- run codedumps
Connections
Letting a coding agent read and act on your project or system
Download
Architecture
Download
README
quoted from chandrashekhar-mahajan/abap-mcp-server under MIT, readABAP MCP Server
A Node.js Model Context Protocol (MCP) server that connects AI assistants to SAP ABAP systems via SAP's ADT REST APIs.
Built for Eclipse ADT + GitHub Copilot, but works with any MCP-compatible client (VS Code, Cursor, etc.).
Supports enterprise SSO-only environments with 5 pluggable authentication strategies including Kerberos/SPNEGO, OAuth 2.0, X.509 certificates, Browser SSO, and basic auth.
Features
- 15 ABAP development tools exposed via MCP — search, read/write code, run tests, query data, analyze dumps
- Kerberos/SPNEGO support for corporate SSO systems (SAP Secure Login Client / Windows SSPI)
- Dual MCP transport — Streamable HTTP (modern) and legacy SSE (fallback), both on a single
/sseendpoint - Automatic CSRF token management and SAP session cookie handling
- Login Web UI at
/loginfor interactive OAuth and Browser SSO authentication - Health endpoint at
/healthto verify connectivity and auth status - stdio mode available for clients that spawn the server as a child process
Tools (15)
| Category | Tool | Description |
|---|---|---|
| Search | search_abap_objects | Search for objects by name pattern with wildcards (programs, classes, tables, etc.) |
| Search | search_abap_object_lines | Full-text search within ABAP source code (grep-like) |
| Search | find_where_used | Where-used analysis for classes, methods, function modules, data elements |
| Code | get_abap_object_lines | Read source code with line numbers (supports line range) |
| Code | get_abap_object_info | Object metadata — package, author, creation date, transport |
| Code | write_abap_source | Write/update source code (auto lock/unlock) |
| Code | abap_activate | Activate one or more ABAP objects |
| Code | get_version_history | Version history with dates and authors |
| Testing | run_unit_tests | Execute ABAP Unit tests, returns pass/fail results |
| Testing | run_atc_analysis | Run ATC static code checks, returns findings with priorities |
| Data | execute_data_query | Execute freestyle ABAP SQL or preview table contents |
| Data | get_abap_sql_syntax | ABAP SQL quick reference (joins, aggregates, CDS, functions) |
| System | analyze_abap_dumps | List runtime dumps (ST22) — extracts error, call stack, source context |
| System | get_sap_system_info | System ID, release, kernel, database info |
| System | manage_transport_requests | List, create, or release transport requests (CTS) |
Quick Start
Prerequisites
- Node.js 18+
- SAP system with ADT services enabled (ICF service
/sap/bc/adtactive) - Network access to the SAP server
- One of: domain credentials (Kerberos), SAP username/password, OAuth client, X.509 cert, or browser SSO access
Install & Build
cd abap-mcp-server
npm install
npm run build
Configure
cp .env.example .env
Edit .env:
# SAP connection
SAP_BASE_URL=http://your-sap-server:8000
SAP_CLIENT=100
SAP_LANGUAGE=en
# Authentication (see Authentication section below)
AUTH_METHOD=kerberos # or: basic, oauth, certificate, browser_sso, auto
# Server
SERVER_MODE=sse
SSE_PORT=3001
Run
# SSE mode (recommended for Eclipse ADT)
npm run start:sse
# stdio mode (for clients that spawn the process)
npm start
The server starts at http://localhost:3001:
| Endpoint | Purpose |
|---|---|
/sse | MCP endpoint (Streamable HTTP + legacy SSE) |
/login | Interactive login UI (OAuth / Browser SSO) |
/health | Health check with auth status (JSON) |
/auth/status | Current authentication status |
/auth/validate | Validate current session |
Authentication
Five pluggable strategies. Set AUTH_METHOD in .env:
| Method | AUTH_METHOD value | When to use |
|---|---|---|
| Kerberos/SPNEGO | kerberos or spnego | Corporate SSO with SAP Secure Login Client on Windows |
| Basic Auth | basic | Dev/sandbox systems with username + password |
| OAuth 2.0 | oauth | SSO environments with OAuth configured in SAP (SOAUTH2) |
| X.509 Certificate | certificate or cert | Certificate-based mutual TLS systems |
| Browser SSO | browser_sso or sso | Any SSO mechanism (SAML, Kerberos) via cookie capture |
| Auto-detect | auto (default) | Tries basic → certificate → OAuth → browser SSO |
Kerberos/SPNEGO (Recommended for Corporate SSO)
Uses Windows SSPI to obtain SPNEGO tokens from the current user's Kerberos TGT. Works seamlessly with SAP Secure Login Client — no passwords stored.
AUTH_METHOD=kerberos
# Optional — auto-detected from SAP_BASE_URL hostname
# KERBEROS_REALM=CORP.EXAMPLE.COM
# KERBEROS_SPN=HTTP/sapserver.corp.example.com@CORP.EXAMPLE.COM
Requirements:
- Windows domain-joined machine
- SAP Secure Login Client running (with valid Kerberos token)
- SAP ICF service has SPNego authentication enabled
How it works:
- Server starts → uses SSPI to get a SPNEGO token from your Kerberos TGT
- Sends
Authorization: Negotiate <token>to SAP - SAP returns MYSAPSSO2 session cookies → reused for all subsequent API calls
- MCP tools are immediately available — fully automatic, no interactive login needed
Basic Auth
AUTH_METHOD=basic
SAP_USERNAME=developer
SAP_PASSWORD=your_password
OAuth 2.0
Requires an OAuth client configured in SAP (transaction SOAUTH2):
AUTH_METHOD=oauth
OAUTH_CLIENT_ID=your_client_id
OAUTH_CLIENT_SECRET=your_client_secret
OAUTH_SCOPE=SAP_ADT
Flow:
- Start server → open
http://localhost:3001/login - Click Start OAuth Login → redirected to SAP → SAML/SSO → authorized
- SAP redirects back with authorization code → server exchanges for access token
- Token auto-refreshes; MCP tools are now active
X.509 Client Certificate
AUTH_METHOD=certificate
CLIENT_CERT_PATH=./certs/client.pem
CLIENT_KEY_PATH=./certs/client-key.pem
CA_CERT_PATH=./certs/ca.pem # optional
CLIENT_KEY_PASSPHRASE=optional_passphrase # optional
Browser SSO / Cookie Capture
Works with any SSO mechanism. No SAP-side configuration needed.
AUTH_METHOD=browser_sso
Flow:
- Start server → open
http://localhost:3001/login - Log into SAP in your browser (SSO handles it)
- Use the provided bookmarklet to capture your session cookies
- Paste into the login page → MCP tools are now active
Eclipse ADT Setup
1. Start the Server
cd abap-mcp-server
npm run start:sse
2. Configure MCP in Eclipse
- Open Window → Preferences → GitHub Copilot → Model Context Protocol
- In Server Configurations, enter:
{
"servers": {
"abap-tools": {
"url": "http://localhost:3001/sse"
}
}
}
- Click Apply and Close
3. Verify
Open GitHub Copilot chat in Eclipse ADT and ask:
"What ABAP tools are available?"
Usage Examples
Search
- "Search for all classes starting with ZCL_MATERIAL"
- "Find all code that references BAPI_SALESORDER_CREATEFROMDAT2"
- "Where is class ZCL_MY_HELPER used?"
Code
- "Show me the source code of program ZSALES_REPORT"
- "What's the metadata for table MARA?"
- "Write this code to program ZTEST and activate it"
- "Show the version history of class ZCL_MY_CLASS"
Testing & Quality
- "Run unit tests for class ZCL_MY_CLASS"
- "Run ATC analysis on program ZSALES_REPORT"
Data Queries
- "Show me the first 10 rows from table MARA"
- "SELECT matnr, maktx FROM makt WHERE spras = 'E' UP TO 20 ROWS"
System & Analysis
- "Show me recent runtime dumps"
- "Show dumps for user JSMITH from today"
- "List my open transport requests"
- "What SAP system am I connected to?"
Architecture
┌──────────────────┐ Streamable HTTP ┌─────────────────────┐ ADT REST API ┌─────────────┐
│ Eclipse ADT │◄──────────── /sse ───►│ ABAP MCP Server │◄────────────────►│ SAP System │
│ + GitHub │ (or legacy SSE) │ (Node.js/Express) │ /sap/bc/adt/* │ (ABAP) │
│ Copilot │ │ │ │ │
├──────────────────┤ MCP Protocol │ 15 Tools │ │ ADT APIs: │
│ or: VS Code │ │ ├─ Search (3) │ │ - Search │
│ or: Cursor │ │ ├─ Code (5) │ │ - Source │
│ or: any MCP │ │ ├─ Testing (2) │ │ - Tests │
│ client │ │ ├─ Data (2) │ │ - ATC │
└──────────────────┘ │ └─ System (3) │ │ - Dumps │
│ │ │ - CTS │
┌──────────────────┐ /login │ Auth Strategies: │ └─────────────┘
│ Browser │──────────────────────►│ ├─ Kerberos/SPNEGO │ ▲
│ (for SSO login) │ │ ├─ Basic Auth │ SPNEGO / mTLS / │
└──────────────────┘ │ ├─ OAuth 2.0 PKCE │ SAP cookies │
│ ├─ X.509 Cert │────────────────────────┘
│ └─ Browser SSO │
└─────────────────────┘
Multiple SAP Systems
Run multiple instances on different ports:
# Terminal 1 — Development
SAP_BASE_URL=http://dev-server:8000 SAP_CLIENT=100 SSE_PORT=3001 AUTH_METHOD=kerberos node dist/index.js
# Terminal 2 — Quality
SAP_BASE_URL=http://qa-server:8000 SAP_CLIENT=200 SSE_PORT=3002 AUTH_METHOD=kerberos node dist/index.js
Configure all in Eclipse ADT:
{
"servers": {
"abap-dev": { "url": "http://localhost:3001/sse" },
"abap-qa": { "url": "http://localhost:3002/sse" }
}
}
Project Structure
abap-mcp-server/
├── src/
│ ├── index.ts # Entry point — Express server, MCP transport, tool routing
│ ├── sap-client.ts # SAP ADT HTTP client (CSRF, cookies, request/response)
│ ├── login-ui.ts # Login web UI and auth routes
│ ├── auth/
│ │ ├── types.ts # AuthStrategy interface
│ │ ├── basic.ts # Basic Auth (username/password)
│ │ ├── oauth.ts # OAuth 2.0 Authorization Code + PKCE
│ │ ├── kerberos.ts # Kerberos/SPNEGO via Windows SSPI
│ │ ├── certificate.ts # X.509 client certificate (mTLS)
│ │ ├── browser-sso.ts # Browser SSO cookie capture
│ │ └── index.ts # Auth barrel export
│ └── tools/
│ ├── search.ts # search_abap_objects, search_abap_object_lines, find_where_used
│ ├── code.ts # get/write source, activate, object info, version history
│ ├── testing.ts # run_unit_tests, run_atc_analysis
│ ├── data-query.ts # execute_data_query, get_abap_sql_syntax
│ └── analysis.ts # analyze_abap_dumps, get_sap_system_info, manage_transport_requests
├── .env # Local configuration (not committed)
├── .env.example # Configuration template
├── package.json
└── tsconfig.json
Configuration Reference
| Variable | Default | Description |
|---|---|---|
SAP_BASE_URL | https://vhcala4hci:44300 | SAP system URL (HTTP or HTTPS) |
SAP_CLIENT | 001 | SAP client number |
SAP_LANGUAGE | en | Logon language |
SAP_SKIP_SSL | false | Skip SSL verification (for self-signed certs) |
AUTH_METHOD | auto | auto, basic, oauth, kerberos, certificate, browser_sso |
SAP_USERNAME | SAP username (basic auth) | |
SAP_PASSWORD | SAP password (basic auth) | |
OAUTH_CLIENT_ID | OAuth 2.0 client ID | |
OAUTH_CLIENT_SECRET | OAuth 2.0 client secret | |
OAUTH_SCOPE | SAP_ADT | OAuth scope |
CLIENT_CERT_PATH | Path to X.509 client certificate | |
CLIENT_KEY_PATH | Path to private key | |
CA_CERT_PATH | Path to CA certificate (optional) | |
CLIENT_KEY_PASSPHRASE | Private key passphrase (optional) | |
KERBEROS_REALM | (auto) | Kerberos realm (auto-detected from hostname) |
KERBEROS_SPN | (auto) | Kerberos Service Principal Name |
SERVER_MODE | sse | sse (HTTP server) or stdio (child process) |
SSE_PORT | 3001 | HTTP server port |
Troubleshooting
| Issue | Solution |
|---|---|
| Connection refused | Ensure server is running and port matches Eclipse config |
| 401 Unauthorized | Check credentials; for Kerberos, verify SAP Secure Login Client is running |
| 403 Forbidden | CSRF token issue — usually resolves automatically on retry |
| 406 Not Acceptable | Server handles ADT Accept headers automatically — update to latest build |
| SSL certificate error | Set SAP_SKIP_SSL=true or add the CA cert |
| Tools not appearing in Copilot | Restart Eclipse ADT after changing MCP config |
| Kerberos auth fails | Check: domain-joined? SAP Secure Login Client active? SPNego enabled in SAP ICF? |
| ICF service inactive | Ask Basis to activate /sap/bc/adt in SICF |
| SSO session expired | For Kerberos: restart server. For browser SSO: visit /login |
| OAuth redirect fails | Verify OAUTH_CLIENT_ID and callback URI in SOAUTH2 |
| Port already in use | Change SSE_PORT in .env or kill orphaned node processes |
Security
- Credentials in
.env— add to.gitignore(already excluded) - Server runs locally on
localhost— no credentials sent externally - Kerberos/SPNEGO never stores passwords — uses Windows domain TGT
- CSRF tokens auto-managed, session cookies kept in memory only
- Restrict the SAP user's authorizations to ADT-relevant objects
Others providing
Compare all 43 on the Agent access to ABAP code page →- @abap2ui5/mcp-server@abap2ui5/mcp-serverAn MCP server that puts the abap2UI5 development loop on the machine an agent runs on: check the view the ABAP builds, photograph it, deploy the class into a sandbox, boot the app headless and read the errors.community org, abapMCP server for the abap2UI5 check, deploy and run loop
- arc-1-bopf-enharc-1-bopf-enhAn extension of four tools for arc-1, with an ABAP service behind it, that lets an agent read and maintain classic BOPF enhancements of SAP standard business objects.independent, abaparc-1 extension for reading and maintaining BOPF enhancements
- HammerHammerA native macOS code editor for ABAP and CDS, with an Object Navigator, Transport Organizer, Data Browser and Gateway Client in the same app as the editor.independent, abapNative macOS code editor for ABAP and CDS
- arc-1-lsparc-1-lspAn edition of ARC-1 that hands every ADT interaction to SAP's own embedded adt-ls language server instead of a hand-rolled HTTP client.independent, abapEdition of ARC-1 that runs ADT calls through adt-ls
- arc-1arc-1An MCP server in front of the ADT REST API that runs locally and on Cloud Foundry with twelve tools that read, search, write, activate, lint and transport ABAP objects.independent, abapMCP server over the ADT REST API for ABAP objects
- arc1-abap-bridgearc1-abap-bridgeA VS Code extension between arc-1 and ABAP Development Tools for VS Code, so GitHub Copilot can open an ABAP object by name, diff the inactive version and ask the system whether an edit would be accepted.independent, abapVS Code bridge between arc-1 and ADT for VS Code
- arc1-adt-abap-mcp-extarc1-adt-abap-mcp-extOne JAR in Eclipse's dropins that turns on SAP's own ADT MCP server and adds read-only repository tools beside it — so an AI client reads your system without leaving Eclipse.independent, abapEclipse add-on enabling the ADT MCP server with read-only tools
- ABAP Accelerator MCP ServerABAP Accelerator MCP ServerAWS's ABAP MCP server for Amazon Q Developer and Kiro, deployable locally, in Docker or centrally on ECS Fargate with OAuth principal propagation; its repository is no longer maintained.partner, abapAWS's ABAP MCP server for Amazon Q Developer and Kiro
- Modernization Agents for SAP on AWSModernization Agents for SAP on AWSAWS's suite of agents for SAP modernisation work: custom ABAP converted for S/4HANA, PI/PO interfaces moved to Integration Suite, BW objects moved to SAP Datasphere, deployed into a customer's own AWS account and reached only after registration.partner, abapAWS agents for ABAP, PI/PO and BW modernisation work
- @mcp-abap-adt/core@mcp-abap-adt/coreA descendant of the Andreschak and fr0ster servers rebuilt on its own architecture, published as an npm scope and a Claude Code plugin, with Korean and Japanese documentation beside the English.independent, abapABAP ADT MCP server published as an npm scope and plugin
- dassian-adtdassian-adtA fork of mcp-abap-abap-adt-api hardened for use: 25 tools, input validation, error intelligence, MCP elicitation, session recovery and a test suite.independent, abapFork of mcp-abap-abap-adt-api with 25 tools and session recovery
- erpl-adterpl-adtOne C++ binary that speaks the ADT REST API as a CLI and as an MCP server — no Eclipse, no NetWeaver RFC SDK, no JVM — and reaches BW/4HANA modelling as well as ABAP.independent, abapC++ binary speaking the ADT REST API as a CLI and MCP server
- bw-modeling-mcpbw-modeling-mcpReads, creates and modifies BW/4HANA modelling objects through the same internal APIs Eclipse BWMT and the BW/4HANA Cockpit use — and can run centrally on BTP with each caller reaching BW as themselves.independent, btpMCP server for BW/4HANA modelling objects
- EPOD ADT MCP ServerEPOD ADT MCP ServerAn MCP server for ABAP that runs inside ABAP Development Tools for Eclipse on the ADT session of each connected project, with a standalone mode that runs with no IDE open.independent, abapMCP server for ABAP on the ADT session, in Eclipse or standalone
- ZARC1_EXTENSION_FORMSZARC1_EXTENSION_FORMSAn extension of four tools for arc-1, with an ABAP backend behind it, that reaches the classic form objects ADT has no API for: SAPscript layout sets, Smart Styles and the TADIR record of a Smart Form.independent, abaparc-1 extension for SAPscript and Smart Forms objects
- fgalastri/MCP_ABAPfgalastri/MCP_ABAPValidates an ABAP class before it is deployed by converting the global class to a local one and syntax-checking that — plus CDS DDL and table metadata retrieval.independent, abapValidates an ABAP class before it is deployed by converting the global class to a local one and syntax-checking that — plus CDS DDL and table metadata retrieval.
- fr0ster/mcp-abap-adtfr0ster/mcp-abap-adtFull CRUD across on-premise and ABAP Cloud systems, with five authentication methods and three transports: a library under Apache-2.0 and a standalone server under AGPL-3.0-only.independent, abapABAP MCP server with full CRUD on on-premise and ABAP Cloud
- abapsmithabapsmithAn MCP server that lets an LLM develop in ABAP on a live system over ADT, with writes off by default and every mutation recorded in a local journal that can undo it.independent, abapABAP MCP server over ADT with a local journal that can undo writes
- sap-ai-dev-toolkitsap-ai-dev-toolkitAn MCP proxy that pins an agent's ABAP tools to one SAP system: setup reads the BAS destinations or the local SAP GUI landscape and writes one stdio server per system, leaving the credentials in the destination or in the editor's own login prompts.independent, abapMCP proxy pinning an agent's ABAP tools to one SAP system
- aibap.mcpaibap.mcpA Go server that closes the loop: after create, write and activate it can run the class it just wrote through ADT's classrun and hand the console output back.independent, abapGo MCP server that writes, activates and runs ABAP classes via ADT
- BellaBellaAn Eclipse plugin that puts Claude into ABAP Development Tools: explain, generate, rework and implement from the editor's context menu, completion as ghost text, and a chat whose tools reach the system through the developer's existing ADT logon.independent, abapEclipse plugin bringing Claude into ABAP Development Tools
- Maherd18/sap-mcp-serverMaherd18/sap-mcp-serverAn MCP server for ABAP development over the ADT resources: eight tools, each checked against a JSON policy file before the call reaches the system, with activation and transport release held for a person to approve.independent, abapPolicy-checked MCP server for ABAP development over ADT
- sapdumpmcpsapdumpmcpAn MCP server for SAP dumps: it connects to an ABAP system over the ADT resources and lets an MCP client ask a dump for its description and call stack.independent, abapMCP server reading ABAP short dumps over ADT
- ABAP remote filesystemABAP remote filesystemA Visual Studio Code extension that opens an ABAP system over ADT as an editable filesystem and exposes system tools to GitHub Copilot and external MCP clients.independent, abapVS Code extension editing ABAP systems over ADT as a filesystem
- mcp-abap-abap-adt-apimcp-abap-abap-adt-apiThe write half of the same pair: a thin wrapper over Marcello Urbani's abap-adt-api, exposing lock, edit, activate, transport and syntax check for a full development loop.independent, abapWrite-oriented MCP server over abap-adt-api
- mcp-abap-adtmcp-abap-adtThe read-oriented half of a pair of ABAP MCP servers: high-level tools such as GetProgram, GetClass and GetTable that fetch from a system, aimed at understanding it rather than changing it.independent, abapRead-oriented MCP server fetching ABAP programs, classes, tables
- SAP MCP Connection ManagerSAP MCP Connection ManagerA Windows desktop manager that holds SAP connections and hands them to Claude Desktop or Codex through a local MCP server, each connection carrying a policy that decides what the assistant may change and what data it may read.independent, abapWindows desktop manager handing SAP connections to assistants over MCP
- ABAPilotABAPilotAn MIT-licensed MCP connector for ECC and on-premise S/4HANA that reads ABAP source and dictionary context, whose SAP-side half is a licensed product you install in the system.independent, abapMCP connector for ECC and on-premise S/4HANA with a licensed SAP side
- vibing-steampunkvibing-steampunkAn ADT-to-MCP bridge in Go that reaches past what ADT exposes — cluster tables decoded, spool and job logs read as tables, the IMG searched, selection texts written back.independent, abapADT-to-MCP bridge in Go reaching past what ADT exposes
- ADT MCP ServerADT MCP ServerSAP's own ADT MCP server, and not a package: a preference inside ABAP Development Tools for VS Code that starts a local HTTP MCP server on a port you choose.sap official, abapLocal HTTP MCP server started from ABAP Development Tools for VS Code
- ABAP Development Tools for VS CodeABAP Development Tools for VS CodeSAP's ABAP tools in VS Code: editing, debugging, ABAP Unit, ATC and transports for classes, CDS and RAP objects, over RFC to an on-premise or Private Cloud system and HTTP to a cloud one, with Joule's ADT MCP server and code completion behind an AI-unit licence.sap official, abapSAP's ABAP tools in VS Code for editing, debugging, ATC and transports
- SAP Joule for Developers, ABAP AI capabilitiesSAP Joule for Developers, ABAP AI capabilitiesSAP's AI for ABAP development in ADT for Eclipse and VS Code: chat, code completion, explain, test and CDS generation, RAP logic prediction, and since June 2026 an agentic mode over the ADT MCP Server, metered in AI units through the ABAP AI Hub Service on BTP.sap official, abapSAP's AI for ABAP development in ADT for Eclipse and VS Code
- ABAPDocMCPABAPDocMCPTurns a transport request into a WRICEF technical specification: reads the transport's objects and source over ADT and writes a structured Markdown document with an object-relationship diagram.independent, abapMCP server turning a transport request into a WRICEF specification
- claude-sap-kitclaude-sap-kitA Claude Code plugin of three skills that extends arc-1 with five Custom_* tools for an on-premise ABAP system: running a report and reading its ALV as JSON, previewing a NAST message as PDF, and reading, writing and replacing SmartForms as XML.independent, abapClaude Code plugin adding Custom_* tools to arc-1
- Skybuffer AI MCP serverSkybuffer AI MCP serverAn ABAP add-on that serves SAP business data, transactions and development context as MCP tools from an ICF node inside SAP ECC and S/4HANA, each call running as the signed-in user under PFCG authorization checks.independent, abapABAP add-on serving business data and transactions as MCP tools
- abap-adt-cliabap-adt-cliPulls an ABAP package to local files over the ADT REST API in parallel, and pushes edited objects back under a transport — bulk sync rather than one object at a time in SE80 or Eclipse.independent, abapCLI that pulls and pushes ABAP packages as local files over ADT
- workskong/mcp-abap-adtworkskong/mcp-abap-adtA deliberately light MCP adapter over ABAP ADT for object search, source, DDIC metadata, a data preview and runtime diagnostics, read-only in practice and documented in Korean.independent, abapLight MCP adapter for ABAP over ADT, documented in Korean
- KlystronKlystronAn MCP server written in ABAP that runs inside the application server behind an ICF service and exposes typed tools for ABAP development, quality, transports, customizing, roles, Basis operations and integration, with a client-side plugin of SAP skills.independent, abapMCP server in ABAP inside the application server, with agent skills
- pyrfc-mcppyrfc-mcpAn MCP server for calling an SAP system's RFC-enabled function modules from an agent, built so that discovering a function does not authorise calling it: a read or a write is denied unless the function name matches an allowlist the server is configured with.independent, abapMCP server calling RFC-enabled function modules behind an allowlist
- ABAP-AI-CODE-TOOLSABAP-AI-CODE-TOOLSAn optional abapGit package that adds create, modify and delete tools to ABAP AI Code, for ABAP programs and classes, with each diff block approved before it is saved.independent, abapabapGit package adding create, modify and delete tools to ABAP AI Code
- ABAP AI CodeABAP AI CodeAn agentic coding assistant written in ABAP that runs as a SAP GUI report and reads, explains and reviews repository objects inside the system, running an LLM's tool calls as ABAP.independent, abapAgentic coding assistant in ABAP that runs as an SAP GUI report
- VERTEXVERTEXAn extension for ABAP Development Tools for Eclipse and VS Code that shows Simple Data Explorer, AVE and ACE in the editor over the developer's ADT connection.independent, abapADT extension for Eclipse and VS Code showing three SAP GUI tools
Details
Sources
Sources are graph entities: the same page may back several entries, and an unreachable source flags every row that rests on it.
Compatibility and provenance
History in the atlas
- Triaged out of data/crawled/mcp-candidates.json, the sap-ai-mcp-servers sweep. Written from the repository's own README; the catalogue is credited as where it was found and its words are not reused.
- First seen.
For your agent
- Ref
artifact:chandrashekhar-mahajan-abap-mcp-server- JSON
- /artifacts/chandrashekhar-mahajan-abap-mcp-server.json
- MCP
- Connecting an agent