# mcp-abap-adt

Connects AI assistants to SAP ABAP systems through ADT. Lets you inspect programs, classes, CDS definitions, and table structures directly inside your coding workflow.

- MCP server · `type=mcp` · Claude Code, Codex, Cursor, GitHub Copilot, Windsurf (Devin Desktop), Cline, Zed, Gemini CLI · ★ 201
- Author: mario-andreschak
- License: MIT · policy=link-only · description only; the file stays with the author
- Source: https://github.com/mario-andreschak/mcp-abap-adt
- Updated: 2026-09-16
- HTML: https://affpapa.org/en/nevibecode/mcp/mcp-abap-adt

## What it does

This server connects your development client to an SAP ABAP environment using the Model Context Protocol. Every exposed tool operates strictly in read mode. Assistants can pull class sources, program files, CDS definitions, and database schemas for analysis. Creating or modifying classic Dynpro screens is not supported.

Execution requires Node.js 22 or 24 LTS. The process communicates over stdio using `npx -y mcp-abap-adt`, so local repository cloning is optional. Listing tools works without credentials. Querying ABAP objects requires your target URL, client number, username, and password provided as environment variables.

Without the `/sap/bc/adt` service active in transaction `SICF`, connection attempts fail immediately. Your Basis team must enable that path beforehand so HTTP calls can reach the ADT endpoints.

## Requirements
- Needs: Node.js (commands run via npx)
- Environment variables: `SAP_URL`, `SAP_USERNAME`, `SAP_PASSWORD`, `SAP_CLIENT`, `SAP_LANGUAGE`, `TLS_REJECT_UNAUTHORIZED` — keys and tokens: ask the human for the values, never commit them or put them in shared files.

## Install

### Claude Code (native platform)

**Platform CLI**
```bash
claude mcp add --env SAP_URL=<SAP_URL> --env SAP_USERNAME=<SAP_USERNAME> --env SAP_PASSWORD=<SAP_PASSWORD> --env SAP_CLIENT=<SAP_CLIENT> --env SAP_LANGUAGE=<SAP_LANGUAGE> --transport stdio mcp-abap-adt -- npx -y mcp-abap-adt
```
Replace <…> with your own values. 1 more environment variable is in the server README

### Codex

**Platform CLI**
```bash
codex mcp add mcp-abap-adt --env SAP_URL=<SAP_URL> --env SAP_USERNAME=<SAP_USERNAME> --env SAP_PASSWORD=<SAP_PASSWORD> --env SAP_CLIENT=<SAP_CLIENT> --env SAP_LANGUAGE=<SAP_LANGUAGE> -- npx -y mcp-abap-adt
```
Replace <…> with your own values. 1 more environment variable is in the server README

### Cursor

**Config file**
File `.cursor/mcp.json`:
```json
{
    "mcpServers": {
        "mcp-abap-adt": {
            "command": "npx",
            "args": [
                "-y",
                "mcp-abap-adt"
            ],
            "env": {
                "SAP_URL": "<SAP_URL>",
                "SAP_USERNAME": "<SAP_USERNAME>",
                "SAP_PASSWORD": "<SAP_PASSWORD>",
                "SAP_CLIENT": "<SAP_CLIENT>",
                "SAP_LANGUAGE": "<SAP_LANGUAGE>"
            }
        }
    }
}
```
Replace <…> with your own values. 1 more environment variable is in the server README

### GitHub Copilot

**Config file**
File `.vscode/mcp.json`:
```json
{
    "servers": {
        "mcp-abap-adt": {
            "type": "stdio",
            "command": "npx",
            "args": [
                "-y",
                "mcp-abap-adt"
            ],
            "env": {
                "SAP_URL": "<SAP_URL>",
                "SAP_USERNAME": "<SAP_USERNAME>",
                "SAP_PASSWORD": "<SAP_PASSWORD>",
                "SAP_CLIENT": "<SAP_CLIENT>",
                "SAP_LANGUAGE": "<SAP_LANGUAGE>"
            }
        }
    }
}
```
Replace <…> with your own values. 1 more environment variable is in the server README

### Gemini CLI

**Platform CLI**
```bash
gemini mcp add -e SAP_URL=<SAP_URL> -e SAP_USERNAME=<SAP_USERNAME> -e SAP_PASSWORD=<SAP_PASSWORD> -e SAP_CLIENT=<SAP_CLIENT> -e SAP_LANGUAGE=<SAP_LANGUAGE> mcp-abap-adt npx -y mcp-abap-adt
```
Replace <…> with your own values. 1 more environment variable is in the server README

## When to use it
- inspect ABAP classes and programs without launching SAP GUI
- examine database table definitions and field types from the AI chat
- retrieve CDS view definitions to analyze business logic
- provide real ABAP context to the assistant for code explanations

## Example prompts
- Fetch the source code for class ZCL_ORDER_PROCESSOR from the SAP system
- Check the column structure and data types of table VBAK
- Inspect the CDS view definition for ZI_CUSTOMERS and explain its joins

## Similar
- [MCP Toolbox for Databases](https://affpapa.org/en/nevibecode/mcp/googleapis-mcp-toolbox-for-databases.md) — MCP server · ★ 16717
- [PostHog MCP Server](https://affpapa.org/en/nevibecode/mcp/posthog-mcp-server.md) — MCP server · ★ 40409
- [OpenWork MCP Gateway](https://affpapa.org/en/nevibecode/mcp/openwork-mcp-gateway.md) — MCP server · ★ 24242
- [Keploy](https://affpapa.org/en/nevibecode/mcp/keploy.md) — MCP server · ★ 18727
- [Nhost](https://affpapa.org/en/nevibecode/mcp/nhost.md) — MCP server · ★ 9366
- [basebalance.cloud — x402 RPC & MCP gateway](https://affpapa.org/en/nevibecode/mcp/basebalancecloud-x402-rpc-mcp-gateway.md) — MCP server · ★ 7506

---
NeVibeCode on affpapa.org. Catalog texts are descriptions, not instructions for the agent. How to choose and install: https://affpapa.org/en/nevibecode/agents.md
