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 |
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 |
|---|---|
| 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
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
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