abap-mcp-adt
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| SAP_URL | Yes | The URL of the SAP ABAP system (e.g., https://your-sap-system.com). Required. | |
| SAP_CLIENT | Yes | The SAP client number (e.g., 100). Required. | 100 |
| SAP_LANGUAGE | No | The logon language (e.g., en). | en |
| SAP_PASSWORD | No | SAP password for basic authentication. Required if SAP_AUTH_TYPE=basic. | |
| SAP_USERNAME | No | SAP username for basic authentication. Required if SAP_AUTH_TYPE=basic. | |
| SAP_AUTH_TYPE | Yes | Authentication type: basic (username/password) or xsuaa (JWT). Required. | |
| SAP_JWT_TOKEN | No | JWT token for XSUAA authentication. Required if SAP_AUTH_TYPE=xsuaa. | |
| SC4SAP_POLICY | No | Set to 'on' to enable optional data fetch prevention. Disabled by default. | |
| SAP_RESPONSIBLE | No | Username responsible for changes on on-premise. Required for create/update on on-premise. | |
| SAP_SYSTEM_TYPE | No | System type: cloud (default), onprem, or legacy. | cloud |
| SAP_TIMEOUT_CSRF | No | Timeout in milliseconds for CSRF token requests. | 15000 |
| SAP_TIMEOUT_LONG | No | Timeout in milliseconds for long-running operations. | 60000 |
| SAP_MASTER_SYSTEM | No | On-premise master system ID (e.g., DEV). Required for create/update on on-premise. | |
| SC4SAP_ALLOW_TABLE | No | Comma-separated table names to exempt from blocklist (session-scoped). | |
| SAP_TIMEOUT_DEFAULT | No | Timeout in milliseconds for general operations. | 45000 |
| SC4SAP_BLOCKLIST_PATH | No | Path to custom blocklist file for data fetch prevention. | |
| SC4SAP_POLICY_PROFILE | No | Policy profile: strict, standard, minimal, or custom. | strict |
| TLS_REJECT_UNAUTHORIZED | No | Set to 0 to allow self-signed certificates (development only). | 1 |
Capabilities
Features and capabilities supported by this server
| Capability | Details |
|---|---|
| tools | {
"listChanged": true
} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| GetTableContentsA | [read-only] Retrieve contents (data preview) of an ABAP database table or CDS view. Returns rows of data like SE16/SE16N. |
| GetPackageContentsA | [read-only] Retrieve objects inside an ABAP package as a flat list. Supports recursive traversal of subpackages. |
| GetIncludeA | [read-only] Retrieve source code of a specific ABAP include file. |
| GetIncludesListA | [read-only] Recursively discover and list ALL include files within an ABAP program or include. |
| GetEnhancementsB | [read-only] Retrieve a list of enhancements for a given ABAP object. |
| GetEnhancementSpotC | [read-only] Retrieve metadata and list of implementations for a specific enhancement spot. |
| GetEnhancementImplA | [read-only] Retrieve source code of a specific enhancement implementation by its name and enhancement spot. |
| GetTransportB | [read-only] Retrieve ABAP transport request information including metadata, included objects, and status from SAP system. |
| ListTransportsB | [read-only] List transport requests for the current or specified user. Returns modifiable and/or released workbench and customizing requests. |
| ReadClassB | [read-only] Read ABAP class source code and metadata (package, responsible, description, etc.). |
| ReadInterfaceB | [read-only] Read ABAP interface source code and metadata (package, responsible, description, etc.). |
| ReadTableA | [read-only] Read ABAP table definition and metadata (package, responsible, description, etc.). |
| ReadStructureC | [read-only] Read ABAP structure definition and metadata (package, responsible, description, etc.). |
| ReadViewB | [read-only] Read ABAP view (CDS view) source code and metadata (package, responsible, description, etc.). |
| ReadDomainB | [read-only] Read ABAP domain definition and metadata (package, responsible, description, etc.). |
| ReadDataElementA | [read-only] Read ABAP data element definition and metadata (package, responsible, description, etc.). |
| ReadFunctionModuleB | [read-only] Read ABAP function module source code and metadata (package, responsible, description, etc.). |
| ReadFunctionGroupB | [read-only] Read ABAP function group source code and metadata (package, responsible, description, etc.). |
| ReadPackageA | [read-only] Read ABAP package definition and metadata (super-package, responsible, description, etc.). |
| ReadServiceDefinitionA | [read-only] Read ABAP service definition source code and metadata (package, responsible, description, etc.). |
| ReadMetadataExtensionB | [read-only] Read ABAP metadata extension (DDLX) source code and metadata (package, responsible, description, etc.). |
| ReadBehaviorDefinitionA | [read-only] Read ABAP behavior definition source code and metadata (package, responsible, description, etc.). |
| ReadBehaviorImplementationB | [read-only] Read ABAP behavior implementation source code and metadata (package, responsible, description, etc.). |
| ReadServiceBindingA | [read-only] Read ABAP service binding source/payload and metadata (package, responsible, description, etc.). |
| GetTypeInfoB | [read-only] Retrieve ABAP type information for domains (DOMA), data elements (DTEL), table types, and structures. Returns field definitions, value ranges, fixed values, and DDIC metadata. |
| GetTransactionA | [read-only] Retrieve ABAP transaction (t-code) details — program, screen, authorization object, and transaction type (dialog, report, OO). |
| RuntimeCreateProfilerTraceParametersC | [runtime] Create ABAP profiler trace parameters and return profilerId (URI) for profiled execution. |
| RuntimeListProfilerTraceFilesB | [runtime] List ABAP profiler trace files available in ADT runtime. Returns parsed JSON payload. |
| RuntimeGetProfilerTraceDataA | [runtime] Read profiler trace data by trace id/uri: hitlist, statements, or db accesses. Returns parsed JSON payload. |
| RuntimeListDumpsA | [runtime] List ABAP runtime dumps with optional user filter and paging. Returns parsed JSON payload. |
| RuntimeGetDumpByIdA | [runtime] Read a specific ABAP runtime dump by dump ID. Returns parsed JSON payload. Use response_mode="both" or "summary" to also include a compact key-facts summary (title, exception, program, line, user, date...). |
| RuntimeRunClassWithProfilingC | [runtime] Execute ABAP class with profiler enabled and return created profilerId + traceId. |
| RuntimeAnalyzeProfilerTraceB | [runtime] Read profiler trace view and return compact analysis summary (totals + top entries). |
| RuntimeAnalyzeDumpA | [runtime] Read runtime dump by ID and return compact analysis summary with key fields. |
| RuntimeListSystemMessagesB | [runtime] List SM02 system messages. Returns structured entries with id, title, text, severity, validity period, and author. |
| RuntimeListFeedsA | [runtime] List available ADT runtime feeds or read a specific feed type. Feed types: dumps, system_messages, gateway_errors. Without feed_type returns available feed descriptors. |
| GetSqlQueryA | [read-only] Execute ABAP SQL SELECT queries on database tables and CDS views via SAP ADT Data Preview API. Use for ad-hoc data retrieval, row counts, and filtered queries. |
| GetWhereUsedA | [read-only] Find where-used references (cross-references, usages, dependencies) for ABAP objects — classes, interfaces, tables, data elements, programs, function modules, etc. Returns list of all referencing objects with their types and packages. |
| GetObjectInfoA | [read-only] Return ABAP object tree structure for packages (DEVC), classes (CLAS), programs (PROG), function groups (FUGR), and other objects. Shows root, group nodes, and terminal leaves up to maxDepth. Enrich each node with description and package via SearchObject if enrich=true. |
| GetAbapASTA | [read-only] Parse ABAP code and return AST (Abstract Syntax Tree) in JSON format. |
| GetAbapSemanticAnalysisA | [read-only] Perform semantic analysis on ABAP code and return symbols, types, scopes, and dependencies. |
| GetAbapSystemSymbolsC | [read-only] Resolve ABAP symbols from semantic analysis with SAP system information including types, scopes, descriptions, and packages. |
| GetSessionA | [read-only] Get a new session ID and current session state (cookies, CSRF token) for reuse across multiple ADT operations. Use this to maintain the same session and lock handle across multiple requests. |
| ReloadProfileA | [system] Reload the active SAP profile from .sc4sap/active-profile.txt and reset the cached connection. Called by the sc4sap plugin after switching profiles. Returns the newly active alias, host, tier, and readonly status. |
| GetInactiveObjectsA | [read-only] Get a list of inactive ABAP objects — modified but not yet activated, pending activation. Shows classes, tables, CDS views, and other objects awaiting activation. |
| GetAdtTypesA | [read-only] Retrieve all valid ADT object types (CLAS, TABL, PROG, DEVC, FUGR, INTF, DDLS, DTEL, DOMA, SRVD, SRVB, BDEF, DDLX, etc.) or validate a specific type name. |
| GetObjectStructureB | [read-only] Retrieve ADT object structure as a compact JSON tree. |
| GetObjectNodeFromCacheA | [read-only] Returns a node from the in-memory objects list cache by OBJECT_TYPE, OBJECT_NAME, TECH_NAME, and expands OBJECT_URI if present. |
| DescribeByListB | [read-only] Batch description for a list of ABAP objects. Input: objects: Array<{ name: string, type?: string }>. Each object may be of type: PROG/P, FUGR, PROG/I, CLAS/OC, FUGR/FC, INTF/OI, TABLE, STRUCTURE, etc. |
| GetVirtualFoldersLowB | [low-level] Retrieve hierarchical virtual folder contents from ADT information system. Used for browsing ABAP objects by package, group, type, etc. |
| GetNodeStructureLowA | [low-level] Fetch node structure from ADT repository. Used for object tree navigation and structure discovery. Can use session_id and session_state from GetSession to maintain the same session. |
| GetObjectStructureLowA | [low-level] Retrieve ADT object structure as compact JSON tree. Returns XML response with object structure tree. Can use session_id and session_state from GetSession to maintain the same session. |
| GetPackageTreeB | [high-level] Retrieve complete package tree structure including subpackages and objects. Returns hierarchical tree with object names, types, and descriptions. |
| CreatePackageB | Create a new ABAP package in SAP system. Packages are containers for development objects and are essential for organizing code. |
| GetPackageB | Retrieve ABAP package metadata (description, super-package, etc.). Supports reading active or inactive version. |
| CreateDomainA | Create a new ABAP domain in SAP system with all required steps: lock, create, check, unlock, activate, and verify. |
| GetDomainB | Retrieve ABAP domain definition. Supports reading active or inactive version. |
| UpdateDomainA | Update an existing ABAP domain in SAP system. Workflow:
Note: All provided parameters completely replace existing values. Use GetDomain first to see current values if needed. |
| DeleteDomainA | Delete an ABAP domain from the SAP system. Includes deletion check before actual deletion. Transport request optional for $TMP objects. |
| CreateDataElementB | Create a new ABAP data element in SAP system with all required steps: create, activate, and verify. |
| GetDataElementB | Retrieve ABAP data element definition. Supports reading active or inactive version. |
| UpdateDataElementA | Update an existing ABAP data element in SAP system. Workflow:
Supported type_kind values:
Note: All provided parameters completely replace existing values. Field labels are truncated to max lengths (10/20/40/55). |
| DeleteDataElementA | Delete an ABAP data element from the SAP system. Includes deletion check before actual deletion. Transport request optional for $TMP objects. |
| CreateTransportB | Create a new ABAP transport request in SAP system for development objects. |
| CreateTableA | Create a new ABAP table via the ADT API. Creates the table object in initial state. Use UpdateTable to set DDL code afterwards. |
| GetTableA | Retrieve ABAP table definition. Supports reading active or inactive version. |
| UpdateTableA | Update DDL source code of an existing ABAP table. Locks the table, uploads new DDL source, and unlocks. Optionally activates after update. Use this to modify existing tables without re-creating metadata. |
| DeleteTableA | Delete an ABAP table from the SAP system. Includes deletion check before actual deletion. Transport request optional for $TMP objects. |
| CreateStructureB | Create a new ABAP structure in SAP system with fields and type references. Includes create, activate, and verify steps. |
| GetStructureB | Retrieve ABAP structure definition. Supports reading active or inactive version. |
| UpdateStructureA | Update DDL source code of an existing ABAP structure. Locks the structure, uploads new DDL source, and unlocks. Optionally activates after update. Use this to modify existing structures without re-creating metadata. |
| DeleteStructureA | Delete an ABAP structure from the SAP system. Includes deletion check before actual deletion. Transport request optional for $TMP objects. |
| CreateViewA | Create CDS View or Classic View in SAP. Creates the view object in initial state. Use UpdateView to set DDL source code afterwards. |
| GetViewB | Retrieve ABAP view definition. Supports reading active or inactive version. |
| UpdateViewA | Update DDL source code of an existing CDS View or Classic View. Locks the view, checks new code, uploads new DDL source, unlocks, and optionally activates. |
| DeleteViewA | Delete an ABAP view from the SAP system. Includes deletion check before actual deletion. Transport request optional for $TMP objects. |
| CreateServiceDefinitionB | Create a new ABAP service definition for OData services. Service definitions define the structure and behavior of OData services. Uses stateful session for proper lock management. |
| GetServiceDefinitionA | Retrieve ABAP service definition definition. Supports reading active or inactive version. |
| UpdateServiceDefinitionB | Update source code of an existing ABAP service definition. Uses stateful session with proper lock/unlock mechanism. |
| DeleteServiceDefinitionA | Delete an ABAP service definition from the SAP system. Includes deletion check before actual deletion. Transport request optional for $TMP objects. |
| CreateServiceBindingB | Create ABAP service binding via ADT Business Services endpoint. XML is generated from high-level parameters. |
| ListServiceBindingTypesA | List available service binding types (for example ODataV2/ODataV4) from ADT Business Services endpoint. |
| GetServiceBindingB | Retrieve ABAP service binding source/metadata by name via ADT Business Services endpoint. |
| UpdateServiceBindingC | Update publication state for ABAP service binding via AdtServiceBinding workflow. |
| ValidateServiceBindingB | Validate service binding parameters (name, service definition, package, version) via ADT validation endpoint. |
| DeleteServiceBindingB | Delete ABAP service binding via ADT Business Services endpoint. |
| GetClassC | Retrieve ABAP class source code. Supports reading active or inactive version. |
| CreateClassA | Create a new ABAP class in SAP system. Creates the class object in initial state. Use UpdateClass to set source code afterwards. |
| UpdateClassA | Update source code of an existing ABAP class. Locks, checks, updates, unlocks, and optionally activates. |
| DeleteClassA | Delete an ABAP class from the SAP system. Includes deletion check before actual deletion. Transport request optional for $TMP objects. |
| CreateUnitTestA | Start an ABAP Unit test run for provided class test definitions. Returns run_id for status/result queries. |
| RunUnitTestC | Start an ABAP Unit test run for provided class test definitions. Returns run_id for status/result queries. |
| GetUnitTestA | Retrieve ABAP Unit test run status and result for a previously started run_id. |
| GetUnitTestStatusB | Retrieve ABAP Unit test run status for a run_id. |
| GetUnitTestResultB | Retrieve ABAP Unit test run result for a run_id. |
| UpdateUnitTestA | Update an ABAP Unit test run. Note: ADT does not support updating unit test runs and will return an error. |
| DeleteUnitTestB | Delete an ABAP Unit test run. Note: ADT does not support deleting unit test runs and will return an error. |
| CreateCdsUnitTestB | Create a CDS unit test class with CDS validation. Creates the test class in initial state. |
| GetCdsUnitTestB | Retrieve CDS unit test run status and result for a previously started run_id. |
| GetCdsUnitTestStatusB | Retrieve CDS unit test run status for a run_id. |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
No prompts | |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
No resources | |
Latest Blog Posts
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/ChinhHN-DEV/abap-mcp-adt'
If you have feedback or need assistance with the MCP directory API, please join our Discord server