mcp-abap-adt
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
No arguments | |||
Instructions
Guidance the server publishes about itself, which clients place ahead of the tool catalog so the model reads it before choosing anything.
This server publishes no instructions, or was last inspected before Glama recorded them.
Capabilities
Features and capabilities supported by this server
Protocol revision2025-11-25
| 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] Read ANY single ABAP include source by name, from anywhere in the repository (an include may live outside any single program tree). This is the correct tool for include names (PROG/I) — ReadProgram does not read includes. |
| 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. |
| GetEnhancementSpotA | [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. |
| GetTransportA | [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. |
| GetStructuresListA | [read-only] Recursively list the structures embedded in an ABAP structure (.INCLUDE / append), as a tree. |
| GetObjectVersionsB | [read-only] List the version history of an ABAP object. Returns each version with its versionId, author, updatedAt, title, the transportRequest (and transportDescription) that produced it when available, and an opaque content_uri to fetch that version source via GetObjectVersionSource. |
| GetObjectVersionSourceA | [read-only] Fetch the source code of a specific object version. Pass the opaque content_uri from a GetObjectVersions entry. |
| GetObjectVersionDiffA | [read-only] Compute a unified diff between two object versions. Pass the two opaque content_uris from GetObjectVersions entries; returns the unified diff (jsdiff) of their sources. |
| ReadFunctionIncludeA | [read-only] Read ABAP function group include source code and metadata. Answers: "show function group include code", "display include source", "view include of function group". Returns source code and include metadata. |
| ListFunctionGroupIncludesB | [read-only] List the includes (TOP, custom) of an ABAP function group. |
| ListFunctionModulesB | [read-only] List the function modules of an ABAP function group. |
| GetTypeInfoA | [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. |
| RuntimeGetDumpByIdA | [runtime] Read a specific ABAP runtime dump by its ID. First use RuntimeListFeeds to find dumps and get their IDs, then pass dump_id here to read the full dump content. |
| RuntimeRunClassB | [runtime] Execute an ABAP class implementing if_oo_adt_classrun and return its output. Set profile=true to also capture a profiler trace (returns profilerId/traceId alongside output). |
| RuntimeRunClassWithProfilingA | [runtime][deprecated] Execute ABAP class with profiler enabled and return created profilerId + traceId. Prefer RuntimeRunClass with profile=true; this tool is kept for backward compatibility and will be removed in a future major release. |
| RuntimeAnalyzeProfilerTraceB | [runtime] Read profiler trace view and return compact analysis summary (totals + top entries). |
| 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. |
| RuntimeListSystemMessagesB | [runtime] List SM02 system messages. Returns structured entries with id, title, text, severity, validity period, and author. |
| 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] Search where-used references — find all objects that reference or depend on a given ABAP object. Answers: "where is X used", "who calls X", "what depends on X", "show usages of X". Returns referencing objects with types and packages. Supports a fixed set of object types (see object_type). Object types outside the supported list (e.g. RAP behavior definitions, service definitions/bindings, BAdI, search helps, message classes, classic DDIC views) are NOT supported and will fail. |
| 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. |
| GetAbapSemanticAnalysisB | [read-only] Perform semantic analysis on ABAP code and return symbols, types, scopes, and dependencies. |
| GetAbapSystemSymbolsB | [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. |
| 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. |
| GetVirtualFoldersLowA | [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. |
| GetPackageTreeA | [high-level] Retrieve complete package tree structure including subpackages and objects. Returns hierarchical tree with object names, types, and descriptions. |
| ActivateObjectsA | Activate one or multiple ABAP repository objects. Use after Create/Update when objects remain inactive, or for group activation of related objects (e.g., domains + data elements + tables together). Works with any object type. |
| ActivateDomainA | Activate an ABAP domain. Use after CreateDomain or UpdateDomain if the object remains inactive. |
| ActivateDataElementA | Activate an ABAP data element. Use after CreateDataElement or UpdateDataElement if the object remains inactive. |
| ActivateTableA | Activate an ABAP table. Use after CreateTable or UpdateTable if the object remains inactive. |
| ActivateStructureA | Activate an ABAP structure. Use after CreateStructure or UpdateStructure if the object remains inactive. |
| ActivateDdlA | Activate a CDS view. Use after CreateDdl or UpdateDdl if the object remains inactive. |
| ActivateClassA | Activate an ABAP class. Use after CreateClass or UpdateClass if the object remains inactive. |
| ActivateInterfaceA | Activate an ABAP interface. Use after CreateInterface or UpdateInterface if the object remains inactive. |
| ActivateFunctionModuleA | Activate an ABAP function module. Use after UpdateFunctionModule if the object remains inactive. |
| ActivateFunctionGroupA | Activate an ABAP function group. Use after CreateFunctionGroup or UpdateFunctionGroup if the object remains inactive. |
| ActivateBehaviorDefinitionA | Activate a RAP behavior definition. Use after CreateBehaviorDefinition or UpdateBehaviorDefinition if the object remains inactive. |
| ActivateMetadataExtensionA | Activate a CDS metadata extension. Use after CreateMetadataExtension or UpdateMetadataExtension if the object remains inactive. |
| ActivateServiceDefinitionA | Activate an ABAP service definition. Use after CreateServiceDefinition or UpdateServiceDefinition if the object remains inactive. |
| ActivateServiceBindingA | Activate an ABAP service binding. Use after CreateServiceBinding or UpdateServiceBinding if the object remains inactive. |
| CreatePackageC | 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. |
| CreateDomainC | Operation: Create. Subject: Domain. Will be useful for creating domain. Create a new ABAP domain in SAP system. Creates the domain object in initial state. |
| GetDomainB | Retrieve ABAP domain definition. Supports reading active or inactive version. |
| UpdateDomainC | Operation: Update, Create. Subject: Domain. Will be useful for updating or creating domain. Update an existing ABAP domain. Locks, updates with provided parameters (complete replacement), unlocks, and optionally activates. |
| DeleteDomainA | Delete an ABAP domain from the SAP system. Includes deletion check before actual deletion. Transport request optional for $TMP objects. |
| GetMessageClassA | Retrieve an ABAP message class (MSAG/T100) with its messages: name, description, package, master language and the message list (msgno, msgtext, self-explanatory). |
| CreateMessageClassA | Operation: Create. Subject: Message Class (MSAG). Create a new ABAP message class (T100) shell. Individual messages are added afterwards with CreateMessageClassMessage. Message classes are not activated. |
| UpdateMessageClassA | Operation: Update. Subject: Message Class (MSAG). Update a message class header (e.g. its description). To add or change individual messages use CreateMessageClassMessage / UpdateMessageClassMessage. |
| DeleteMessageClassA | Delete an ABAP message class (MSAG) and all of its messages from the SAP system. Includes a deletion check before the actual deletion. Transport request required for transportable objects, optional for local ($TMP). |
| GetMessageClassMessageA | Retrieve a single message (by number) from an ABAP message class (MSAG/T100). Returns msgno, msgtext, self-explanatory flag and description. |
| CreateMessageClassMessageA | Operation: Create. Subject: a single message inside a Message Class (MSAG). Add a message (number + text) to an existing ABAP message class (T100). The parent class must exist first (CreateMessageClass). |
| UpdateMessageClassMessageA | Operation: Update. Subject: a single message inside a Message Class (MSAG). Change the text / flags of an existing message in an ABAP message class (T100). Upserts the message if it does not exist yet. |
| DeleteMessageClassMessageA | Operation: Delete. Subject: a single message inside a Message Class (MSAG). Remove one message (by number) from an ABAP message class (T100), keeping the class and its other messages. Transport request required for transportable objects. |
| CreateDataElementC | Operation: Create. Subject: DataElement. Will be useful for creating data element. Create a new ABAP data element in SAP system. Creates the data element object in initial state. |
| GetDataElementB | Retrieve ABAP data element definition. Supports reading active or inactive version. |
| UpdateDataElementC | Operation: Update, Create. Subject: DataElement. Will be useful for updating or creating data element. Update an existing ABAP data element. Locks, updates with provided parameters (complete replacement), unlocks, and optionally activates. |
| 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. |
| CreateTableC | Operation: Create. Subject: Table. Will be useful for creating table. Create a new ABAP table in SAP system. Creates the table object in initial state. |
| GetTableA | Retrieve ABAP table definition. Supports reading active or inactive version. |
| UpdateTableB | Operation: Update, Create. Subject: Table. Will be useful for updating or creating table. Update DDL source code of an existing ABAP table. Locks, updates, unlocks, and optionally activates. |
| DeleteTableA | Delete an ABAP table from the SAP system. Includes deletion check before actual deletion. Transport request optional for $TMP objects. |
| CreateStructureC | Operation: Create. Subject: Structure. Will be useful for creating structure. Create a new ABAP structure in SAP system. Creates the structure object in initial state. |
| GetStructureB | Retrieve ABAP structure definition. Supports reading active or inactive version. |
| UpdateStructureA | Operation: Update, Create. Subject: Structure. Will be useful for updating or creating structure. Update DDL source code of an existing ABAP structure. Locks, updates, unlocks, and optionally activates. |
| DeleteStructureA | Delete an ABAP structure from the SAP system. Includes deletion check before actual deletion. Transport request optional for $TMP objects. |
| CreateDdlA | Operation: Create. Subject: DDL source. Will be useful for creating a DDL source. Create a new CDS View or Classic View in SAP system. Creates the DDL source object in initial state. Use UpdateDdl to set DDL source code. |
| GetDdlA | Retrieve ABAP DDL source definition. Supports reading active or inactive version. |
| UpdateDdlA | Operation: Update, Create. Subject: DDL source. Will be useful for updating or creating a DDL source. Update DDL source code of an existing CDS View or Classic View. Locks, updates, unlocks, and optionally activates. Use CreateDdl to create a new DDL source. |
| DeleteDdlA | Delete a DDL source from the SAP system. Includes deletion check before actual deletion. Transport request optional for $TMP objects. |
| CreateServiceDefinitionC | Operation: Create. Subject: ServiceDefinition. Will be useful for creating service definition. Create a new ABAP service definition in SAP system. Creates the service definition object in initial state. |
| GetServiceDefinitionA | Retrieve ABAP service definition definition. Supports reading active or inactive version. |
| UpdateServiceDefinitionC | Operation: Update, Create. Subject: ServiceDefinition. Will be useful for updating or creating service definition. Update source code of an existing ABAP service definition. Locks, updates, unlocks, and optionally activates. |
| DeleteServiceDefinitionA | Delete an ABAP service definition from the SAP system. Includes deletion check before actual deletion. Transport request optional for $TMP objects. |
| CreateServiceBindingC | Operation: Create. Subject: ServiceBinding. Will be useful for creating service binding. Create a new ABAP service binding in SAP system. Creates the service binding object in initial state. |
| 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 | Operation: Update, Create. Subject: ServiceBinding. Will be useful for updating or creating service binding. Update publication state of an existing ABAP service binding. |
| 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. |
| CreateClassC | Operation: Create. Subject: Class. Will be useful for creating class. Create a new ABAP class in SAP system. Creates the class object in initial state. |
| UpdateClassC | Operation: Update, Create. Subject: Class. Will be useful for updating or creating class. Update source code of an existing ABAP class. Locks, 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. |
| GetCdsUnitTestResultB | Retrieve CDS unit test run result for a run_id. |
| UpdateCdsUnitTestC | Update a CDS unit test class local test class source code. |
| DeleteCdsUnitTestB | Delete a CDS unit test class (global class). |
| GetLocalTestClassB | Retrieve local test class source code from a class. Supports reading active or inactive version. |
| UpdateLocalTestClassA | Update a local test class in an ABAP class. Manages lock, check, update, unlock, and optional activation of parent class. |
| DeleteLocalTestClassA | Delete a local test class from an ABAP class by clearing the testclasses include. Manages lock, update, unlock, and optional activation of parent class. |
| GetLocalTypesA | Retrieve local types source code from a class (implementations include). Supports reading active or inactive version. |
| UpdateLocalTypesA | Update local types in an ABAP class (implementations include). Manages lock, check, update, unlock, and optional activation. |
| DeleteLocalTypesA | Delete local types from an ABAP class by clearing the implementations include. Manages lock, update, unlock, and optional activation. |
| GetLocalDefinitionsB | Retrieve local definitions source code from a class (definitions include). Supports reading active or inactive version. |
| UpdateLocalDefinitionsA | Update local definitions in an ABAP class (definitions include). Manages lock, check, update, unlock, and optional activation. |
| DeleteLocalDefinitionsB | Delete local definitions from an ABAP class by clearing the definitions include. Manages lock, update, unlock, and optional activation. |
| GetLocalMacrosA | Retrieve local macros source code from a class (macros include). Supports reading active or inactive version. Note: Macros are supported in older ABAP versions but not in newer ones. |
| UpdateLocalMacrosB | Update local macros in an ABAP class (macros include). Manages lock, check, update, unlock, and optional activation. Note: Macros are supported in older ABAP versions but not in newer ones. |
| DeleteLocalMacrosA | Delete local macros from an ABAP class by clearing the macros include. Manages lock, update, unlock, and optional activation. Note: Macros are supported in older ABAP versions but not in newer ones. |
| CreateInterfaceB | Operation: Create. Subject: Interface. Will be useful for creating interface. Create a new ABAP interface in SAP system. Creates the interface object in initial state. |
| GetInterfaceB | Retrieve ABAP interface definition. Supports reading active or inactive version. |
| UpdateInterfaceC | Operation: Update, Create. Subject: Interface. Will be useful for updating or creating interface. Update source code of an existing ABAP interface. Locks, updates, unlocks, and optionally activates. |
| DeleteInterfaceA | Delete an ABAP interface from the SAP system. Includes deletion check before actual deletion. Transport request optional for $TMP objects. |
| CreateFunctionGroupA | Create a new ABAP function group in SAP system. Function groups serve as containers for function modules. Uses stateful session for proper lock management. |
| GetFunctionGroupB | Retrieve ABAP function group definition. Supports reading active or inactive version. |
| UpdateFunctionGroupA | Update metadata (description) of an existing ABAP function group. Function groups are containers for function modules and don't have source code to update directly. Uses stateful session with proper lock/unlock mechanism. |
| DeleteFunctionGroupA | Delete an ABAP function group from the SAP system. Includes deletion check before actual deletion. Transport request optional for $TMP objects. |
| CreateFunctionModuleC | Operation: Create. Subject: FunctionModule. Will be useful for creating function module. Create a new ABAP function module within an existing function group. Creates the function module in initial state. |
| GetFunctionModuleB | Retrieve ABAP function module definition. Supports reading active or inactive version. |
| UpdateFunctionModuleC | Operation: Update, Create. Subject: FunctionModule. Will be useful for updating or creating function module. Update source code of an existing ABAP function module. Locks, updates, unlocks, and optionally activates. |
| DeleteFunctionModuleB | Delete an ABAP function module from the SAP system. Includes deletion check before actual deletion. Transport request optional for $TMP objects. |
| CreateFunctionIncludeB | Operation: Create. Subject: FunctionInclude. Will be useful for creating function group include. Create a new ABAP include within an existing function group. Creates the include in initial state. |
| UpdateFunctionIncludeB | Operation: Update. Subject: FunctionInclude. Will be useful for updating a function group include. Update source code of an existing ABAP function group include. |
| DeleteFunctionIncludeA | Delete an ABAP function group include from the SAP system. Note: function module includes must be deleted via the Function Builder; the backend rejects such deletions. Transport request optional for $TMP objects. |
| CreateBehaviorDefinitionC | Operation: Create. Subject: BehaviorDefinition. Will be useful for creating behavior definition. Create a new ABAP Behavior Definition (BDEF) in SAP system. Creates the behavior definition object in initial state. |
| GetBehaviorDefinitionB | Retrieve ABAP behavior definition definition. Supports reading active or inactive version. |
| UpdateBehaviorDefinitionB | Operation: Update, Create. Subject: BehaviorDefinition. Will be useful for updating or creating behavior definition. Update source code of an existing ABAP Behavior Definition (BDEF). Locks, updates, unlocks, and optionally activates. |
| DeleteBehaviorDefinitionA | Delete an ABAP behavior definition from the SAP system. Includes deletion check before actual deletion. Transport request optional for $TMP objects. |
| CreateBehaviorImplementationA | Create a new ABAP behavior implementation class for a behavior definition. Creates the object in initial state. Use UpdateBehaviorImplementation to set implementation code afterwards. |
| GetBehaviorImplementationC | Retrieve ABAP behavior implementation definition. Supports reading active or inactive version. |
| UpdateBehaviorImplementationA | Update source code of an existing ABAP behavior implementation class. Updates both main source (with FOR BEHAVIOR OF clause) and implementations include. Uses stateful session with proper lock/unlock mechanism. |
| DeleteBehaviorImplementationA | Delete an ABAP behavior implementation from the SAP system. Includes deletion check before actual deletion. Transport request optional for $TMP objects. |
| CreateMetadataExtensionB | Operation: Create. Subject: MetadataExtension. Will be useful for creating metadata extension. Create a new ABAP Metadata Extension (DDLX) in SAP system. Creates the metadata extension object in initial state. |
| GetMetadataExtensionC | Retrieve ABAP metadata extension definition. Supports reading active or inactive version. |
| UpdateMetadataExtensionB | Operation: Update, Create. Subject: MetadataExtension. Will be useful for updating or creating metadata extension. Update source code of an existing ABAP Metadata Extension (DDLX). Locks, updates, unlocks, and optionally activates. |
| DeleteMetadataExtensionA | Delete an ABAP metadata extension from the SAP system. Includes deletion check before actual deletion. Transport request optional for $TMP objects. |
| CheckBehaviorDefinitionB | Perform syntax check on an ABAP behavior definition (BDEF). Returns syntax errors, warnings, and messages. |
| CheckClassA | Perform syntax check on an ABAP class. Can check existing class (active/inactive) or validate hypothetical source code. Returns syntax errors, warnings, and messages. |
| CheckDataElementA | Perform syntax check on an ABAP data element. Returns syntax errors, warnings, and messages. |
| CheckDomainB | Perform syntax check on an ABAP domain. Returns syntax errors, warnings, and messages. |
| CheckFunctionGroupA | Perform syntax check on an ABAP function group. Returns syntax errors, warnings, and messages. |
| CheckFunctionModuleB | Perform syntax check on an ABAP function module. Returns syntax errors, warnings, and messages. |
| CheckInterfaceA | Perform syntax check on an ABAP interface. Returns syntax errors, warnings, and messages. |
| CheckMetadataExtensionB | Perform syntax check on an ABAP metadata extension (DDLX). Returns syntax errors, warnings, and messages. |
| CheckPackageB | Perform syntax check on an ABAP package. Returns syntax errors, warnings, and messages. |
| CheckStructureA | Perform syntax check on an ABAP structure. Can check existing structure (active/inactive) or validate hypothetical DDL code. Returns syntax errors, warnings, and messages. |
| CheckTableA | Perform syntax check on an ABAP table. Can check existing table (active/inactive) or validate hypothetical DDL code. Returns syntax errors, warnings, and messages. |
| CheckDdlA | Perform syntax check on an ABAP CDS view. Can check existing view (active/inactive) or validate hypothetical DDL source. Returns syntax errors, warnings, and messages. |
| GetClassVersionsA | [read-only] List the SAP version history of a ABAP class. Returns each version with its versionId, author, updatedAt, title, the transportRequest (and transportDescription) that produced it when available, and an opaque content_uri to fetch that version's source via GetClassVersionSource. |
| GetClassVersionSourceA | [read-only] Fetch the source of a specific ABAP class version by its content_uri (taken from a GetClassVersions entry). |
| GetClassVersionDiffA | [read-only] Compute a unified diff between two ABAP class versions, by their content_uris (taken from GetClassVersions entries). |
| GetInterfaceVersionsA | [read-only] List the SAP version history of a ABAP interface. Returns each version with its versionId, author, updatedAt, title, the transportRequest (and transportDescription) that produced it when available, and an opaque content_uri to fetch that version's source via GetInterfaceVersionSource. |
| GetInterfaceVersionSourceA | [read-only] Fetch the source of a specific ABAP interface version by its content_uri (taken from a GetInterfaceVersions entry). |
| GetInterfaceVersionDiffA | [read-only] Compute a unified diff between two ABAP interface versions, by their content_uris (taken from GetInterfaceVersions entries). |
| GetFunctionModuleVersionsA | [read-only] List the SAP version history of a ABAP function module. Returns each version with its versionId, author, updatedAt, title, the transportRequest (and transportDescription) that produced it when available, and an opaque content_uri to fetch that version's source via GetFunctionModuleVersionSource. |
| GetFunctionModuleVersionSourceA | [read-only] Fetch the source of a specific ABAP function module version by its content_uri (taken from a GetFunctionModuleVersions entry). |
| GetFunctionModuleVersionDiffA | [read-only] Compute a unified diff between two ABAP function module versions, by their content_uris (taken from GetFunctionModuleVersions entries). |
| GetTableVersionsA | [read-only] List the SAP version history of a ABAP table. Returns each version with its versionId, author, updatedAt, title, the transportRequest (and transportDescription) that produced it when available, and an opaque content_uri to fetch that version's source via GetTableVersionSource. |
| GetTableVersionSourceA | [read-only] Fetch the source of a specific ABAP table version by its content_uri (taken from a GetTableVersions entry). |
| GetTableVersionDiffA | [read-only] Compute a unified diff between two ABAP table versions, by their content_uris (taken from GetTableVersions entries). |
| GetStructureVersionsA | [read-only] List the SAP version history of a ABAP structure. Returns each version with its versionId, author, updatedAt, title, the transportRequest (and transportDescription) that produced it when available, and an opaque content_uri to fetch that version's source via GetStructureVersionSource. |
| GetStructureVersionSourceA | [read-only] Fetch the source of a specific ABAP structure version by its content_uri (taken from a GetStructureVersions entry). |
| GetStructureVersionDiffA | [read-only] Compute a unified diff between two ABAP structure versions, by their content_uris (taken from GetStructureVersions entries). |
| GetDdlVersionsA | [read-only] List the SAP version history of a CDS view (DDL source). Returns each version with its versionId, author, updatedAt, title, the transportRequest (and transportDescription) that produced it when available, and an opaque content_uri to fetch that version's source via GetDdlVersionSource. |
| GetDdlVersionSourceA | [read-only] Fetch the source of a specific CDS view (DDL source) version by its content_uri (taken from a GetDdlVersions entry). |
| GetDdlVersionDiffA | [read-only] Compute a unified diff between two CDS view (DDL source) versions, by their content_uris (taken from GetDdlVersions entries). |
| GetBehaviorDefinitionVersionsA | [read-only] List the SAP version history of a RAP behavior definition. Returns each version with its versionId, author, updatedAt, title, the transportRequest (and transportDescription) that produced it when available, and an opaque content_uri to fetch that version's source via GetBehaviorDefinitionVersionSource. |
| GetBehaviorDefinitionVersionSourceA | [read-only] Fetch the source of a specific RAP behavior definition version by its content_uri (taken from a GetBehaviorDefinitionVersions entry). |
| GetBehaviorDefinitionVersionDiffA | [read-only] Compute a unified diff between two RAP behavior definition versions, by their content_uris (taken from GetBehaviorDefinitionVersions entries). |
| GetMetadataExtensionVersionsA | [read-only] List the SAP version history of a CDS metadata extension. Returns each version with its versionId, author, updatedAt, title, the transportRequest (and transportDescription) that produced it when available, and an opaque content_uri to fetch that version's source via GetMetadataExtensionVersionSource. |
| GetMetadataExtensionVersionSourceA | [read-only] Fetch the source of a specific CDS metadata extension version by its content_uri (taken from a GetMetadataExtensionVersions entry). |
| GetMetadataExtensionVersionDiffA | [read-only] Compute a unified diff between two CDS metadata extension versions, by their content_uris (taken from GetMetadataExtensionVersions entries). |
| SearchObjectA | [read-only] Search ABAP repository by object name or wildcard pattern (e.g. 'ZOK*'). Answers: "find object X", "does X exist", "list objects matching...", "search for program/class/table by name". Supports all repository object types — optionally filter by type (PROG, CLAS, INTF, DEVC, TABL, DDLS, DTEL, FUGR, SRVD, SRVB, BDEF, DDLX, etc.). |
| GetObjectsListA | [read-only] Recursively retrieves all child ABAP repository objects for a given parent — programs (PROG), function groups (FUGR), classes (CLAS), packages (DEVC), and other composite objects — including nested includes and subcomponents. |
| GetObjectsByTypeC | [read-only] Retrieves all ABAP objects of a specific type (classes, tables, programs, interfaces, etc.) under a given parent node. Useful for listing all objects of one type within a package or composite object. |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
No prompts | |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
No resources | |
TDQS
Scored across 193 tools
Tools are generally distinct by object type (class, interface, table, etc.) but there are several confusing overlaps: GetObjectVersions vs GetClassVersions, GetUnitTest vs GetUnitTestStatus vs GetUnitTestResult, and RunUnitTest vs CreateUnitTest are nearly identical. The low-level tools (GetObjectStructureLow, GetNodeStructureLow) add ambiguity despite descriptions.
Most tools follow a clear Get/Create/Update/Delete/Activate/Check + object pattern, but there are deviations like ListTransports, ReadFunctionInclude, DescribeByList, and GetSqlQuery. Also a mix of List and Get for similar operations, and some low-level suffixes (Low) break the pattern.
193 tools is extremely excessive for any MCP server, even a comprehensive ABAP development tool. Many tools are redundant (e.g., GetObjectVersions alongside type-specific version tools, multiple unit test status tools), and the surface could be reduced to ~50 tools without losing functionality.
The tool set covers the full lifecycle of ABAP development objects: create/read/update/delete for most types, plus activation, syntax checks, version history, diffs, unit testing, and runtime profiling. Minor gaps include missing update/delete for packages and some service definition operations, but the coverage is generally strong.