SAP ADT MCP Server
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| SAP_SYSNR | Yes | System number (port = 443 + sysnr) | |
| SAP_CLIENT | Yes | SAP client | |
| SAP_HOSTNAME | Yes | SAP system hostname | |
| SAP_PASSWORD | Yes | SAP password | |
| SAP_USERNAME | Yes | SAP user |
Capabilities
Features and capabilities supported by this server
| Capability | Details |
|---|---|
| tools | {} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| list_systemsA | List all configured SAP systems with their IDs, hostnames, and client numbers. |
| get_abap_programB | Fetch ABAP program/report source code from SAP system |
| get_data_elementB | Fetch DDIC data element definition from SAP system |
| get_structureB | Fetch DDIC structure definition from SAP system |
| get_function_moduleB | Fetch function module source code from SAP system |
| get_classA | Fetch ABAP class source code from SAP system |
| get_cds_viewA | Fetch CDS view DDL source definition from SAP system |
| execute_programA | Execute an ABAP program/report on the SAP system and return the list output. The program must be activated. Returns the WRITE output as plain text. |
| create_cds_viewA | Create a new CDS view (DDL source) in the SAP system. Creates the DDL source, writes the definition, and activates it. By default creates in $TMP. |
| change_cds_viewA | Modify an existing CDS view (DDL source) in the SAP system. Locks the object, writes the new source, activates, and unlocks. Use get_cds_view first to read the current source. |
| change_abap_programA | Modify an existing ABAP program/report in the SAP system. Locks the object, writes the new source, activates, and unlocks. Use get_abap_program first to read the current source. |
| create_abap_programA | Create a new ABAP program/report in the SAP system. Creates the program, writes source code, and activates it. By default creates in $TMP (local objects, no transport required). |
| create_abap_classA | Create a new ABAP class in the SAP system. Creates the class, writes source code, and activates it. By default creates in $TMP (local objects, no transport required). |
| change_abap_classA | Modify an existing ABAP class in the SAP system. Locks the object, writes the new source, activates, and unlocks. Use get_class first to read the current source. |
| create_interfaceA | Create a new ABAP interface in the SAP system. Creates the interface, writes source code, and activates it. By default creates in $TMP (local objects, no transport required). |
| change_interfaceA | Modify an existing ABAP interface in the SAP system. Locks the object, writes the new source, activates, and unlocks. Use get_interface first to read the current source. |
| get_function_groupB | Fetch ABAP function group source code from SAP system |
| get_includeB | Fetch ABAP include source code from SAP system |
| get_interfaceB | Fetch ABAP interface source code from SAP system |
| get_tableA | Fetch ABAP database table definition from SAP system |
| get_domainB | Fetch DDIC domain definition from SAP system |
| get_transactionA | Fetch ABAP transaction details (package, application component) from SAP system |
| get_packageA | Fetch ABAP package contents (list of objects with types and descriptions) from SAP system |
| search_objectB | Search for ABAP repository objects by name pattern. Supports wildcards (*) for partial matches. |
| get_transport_infoC | Check transport info for an ABAP object. Returns available transports and lock status. |
| create_transportB | Create a new transport request in the SAP system |
| list_user_transportsA | List all modifiable transport requests for the current SAP user. Returns TR number, type, status, date, and description. |
| get_transportB | Get full details of a transport request by number. Returns description, status, owner, target system, tasks, and object list. |
| release_transportB | Release a transport request for import into target systems |
| delete_transportB | Delete a transport request from the SAP system |
| list_system_usersA | List SAP system users. Useful for transport ownership and user lookups. |
| list_tracesA | List ABAP runtime traces (SAT/SE30) for a user. Traces must be created via SAP GUI (transaction SAT or SE30) since the ADT REST API cannot profile programrun executions. |
| get_trace_hitlistB | Get performance hit list for a trace (most expensive calls) |
| get_trace_db_accessC | Get database access statistics for a trace |
| get_trace_statementsA | Get aggregated call tree with statement-level performance for a trace |
| delete_traceB | Delete a runtime trace |
| create_trace_configB | Create a trace collection configuration to capture an ABAP runtime trace |
| delete_trace_configC | Delete a trace collection configuration |
| get_binding_detailsB | Get OData service binding details (service URLs, versions, status) |
| publish_service_bindingC | Publish an OData service binding to make it accessible |
| unpublish_service_bindingB | Unpublish an OData service binding |
| start_debugger_listenerA | Start an ABAP debugger listener. Opens a stateful session and waits for a debug event. Must call stop_debugger_listener when done. |
| stop_debugger_listenerA | Stop the debugger listener and close the stateful debug session |
| set_debugger_breakpointB | Set a breakpoint at a specific source location in the debugger |
| delete_debugger_breakpointB | Remove a breakpoint from the debugger |
| attach_debuggerB | Attach the debugger to a running ABAP session |
| get_debugger_stackB | Get the current call stack in the debugger |
| get_debugger_variablesA | Get variable values in the current debug context. Returns value statements for each variable. |
| get_debugger_child_variablesB | Get child/nested variable values (structure components, table rows) |
| debugger_stepA | Execute a debug step. stepInto/stepOver/stepReturn/stepContinue use batch mode (step+getStack). stepRunToLine/stepJumpToLine/terminateDebuggee use action mode. |
| debugger_goto_stackB | Navigate to a specific stack frame in the debugger |
| set_debugger_variable_valueC | Set a variable value during debugging |
| get_debugger_sessionA | Check if a debugger session is currently attached. Returns session info without blocking. |
| insert_watchpointA | Set a watchpoint on a variable. Execution will pause when the variable's value changes. Must have an active debug session. |
| get_watchpointsB | List all active watchpoints in the current debug session. |
| enable_st05_traceA | Enable ST05 performance trace (SQL trace, buffer trace, etc.) for a specific user. By default enables SQL trace with stack trace. The trace runs continuously until disabled with disable_st05_trace. |
| disable_st05_traceB | Disable ST05 performance trace. Stops all active trace collection on the server. |
| get_st05_trace_stateA | Get the current ST05 performance trace state — shows which trace types are active, the user filter, and server info. |
| enable_cross_traceA | Enable ABAP Cross Trace for a user. Traces RAP, OData, SADL, BAdI, Gateway and other framework components continuously (up to max_traces). Unlike SAT trace which captures only 1 execution, cross trace captures multiple requests over time. |
| disable_cross_traceA | Disable an ABAP Cross Trace activation by its ID. Use get_cross_trace_activations to find the activation ID. |
| get_cross_trace_activationsB | List all active ABAP Cross Trace activations. Shows activation IDs, user filters, enabled state, expiry, and component count. |
| list_cross_tracesB | List captured ABAP Cross Trace results for a user. Shows trace IDs, request types (OData V2/V4, URL, RFC, etc.), and service names. |
| get_cross_trace_recordsA | Get detailed records for a specific cross trace. Shows framework-level trace records with components, timestamps, and content. |
| get_csrf_tokenA | Fetch a CSRF token and session cookie from the SAP system. Useful for making authenticated POST/PUT/DELETE requests to ADT or other SAP ICF services. |
| execute_sqlA | Execute an ABAP SQL query on the SAP system and return results as a table. Use standard ABAP SQL syntax (e.g. SELECT vbeln, erdat FROM vbak UP TO 10 ROWS). |
| fetch_st22_dumpsA | Fetch ABAP runtime error dumps (ST22/short dumps) for a specific date. Returns dump time, user, runtime error type, and program. Queries the SNAP table and parses the encoded dump headers. |
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
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/ethanhan2014/sap-adt-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server