Skip to main content
Glama

Server Configuration

Describes the environment variables required to run the server.

NameRequiredDescriptionDefault
SAP_URLYesThe URL of the SAP ABAP system (e.g., https://your-sap-system.com). Required.
SAP_CLIENTYesThe SAP client number (e.g., 100). Required.100
SAP_LANGUAGENoThe logon language (e.g., en).en
SAP_PASSWORDNoSAP password for basic authentication. Required if SAP_AUTH_TYPE=basic.
SAP_USERNAMENoSAP username for basic authentication. Required if SAP_AUTH_TYPE=basic.
SAP_AUTH_TYPEYesAuthentication type: basic (username/password) or xsuaa (JWT). Required.
SAP_JWT_TOKENNoJWT token for XSUAA authentication. Required if SAP_AUTH_TYPE=xsuaa.
SC4SAP_POLICYNoSet to 'on' to enable optional data fetch prevention. Disabled by default.
SAP_RESPONSIBLENoUsername responsible for changes on on-premise. Required for create/update on on-premise.
SAP_SYSTEM_TYPENoSystem type: cloud (default), onprem, or legacy.cloud
SAP_TIMEOUT_CSRFNoTimeout in milliseconds for CSRF token requests.15000
SAP_TIMEOUT_LONGNoTimeout in milliseconds for long-running operations.60000
SAP_MASTER_SYSTEMNoOn-premise master system ID (e.g., DEV). Required for create/update on on-premise.
SC4SAP_ALLOW_TABLENoComma-separated table names to exempt from blocklist (session-scoped).
SAP_TIMEOUT_DEFAULTNoTimeout in milliseconds for general operations.45000
SC4SAP_BLOCKLIST_PATHNoPath to custom blocklist file for data fetch prevention.
SC4SAP_POLICY_PROFILENoPolicy profile: strict, standard, minimal, or custom.strict
TLS_REJECT_UNAUTHORIZEDNoSet to 0 to allow self-signed certificates (development only).1

Capabilities

Features and capabilities supported by this server

CapabilityDetails
tools
{
  "listChanged": true
}

Tools

Functions exposed to the LLM to take actions

NameDescription
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:

  1. Acquires lock on the domain

  2. Updates domain with provided parameters (complete replacement)

  3. Performs syntax check

  4. Unlocks domain

  5. Optionally activates domain (default: true)

  6. Returns updated domain details

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:

  1. Gets domain info (if type_kind is 'domain') to extract dataType/length/decimals

  2. Acquires lock on the data element

  3. Updates data element with provided parameters (complete replacement)

  4. Unlocks data element

  5. Optionally activates data element (default: true)

  6. Returns updated data element details

Supported type_kind values:

  • domain: Based on ABAP domain (requires type_name = domain name)

  • predefinedAbapType: Direct ABAP type (requires data_type, length, decimals)

  • refToPredefinedAbapType: Reference to ABAP type (requires data_type, length, decimals)

  • refToDictionaryType: Reference to another data element (requires type_name = data element name)

  • refToClifType: Reference to class (requires type_name = class name)

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

NameDescription

No prompts

Resources

Contextual data attached and managed by the client

NameDescription

No resources

Latest Blog Posts

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