Abap Abap Adt API MCP server
io.github.mario-andreschak/mcp-abap-abap-adt-api·v0.1.1·201 starsMCP server wrapping abap-adt-api for ABAP ADT development workflows against SAP systems
201 stars
Reviews
Write oneNobody has reviewed Abap Abap Adt API yet.
If you have run it, two minutes of your experience saves the next person an afternoon.
Abap Abap Adt API tools (100, 13 write)
write = sends, deletes, buys or postsRead from the package source without running it. The installed server may list more.
abapDocumentationRetrieves ABAP documentation.
activateByNameActivate an ABAP object using name and URL
activateObjectsActivate ABAP objects using object references
adtCompatibiliyGraphRetrieves the ADT compatibility graph.
adtCoreDiscoveryPerforms ADT core discovery.
adtDiscoveryPerforms ADT discovery.
annotationDefinitionsRetrieves annotation definitions.
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.
atcExemptProposalRetrieves an ATC exemption proposal.
atcRequestExemptionRequests an ATC exemption.
atcUsersRetrieves a list of ATC users.
atcWorklistsRetrieves ATC worklists.
bindingDetailsRetrieves details of a service binding.
checkRepoChecks a Git repository.
classComponentsList class components
classIncludesGet class includes structure
codeCompletionGet code completion suggestions
codeCompletionElementRetrieves code completion element information.
codeCompletionFullPerforms full code completion.
collectionFeatureDetailsRetrieves details for a given collection feature.
createAtcRunwrite actionCreates an ATC run.
createObjectwrite actionCreate a new ABAP object
ddicElementRetrieves information about a DDIC element.
ddicRepositoryAccessAccesses the DDIC repository.
debuggerAttachAttaches the debugger.
debuggerChildVariablesRetrieves child variables of a debugger variable.
debuggerDeleteBreakpointswrite actionDeletes breakpoints.
debuggerDeleteListenerwrite actionStops 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.
deleteObjectwrite actionDeletes an ABAP object from the system
dropSessionwrite actionClear local session cache
dumpsRetrieves a list of dumps.
extractMethodEvaluateEvaluates an extract method refactoring.
extractMethodExecutewrite actionExecutes an extract method refactoring.
extractMethodPreviewPreviews an extract method refactoring.
featureDetailsRetrieves details for a given feature.
feedsRetrieves a list of feeds.
findCollectionByUrlFinds a collection by its URL.
findDefinitionFind symbol definition
findObjectPathFind path for an object
fixEditsApplies fix edits.
fixProposalsRetrieves fix proposals.
fragmentMappingsRetrieves fragment mappings.
getObjectSourceRetrieves source code for ABAP objects. For large objects, use startLine/maxLines to page through the source instead of retrieving it all at once.
gitCreateRepowrite actionCreates a new Git repository.
gitExternalRepoInfoRetrieves information about an external Git repository.
gitPullRepoPulls changes from a Git repository.
gitReposRetrieves a list of Git repositories.
gitUnlinkRepoUnlinks a Git repository.
inactiveObjectsGet list of inactive objects
isProposalMessageChecks if a given object is a proposal message.
loadTypesLoads object types.
lockLock an object
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.
objectRegistrationInfoGet registration information for an ABAP object
objectStructureGet object structure details
objectTypesRetrieves object types.
packageSearchHelpPerforms a package search help.
prettyPrinterFormats ABAP code using the pretty printer.
prettyPrinterSettingRetrieves the pretty printer settings.
publishServiceBindingwrite actionPublishes a service binding.
pushRepoPushes changes to a Git repository.
reentranceTicketRetrieves a reentrance ticket.
remoteRepoInfoRetrieves information about a remote Git repository.
renameEvaluateEvaluates a rename refactoring.
renameExecutewrite actionExecutes a rename refactoring.
renamePreviewPreviews a rename refactoring.
revisionsRetrieves revisions for an object.
runClasswrite actionRuns a class.
runQuerywrite actionRuns a SQL query on the target system.
searchObjectSearch for objects
setObjectSourceSets source code for ABAP objects
setPrettyPrinterSettingSets the pretty printer settings.
stageRepoStages changes in a Git repository.
switchRepoBranchSwitches the branch of a Git repository.
syntaxCheckCdsUrlPerform ABAP syntax check with CDS URL
syntaxCheckCodePerform ABAP syntax check. Provide the source in "code", or omit it to reuse the source last read/written for "url" via getObjectSource/setObjectSource (cached this session).
syntaxCheckTypesRetrieves syntax check types.
tableContentsRetrieves the contents of an ABAP table.
tracesListRetrieves a list of traces.
tracesListRequestsRetrieves a list of trace requests.
unLockUnlock an object
unPublishServiceBindingwrite actionUnpublishes a service binding.
usageReferenceSnippetsRetrieves usage reference snippets.
usageReferencesFind symbol references
validateNewObjectValidate parameters for a new ABAP object
Public scan report
scanner v0.1.9 · 2026-09-26 · same rubric, same numbers if you re-run it
- Code scan31 source files scanned25/25
- –Live reliabilityno gateway calls yet and no remote to proben/a
- –Tool poisoningtools not inspected (local package is not executed); not countedn/a
- Auth qualitystatic API keys via environment variables6/15
- Maintenancelast push 9 days ago15/15
- Maintainer identityregistry namespace matches repository owner; GitHub account older than a year8/10
How Abap Abap Adt API compares
Against every graded MCP server, from our own scans and uptime checks. Updated after each scan run.
- Safety score
- 83/100
- higher than 65% of 48,243 servers
- Tools
- 100
- the typical server has 7
- Tools that change things
- 13%
- typical: 0%. Fewer write tools means less an agent can break
- GitHub stars
- 201
- more than 95% of 28,706 servers
What its tools let an agent do: 83 read · 2 create · 10 change · 2 delete · 1 send or post · 2 run or deploy
Install Abap Abap Adt API in Claude Code, Cursor or VS Code
Runs npx -y mcp-abap-abap-adt-api on your machine. Read the scan report first; the gateway never runs local packages.
claude mcp add mcp-abap-abap-adt-api -- npx -y mcp-abap-abap-adt-api
What the publisher says
From the Abap Abap Adt API repository's README, as published. We do not edit it. Read it on GitHub
ABAP ADT API MCP server
This server preserves 127 existing SAP ABAP tools and adds readResultPage for large results. Object CRUD, locking, activation, transports, queries, debugging, refactoring, Git and analysis share one SAP session owned by a trusted local stdio client. SAP authorizations determine what that session can read or change.
Installation and protocol
Use Node22.22.2+ or24.15.0+. Run npm ci and npm run build, then configure your MCP client to launch node with the absolute path to dist/index.js. Existing npm/registry releases do not contain this PR until the owner releases it. No release is published here.
{
"mcpServers": {
"abap-adt": {
"command": "node",
"args": ["/absolute/path/mcp-abap-abap-adt-api/dist/index.js"],
"env": {
"SAP_URL": "https://sap.example.invalid:44300",
"SAP_USER": "YOUR_USER",
"SAP_PASSWORD": "YOUR_PASSWORD",
"SAP_CLIENT": "100",
"SAP_LANGUAGE": "EN"
}
}
}
}Public TypeScript MCP2.0.0 supports modern2026-07-28 discovery and legacy2025-11-25 initialization, validated tools, cancellation and proper errors. This package exposes stdio; it is not an HTTP listener or MCP OAuth provider. Missing credentials still allow discovery. healthcheck reports local configuration and session recovery state, not verified SAP connectivity.
Environment comes from the MCP client. Dotenv loads only when SAPENVFILE explicitly names a file. SAPURL is an origin without a path, query or embedded credentials. For a private CA set NODEEXTRACACERTS before launching Node. TLS verification cannot be disabled. Loopback HTTP is allowed for fixtures; a trusted private HTTP deployment requires SAPALLOWHTTP=1 and exposes credentials to that network.
An authorized broker's static SAPBEARERTOKEN can replace the password. Rotate it by restarting the process; this does not implement XSUAA grants or prove tenant acceptance. No password-grant flow is introduced.
Session and limits
Only one operation runs at a time; overlaps receive a busy error. Debugger listeners also occupy this session until completed or cancelled. SAPREQUESTTIMEOUT_MS defaults to60000 and accepts100..120000, including login and every underlying HTTP request. Cancellation closes real sockets. The client does not follow redirects, inherit environment proxies, retry mutations or automatically reauthenticate a stateful call. An interrupted write may already have changed SAP: inspect writes and locks, then explicitly login, dropSession or logout to recover. Shutdown attempts a bounded logout; unreachable SAP can retain state until its own expiry.
HTTP stays on the configured origin under /sap/, with 2MiB requests,4MiB responses and verified TLS. XML entity declarations are rejected. Input JSON is bounded by bytes, nesting, arrays and field contracts. This is a trusted operator tool, not an OS sandbox or multi-user service. Git tools can ask SAP to contact a remote Git service with supplied credentials; those operations depend on SAP and remote permissions.
Schemas are derived from pinned abap-adt-api8.4.3 declarations, including objects, arrays and overloads. Previously documented JSON strings for object arguments remain accepted, parsed and validated. Unknown top-level arguments are rejected. scripts/generate-input-contracts.mjs and its report record the mapping; rerun and review on dependency updates. Its TypeScript6 compiler API is development-only; TypeScript7 builds the application.
Shortened. The full README is on GitHub.
Nothing above is checked by us. What we check is on the safety report.
Abap Abap Adt API: common questions
- Is Abap Abap Adt API MCP server safe?
- Mostly: it is graded B (83/100). Read the Abap Abap Adt API safety report
- How do I install Abap Abap Adt API?
- It runs on your machine. Copy the Claude Code, Cursor, VS Code or Claude Desktop config from the install section.
- Does Abap Abap Adt API need an API key?
- Yes. The registry entry asks for
SAP_PASSWORD. - Is Abap Abap Adt API maintained?
- The last commit was 50 days ago (2026-09-16). The latest release is v0.1.1.
- What can I use instead of Abap Abap Adt API?
- Servers from other publishers that do the same job: ARC-1 MCP server and Front-End Checklist MCP server.
- How does Abap Abap Adt API compare with other MCP servers?
- safety score 83/100 (higher than 65% of 48,243 servers); tools 100 (the typical server has 7); tools that change things 13% (typical: 0%. Fewer write tools means less an agent can break). Full comparison.
Alternatives to Abap Abap Adt API
Same job from other publishers: the closest match first, then the best rated.
- ARC-1MCP server for SAP ABAP systemsnot reviewedEstablishedA
- Front-End ChecklistReview frontend code and live pages against 386 quality-gated web development rules.not reviewedWidely usedA