LeashIndex Get the report

Index / devtools

io.github.mario-andreschak/mcp-abap-abap-adt-api

io-github-mario-andreschak-mcp-abap-abap-adt-api declares 127 capabilities across 127 tools, with 2 critical issues. One of them, no-revocation, is recorded for every server in the index because MCP has no field in which to declare a way to switch a tool off; a missing declaration is not evidence that the control is missing.

100/100 exposureHigh exposure

Manifest recorded 2026-10-27 from tools/list answered by the npm package mcp-abap-abap-adt-api@0.1.1 (published to npm as mcp-abap-abap-adt-api, listed in the official MCP registry as io.github.mario-andreschak/mcp-abap-abap-adt-api 0.1.1), run in an isolated container with no network access and placeholder credentials. The date changes only when the manifest does. Not verified by a maintainer.

Issues

These describe what this server's manifest declares. A product can provide controls that MCP has no way to express — token revocation, an admin console, audit logs — and this page cannot see them. The absence of a declaration is not evidence that a control is absent.

critical · no-revocation · All 127 tools

127 of 127 tools declare no way for the customer to switch them off once granted. This applies to every tool because MCP has no field in which to declare a revocation mechanism; the product may provide one outside MCP that a manifest cannot show.

critical · irreversible-uncapped · 10 of 127 tools

10 tools are classified as irreversible and declare no limit.

high · no-expiry · All 127 tools

127 of 127 tools declare no expiry. This applies to every tool because MCP has no field in which to declare an expiry; the product may provide one outside MCP that a manifest cannot show.

high · no-audit-trail · All 127 tools

127 of 127 tools declare no record of their actions that the customer can read. This applies to every tool because MCP has no field in which to declare an audit requirement; the product may provide one outside MCP that a manifest cannot show.

high · uncapped-write · 49 of 127 tools

49 tools can modify data and declare no limit.

low · uncapped-read · 68 of 127 tools

68 tools can read data and declare no limit.

Declared capabilities

How each tool was read. declared means the server's own annotation said so — self-reported and unverified. inferred is from the tool's name. assumed means nothing indicated either way.

ToolRead asBasis
loginwrite assumed
logoutwrite assumed
dropSessiondelete inferred
transportInforead inferred
createTransportwrite inferred
hasTransportConfigread inferred
transportConfigurationsread inferred
getTransportConfigurationread inferred
setTransportsConfigwrite inferred
createTransportsConfigwrite inferred
userTransportsread inferred
transportsByConfigread inferred
transportDeletedelete inferred
transportReleasewrite assumed
transportSetOwnerwrite inferred
transportAddUserwrite inferred
systemUsersread inferred
transportReferenceread inferred
objectStructureread inferred
searchObjectread inferred
findObjectPathread inferred
objectTypesread inferred
reentranceTicketread inferred
classIncludesread inferred
classComponentsread inferred
syntaxCheckCodewrite assumed
syntaxCheckCdsUrlwrite assumed
codeCompletionread inferred
findDefinitionread inferred
usageReferencesread inferred
syntaxCheckTypesread inferred
codeCompletionFullwrite assumed
runClasswrite assumed
codeCompletionElementread inferred
usageReferenceSnippetsread inferred
fixProposalsread inferred
fixEditswrite inferred
fragmentMappingsread inferred
abapDocumentationread inferred
lockwrite assumed
unLockwrite assumed
getObjectSourceread inferred
setObjectSourcewrite inferred
deleteObjectdelete inferred
activateObjectswrite assumed
activateByNamewrite assumed
inactiveObjectsread inferred
objectRegistrationInforead inferred
validateNewObjectread inferred
createObjectwrite inferred
nodeContentsread inferred
mainProgramsread inferred
featureDetailsread inferred
collectionFeatureDetailsread inferred
findCollectionByUrlread inferred
loadTypeswrite assumed
adtDiscoverywrite assumed
adtCoreDiscoverywrite assumed
adtCompatibiliyGraphread inferred
unitTestRunwrite assumed
unitTestEvaluationwrite assumed
unitTestOccurrenceMarkersread inferred
createTestIncludewrite inferred
prettyPrinterSettingread inferred
setPrettyPrinterSettingwrite inferred
prettyPrinterwrite assumed
gitReposread inferred
gitExternalRepoInforead inferred
gitCreateRepowrite inferred
gitPullRepowrite assumed
gitUnlinkRepowrite assumed
stageRepowrite assumed
pushRepowrite inferred
checkReporead inferred
remoteRepoInforead inferred
switchRepoBranchwrite assumed
annotationDefinitionsread inferred
ddicElementread inferred
ddicRepositoryAccesswrite assumed
packageSearchHelpread inferred
publishServiceBindingsend inferred
unPublishServiceBindingsend inferred
bindingDetailsread inferred
tableContentsread inferred
runQueryread inferred
feedsread inferred
dumpsread inferred
debuggerListenersread inferred
debuggerListenwrite assumed
debuggerDeleteListenerdelete inferred
debuggerSetBreakpointswrite inferred
debuggerDeleteBreakpointsdelete inferred
debuggerAttachwrite assumed
debuggerSaveSettingswrite assumed
debuggerStackTraceread inferred
debuggerVariablesread inferred
debuggerChildVariablesread inferred
debuggerStepwrite assumed
debuggerGoToStackwrite assumed
debuggerSetVariableValuewrite inferred
renameEvaluatewrite inferred
renamePreviewread inferred
renameExecutewrite inferred
atcCustomizingread inferred
atcCheckVariantread inferred
createAtcRunwrite inferred
atcWorklistsread inferred
atcUsersread inferred
atcExemptProposalread inferred
atcRequestExemptionwrite inferred
isProposalMessagesend inferred
atcContactUriread inferred
atcChangeContactread inferred
tracesListread inferred
tracesListRequestsread inferred
tracesHitListread inferred
tracesDbAccessread inferred
tracesStatementsread inferred
tracesSetParameterswrite inferred
tracesCreateConfigurationwrite inferred
tracesDeleteConfigurationdelete inferred
tracesDeletedelete inferred
extractMethodEvaluatewrite assumed
extractMethodPreviewread inferred
extractMethodExecutewrite assumed
revisionsread inferred
healthcheckread inferred
Answering this question about your own agent? The self-serve stack report applies the same reading to your own stack or server and gives you a dated document you can hand to a customer's security review. It is generated in your browser, with nobody to wait for. Buying one does not change this page, its score or its place in the index — see Independence.
Maintain this server? If this page misreads your manifest, or your server has changed, submit its current tools/list response and it will be re-scored and dated. Corrections are published alongside the original, not in place of it.