mcp-abap-adt
The 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.
Its author keeps two servers apart on purpose, and says so in the other server's README. This is the higher-level, read-oriented one — GetProgram, GetClass, GetTable and the rest — for asking what a system contains and how it fits together. Published on npm and listed in the MCP Registry, so most clients install it in one command, and the README is written for somebody who has not set up an MCP server before.
Facts
Where it sits
Who is behind it
In the atlas: maintains 3, contributes to 5@mario-andreschakmaintainerHenry MaoContributes to this
In the atlas: contributes to 4@calclaviaFLUJOContributes to this
In the atlas: contributes to 2@flujo-appJean Rodrigo MazurekContributes to this
In the atlas: contributes to 1@jeanmazurekFrank FiegelContributes to this
In the atlas: contributes to 3@punkpeye4 contributors
Before choosing this
Conditions
PracticalFunctional boundary
Every tool its README lists reads — Get and Search, nothing that writes. Locking, editing, activation and transports are the other server, 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, abap, and mixing the two is how you end up with two MCP servers pointed at one system.
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
- stdio
- Authentication
- user and password
- Guardrails
2 quoted from README show all
conservative 40,000-byte UTF-8 budget is automatically reduced
Never share your
.envfile with anyone, and never commit it to a Git repository!
For agent access to ABAP code
- Read
- sourcesearchwhere-usedDDICCDStable data
- Change
- writecreateactivatetransportsgit
- Check
- syntaxATCABAP Unit
- Run
- run codedumps
Connections
Write-oriented MCP server over abap-adt-api
Letting a coding agent read and act on your project or system
ABAP ADT MCP server published as an npm scope and plugin
MCP server over the ADT REST API for ABAP objects
ABAP MCP server with full CRUD on on-premise and ABAP Cloud
Download
Install
npm add mcp-abap-adtDerived from the package name. No recipe recorded; the README has the configuration.
Architecture
Download
mcp-abap-adt runs over stdio.”README
quoted from mario-andreschak/mcp-abap-adt under MIT, readmcp-abap-adt: Your Gateway to ABAP Development Tools (ADT)
This project provides a server that allows you to interact with SAP ABAP systems using the Model Context Protocol (MCP). Think of it as a bridge that lets tools like FLUJO, Claude or Cline (a VS Code extension) talk to your ABAP system and retrieve information like source code, table structures, and more. It's like having a remote control for your ABAP development environment!
The server is published on npm as mcp-abap-adt and listed in the MCP Registry as io.github.mario-andreschak/mcp-abap-adt, so most MCP clients can install it with a single command. Tool discovery works without SAP credentials; calls that access SAP require the configuration below. The sixteen tools are read-only.
This guide is designed for beginners, so we'll walk through everything step-by-step. We'll cover:
- Prerequisites: What you need before you start.
- Installation and Setup: Getting everything up and running.
- Running the Server: Starting the server in different modes.
- Integrating with FLUJO: The easiest way — one-click install from the Spotlight/Marketplace.
- Integrating with Cline: Connecting this server to the Cline VS Code extension.
- Integrating with Claude Desktop: Adding the server to the Claude Desktop app.
- Integrating with Claude Code: Adding the server via
.mcp.jsonor the CLI. - Troubleshooting: Common problems and solutions.
- Available Tools: A list of the commands you can use.
1. Prerequisites
Before you begin, you'll need a few things:
-
An SAP ABAP System: This server connects to an existing ABAP system. You'll need:
- The system's URL (e.g.,
https://my-sap-system.com:8000) - A valid username and password for that system.
- The SAP client number (e.g.,
100). - Ensure that your SAP system allows connections via ADT (ABAP Development Tools). This usually involves making sure the necessary services are activated in transaction
SICF. Your basis administrator can help with this. Specifically, you will need the following services to be active:/sap/bc/adt
- The system's URL (e.g.,
-
Node.js and npm: Node.js is a JavaScript runtime that lets you run JavaScript code outside of a web browser. npm (Node Package Manager) is included with Node.js and is used to install packages (libraries of code).
- Download Node.js. Choose the LTS (Long Term Support) version. This is the most stable version. Follow the installation instructions for your operating system. Make sure to include npm in the installation (it's usually included by default).
- Verify Installation: After installing Node.js, open a new terminal (command prompt on Windows, Terminal on macOS/Linux) and type:
You should see version numbers for both Node.js and npm. If you see an error, Node.js might not be installed correctly, or it might not be in your system's PATH. (See Troubleshooting below).node -v npm -v
-
Git (or GitHub Desktop) (optional in most cases): We'll use Git to download the project code. You have two options:
- Git: The command-line tool. Download Git. Choose the version for your operating system (Windows, macOS, Linux). Follow the installation instructions.
- GitHub Desktop: A graphical user interface for Git. Easier for beginners! Download GitHub Desktop. Follow the installation instructions.
2. Installation and Setup
Now, let's get the project code and set it up:
Install with FLUJO (recommended)
Install from npm
The server is published on npm, so you don't need to clone or build anything. Most MCP clients can run it directly with npx:
npx -y mcp-abap-adt
You'll typically configure this inside your MCP client rather than run it by hand — point the client at the command npx with args ["-y", "mcp-abap-adt"] and supply your SAP credentials as environment variables (SAP_URL, SAP_USERNAME, SAP_PASSWORD, SAP_CLIENT; optionally SAP_LANGUAGE, SAP_CA_FILE). See the integration sections below for FLUJO and Cline.
To install it globally instead:
npm install -g mcp-abap-adt
Manual Installation (from source)
-
Clone the Repository:
- Using Git (command line):
- Open a terminal (command prompt or Terminal).
- Navigate to the directory where you want to store the project. For example, to put it on your Desktop:
cd Desktop - Clone the repository:
git clone https://github.com/mario-andreschak/mcp-abap-adt - Change into the project directory:
cd mcp-abap-adt # Or whatever the folder name is
- Using GitHub Desktop:
- Open GitHub Desktop.
- Click "File" -> "Clone Repository...".
- In the "URL" tab, paste the repository URL.
- Choose a local path (where you want to save the project on your computer).
- Click "Clone".
- Using Git (command line):
-
Install Dependencies: This downloads all the necessary libraries the project needs. In the terminal, inside the root directory, run:
npm ciThis might take a few minutes.
-
Build the Project: This compiles the code into an executable format.
npm run build -
Create a
.envfile: This file stores sensitive information like your SAP credentials. It's very important to keep this file secure.- In the root directory, create a new file named
.env(no extension). - Open the
.envfile in a text editor (like Notepad, VS Code, etc.). - Add the following lines, replacing the placeholders with your actual SAP system information:
Important: If your password contains a "#" character, make sure to enclose your password in quotes!
Important: Never share yourSAP_URL=https://your-sap-system.com:8000 # Your SAP system URL SAP_USERNAME=your_username # Your SAP username SAP_PASSWORD=your_password # Your SAP password SAP_CLIENT=100 # Your SAP client.envfile with anyone, and never commit it to a Git repository!
- In the root directory, create a new file named
SAP TLS and network settings
Certificate and hostname verification is enabled by default. For a SAP system signed by your organization's private CA, set SAP_CA_FILE=/absolute/path/sap-ca.pem to a readable PEM CA bundle. It augments Node's bundled roots. When running in Docker, mount the bundle read-only and provide its container path. This follows Node TLS trust configuration.
SAP_URL must be the canonical HTTP(S) origin, such as https://sap.example:443, without a path, query, fragment or embedded credentials. Use HTTPS for SAP credentials. Redirects are rejected so authentication and session cookies cannot be forwarded to another server. Configure the final origin when a reverse proxy redirects requests.
The previously documented TLS_REJECT_UNAUTHORIZED=0 is now an explicit troubleshooting opt-out and emits a warning on stderr; 1 is the default. Previously certificate verification was disabled unconditionally regardless of that setting. A custom CA is the normal way to trust a private certificate; the global NODE_TLS_REJECT_UNAUTHORIZED setting is not used by this server.
SAP_LANGUAGE accepts a two-letter language code, for example EN or de. The SAP client and optional language are sent as query parameters on every ADT/CSRF request. Each request has a 30-second timeout and a 16 MiB response limit; tool calls have a 60-second total deadline and propagate cancellation. Existing returned-text pagination stays bounded at 40,000 UTF-8 bytes. Narrow the query if the upstream response exceeds the download limit.
3. Running the Server
To be fair, you usually dont usually "run" this server on it's own. It is supposed to be integrated into an MCP Client like Claude, FLUJO, Cline, etc. But you can manually run the server in two main ways:
- Standalone Mode: This runs the server directly, and it will output messages to the terminal. The server will start and wait for client connections, so potentially rendering it useless except to see if it starts.
- Development/Debug Mode: This runs the server with the MCP Inspector. You can open the URL that it outputs in your browser and start playing around.
3.1 Standalone Mode
To run the server in standalone mode, use the following command in the terminal (from the root directory):
npm run start
You should see messages in the terminal indicating that the server is running. It will listen for connections from MCP clients. The server will keep running until you stop it (usually with Ctrl+C).
3.2 Development/Debug Mode (with Inspector)
This mode is useful for debugging.
- Start the server in debug mode:
This will start the server and output a message like:npm run dev🔍 MCP Inspector is up and running at http://localhost:5173 🚀. This is the URL you'll use to open the MCP inspector in your Browser.
4. Integrating with FLUJO
FLUJO is the easiest way to use this server — no cloning, building, or editing JSON config. mcp-abap-adt is a curated Spotlight server, so it installs with a single click:
- In FLUJO, navigate to MCP.
- Click Add Server.
- On the Spotlight tab, click mcp-abap-adt (or switch to the Marketplace tab and find it there).
- FLUJO fetches the package automatically and opens the Local Server tab. Enter your SAP URL, Username, and Password (and client), then click Save.
That's it — FLUJO downloads and runs the npm package for you.
Streamable HTTP transport (via FLUJO)
mcp-abap-adt runs over stdio. If you need to reach it over streamable HTTP — for example from another app on your machine or a client that only speaks HTTP — let FLUJO re-host it: install the server in FLUJO as above, then toggle "Expose to external apps" on the server. FLUJO's built-in mcp-proxy then serves it over HTTP at http://localhost:4200/mcp-proxy/mcp-abap-adt, and any HTTP-capable MCP client can connect with a config like:
{
"mcpServers": {
"mcp-abap-adt": {
"type": "http",
"url": "http://localhost:4200/mcp-proxy/mcp-abap-adt"
}
}
}
FLUJO keeps your SAP credentials with the installed server, so the HTTP config itself carries none.
5. Integrating with Cline
Cline is a VS Code extension that uses MCP servers to provide language support. Here's how to connect this ABAP server to Cline:
-
Install Cline: If you haven't already, install the "Cline" extension in VS Code.
-
Open Cline Settings:
- Open the VS Code settings (File -> Preferences -> Settings, or Ctrl+,).
- Search for "Cline MCP Settings".
- Click "Edit in settings.json". This will open the
cline_mcp_settings.jsonfile. The full path is usually something like:C:\Users\username\AppData\Roaming\Code\User\globalStorage\saoudrizwan.claude-dev\settings\cline_mcp_settings.json(replaceusernamewith your Windows username).
-
Add the Server Configuration: You'll need to add an entry to the
mcpServersobject in thecline_mcp_settings.jsonfile. The recommended way is to run the published npm package vianpxand pass your SAP credentials as environment variables — no local build required:{ "mcpServers": { "mcp-abap-adt": { "command": "npx", "args": ["-y", "mcp-abap-adt"], "env": { "SAP_URL": "https://your-sap-system.com:8000", "SAP_USERNAME": "your_username", "SAP_PASSWORD": "your_password", "SAP_CLIENT": "100" }, "disabled": false, "autoApprove": [] } // ... other server configurations ... } }If you installed from source instead (see Manual Installation), point
commandatnodewith an absolute path to the build output, e.g."args": ["C:/PATH_TO/mcp-abap-adt/dist/index.js"], and configure credentials via the.envfile. -
Test the Connection:
- Cline should automatically connect to the server. You will see the Server appear in the "MCP Servers" Panel (in the Cline extension, you'll find different buttons on the top.)
- Ask Cline to get the Sourcecode of a program and it should mention the MCP Server and should try to use the corresponding tools
6. Integrating with Claude Desktop
Claude Desktop can run this server directly via the published npm package.
-
Open Claude Desktop → Settings → Developer → Edit Config. This opens
claude_desktop_config.json. The file lives at:- Windows:
%APPDATA%\Claude\claude_desktop_config.json - macOS:
~/Library/Application Support/Claude/claude_desktop_config.json
- Windows:
-
Add an
mcp-abap-adtentry undermcpServers, filling in your SAP credentials:{ "mcpServers": { "mcp-abap-adt": { "command": "npx", "args": ["-y", "mcp-abap-adt"], "env": { "SAP_URL": "https://your-sap-system.com:8000", "SAP_USERNAME": "your_username", "SAP_PASSWORD": "your_password", "SAP_CLIENT": "100" } } } } -
Save the file and restart Claude Desktop. The ABAP tools appear under the tools (🔨) menu.
Windows tip: if
npxisn't found, set"command": "npx.cmd", or use the full path tonodewith the absolute path todist/index.jsfrom a source install.
7. Integrating with Claude Code
Claude Code reads MCP servers from a .mcp.json file in your project root (shared with your team) or from user/project scope via the CLI.
Option A — .mcp.json in your project root:
{
"mcpServers": {
"mcp-abap-adt": {
"command": "npx",
"args": ["-y", "mcp-abap-adt"],
"env": {
"SAP_URL": "https://your-sap-system.com:8000",
"SAP_USERNAME": "your_username",
"SAP_PASSWORD": "your_password",
"SAP_CLIENT": "100"
}
}
}
}
Because this file is committed to your repo, avoid putting real passwords in it — either use placeholder values that each developer fills in locally, or reference environment variables (Claude Code expands ${VAR} in .mcp.json), e.g. "SAP_PASSWORD": "${SAP_PASSWORD}".
Option B — add it from the CLI:
claude mcp add mcp-abap-adt \
--env SAP_URL=https://your-sap-system.com:8000 \
--env SAP_USERNAME=your_username \
--env SAP_PASSWORD=your_password \
--env SAP_CLIENT=100 \
-- npx -y mcp-abap-adt
Add --scope project to write it to the shared .mcp.json, or --scope user to make it available across all your projects. Verify with claude mcp list.
8. Large-response pagination
All text-returning tools support the optional startLine and maxLines arguments: GetProgram, GetClass, GetFunctionGroup, GetFunction, GetStructure, GetTable, GetTableContents, GetPackage, GetTypeInfo, GetInclude, SearchObject, GetTransaction, GetCDSView, GetInterface, GetBehaviorDefinition, and GetServiceDefinition. GetTableContents.max_rows and SearchObject.maxResults still limit upstream records; paging independently protects the textual response size.
startLineis a 1-based integer. It defaults to 1.maxLinesis an integer from 1 through 100,000. When omitted, the tool requests all remaining lines.- A small response with neither paging argument keeps the existing raw
content[0].textexactly. - Any explicit paging request returns a JSON envelope in
content[0].text. - An unpaged result that exceeds the conservative 40,000-byte UTF-8 budget is automatically reduced and returned in the same envelope with
autoPaged: trueandcapped: true. - A request beyond EOF returns
content: "",returnedLines: 0, andhasMore: false.
The envelope has this shape:
{
"content": "...returned source lines...",
"totalLines": 7745,
"startLine": 1,
"returnedLines": 1200,
"hasMore": true,
"autoPaged": true,
"capped": true
}
content is the selected text, totalLines describes the full serialized result, and returnedLines counts source lines consumed. Continue ordinary paging with startLine + returnedLines while hasMore is true. autoPaged appears only when the caller did not request paging. capped means the requested/default range was reduced to meet the final content[0].text UTF-8 byte budget.
If one source line alone exceeds the budget, the envelope also contains truncatedMidLine: true. The returned prefix is UTF-8 safe and does not split a Unicode surrogate pair, but the omitted suffix cannot be recovered with line-based paging. That line counts as consumed; hasMore only indicates whether later source lines exist.
Clients that previously treated every result as raw source should parse content[0].text as JSON whenever they explicitly request paging or when automatic capping returns an envelope. Small unpaged responses remain backward compatible.
The default npm test run is credential-free and skips the live SAP integration suite. Maintainers can opt in by setting RUN_SAP_INTEGRATION=1 before running npm test -- src/index.test.ts.
9. Troubleshooting
node -vornpm -vgives an error:- Make sure Node.js is installed correctly. First try closing the Terminal/Powershell/cmd.exe in which you were executing the command. Try restarting your computer. Try reinstalling it.
- Ensure that the Node.js installation directory is in your system's PATH environment variable. On Windows, you can edit environment variables through the System Properties (search for "environment variables" in the Start Menu).
npm installfails:- Make sure you have an internet connection.
- Try deleting the
node_modulesfolder and runningnpm installagain. - If you're behind a proxy, you might need to configure npm to use the proxy. Search online for "npm proxy settings".
- Cline doesn't connect to the server:
- Double-check the settings in
cline_mcp_settings.json. It must be the correct, absolute path to theroot-serverdirectory, and use double backslashes on Windows. - Make sure the server is running (use
npm run startto check). - Restart VS Code.
- Alternatively:
- Navigate to the root folder of mcp-abap-adt in your Explorer, Shift+Right-Click and select "Open Powershell here". (Or open a Powershell and navigate to the folder using
cd C:/PATH_TO/mcp-abap-adt/ - Run "npm install"
- Run "npm run build"
- Run "npx @modelcontextprotocol/inspector node dist/index.js"
- Open your browser at the URL it outputs. Click "connect" on the left side.
- Click "Tools" on the top, then click "List Tools"
- Click GetProgram and enter "SAPMV45A" or any other Report name as Program Name on the right
- Test and see what the output is
- Double-check the settings in
- SAP connection errors:
- Verify your SAP credentials in the
.envfile. - Ensure that the SAP system is running and accessible from your network.
- Make sure that your SAP user has the necessary authorizations to access the ADT services.
- Check that the required ADT services are activated in transaction
SICF. - For a private CA or self-signed server certificate, configure SAP_CA_FILE and verify the certificate hostname matches SAP_URL. HTTP status codes are returned without upstream bodies; inspect the SAP server logs for authentication/authorization details.
- Verify your SAP credentials in the
10. Available Tools
This server provides the following tools, which can be used through FLUJO, Cline, Claude Desktop, Claude Code, or any other MCP client. Every listed tool also accepts the shared optional startLine and maxLines pagination parameters described above:
| Tool Name | Description | Input Parameters | Example Usage (in Cline) |
|---|---|---|---|
GetProgram | Retrieve ABAP program source code. | program_name (string): Name of the ABAP program. | @tool GetProgram program_name=ZMY_PROGRAM |
GetClass | Retrieve ABAP class source code. | class_name (string): Name of the ABAP class. | @tool GetClass class_name=ZCL_MY_CLASS |
GetFunctionGroup | Retrieve ABAP Function Group source code. | function_group (string): Name of the function group | @tool GetFunctionGroup function_group=ZMY_FUNCTION_GROUP |
GetFunction | Retrieve ABAP Function Module source code. | function_name (string), function_group (string) | @tool GetFunction function_name=ZMY_FUNCTION function_group=ZFG |
GetStructure | Retrieve ABAP Structure. | structure_name (string): Name of the DDIC Structure. | @tool GetStructure structure_name=ZMY_STRUCT |
GetTable | Retrieve ABAP table structure. | table_name (string): Name of the ABAP DB table. | @tool GetTable table_name=ZMY_TABLE |
GetTableContents | Retrieve contents of an ABAP table. | table_name (string), max_rows (integer 1-10000, optional, default 100) | @tool GetTableContents table_name=ZMY_TABLE max_rows=50 |
GetCDSView | Retrieve CDS view (DDL source) source code. | cds_view_name (string): Name of the CDS view (DDL source name). | @tool GetCDSView cds_view_name=I_CURRENCY |
GetPackage | Retrieve ABAP package details. | package_name (string): Name of the ABAP package. | @tool GetPackage package_name=ZMY_PACKAGE |
GetTypeInfo | Retrieve ABAP type information. | type_name (string): Name of the ABAP type. | @tool GetTypeInfo type_name=ZMY_TYPE |
GetInclude | Retrieve ABAP include source code | include_name (string): name of the ABAP include` | @tool GetInclude include_name=ZMY_INCLUDE |
SearchObject | Search for ABAP objects using quick search. | query (string), maxResults (integer 1-10000, optional, default 100) | @tool SearchObject query=ZMY* maxResults=20 |
GetInterface | Retrieve ABAP interface source code. | interface_name (string): Name of the ABAP interface. | @tool GetInterface interface_name=ZIF_MY_INTERFACE |
GetTransaction | Retrieve ABAP transaction details. | transaction_name (string): Name of the ABAP transaction. | @tool GetTransaction transaction_name=ZMY_TRANSACTION |
GetBehaviorDefinition | Retrieve RAP Behavior Definition (BDEF) source. Requires ~NW 7.54 / S/4HANA. | behavior_definition_name (string): Name of the RAP Behavior Definition. | @tool GetBehaviorDefinition behavior_definition_name=ZMY_ENTITY |
GetServiceDefinition | Retrieve RAP Service Definition (SRVD) source. Requires ~NW 7.54 / S/4HANA. | service_definition_name (string): Name of the RAP Service Definition. | @tool GetServiceDefinition service_definition_name=ZMY_SERVICE |
Validation
Run npm ci && npm run check with Node 22 or 24 and OpenSSL available. The credential-free suite covers existing pagination and ADT fallbacks, a local HTTPS server (trust, hostname checks, redirects, limits, cancellation, cookies/CSRF), actual modern/legacy SDK clients and a production-only packed npm installation. CI also builds and starts the Docker image.
The 12 existing live SAP integration tests remain opt-in with RUN_SAP_INTEGRATION=1 and valid SAP configuration. A successful mock/CI run does not establish a customer's ADT service activation, authorizations, release-specific endpoint support or network access. No live SAP system was contacted for this repair.
History
Features 1
Notes
Added
- New
GetTransactiontool to retrieve ABAP transaction details.- Allows fetching transaction details using the ADT endpoint
/sap/bc/adt/repository/informationsystem/objectproperties/values. - Added documentation in README.md.
- Allows fetching transaction details using the ADT endpoint
Changed 4
Notes
Changed
- Added Jest Test Script
index.test.tsavailable throughnpm test - Enhanced
makeAdtRequestmethod to support:- Custom headers through an optional parameter
- Query parameters through an optional
paramsparameter
- Improved
handleGetPackagemethod to use ADT's nodeContent API- Now uses POST request with proper XML payload
- Added specific content type headers for nodeContent endpoint
- Added filtering to return only objects with URI
- Improved CSRF token handling in utils.ts
- Added automatic CSRF token fetching for POST/PUT requests
- Enhanced token extraction to work with error responses
- Added cookie management for better session handling
- Implemented singleton axios instance for consistent state
- Added proper cleanup for test environments
- Added Jest Test Script
Features 1
Notes
Added
- New
GetInterfacetool to retrieve ABAP interface source code- Allows fetching source code of ABAP interfaces using the ADT endpoint
/sap/bc/adt/oo/interfaces/ - Similar functionality to GetClass but for interfaces
- Added documentation in README.md
- Allows fetching source code of ABAP interfaces using the ADT endpoint
- New
Features 4
Notes
Added
- Initial release of the MCP ABAP ADT server
- Basic ABAP object retrieval functionality
- Support for programs, classes, function modules, and more
- Documentation and setup instructions
Others providing
Compare all 43 on the Agent access to ABAP code page →- 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
- @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
- chandrashekhar-mahajan/abap-mcp-serverchandrashekhar-mahajan/abap-mcp-serverFifteen 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.independent, abapABAP MCP server with ADT tools and five authentication strategies
- 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
- 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
Flavors
“Retrieve RAP Behavior Definition (BDEF) source. Requires ~NW 7.54 / S/4HANA.” — mario-andreschak/mcp-abap-adt — README
Contributors
History in the atlas
- corrected against the README
- 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:mario-andreschak-mcp-abap-adt- JSON
- /artifacts/mario-andreschak-mcp-abap-adt.json
- MCP
- Connecting an agent