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
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.
About
Use cases: code-generation, testing
Reviews
Write a reviewNo 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.
adtCompatibilityGraphannotationDefinitionsatcCheckVariantatcContactUriatcCustomizingatcDocumentationatcExemptProposalatcQuickfixProposalsatcUsersatcWorklistsbindingDetailscdsViewInfo
Show 76 more tools
changePackagePreviewcheckRepoclassComponentscodeCompletioncodeCompletionElementcollectionFeatureDetailsddicElementdebuggerChildVariablesdebuggerListenersdebuggerStackTracedebuggerVariablesdumpsextractMethodEvaluateextractMethodPreviewfeatureDetailsfeedsfetchServiceDetailsfindCollectionByUrlfindDefinitionfindObjectPathfixProposalsfragmentMappingsgetDataElementPropertiesgetDomainPropertiesgetMethodSourcegetObjectSourcegetTextElementsgetTransportConfigurationgitExternalRepoInfogitReposgrepPackagehasTransportConfighealthcheckinactiveObjectsisProposalMessagelistLockslistSystemsmainProgramsnodeContentsobjectDiffobjectRegistrationInfoobjectStructurepackageSearchHelpprettyPrinterprettyPrinterSettingrapGenGetContentrapGenGetSchemarapGenIsAvailablerapGenPreviewrapGenValidateContentrapGenValidateInitialreentranceTicketremoteRepoInforevisionssearchObjectsyntaxCheckCdsUrlsyntaxCheckCodesyntaxCheckTypessystemUserstracesDbAccesstracesHitListtracesListtracesListRequeststracesStatementstransportConfigurationstransportDetailstransportInfotransportReferencetransportsByConfigtransportUnifiedDiffunitTestEvaluationunitTestOccurrenceMarkersusageReferencesusageReferenceSnippetsuserTransportsvalidateNewObject
Write 49 · Create, change, send or run things.
apiReleaseStateatcApplyQuickfixchangePackageExecutecreatableTypeDetailscreateAtcRuncreateObjectcreateTestIncludecreateTransportcreateTransportsConfigdebuggerAttachdebuggerGoToStackdebuggerSaveSettings
Show 37 more tools
debuggerSetBreakpointsdebuggerSetVariableValueeditObjectSourceexportPackageSourcesfixEditsforceUnlockgitCreateRepoloadTypeslockloginobjectTypespublishServiceBindingpushReporapGenPublishServicerenameEvaluaterenameExecuterenamePreviewresolveTransportrunClassrunSnippetsetDataElementPropertiessetDomainPropertiessetMethodSourcesetObjectSourcesetPrettyPrinterSettingsetTextElementssetTransportsConfigsourceTextSearchtracesCreateConfigurationtracesSetParameterstransportAddUsertransportReleasetransportSetOwnertypeHierarchyunitTestRununLockunPublishServiceBinding
Delete 9 · Delete, drop, revoke or wipe things.
debuggerDeleteBreakpointsdebuggerDeleteListenerdeleteObjectdropSessiongitUnlinkRepologouttracesDeletetracesDeleteConfigurationtransportDelete
Not yet classified 27 · We could not tell from the name and description.
abapDocumentationactivateByNameactivateObjectsactivatePackageadtCoreDiscoveryadtDiscoveryatcChangeContactatcRequestExemptionatcSummaryclassIncludescodeCompletionFullddicRepositoryAccess
Show 15 more tools
debuggerListendebuggerStepdumpDetailsextractMethodExecutegitPullRepoobjectEnhancementsobjectStructureElementspackageTreerapGenGeneraterunQuerystageReposwitchRepoBranchsystemProfiletableContentswhereUsed
Secrets and settings it asks for
Secrets: values you paste in that let it act as you.
MCP_HTTP_MAX_SESSIONSMCP_HTTP_SESSION_TTL_MINUTESMCP_HTTP_TOKENSAP_OAUTH_CLIENT_SECRETSAP_PASSWORDSAP_SYSTEMS
Other settings (environment variables or headers).
MCP_ADT_TRACE_FILEMCP_ALLOW_DATA_PREVIEWMCP_ALLOW_FREE_SQLMCP_API_CLASSIFICATION_FILESMCP_AUDIT_FILEMCP_CACHE_DIRMCP_DISABLED_TOOLSETSMCP_EXPORT_ROOTMCP_HTTP_ALLOWED_HOSTSMCP_HTTP_ALLOWED_ORIGINSMCP_HTTP_HOSTMCP_HTTP_MAX_BODY_BYTES
Show 23 more settings
MCP_HTTP_PORTMCP_MAX_RESPONSE_CHARSMCP_PROFILE_GATEMCP_READ_ONLYMCP_SOURCE_CACHE_TTL_SECONDSMCP_TOOLSETSSAP_ALLOW_REENTRANCE_TICKETSAP_AUTH_TYPESAP_BROWSER_PATHSAP_BROWSER_PROFILE_DIRSAP_CLIENTSAP_DEFAULT_DESTINATIONSAP_LANGUAGESAP_OAUTH_CLIENT_IDSAP_OAUTH_SCOPESAP_OAUTH_TOKEN_URLSAP_SSO2_ARGSSAP_SSO2_COMMANDSAP_SSO2_TIMEOUT_MSSAP_SYSTEMS_FILESAP_TLS_INSECURESAP_URLSAP_USER
Network hosts it talks to 13
example.invalid· found in codegithub.com· found in codeglama.ai· found in codelearn.microsoft.com· found in codeme.sap.com· found in codemyxxxxxx.s4hana.cloud.sap· found in codemyyyyyyy.s4hana.cloud.sap· found in codemyzzzzzz.s4hana.cloud.sap· found in coderaw.githubusercontent.com· found in coderfc.invalid· found in codesap.com· found in codesupport.sap.com· found in codewilliansaez.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/nwrfcsdkC:\\nwrfcsdkC:\\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+…].
abapDocumentationABAP 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.
activateByNameActivate a single ABAP object by name and URL. Run after setObjectSource (and unLock); after activation run unitTestRun to verify behavior.
activateObjectsActivate 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.
activatePackageActivate 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.
adtCompatibilityGraphRetrieves the ADT compatibility graph.
adtCoreDiscoveryPerforms 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.
adtDiscoveryPerforms 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.
annotationDefinitionsRetrieves 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.
apiReleaseStateRelease 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…
atcApplyQuickfixApply 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.
atcChangeContactChanges the contact for an ATC finding.
atcCheckVariantRetrieves information about an ATC check variant.
atcContactUriRetrieves the contact URI for an ATC finding.
atcCustomizingRetrieves ATC customizing information.
atcDocumentationRead 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
atcExemptProposalRetrieves an ATC exemption proposal.
atcQuickfixProposalsList 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.
atcRequestExemptionRequests an ATC exemption.
atcSummaryAggregated 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).
atcUsersRetrieves a list of ATC users.
atcWorklistsRetrieves 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.
bindingDetailsRetrieves details of a service binding from an already-parsed ServiceBinding object. If you only have the binding name, use fetchServiceDetails instead.
cdsViewInfoCDS 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.
changePackageExecuteExecute a change package refactoring previewed with changePackagePreview. Pass the refactoring returned by the preview as JSON.
changePackagePreviewPreview 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.
checkRepoChecks a Git repository.
classComponentsList 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.
classIncludesURLs of the includes of a class (main, definitions, implementations, testclasses, macros) to use with getObjectSource/editObjectSource as they are (no /source/main suffix).
codeCompletionGet code completion suggestions
codeCompletionElementRetrieves code completion element information.
codeCompletionFullPerforms full code completion.
collectionFeatureDetailsRetrieves details for a given collection feature.
creatableTypeDetailsList 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.
createAtcRunCreates 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.
createObjectCreate 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…
createTestIncludeCreates a test include for a class.
createTransportCreate 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.
createTransportsConfigCreates transport configurations.
ddicElementRetrieves 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.
ddicRepositoryAccessAccesses 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.
debuggerAttachAttaches the debugger.
debuggerChildVariablesRetrieves 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.
debuggerDeleteBreakpointsDeletes breakpoints.
debuggerDeleteListenerStops a debug listener.
debuggerGoToStackNavigates to a specific stack entry in the debugger.
debuggerListenListens for debugging events.
debuggerListenersRetrieves a list of debugger listeners.
debuggerSaveSettingsSaves debugger settings.
debuggerSetBreakpointsSets breakpoints.
debuggerSetVariableValueSets the value of a debugger variable.
debuggerStackTraceRetrieves the debugger stack trace.
debuggerStepPerforms a debugger step.
debuggerVariablesRetrieves 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.
deleteObjectDeletes an ABAP object from the system
dropSessionClear local session cache
dumpDetailsFull 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.
dumpsList 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 …
editObjectSourceApplies 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 (…
exportPackageSourcesWrite 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.
extractMethodEvaluateEvaluates an extract method refactoring.
extractMethodExecuteExecutes an extract method refactoring.
extractMethodPreviewPreviews an extract method refactoring.
featureDetailsRetrieves details for a given feature.
feedsRetrieves a list of feeds.
fetchServiceDetailsFetch 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).
findCollectionByUrlFinds a collection by its URL.
findDefinitionFind symbol definition
findObjectPathFind path for an object
fixEditsApplies fix edits.
fixProposalsRetrieves fix proposals.
forceUnlockRelease 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.
fragmentMappingsRetrieves fragment mappings.
getDataElementPropertiesRead 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).
getDomainPropertiesRead 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.
getMethodSourceSource 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.
getObjectSourceRetrieves 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.
getTextElementsRead 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).
getTransportConfigurationRetrieves a specific transport configuration.
gitCreateRepoCreates a new Git repository.
gitExternalRepoInfoRetrieves information about an external Git repository.
gitPullRepoPulls 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.
gitReposRetrieves a list of Git repositories.
gitUnlinkRepoUnlinks a Git repository.
grepPackageClient-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.
hasTransportConfigCheck if transport configuration exists
healthcheckHealthcheckCheck server health and list configured destinations.
inactiveObjectsGet 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.
isProposalMessageChecks if a given object is a proposal message.
listLocksList 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 SystemsList the configured ABAP systems (destinations) this server can reach. Call this first to pick the destination to pass to all other tools.
loadTypesList 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.
lockLock 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.
loginAuthenticate with ABAP system
logoutTerminate ABAP session
mainProgramsRetrieves the main programs for a given include.
nodeContentsRetrieves 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.
objectDiffUnified 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.
objectEnhancementsEnhancement 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.
objectRegistrationInfoGet registration information for an ABAP object
objectStructureGet 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.
objectStructureElementsFlat 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.
objectTypesRetrieve the ADT object type catalog reported by the system. For picking an objtype to pass to createObject, prefer loadTypes (creatable types).
packageSearchHelpPerforms a package search help.
packageTreePackage 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.
prettyPrinterFormats 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.
prettyPrinterSettingRetrieves the pretty printer settings.
publishServiceBindingPublishes a service binding.
pushRepoPushes changes to a Git repository.
rapGenGenerateGenerate 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.
rapGenGetContentGet the proposed default generator content (names for CDS entities, behavior class, service definition/binding) for a reference object. Adjust and pass to rapGenValidateContent / rapGenGenerate.
rapGenGetSchemaGet the JSON schema describing the input content of a RAP generator. Use it to build the content for rapGenValidateContent / rapGenPreview / rapGenGenerate.
rapGenIsAvailableCheck whether RAP repository-object generators are available on this system. Call before the other rapGen* tools.
rapGenPreviewPreview the list of repository objects a generation would create (CDS views, behavior definition, service definition/binding) without creating anything.
rapGenPublishServicePublish a generated service binding so its OData service becomes callable (alternative to publishServiceBinding for rapGen-created bindings).
rapGenValidateContentValidate a full generator content (names, package, conflicts) BEFORE generating. Recommended flow: rapGenGetContent -> adjust -> rapGenValidateContent -> rapGenPreview -> rapGenGenerate.
rapGenValidateInitialValidate that generation can start from the given reference object and package (run before rapGenGetContent).
reentranceTicketRetrieves 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.
remoteRepoInfoRetrieves information about a remote Git repository.
renameEvaluateEvaluates a rename refactoring.
renameExecuteExecutes a rename refactoring.
renamePreviewPreviews a rename refactoring.
resolveTransportDecide 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.
revisionsRetrieves revisions for an object.
runClassRuns a class.
runQueryDescription is built at runtime.
runSnippetRun 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…
searchObjectSearch for objects
setDataElementPropertiesWrite 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.
setDomainPropertiesWrite 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.
setMethodSourceReplace 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.
setObjectSourceWrite 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…
setPrettyPrinterSettingSets the pretty printer settings.
setTextElementsWrite 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.
setTransportsConfigSets transport configurations.
sourceTextSearchSearch 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.
stageRepoStages 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.
switchRepoBranchSwitches the branch of a Git repository.
syntaxCheckCdsUrlPerform ABAP syntax check with CDS URL
syntaxCheckCodeABAP 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.
syntaxCheckTypesRetrieves syntax check types.
systemProfileCapability 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.
systemUsersRetrieves a list of system users. For large results, use startIndex/maxItems to page through the user list instead of retrieving it all at once.
tableContentsDescription is built at runtime.
tracesCreateConfigurationCreates a trace configuration.
tracesDbAccessRetrieves 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.
tracesDeleteDeletes a trace.
tracesDeleteConfigurationDeletes a trace configuration.
tracesHitListRetrieves 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.
tracesListRetrieves a list of traces.
tracesListRequestsRetrieves a list of trace requests.
tracesSetParametersSets trace parameters.
tracesStatementsRetrieves statements for a trace. For many statements, use startIndex/maxItems to page through the statement list instead of retrieving it all at once.
transportAddUserAdds a user to a transport.
transportConfigurationsRetrieves transport configurations.
transportDeleteDeletes a transport.
transportDetailsGet 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.
transportInfoGet transport information for an object source
transportReferenceRetrieves a transport reference.
transportReleaseReleases a transport.
transportsByConfigRetrieves 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.
transportSetOwnerSets the owner of a transport.
transportUnifiedDiffGenerate 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.
typeHierarchyType 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.
unitTestEvaluationEvaluates 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.
unitTestOccurrenceMarkersRetrieves unit test occurrence markers.
unitTestRunRun 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.
unLockUnlock an ABAP object previously locked with lock (requires its lockHandle).
unPublishServiceBindingUnpublishes a service binding.
usageReferencesFind 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.
usageReferenceSnippetsRetrieves 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.
userTransportsRetrieves 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.
validateNewObjectValidate 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.
whereUsedWhere-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
- Repository
- github.com/williansaez/abap-adt-mcp
- 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)