Skip to content
Agentmart
Submit a tool

Abap Adt MCP

ABAP development from Claude and other MCP hosts: source, transports, tests, ATC, debugger

Connector by williansaez · GitHub account verified by the MCP Registry

IndexedMITLocal (stdio)★ 15
Write a review

Install

Works with Claude Code, Codex, VS Code, Cursor, Windsurf, Claude Desktop. Read the repository before you give any tool access to your data.

npx agentmarket install connector/williansaez-abap-adt-mcp

Asks which of your tools to add it to (Claude Code, Codex, Cursor, VS Code, Windsurf, Gemini CLI, Claude Desktop) and shows the change first. See https://agentmart.dev/cli.

Get the weekly diff

The weekly diff: one email a week with new agent tools, notable updates and grade changes, plus security alerts for tools you follow. Double opt-in, one-click unsubscribe.

We use your email only for this newsletter. Privacy

About

ABAP development from Claude and other MCP hosts: source, transports, tests, ATC, debugger

Use cases: code-generation, testing

No reviews yet. Installed it? Reviews come from verified installers only. How reviews work

Permissions

What this server can do and what it asks for, from its tool list, install config and code. Checked Oct 25, 2026.

Tools
88 read · 49 write · 9 delete · 27 not yet classified
Secrets
6 (API keys, tokens or passwords)
Install scripts
None found
Runs as
Node.js package

Tools by what they do 173

Read from the source code; the running server may list different tools.

Read 88 · Look things up without changing anything.

  • adtCompatibilityGraph
  • annotationDefinitions
  • atcCheckVariant
  • atcContactUri
  • atcCustomizing
  • atcDocumentation
  • atcExemptProposal
  • atcQuickfixProposals
  • atcUsers
  • atcWorklists
  • bindingDetails
  • cdsViewInfo
Show 76 more tools
  • changePackagePreview
  • checkRepo
  • classComponents
  • codeCompletion
  • codeCompletionElement
  • collectionFeatureDetails
  • ddicElement
  • debuggerChildVariables
  • debuggerListeners
  • debuggerStackTrace
  • debuggerVariables
  • dumps
  • extractMethodEvaluate
  • extractMethodPreview
  • featureDetails
  • feeds
  • fetchServiceDetails
  • findCollectionByUrl
  • findDefinition
  • findObjectPath
  • fixProposals
  • fragmentMappings
  • getDataElementProperties
  • getDomainProperties
  • getMethodSource
  • getObjectSource
  • getTextElements
  • getTransportConfiguration
  • gitExternalRepoInfo
  • gitRepos
  • grepPackage
  • hasTransportConfig
  • healthcheck
  • inactiveObjects
  • isProposalMessage
  • listLocks
  • listSystems
  • mainPrograms
  • nodeContents
  • objectDiff
  • objectRegistrationInfo
  • objectStructure
  • packageSearchHelp
  • prettyPrinter
  • prettyPrinterSetting
  • rapGenGetContent
  • rapGenGetSchema
  • rapGenIsAvailable
  • rapGenPreview
  • rapGenValidateContent
  • rapGenValidateInitial
  • reentranceTicket
  • remoteRepoInfo
  • revisions
  • searchObject
  • syntaxCheckCdsUrl
  • syntaxCheckCode
  • syntaxCheckTypes
  • systemUsers
  • tracesDbAccess
  • tracesHitList
  • tracesList
  • tracesListRequests
  • tracesStatements
  • transportConfigurations
  • transportDetails
  • transportInfo
  • transportReference
  • transportsByConfig
  • transportUnifiedDiff
  • unitTestEvaluation
  • unitTestOccurrenceMarkers
  • usageReferences
  • usageReferenceSnippets
  • userTransports
  • validateNewObject

Write 49 · Create, change, send or run things.

  • apiReleaseState
  • atcApplyQuickfix
  • changePackageExecute
  • creatableTypeDetails
  • createAtcRun
  • createObject
  • createTestInclude
  • createTransport
  • createTransportsConfig
  • debuggerAttach
  • debuggerGoToStack
  • debuggerSaveSettings
Show 37 more tools
  • debuggerSetBreakpoints
  • debuggerSetVariableValue
  • editObjectSource
  • exportPackageSources
  • fixEdits
  • forceUnlock
  • gitCreateRepo
  • loadTypes
  • lock
  • login
  • objectTypes
  • publishServiceBinding
  • pushRepo
  • rapGenPublishService
  • renameEvaluate
  • renameExecute
  • renamePreview
  • resolveTransport
  • runClass
  • runSnippet
  • setDataElementProperties
  • setDomainProperties
  • setMethodSource
  • setObjectSource
  • setPrettyPrinterSetting
  • setTextElements
  • setTransportsConfig
  • sourceTextSearch
  • tracesCreateConfiguration
  • tracesSetParameters
  • transportAddUser
  • transportRelease
  • transportSetOwner
  • typeHierarchy
  • unitTestRun
  • unLock
  • unPublishServiceBinding

Delete 9 · Delete, drop, revoke or wipe things.

  • debuggerDeleteBreakpoints
  • debuggerDeleteListener
  • deleteObject
  • dropSession
  • gitUnlinkRepo
  • logout
  • tracesDelete
  • tracesDeleteConfiguration
  • transportDelete

Not yet classified 27 · We could not tell from the name and description.

  • abapDocumentation
  • activateByName
  • activateObjects
  • activatePackage
  • adtCoreDiscovery
  • adtDiscovery
  • atcChangeContact
  • atcRequestExemption
  • atcSummary
  • classIncludes
  • codeCompletionFull
  • ddicRepositoryAccess
Show 15 more tools
  • debuggerListen
  • debuggerStep
  • dumpDetails
  • extractMethodExecute
  • gitPullRepo
  • objectEnhancements
  • objectStructureElements
  • packageTree
  • rapGenGenerate
  • runQuery
  • stageRepo
  • switchRepoBranch
  • systemProfile
  • tableContents
  • whereUsed

Secrets and settings it asks for

Secrets: values you paste in that let it act as you.

  • MCP_HTTP_MAX_SESSIONS
  • MCP_HTTP_SESSION_TTL_MINUTES
  • MCP_HTTP_TOKEN
  • SAP_OAUTH_CLIENT_SECRET
  • SAP_PASSWORD
  • SAP_SYSTEMS

Other settings (environment variables or headers).

  • MCP_ADT_TRACE_FILE
  • MCP_ALLOW_DATA_PREVIEW
  • MCP_ALLOW_FREE_SQL
  • MCP_API_CLASSIFICATION_FILES
  • MCP_AUDIT_FILE
  • MCP_CACHE_DIR
  • MCP_DISABLED_TOOLSETS
  • MCP_EXPORT_ROOT
  • MCP_HTTP_ALLOWED_HOSTS
  • MCP_HTTP_ALLOWED_ORIGINS
  • MCP_HTTP_HOST
  • MCP_HTTP_MAX_BODY_BYTES
Show 23 more settings
  • MCP_HTTP_PORT
  • MCP_MAX_RESPONSE_CHARS
  • MCP_PROFILE_GATE
  • MCP_READ_ONLY
  • MCP_SOURCE_CACHE_TTL_SECONDS
  • MCP_TOOLSETS
  • SAP_ALLOW_REENTRANCE_TICKET
  • SAP_AUTH_TYPE
  • SAP_BROWSER_PATH
  • SAP_BROWSER_PROFILE_DIR
  • SAP_CLIENT
  • SAP_DEFAULT_DESTINATION
  • SAP_LANGUAGE
  • SAP_OAUTH_CLIENT_ID
  • SAP_OAUTH_SCOPE
  • SAP_OAUTH_TOKEN_URL
  • SAP_SSO2_ARGS
  • SAP_SSO2_COMMAND
  • SAP_SSO2_TIMEOUT_MS
  • SAP_SYSTEMS_FILE
  • SAP_TLS_INSECURE
  • SAP_URL
  • SAP_USER

Network hosts it talks to 13

  • example.invalid · found in code
  • github.com · found in code
  • glama.ai · found in code
  • learn.microsoft.com · found in code
  • me.sap.com · found in code
  • myxxxxxx.s4hana.cloud.sap · found in code
  • myyyyyyy.s4hana.cloud.sap · found in code
  • myzzzzzz.s4hana.cloud.sap · found in code
  • raw.githubusercontent.com · found in code
  • rfc.invalid · found in code
  • sap.com · found in code
  • support.sap.com · found in code
  • williansaez.github.io · found in code

Files it touches

  • /etc/ssl/corp-ca.pem
  • /opt/sap/nwrfcsdk
  • /usr/lib/libSystem.B.dylib
  • /usr/local/sap/nwrfcsdk
  • Your home directory (~)
  • ~/sap/nwrfcsdk
  • C:\\nwrfcsdk
  • C:\\SAP\\nwrfcsdk
  • Any path the agent passes to its tools

Tools (173)

Read from the source code; the running server may differ. Descriptions are the server’s own words; hidden characters are shown as [U+…].

  • abapDocumentation

    ABAP keyword documentation (the F1 help) as plain text. Two ways to ask: (a) keyword: a statement or addition such as "SELECT SINGLE", "WITH PRIVILEGED ACCESS", "LOOP AT GROUP BY" (the server builds the context for you); (b) cursor: objectUri, body (the source; fetched from objectUri when omitted), line and column of the element to explain. Long documents are paged with startLine/maxLines.

  • activateByName

    Activate a single ABAP object by name and URL. Run after setObjectSource (and unLock); after activation run unitTestRun to verify behavior.

  • activateObjects

    Activate ABAP objects using object references. Run after setObjectSource; the entries returned by inactiveObjects can be passed here directly. For a single object, activateByName is simpler.

  • activatePackage

    Activate every inactive object of a package (and its sub-packages) in one activation request, the way RAP stacks (CDS, behavior definition, service definition, classes) must be activated together. Returns the activation messages and what is still inactive afterwards.

  • adtCompatibilityGraph

    Retrieves the ADT compatibility graph.

  • adtCoreDiscovery

    Performs ADT core discovery. Returns a list of core discovery collections. For large systems, use startIndex/maxItems to page through the list instead of retrieving it all at once.

  • adtDiscovery

    Performs ADT discovery. Returns a list of discovery collections. For large systems, use startIndex/maxItems to page through the list instead of retrieving it all at once.

  • annotationDefinitions

    Retrieves the CDS annotation catalog for the system. This can be large; use startIndex/maxItems to page through it instead of retrieving it all at once.

  • apiReleaseState

    Release state of SAP objects for ABAP Cloud / Clean Core, from SAP's official cloudification repository (released, deprecated with successors, notToBeReleased, classicAPI, noAPI) plus, when objectUrl is given, the backend's own /sap/bc/adt/apireleases answer. Every result carries apiPolicy (released, classic, notReleased, prohibited, customer, unknown): prohibited means SAP classifies the interface as not permitted (in the repository or in an SAP Note) and outranks every other state, so do not write code that calls it. Check APIs before writing cloud code instead of recalling from memory. Pass…

  • atcApplyQuickfix

    Apply a deterministic quickfix at an ATC finding location: recomputes the proposals (see atcQuickfixProposals), applies the chosen one to the source and writes it back with setObjectSource. Requires the object to be locked (lock returns the lockHandle). Activate afterwards with activateByName and re-run ATC to confirm the finding is gone.

  • atcChangeContact

    Changes the contact for an ATC finding.

  • atcCheckVariant

    Retrieves information about an ATC check variant.

  • atcContactUri

    Retrieves the contact URI for an ATC finding.

  • atcCustomizing

    Retrieves ATC customizing information.

  • atcDocumentation

    Read the documentation of an ATC check/finding (what the check tests, why it matters, how to fix). Pass the documentation URI found in an ATC finding (atcWorklists → findings[].link / docUri).

Show 158 more tools
  • atcExemptProposal

    Retrieves an ATC exemption proposal.

  • atcQuickfixProposals

    List the quickfix proposals available at an ATC finding location. Pass the source URL and position from an atcWorklists finding. Apply a proposal with atcApplyQuickfix. Read-only.

  • atcRequestExemption

    Requests an ATC exemption.

  • atcSummary

    Aggregated view of an ATC result: totals by priority, by check and by object, top findings with location and quickfix availability. Pass runResultId from createAtcRun, or mainUrl (+ variant) to run ATC and summarize in one call. mainUrl accepts an object URL, a package URL (/sap/bc/adt/packages/zfin) or a transport URL (/sap/bc/adt/cts/transportrequests/DEVK900123).

  • atcUsers

    Retrieves a list of ATC users.

  • atcWorklists

    Retrieves ATC worklists. For runs covering many objects, use startIndex/maxItems to page through the findings-per-object list instead of retrieving it all at once.

  • bindingDetails

    Retrieves details of a service binding from an already-parsed ServiceBinding object. If you only have the binding name, use fetchServiceDetails instead.

  • cdsViewInfo

    CDS entity by name in one call: element info (fields with types, associations, extension views, secondary objects) and optionally the DDL source. Pass the entity name (ZI_PRODUCT), not a URL.

  • changePackageExecute

    Execute a change package refactoring previewed with changePackagePreview. Pass the refactoring returned by the preview as JSON.

  • changePackagePreview

    Preview moving an object to another package (change package refactoring). Returns the refactoring proposal with affected objects; pass it unchanged to changePackageExecute. Needs a transport when the target package is transportable.

  • checkRepo

    Checks a Git repository.

  • classComponents

    List class components (methods, attributes, types). For large classes, use startIndex/maxComponents to page through the top-level component list instead of retrieving it all at once.

  • classIncludes

    URLs of the includes of a class (main, definitions, implementations, testclasses, macros) to use with getObjectSource/editObjectSource as they are (no /source/main suffix).

  • codeCompletion

    Get code completion suggestions

  • codeCompletionElement

    Retrieves code completion element information.

  • codeCompletionFull

    Performs full code completion.

  • collectionFeatureDetails

    Retrieves details for a given collection feature.

  • creatableTypeDetails

    List the object types createObject supports, with per-type required fields, label and max name length (SAP-style get_object_type_details). Filter with typeId. For the system-reported creatable catalog see loadTypes.

  • createAtcRun

    Creates an ATC run. Flow: atcCustomizing (system check variant name) -> atcCheckVariant (returns a worklistId) -> createAtcRun -> atcWorklists (findings). Passing a check variant NAME here also works: it is resolved to a worklistId via atcCheckVariant automatically.

  • createObject

    Create a new ABAP object skeleton. Recommended flow: pick objtype (e.g. CLAS/OC, PROG/P, INTF/OI; creatableTypeDetails lists what the system can create) -> validateNewObject to check name/package -> resolveTransport if the package is not local ($TMP) -> createObject. Afterwards write the source with setObjectSource and activate=true (it locks and unlocks by itself), then run unitTestRun. The creation is sent outside the stateful session so the new object can be read at once; when locks are held it stays inside, and the answer carries a note: the object then answers 400 to reads until its sourc…

  • createTestInclude

    Creates a test include for a class.

  • createTransport

    Create a new transport request. Required before creating or changing objects in transportable (non-$TMP) packages; pass the returned transport number to createObject / setObjectSource. Use transportInfo to find existing transports for an object first.

  • createTransportsConfig

    Creates transport configurations.

  • ddicElement

    Retrieves information about a DDIC element. For complex objects the child element list (fields/associations/secondary objects) can be large; use startIndex/maxItems to page through it instead of retrieving it all at once.

  • ddicRepositoryAccess

    Accesses the DDIC repository. This can return a large list of object references; use startIndex/maxItems to page through it instead of retrieving it all at once.

  • debuggerAttach

    Attaches the debugger.

  • debuggerChildVariables

    Retrieves child variables of a debugger variable. If the parent is a large structure/table, use startIndex/maxItems to page through the returned child rows instead of retrieving them all at once.

  • debuggerDeleteBreakpoints

    Deletes breakpoints.

  • debuggerDeleteListener

    Stops a debug listener.

  • debuggerGoToStack

    Navigates to a specific stack entry in the debugger.

  • debuggerListen

    Listens for debugging events.

  • debuggerListeners

    Retrieves a list of debugger listeners.

  • debuggerSaveSettings

    Saves debugger settings.

  • debuggerSetBreakpoints

    Sets breakpoints.

  • debuggerSetVariableValue

    Sets the value of a debugger variable.

  • debuggerStackTrace

    Retrieves the debugger stack trace.

  • debuggerStep

    Performs a debugger step.

  • debuggerVariables

    Retrieves debugger variables. If an inspected parent is a large internal table, use startIndex/maxItems to page through the returned variable list instead of retrieving it all at once.

  • deleteObject

    Deletes an ABAP object from the system

  • dropSession

    Clear local session cache

  • dumpDetails

    Full formatted analysis of one ABAP short dump as plain text (header, what happened, error analysis, where terminated, source extract, variables, call stack). Pass the dumpId from dumps (or the full self link). Page long dumps with startLine/maxLines.

  • dumps

    List recent ABAP short dumps (runtime errors). By default returns a compact summary per dump (runtime error, exception, program, user, time, where it terminated with source URL and line, top of the call stack) instead of the raw HTML. Filter with from/to (timestamps), user, or a substring in program/runtime error. Use dumpDetails(dumpId) for the full analysis of one dump. This is the root-cause path when the debugger toolset is unavailable on the destination (see systemProfile; some cloud tenants and users lack it). Filters apply to the dumps the feed returns (the recent window, not the whole …

  • editObjectSource

    Applies a targeted edit to an ABAP object without sending the full source. Always re-fetches the current source from SAP first, so the edit lands on the latest remote version. Two modes: (a) replacements: a JSON array of {oldText, newText} where each oldText must occur exactly once in the current source (0 or several matches fail with the candidate lines, so re-read and refine); this is robust to line-number drift after earlier edits. (b) line range: replace lines [startLine, endLine] (inclusive, 1-based) with newText; endLine = startLine - 1 inserts; empty newText deletes; pass expectedText (…

  • exportPackageSources

    Write the sources of a package (and sub-packages) to a local directory in abapGit file layout (zcl_x.clas.abap, zcl_x.clas.testclasses.abap, zi_x.ddls.asddls, zrep.prog.abap …) so local tools (grep, editors, code review, documentation pipelines) can work on them. Read-only on SAP; writes only to the given directory (must be absolute; restricted to MCP_EXPORT_ROOT when set). Classes, interfaces, programs/includes, CDS, access controls, metadata extensions, behavior and service definitions are exported; other types are listed as skipped.

  • extractMethodEvaluate

    Evaluates an extract method refactoring.

  • extractMethodExecute

    Executes an extract method refactoring.

  • extractMethodPreview

    Previews an extract method refactoring.

  • featureDetails

    Retrieves details for a given feature.

  • feeds

    Retrieves a list of feeds.

  • fetchServiceDetails

    Fetch the OData services of a service binding BY NAME: service URLs, entity sets, navigations and preview URLs. Resolves the binding internally, so no prior objectStructure call is needed (name-based equivalent of bindingDetails).

  • findCollectionByUrl

    Finds a collection by its URL.

  • findDefinition

    Find symbol definition

  • findObjectPath

    Find path for an object

  • fixEdits

    Applies fix edits.

  • fixProposals

    Retrieves fix proposals.

  • forceUnlock

    Release every lock this server holds on the destination (or one objectUrl). With dropSession=true also drops the SAP session afterwards, which frees locks whose handles are already invalid. Use after failed writes left objects locked.

  • fragmentMappings

    Retrieves fragment mappings.

  • getDataElementProperties

    Read a DDIC data element: type (domain or built-in), length, field labels (short/medium/long/heading), search help and flags. Pass the data element URL (/sap/bc/adt/ddic/dataelements/zde).

  • getDomainProperties

    Read a DDIC domain: data type, length, decimals, output settings and fixed values / value table. Pass the domain URL (/sap/bc/adt/ddic/domains/zdom) and optionally version=inactive.

  • getMethodSource

    Source of one method of a class (METHOD … ENDMETHOD block with its line range) instead of the whole class. Pass the class name or URL and the method name (interface methods as if_x~m). include selects main (default: definition and implementations), implementations (local classes), testclasses, definitions or macros. When the method is not found, the methods present in that include are listed.

  • getObjectSource

    Retrieves source code for ABAP objects. Omit startLine/maxLines to get as much as fits the response budget (about 40,000 characters, several hundred lines); larger sources are paged automatically and report hasMore, then continue with startLine. Pass version=inactive to see what you wrote before activating.

  • getTextElements

    Read the text elements of an object: text symbols (TEXT-001), selection texts or list headings. Pass the object URL (e.g. /sap/bc/adt/programs/programs/zreport or /sap/bc/adt/oo/classes/zcl_demo).

  • getTransportConfiguration

    Retrieves a specific transport configuration.

  • gitCreateRepo

    Creates a new Git repository.

  • gitExternalRepoInfo

    Retrieves information about an external Git repository.

  • gitPullRepo

    Pulls changes from a Git repository. For repos with many changed objects, use startIndex/maxItems to page through the list of imported/changed objects returned in the response instead of retrieving it all at once.

  • gitRepos

    Retrieves a list of Git repositories.

  • gitUnlinkRepo

    Unlinks a Git repository.

  • grepPackage

    Client-side grep over the sources of a package (classes, interfaces, programs, includes, CDS, behavior definitions, service definitions, function modules): downloads each source once (cached), applies the pattern and returns matches with line numbers and context. Works on every system, including S/4HANA Cloud. Bounded by maxObjects/maxMatches; recursive=true descends into sub-packages.

  • hasTransportConfig

    Check if transport configuration exists

  • healthcheckHealthcheck

    Check server health and list configured destinations.

  • inactiveObjects

    Get list of inactive objects. For systems with many inactive objects across users, use startIndex/maxItems to page through the list instead of retrieving it all at once.

  • isProposalMessage

    Checks if a given object is a proposal message.

  • listLocks

    List the ADT locks this server currently holds on the destination (object, lockHandle, when, whether acquired automatically). Use it when a write fails with a lock/lockHandle error or before forceUnlock.

  • listSystemsList Systems

    List the configured ABAP systems (destinations) this server can reach. Call this first to pick the destination to pass to all other tools.

  • loadTypes

    List the ABAP object types creatable on this system (version-aware). Use BEFORE createObject to pick a valid objtype value such as CLAS/OC. For the raw ADT type catalog see objectTypes.

  • lock

    Lock an ABAP object for editing and keep the lock across calls. Returns the lockHandle; the server also records it, so setObjectSource/editObjectSource/deleteObject/createTestInclude/atcApplyQuickfix on the same object may omit lockHandle while it is held. Not needed for a single write: those tools lock and unlock by themselves when no lock is held. Always unLock when done.

  • login

    Authenticate with ABAP system

  • logout

    Terminate ABAP session

  • mainPrograms

    Retrieves the main programs for a given include.

  • nodeContents

    Retrieves the contents of a node in the ABAP repository tree. For large packages/namespaces, use startIndex/maxItems to page through the node list instead of retrieving it all at once.

  • objectDiff

    Unified diff between two revisions of an object (default: latest against the previous one). Revisions are selected by index in the list returned by revisions (0 = newest), by version string, or by revision URI. Use it to review what a transport or a colleague changed before touching the object.

  • objectEnhancements

    Enhancement implementations (implicit/explicit enhancement points, BAdI-free source enhancements) active on an ABAP source object, with optional source of each implementation. Use before editing standard-adjacent code to see what customer enhancements already hook in.

  • objectRegistrationInfo

    Get registration information for an ABAP object

  • objectStructure

    Get object structure details. For large/complex objects (e.g. classes with many includes), use startIndex/maxItems to page through the structure's top-level array instead of retrieving it all at once.

  • objectStructureElements

    Flat list of the members (methods, attributes, events, types, fields…) of an object with name, type, visibility and flags, cheaper than objectStructure/classComponents when you only need an outline. version=inactive reads the inactive version.

  • objectTypes

    Retrieve the ADT object type catalog reported by the system. For picking an objtype to pass to createObject, prefer loadTypes (creatable types).

  • packageSearchHelp

    Performs a package search help.

  • packageTree

    Package hierarchy with its objects in one call: sub-packages (to maxDepth) and, per package, the objects with name, type, URL and description. Cheaper than repeated nodeContents calls; use objectTypes to keep only e.g. CLAS/OC,DDLS/DF.

  • prettyPrinter

    Formats ABAP code using the pretty printer. For large sources, use startLine/maxLines to page through the reformatted result instead of retrieving it all at once.

  • prettyPrinterSetting

    Retrieves the pretty printer settings.

  • publishServiceBinding

    Publishes a service binding.

  • pushRepo

    Pushes changes to a Git repository.

  • rapGenGenerate

    Generate the RAP repository objects (CDS views, behavior definition, service definition/binding) on the system. Requires a transport (createTransport). Validate with rapGenValidateContent and inspect rapGenPreview first. Activate the generated objects afterwards with activateObjects.

  • rapGenGetContent

    Get the proposed default generator content (names for CDS entities, behavior class, service definition/binding) for a reference object. Adjust and pass to rapGenValidateContent / rapGenGenerate.

  • rapGenGetSchema

    Get the JSON schema describing the input content of a RAP generator. Use it to build the content for rapGenValidateContent / rapGenPreview / rapGenGenerate.

  • rapGenIsAvailable

    Check whether RAP repository-object generators are available on this system. Call before the other rapGen* tools.

  • rapGenPreview

    Preview the list of repository objects a generation would create (CDS views, behavior definition, service definition/binding) without creating anything.

  • rapGenPublishService

    Publish a generated service binding so its OData service becomes callable (alternative to publishServiceBinding for rapGen-created bindings).

  • rapGenValidateContent

    Validate a full generator content (names, package, conflicts) BEFORE generating. Recommended flow: rapGenGetContent -> adjust -> rapGenValidateContent -> rapGenPreview -> rapGenGenerate.

  • rapGenValidateInitial

    Validate that generation can start from the given reference object and package (run before rapGenGetContent).

  • reentranceTicket

    Retrieves an SAP reentrance ticket. WARNING: the ticket is a live logon credential and will appear in the conversation/host logs. Disabled unless the server is started with SAP_ALLOW_REENTRANCE_TICKET=1.

  • remoteRepoInfo

    Retrieves information about a remote Git repository.

  • renameEvaluate

    Evaluates a rename refactoring.

  • renameExecute

    Executes a rename refactoring.

  • renamePreview

    Previews a rename refactoring.

  • resolveTransport

    Decide which transport request to use for changing an object, in one call: (1) the transport that already records/locks the object, else (2) the newest modifiable transport of the current user for that package, else (3) none for local ($TMP / non-recording) packages, else (4) create one when createIfMissing=true. Returns {transport, needsTransport, reason, candidates}. Call before lock/setObjectSource/createObject instead of interpreting transportInfo yourself.

  • revisions

    Retrieves revisions for an object.

  • runClass

    Runs a class.

  • runQuery

    Description is built at runtime.

  • runSnippet

    Run a piece of ABAP once and return its console output: wraps the code in a temporary IF_OO_ADT_CLASSRUN class (the "out" parameter is available: out->write( ... )), creates it in packageName (default $TMP; on S/4HANA Cloud use a customer package with ABAP for Cloud Development plus its transport, $TMP is refused there), activates, runs it, and deletes it again unless keep=true. A full CLASS … DEFINITION/IMPLEMENTATION implementing if_oo_adt_classrun is accepted as well. Activation errors are returned with messages instead of running. Pass responsible (your SAP user) on cloud systems. Needs de…

  • searchObject

    Search for objects

  • setDataElementProperties

    Write a DDIC data element (type, field labels, search help…). Read it first with getDataElementProperties, modify the returned properties/metaData objects and pass them back as JSON. Requires lock (lockHandle) and a transport for transportable packages; activate afterwards with activateByName.

  • setDomainProperties

    Write a DDIC domain (type, length, fixed values, value table…). Read it first with getDomainProperties, modify the returned properties/metaData objects and pass them back as JSON. Requires lock (lockHandle) and a transport for transportable packages; activate afterwards with activateByName.

  • setMethodSource

    Replace one method of a class without touching the rest: re-reads the include from SAP, swaps the METHOD … ENDMETHOD block (pass the full block, or only the body to keep the existing header/footer), writes it back under an automatic lock and optionally activates. Use for focused fixes in large classes.

  • setObjectSource

    Write the full source code of an ABAP object. Locks, writes and unlocks in one call when no lockHandle is given (pass activate=true to also activate); pass a lockHandle from lock only when you hold the lock across several calls. Run syntaxCheckCode before writing to catch errors early. For a targeted change to a large object, prefer editObjectSource (unique text anchors) or setMethodSource instead of resending the full source, and objectDiff afterwards to review. Message classes (/sap/bc/adt/messageclass/<name>) are written as the whole ADT XML: every message lands in the transport and masterL…

  • setPrettyPrinterSetting

    Sets the pretty printer settings.

  • setTextElements

    Write text elements (text symbols, selection texts or list headings) of a locked object. Pass the full list for the category: elements missing from the list are removed. Requires lock (lockHandle) and, for transportable packages, a transport. Not available where ADT has no text element resources (SAP_BASIS 7.40 and 7.53, for example): the tool reports it and writes nothing.

  • setTransportsConfig

    Sets transport configurations.

  • sourceTextSearch

    Search source code by content using the ADT repository text search index (server-side, fast). Returns matching objects with line and snippet when the backend provides them. Restrict with packages/objectTypes/objectName. Use this before reading whole sources when you need to find where a table, message, method or literal is used. If the backend has no text search (older releases), the call falls back to grepPackage when packages are given.

  • stageRepo

    Stages changes in a Git repository. For a large initial package push, use startIndex/maxItems to page through the staged/unstaged/ignored object lists instead of retrieving them all at once.

  • switchRepoBranch

    Switches the branch of a Git repository.

  • syntaxCheckCdsUrl

    Perform ABAP syntax check with CDS URL

  • syntaxCheckCode

    ABAP syntax check of a source against the context of an existing object: url is the source URL of that object (…/source/main), required because the check resolves types and includes in its context; it is not a standalone check of free text. Provide the source in "code" (alias: source), or omit it to reuse the source last read/written for "url" this session. Returns line, offset, severity and text per finding. To try free ABAP without an object, use runSnippet on a development system.

  • syntaxCheckTypes

    Retrieves syntax check types.

  • systemProfile

    Capability profile of a destination: platform (S/4HANA Cloud vs on-prem), system information, which ADT features the backend exposes (debugger, traces, abapGit, ATC, RAP generator, text search, API releases…) and therefore which toolsets/tools will not work there. Cached per destination; pass refresh=true to rebuild. Call it once before using debugger/traces/abapGit/RAP tools on an unfamiliar system.

  • systemUsers

    Retrieves a list of system users. For large results, use startIndex/maxItems to page through the user list instead of retrieving it all at once.

  • tableContents

    Description is built at runtime.

  • tracesCreateConfiguration

    Creates a trace configuration.

  • tracesDbAccess

    Retrieves database access information for a trace. For many DB accesses, use startIndex/maxItems to page through the access list instead of retrieving it all at once.

  • tracesDelete

    Deletes a trace.

  • tracesDeleteConfiguration

    Deletes a trace configuration.

  • tracesHitList

    Retrieves the hit list for a trace. For a large hit list, use startIndex/maxItems to page through the entries instead of retrieving them all at once.

  • tracesList

    Retrieves a list of traces.

  • tracesListRequests

    Retrieves a list of trace requests.

  • tracesSetParameters

    Sets trace parameters.

  • tracesStatements

    Retrieves statements for a trace. For many statements, use startIndex/maxItems to page through the statement list instead of retrieving it all at once.

  • transportAddUser

    Adds a user to a transport.

  • transportConfigurations

    Retrieves transport configurations.

  • transportDelete

    Deletes a transport.

  • transportDetails

    Get the contents of a transport request: tasks, owners, status and the full list of objects it records. Use transportInfo / userTransports to find transport numbers first.

  • transportInfo

    Get transport information for an object source

  • transportReference

    Retrieves a transport reference.

  • transportRelease

    Releases a transport.

  • transportsByConfig

    Retrieves transports by configuration. For large results (many transports/tasks), use startIndex/maxItems to page through the flattened list of transport requests instead of retrieving them all at once.

  • transportSetOwner

    Sets the owner of a transport.

  • transportUnifiedDiff

    Generate a unified diff of the source-code objects recorded on a transport request: for each object it compares the version predating the transport against the current source. Covers whole objects (R3TR CLAS/PROG/INTF/FUGR/DDLS/BDEF/DCLS/DDLX/SRVD) and sub-objects (LIMU CINC class includes such as the CCIMP of a RAP behavior pool, METH/CLSD/CPUB/CPRO/CPRI class parts, REPS includes, FUNC function modules). Messages (LIMU MESS), DDIC and customizing entries have no source history and are listed in skipped with the reason.

  • typeHierarchy

    Type hierarchy (subtypes or supertypes) of the class/interface at a given source position. Pass the source URL (…/source/main) and the 1-based line/column of the type name; the current source is re-read from SAP unless you pass it in "source". superTypes=true lists the inheritance chain upwards, false (default) lists implementers/subclasses.

  • unitTestEvaluation

    Evaluates unit test results. For large results (many test methods), use startIndex/maxItems to page through the top-level test-method list instead of retrieving it all at once.

  • unitTestOccurrenceMarkers

    Retrieves unit test occurrence markers.

  • unitTestRun

    Run ABAP unit tests for an object. ALWAYS run after adding tests or changing and activating source code. Tests live in the testclass include (see createTestInclude). For large results (many test classes), use startIndex/maxItems to page through the top-level test-class list.

  • unLock

    Unlock an ABAP object previously locked with lock (requires its lockHandle).

  • unPublishServiceBinding

    Unpublishes a service binding.

  • usageReferences

    Find symbol references (system-wide "where used"). For widely-used symbols this can return hundreds/thousands of hits; use startIndex/maxItems to page through the result instead of retrieving it all at once.

  • usageReferenceSnippets

    Retrieves usage reference snippets (source excerpts) for a list of usage references, e.g. from usageReferences. For large input lists the returned snippets can be large; use startIndex/maxItems to page through the result instead of retrieving it all at once.

  • userTransports

    Retrieves transports for a user. For large results (many transports/tasks), use startIndex/maxItems to page through the flattened list of transport requests instead of retrieving them all at once.

  • validateNewObject

    Validate name, package and type for a new ABAP object BEFORE calling createObject. Returns field-level validation errors. Use loadTypes to discover valid objtype values first.

  • whereUsed

    Where-used list by object name: resolves the name with searchObject and returns the usage references (using object, its URL, kind of usage). No URL or source position needed.

Compare and alternatives

    Featured in

    Signals

    Stars
    15
    Forks
    4
    Open issues
    3
    Last commit
    Oct 21, 2026 (7 days ago)
    Last release
    Oct 21, 2026 (7 days ago)

    From GitHub (fetched Oct 24, 2026).

    Details

    Registry name
    io.github.williansaez/abap-adt-mcp
    Version
    2.8.0
    Auth
    API key
    Packages
    npm abap-adt-mcp
    License
    MIT
    First seen
    Oct 24, 2026
    Last checked
    Oct 24, 2026
    Cite this page

    Abap Adt MCP. Agent Mart. https://agentmart.dev/connectors/williansaez-abap-adt-mcp (last updated 2026-10-24)