ABAP-ADT-API MCP-Server
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| SAP_URL | Yes | URL to access the ABAP system (e.g., https://your-sap-server.com:44300) | |
| SAP_USER | Yes | Your SAP username | |
| SAP_CLIENT | No | Your SAP client (optional but recommended) | |
| SAP_LANGUAGE | No | Your SAP language (optional but recommended) | |
| SAP_PASSWORD | Yes | Your SAP password | |
| NODE_TLS_REJECT_UNAUTHORIZED | No | Set to '0' if using self-signed certificates to disable TLS certificate validation |
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 | {} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| loginB | Authenticate with ABAP system |
| logoutB | Terminate ABAP session |
| dropSessionA | Clear local session cache |
| transportInfoC | Get transport information for an object source |
| createTransportB | Create a new transport request |
| hasTransportConfigB | Check if transport configuration exists |
| transportConfigurationsC | Retrieves transport configurations. |
| getTransportConfigurationB | Retrieves a specific transport configuration. |
| setTransportsConfigD | Sets transport configurations. |
| createTransportsConfigB | Creates transport configurations. |
| userTransportsC | Retrieves transports for a user. |
| transportsByConfigB | Retrieves transports by configuration. |
| transportDeleteC | Deletes a transport. |
| transportReleaseC | Releases a transport. |
| transportSetOwnerB | Sets the owner of a transport. |
| transportAddUserB | Adds a user to a transport. |
| systemUsersA | Retrieves a list of system users. |
| transportReferenceC | Retrieves a transport reference. |
| objectStructureC | Get object structure details |
| searchObjectC | Search for objects |
| findObjectPathC | Find path for an object |
| objectTypesD | Retrieves object types. |
| reentranceTicketC | Retrieves a reentrance ticket. |
| classIncludesC | Get class includes structure |
| classComponentsC | List class components |
| createTestIncludeC | Create test include for class |
| syntaxCheckCodeC | Perform ABAP syntax check with source code |
| syntaxCheckCdsUrlC | Perform ABAP syntax check with CDS URL |
| codeCompletionC | Get code completion suggestions |
| findDefinitionC | Find symbol definition |
| usageReferencesC | Find symbol references |
| syntaxCheckTypesB | Retrieves syntax check types. |
| codeCompletionFullC | Performs full code completion. |
| runClassD | Runs a class. |
| codeCompletionElementC | Retrieves code completion element information. |
| usageReferenceSnippetsC | Retrieves usage reference snippets. |
| fixProposalsD | Retrieves fix proposals. |
| fixEditsD | Applies fix edits. |
| fragmentMappingsC | Retrieves fragment mappings. |
| abapDocumentationC | Retrieves ABAP documentation. |
| lockC | Lock an object |
| unLockC | Unlock an object |
| getObjectSourceC | Retrieves source code for ABAP objects |
| setObjectSourceC | Sets source code for ABAP objects |
| deleteObjectB | Deletes an ABAP object from the system |
| activateObjectsB | Activate ABAP objects using object references |
| activateByNameC | Activate an ABAP object using name and URL |
| inactiveObjects | Get list of inactive objects |
| objectRegistrationInfoC | Get registration information for an ABAP object |
| validateNewObjectC | Validate parameters for a new ABAP object |
| createObject | Create a new ABAP object |
| nodeContentsC | Retrieves the contents of a node in the ABAP repository tree. |
| mainProgramsA | Retrieves the main programs for a given include. |
| featureDetailsB | Retrieves details for a given feature. |
| collectionFeatureDetailsB | Retrieves details for a given collection feature. |
| findCollectionByUrlA | Finds a collection by its URL. |
| loadTypesC | Loads object types. |
| adtDiscoveryD | Performs ADT discovery. |
| adtCoreDiscovery | Performs ADT core discovery. |
| adtCompatibiliyGraph | Retrieves the ADT compatibility graph. |
| unitTestRun | Runs unit tests. |
| unitTestEvaluation | Evaluates unit test results. |
| unitTestOccurrenceMarkers | Retrieves unit test occurrence markers. |
| createTestIncludeC | Creates a test include for a class. |
| prettyPrinterSetting | Retrieves the pretty printer settings. |
| setPrettyPrinterSetting | Sets the pretty printer settings. |
| prettyPrinterB | Formats ABAP code using the pretty printer. |
| gitReposB | Retrieves a list of Git repositories. |
| gitExternalRepoInfoC | Retrieves information about an external Git repository. |
| gitCreateRepoC | Creates a new Git repository. |
| gitPullRepoC | Pulls changes from a Git repository. |
| gitUnlinkRepoB | Unlinks a Git repository. |
| stageRepoC | Stages changes in a Git repository. |
| pushRepoB | Pushes changes to a Git repository. |
| checkRepoD | Checks a Git repository. |
| remoteRepoInfoC | Retrieves information about a remote Git repository. |
| switchRepoBranchB | Switches the branch of a Git repository. |
| annotationDefinitionsB | Retrieves annotation definitions. |
| ddicElementC | Retrieves information about a DDIC element. |
| ddicRepositoryAccessD | Accesses the DDIC repository. |
| packageSearchHelpD | Performs a package search help. |
| publishServiceBindingC | Publishes a service binding. |
| unPublishServiceBindingC | Unpublishes a service binding. |
| bindingDetailsC | Retrieves details of a service binding. |
| tableContentsB | Retrieves the contents of an ABAP table. |
| runQueryC | Runs a SQL query on the target system. |
| feedsB | Retrieves a list of feeds. |
| dumpsC | Retrieves a list of dumps. |
| debuggerListenersC | Retrieves a list of debugger listeners. |
| debuggerListenC | Listens for debugging events. |
| debuggerDeleteListenerC | Stops a debug listener. |
| debuggerSetBreakpointsC | Sets breakpoints. |
| debuggerDeleteBreakpointsC | Deletes breakpoints. |
| debuggerAttachC | Attaches the debugger. |
| debuggerSaveSettingsC | Saves debugger settings. |
| debuggerStackTraceC | Retrieves the debugger stack trace. |
| debuggerVariablesC | Retrieves debugger variables. |
| debuggerChildVariablesB | Retrieves child variables of a debugger variable. |
| debuggerStepC | Performs a debugger step. |
| debuggerGoToStackB | Navigates to a specific stack entry in the debugger. |
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 118 tools
Many tools have overlapping or unclear boundaries, such as the multiple transport configuration tools (transportConfigurations, getTransportConfiguration, setTransportsConfig, createTransportsConfig, hasTransportConfig) and the numerous debugger tools with similar names (debuggerListeners, debuggerListen, debuggerAttach, debuggerVariables, debuggerChildVariables). The mix of generic operations like loadTypes, objectTypes, and collectionFeatureDetails also creates ambiguity.
Naming is inconsistent: some tools use camelCase (adtDiscovery, loadTypes, syntaxCheckCode), some use snake_case (unLock, setObjectSource), and some use mixed patterns (createTransportsConfig vs transportConfigurations). Verb placement varies (transportDelete vs deleteObject, gitCreateRepo vs createTransport), and there is no consistent verb_noun or noun_verb convention.
118 tools is far beyond the typical well-scoped server range. The server attempts to cover ADT discovery, transports, debugging, Git, ATC, traces, refactoring, and more, resulting in a sprawling surface that is difficult to navigate. This extreme count suggests the server is trying to expose an entire API rather than a curated tool set.
The tool set covers many ABAP development lifecycle areas: source retrieval/editing, activation, syntax checks, transports, debugging, ATC, Git, and traces. However, there are notable gaps and inconsistencies, such as no explicit tool for creating or deleting classes/programs (only validateNewObject and deleteObject), and the transport lifecycle is fragmented across many configuration tools. The breadth is high but the depth per area is uneven.