ABAP-ADT-API MCP-Server
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| SAP_URL | Yes | The URL to access the ABAP system (e.g., https://your-sap-server.com:44300). | |
| SAP_USER | Yes | Your SAP username. | |
| SAP_CLIENT | No | The SAP client to connect to (optional but recommended). | |
| SAP_LANGUAGE | No | The SAP language for the session (optional but recommended). | |
| SAP_PASSWORD | Yes | Your SAP password. | |
| NODE_TLS_REJECT_UNAUTHORIZED | No | Set to "0" to allow connections to SAP servers using self-signed certificates. |
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 |
|---|---|
| loginC | 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. |
| searchPackageC | Get all objects in a package |
| 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 |
| inactiveObjectsB | Get list of inactive objects |
| objectRegistrationInfoC | Get registration information for an ABAP object |
| validateNewObjectC | Validate parameters for a new ABAP object |
| createObjectC | 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. |
| adtCoreDiscoveryC | Performs ADT core discovery. |
| adtCompatibiliyGraphC | Retrieves the ADT compatibility graph. |
| unitTestRunC | Runs unit tests. |
| unitTestEvaluationC | Evaluates unit test results. |
| unitTestOccurrenceMarkersC | Retrieves unit test occurrence markers. |
| createTestIncludeC | Creates a test include for a class. |
| prettyPrinterSettingA | Retrieves the pretty printer settings. |
| setPrettyPrinterSettingC | 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. |
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 128 tools
The tool set has significant overlap and ambiguity, particularly in areas like debugging (multiple 'debugger' tools with similar purposes), refactoring (evaluate/execute/preview patterns for extractMethod and rename), and Git operations (several 'git' tools that could be confused). While descriptions provide some differentiation, the sheer number of tools (128) exacerbates the problem, making it difficult for an agent to reliably choose the correct tool without deep domain knowledge.
Naming conventions are mixed, with a tendency toward camelCase (e.g., 'abapDocumentation', 'adtCompatibiliyGraph') but also snake_case (e.g., 'code_completion', 'pretty_printer_setting') and inconsistent verb usage (e.g., 'activateByName' vs. 'createObject' vs. 'getObjectSource'). While some patterns emerge (like evaluate/execute/preview for refactoring), the overall set lacks a uniform naming scheme, leading to readability issues.
With 128 tools, the count is excessive for a single server, indicating poor scoping. This many tools suggests the server is trying to cover too many disparate functionalities (e.g., ABAP development, debugging, Git operations, transport management, ATC checks), which could overwhelm agents and lead to confusion. A more modular approach with fewer, more focused tools would be more appropriate.
For the broad domain of ABAP development and system management, the tool set appears quite comprehensive, covering areas like object lifecycle (create, activate, delete), debugging, syntax checking, refactoring, Git integration, transport handling, and testing. However, minor gaps might exist, such as limited error handling or monitoring tools, but overall, the surface is well-covered for the intended purpose.