io.github.fr0ster/mcp-abap-adt-compact-ro
NPM · @MCP-ABAP-ADT/COMPACT-RO
Read-only compact MCP server for SAP ABAP ADT: the compact tools that change nothing
Available components
Last scanned (22 hours ago)
Scores higher than 48% of npm servers
Category Developer Tools
How this component scores in each security and reliability category. Every signal is checked automatically from public evidence about the published package, including repeated runs of it in an isolated sandbox, and we only credit what we can confirm. How we score → Why this is hard to score →
Supply Chain Security99
- No malware found by supply-chain analysis.Pass
- No known CVEs affecting this package version or its production dependencies.Pass
- No install/post-install scripts declared.Pass
- 44 of 172 dependencies flagged as unhealthy. View diagnostics → Partial
Provenance & Transparency48
- Source repository is publicly reachable at the declared URL. View diagnostics → Pass
- Provenance check failed: no build-provenance attestation is published. See how to fix → View diagnostics → Fail
- Clear OSI-approved license (AGPL-3.0-only).Pass
- Actively maintained (last published 1 days ago).Pass
- Publishes a security disclosure policy (SECURITY.md).Pass
Schema Quality & AI Usability57
- AI-judged instruction clarity (good).Pass
- Context-footprint check failed: tool/resource definitions use about 6509 tokens (~325/item across 20 items; 20 tools + 0 resources), over budget; trim descriptions and params. See how to fix → Fail
- Usage-examples check failed: none of the tools include examples. See how to fix → Fail
Stability & Change Management47
- Stability observed for 14 of 30 days with no destabilising changes; credit accrues until the full window elapses.Partial
Tool Coverage100
- 100% of tools have a non-trivial description (not blank, and not just the tool's name).Pass
- 100% of tool parameters carry a description.Pass
Tool Safety100
- No prompt-injection markers were found in the server instructions, tool names or descriptions we captured.Pass
- We read all 20 captured tool definition(s), and no name or description among them implies an irreversible operation.Pass
- An AI judge read all 20 captured unit(s) of tool text and found none that tries to manipulate the model reading it.Pass
Capabilities100
- Implements a supported MCP spec version (2025-11-25); the latest is 2026-07-28.Pass
Every change we have recorded for this component, newest first. Security-relevant changes are always shown. ▲ marks a change for the better, ▼ a change for the worse; unmarked changes are neutral.
- 3 Nov 26 +1
No change was recorded against any check on this day. Stability & Change Management went from 40 to 43. That category is still filling its 30-day observation window: 12 days of observed history at the previous scan, 13 at this one. The score rises as the window fills, whether or not the server changes.
- 1 Nov 26 +1
No change was recorded against any check on this day. Stability & Change Management went from 33 to 37. That category is still filling its 30-day observation window: 10 days of observed history at the previous scan, 11 at this one. The score rises as the window fills, whether or not the server changes.
- 30 Oct 26 +1
No change was recorded against any check on this day. Stability & Change Management went from 27 to 30. That category is still filling its 30-day observation window: 8 days of observed history at the previous scan, 9 at this one. The score rises as the window fills, whether or not the server changes.
- 28 Oct 26 +1
No change was recorded against any check on this day. Stability & Change Management went from 20 to 23. That category is still filling its 30-day observation window: 6 days of observed history at the previous scan, 7 at this one. The score rises as the window fills, whether or not the server changes.
- 26 Oct 26 +1
No change was recorded against any check on this day. Stability & Change Management went from 13 to 17. That category is still filling its 30-day observation window: 4 days of observed history at the previous scan, 5 at this one. The score rises as the window fills, whether or not the server changes.
- 23 Oct 26 +1
No change was recorded against any check on this day. Stability & Change Management went from 3 to 7. That category is still filling its 30-day observation window: 1 days of observed history at the previous scan, 2 at this one. The score rises as the window fills, whether or not the server changes.
- 22 Oct 26 0
- Stability: 0.00 → unverified ▼ security
- Tool safety: pass → unverified ▼ security
- Capabilities: pass → unverified ▼ functional
- Tool coverage: 100 → unverified ▼ functional
- First check of Schema quality: unverified functional
- Package version: 19.2.0 → 20.0.0 functional
- 21 Oct 26 68
First indexed and scored.
Diagnostic detail from the automated scan of this channel: what the scanner observed at each step, so you can see exactly where a check passed or failed. It is informational only and never changes the trust score.
Captured 4 Nov 2026 · Analysed npm/@mcp-abap-adt/compact-ro@20.0.0
Provenance No attestation
The registry publishes no build provenance for this version, so there is nothing to verify.
| Result | No attestation |
|---|---|
| Ecosystem | npm |
Background: How many MCP packages publish verified provenance →
Dependencies 172 packages
| Packages resolved | 172 |
|---|---|
| Stale | 43 |
| No linked repository | 1 |
| Tree resolution | Complete |
Background: SBOMs and build attestations, explained →
The tools this component advertises to a client, with an estimated token cost for each. Expand a tool to see its parameters and schema. The per-tool counts are indicative and are not scored directly; the schema's total context footprint is one signal in Schema Quality & AI Usability. A tool's description is untrusted text the model reads on every call, which is what makes this list a security surface and not just an inventory: how tool poisoning works →
HandlerBatch ~343
[read-only] action 'begin': Starts batch mode on this server. In batch mode each call of a tool marked recordable is recorded under the next number, starting at 1, and answers with empty content. Answers the state_handle: over Streamable HTTP send it as the state_handle argument of every call of the batch (or in the x-mcp-state-handle header). action 'end': Sends the recorded calls in one envelope with the credentials in force and ends batch mode. Splits SAP's answer into each call's parts and answers the number of recorded calls, of requests sent and of parts received; when sending fails, the parts received differ from the requests sent or the answer fails to split, answers that error, and every number of the batch then answers it. action 'answers' (with number or numbers): Answers the calls of the last executed batch by number: for each number asked, the tool's answer, built from the call's parts of SAP's response when the number is first read and kept for later reads; the numbers asked are processed in parallel. Takes one number or a list of numbers; an unknown number answers as unknown.
| Name | Type | Req | Description |
|---|---|---|---|
| action | string | yes | begin: switch into batch mode; end: send the recorded calls and leave batch mode; answers: read the last batch's answers by number (with number or numbers). |
| number | integer | – | answers only: one batch number to read (an integer of at least 1); give this or numbers, not both. |
| numbers | array | – | answers only: several batch numbers to read, answered in the order given; give this or number, not both. |
No output schema declared.
No examples provided.
HandlerCdsUnitTestResult ~182
[read-only] Reads the result of the CDS unit test run named by run_id*, in one request (GET /sap/bc/adt/abapunit/results/{run_id}), and answers { success, run_id, run_result }: run_result is the result document SAP answered, parsed. Valid once the status is FINISHED; a finished run's result carries executionTime. Optional: with_navigation_uris, format (abapunit or junit). When run_id is given, recordable: in batch mode a call is recorded under the next number and answers with empty content; its answer is read by number after the batch ends.
| Name | Type | Req | Description |
|---|---|---|---|
| format | string | – | Result format. |
| run_id | string | yes | Unit test run id. |
| with_navigation_uris | boolean | – | Include ADT navigation URIs in the result payload. |
No output schema declared.
No examples provided.
HandlerCdsUnitTestStatus ~106
[read-only] Reads the status of the CDS unit test run named by run_id. Required: run_id*. Optional: with_long_polling. Response: JSON. Recordable: in batch mode a call is recorded under the next number and answers with empty content; its answer is read by number after the batch ends.
| Name | Type | Req | Description |
|---|---|---|---|
| run_id | string | yes | Unit test run id. |
| with_long_polling | boolean | – | Use long polling while waiting for completion. |
No output schema declared.
No examples provided.
HandlerCheckRun ~282
[read-only] Runs a syntax check on the object named by object_type and object_name. object_type required: CLASS(object_name*), PROGRAM(object_name*) [onprem only], INTERFACE(object_name*), FUNCTION_GROUP(object_name*), FUNCTION_MODULE(object_name* as GROUP|MODULE), TABLE(object_name*), STRUCTURE(object_name*), DDL(object_name*), DOMAIN(object_name*), DATA_ELEMENT(object_name*), PACKAGE(object_name*), BEHAVIOR_DEFINITION(object_name*), METADATA_EXTENSION(object_name*). source_code checks unsaved source given in the call, for CLASS, STRUCTURE and DDL. Recordable: in batch mode a call is recorded under the next number and answers with empty content; its answer is read by number after the batch ends.
| Name | Type | Req | Description |
|---|---|---|---|
| object_name | string | yes | Object name. A function module is named GROUP|MODULE, its function group first. |
| object_type | string | yes | Object type. Supported: CLASS, PROGRAM, INTERFACE, FUNCTION_GROUP, FUNCTION_MODULE, TABLE, STRUCTURE, DDL, DOMAIN, DATA_ELEMENT, PACKAGE, BEHAVIOR_DEFINITION, METADATA_EXTENSION. |
| source_code | string | – | Source to check instead of the saved one; nothing is saved. CLASS, STRUCTURE and DDL only. |
| version | string | – | Version to syntax-check. |
No output schema declared.
No examples provided.
HandlerDeletionCheck ~271
[read-only] Asks SAP whether the object named by object_type and object_name can be deleted: sends the deletion check request for its type, and answers SAP's verdict as it came: deletable true with the object and SAP's message when it carries one, or SAP's refusal with its words. object_type and object_name required: PACKAGE, DOMAIN, DATA_ELEMENT, TABLE, STRUCTURE, DDL, SERVICE_DEFINITION, SERVICE_BINDING, CLASS, CDS_UNIT_TEST (its test class), PROGRAM [onprem only], INTERFACE, FUNCTION_GROUP, FUNCTION_MODULE (object_name GROUP|MODULE), BEHAVIOR_DEFINITION, BEHAVIOR_IMPLEMENTATION, METADATA_EXTENSION. Recordable: in batch mode a call is recorded under the next number and answers with empty content; its answer is read by number after the batch ends.
| Name | Type | Req | Description |
|---|---|---|---|
| object_name | string | yes | Object name. A function module is named GROUP|MODULE, its function group first. |
| object_type | string | yes | Object type. Supported: PACKAGE, DOMAIN, DATA_ELEMENT, TABLE, STRUCTURE, DDL, SERVICE_DEFINITION, SERVICE_BINDING, CLASS, CDS_UNIT_TEST, PROGRAM, INTERFACE, FUNCTION_GROUP, FUNCTION_MODULE, BEHAVIOR_… |
No output schema declared.
No examples provided.
HandlerDumpList ~612
[read-only] Reads one page of the runtime feed named by feed_type in one request, newest first: the ABAP short dumps (runtime errors) of the user, object_name or time range from–to given, or system messages or SAP Gateway errors. Optional: feed_type(dumps|system_messages|gateway_errors, default dumps), user, runtime_error, exception, object_name, package, component, top (1 to 100), from, to. Response: JSON { feed_type, count, entries, next_to }; each dump carries dump_id; next_to is the `to` of SAP's next link, present when more remain. The next link's page starts at the boundary second, inclusive: entries of that second may repeat; match them by dump_id. Runs on an ABAP session of its own. Optional timeout (seconds): when it passes, the read is cancelled, its ABAP session logged off, and the system stays as it was. Set it below your MCP client's request limit — the TypeScript SDK's client cancels at 60 s; a client's cancel ends only the client's wait, and SAP runs the read on. Recordable: in batch mode a call is recorded under the next number and answers with empty content; its answer is read by number after the batch ends.
| Name | Type | Req | Description |
|---|---|---|---|
| component | string | – | Dumps whose application component contains this text, in any case. |
| exception | string | – | Dumps whose exception class contains this text, in any case. |
| feed_type | string | – | Which runtime feed to list. Default "dumps" (ABAP short dumps). "system_messages" and "gateway_errors" read the other two ADT runtime feeds through the same call. |
| from | string | – | Start of time range (YYYYMMDDHHMMSS). |
| object_name | string | – | Dumps whose terminated object name contains this text, in any case. |
| package | string | – | Dumps whose object package contains this text, in any case. |
| runtime_error | string | – | Dumps whose runtime error contains this text, in any case. |
| timeout | integer | – | Seconds to wait for the answer: a whole number, at least 1, no default — without it the call waits until SAP answers. When it passes, the read is cancelled (its ABAP session is logged off) and the ca… |
| to | string | – | End of time range (YYYYMMDDHHMMSS), inclusive: the page holds the entries up to that second; a previous answer's next_to is the next page's to, and that page starts at the boundary second, inclusive. |
| top | number | – | Entries the page holds, 1 to 100 (SAP answers 100 when top is absent). |
| user | string | – | Entries of this user. |
No output schema declared.
No examples provided.
HandlerDumpView ~149
[read-only] Reads the ABAP short dump (runtime error) named by dump_id in the view given. Required: dump_id* (id or URI). Optional: view(default|summary|formatted). Response: JSON. Recordable: in batch mode a call is recorded under the next number and answers with empty content; its answer is read by number after the batch ends.
| Name | Type | Req | Description |
|---|---|---|---|
| dump_id | string | yes | The dump's dump_id, or its URI. |
| view | string | – | "summary" — runtime error, exception, terminated program, time, user and termination position; "default" — that summary and the parsed dump; "formatted" — the dump as formatted text. |
No output schema declared.
No examples provided.
HandlerGet ~1,939
[read-only] Reads one part of the object named by object_type and its name parameter (class_name, program_name, ddl_name, table_name, …). part selects it: source (default) the source alone, in one request; metadata the ADT metadata document alone, in one request; urls (SERVICE_BINDING) the service URL, its $metadata and the browser preview, contents (PACKAGE) the objects the package holds, its walk read level by level in ADT batch envelopes; package_names lists several packages, read together, one entry per package in the order given. A source document answers { part: 'source', source } and a metadata document { part: 'metadata', metadata }, beside the object's name. Parts per type: PACKAGE metadata, contents; DOMAIN, DATA_ELEMENT, FUNCTION_GROUP metadata; LOCAL_TEST_CLASS, LOCAL_TYPES, LOCAL_DEFINITIONS, LOCAL_MACROS, TRANSPORT, UNIT_TEST, CDS_UNIT_TEST source; SERVICE_BINDING source, metadata, urls; every other type source, metadata. A part outside the type's list is answered with that list. Three parts read the repository by ADT address: object_structure(object_adt_type*, object_name*), node_structure(object_adt_type*, object_name*, node_id, with_short_descriptions; one node level; a package's blank answer is the empty listing with blank stating its two readings: an empty package, or an unknown package name) and virtual_folders(object_search_pattern, preselection, facet_order, with_versions, ignore_short_descriptions). Two parts read an activation run by its id, in one request each: activation_status(run_id*) answers { run_id, part, status, document }, the run's status (finished, error, failed, or its progress while it runs) and its status document as SAP answered it; activation_results(run_id*) answers { run_id, part, messages, document }, the messages the run produced and its results document as SAP answered it. Otherwise object_type required: PACKAGE(package_name*; part contents: package_name* or package_names*), DOMAIN(domain_name*), DATA_ELEMENT(data_elemen…
| Name | Type | Req | Description |
|---|---|---|---|
| behavior_definition_name | string | – | Behavior definition name. |
| behavior_implementation_name | string | – | Behavior implementation name. |
| class_name | string | – | Class name. |
| data_element_name | string | – | Data element name. |
| ddl_name | string | – | DDL source name. |
| domain_name | string | – | Domain name. |
| facet_order | array | – | Facet order (virtual_folders). |
| function_group_name | string | – | Function group name (FUNCTION_GROUP; FUNCTION_MODULE given as the module's name). |
| function_module_name | string | – | Function module name: GROUP|MODULE, its function group first, or the module alone with function_group_name. |
| ignore_short_descriptions | boolean | – | Leave out short descriptions (virtual_folders). |
| include_descriptions | boolean | – | Include each member's description (part contents). The walk's levels are then read as single requests, several at a time, rather than in ADT batch envelopes. |
| interface_name | string | – | Interface name. |
| max_results | number | – | Maximum number of members listed per package (part contents). |
| metadata_extension_name | string | – | Metadata extension name. |
| node_id | string | – | Node id to expand (node_structure); the root when absent. |
| object_adt_type | string | – | ADT type code of the object (object_structure) or of the parent node (node_structure). |
| object_name | string | – | Object name (object_structure) or parent name (node_structure). |
| object_search_pattern | string | – | Object name pattern (virtual_folders). |
| object_type | string | – | ABAP object type for routed compact operation. |
| package_name | string | – | Package name. |
| package_names | array | – | Several package names (part contents), read together: one entry per package, in the order given, each { package_name, contents } or { package_name, error }. |
| part | string | – | The part to read: source (the source alone), metadata (the ADT metadata document alone), urls (the service and preview URLs), contents (the objects a package holds); each object type answers the part… |
| preselection | array | – | Facet preselections (virtual_folders). |
| program_name | string | – | Program name. |
| response_format | string | – | Response format for SERVICE_BINDING reads. |
| run_id | string | – | Run id: a unit test run (UNIT_TEST, CDS_UNIT_TEST) or an activation run (parts activation_status, activation_results). |
| service_binding_name | string | – | Service binding name. |
| service_definition_name | string | – | Service definition name. |
| structure_name | string | – | Structure name. |
| table_name | string | – | Table name. |
| timeout | integer | – | Seconds to wait for the answer: a whole number, at least 1, no default — without it the call waits until SAP answers. When it passes, the read is cancelled (its ABAP session is logged off) and the ca… |
| transport_number | string | – | Transport request or task number (TRANSPORT). A request lists the entries of all its tasks; a task lists its own. |
| version | string | – | Object version to read/check. |
| with_short_descriptions | boolean | – | Include short descriptions (node_structure). |
| with_versions | boolean | – | Include versions (virtual_folders). |
No output schema declared.
No examples provided.
HandlerGetData ~331
[read-only] Reads the rows of the table or CDS view named by object_name, or the rows sql_query selects: every column of object_name, or what sql_query selects with its columns, conditions and order. Required: object_name or sql_query. Optional: max_rows (default 100). Response: JSON. Runs on an ABAP session of its own. Optional timeout (seconds): when it passes, the read is cancelled, its ABAP session logged off, and the system stays as it was. Set it below your MCP client's request limit — the TypeScript SDK's client cancels at 60 s; a client's cancel ends only the client's wait, and SAP runs the read on. Recordable: in batch mode a call is recorded under the next number and answers with empty content; its answer is read by number after the batch ends.
| Name | Type | Req | Description |
|---|---|---|---|
| max_rows | number | – | Maximum number of rows returned. |
| object_name | string | – | Table or CDS view whose rows are read, all columns. Used when sql_query is absent. |
| sql_query | string | – | ABAP SQL SELECT naming the columns, conditions and order to read. |
| timeout | integer | – | Seconds to wait for the answer: a whole number, at least 1, no default — without it the call waits until SAP answers. When it passes, the read is cancelled (its ABAP session is logged off) and the ca… |
No output schema declared.
No examples provided.
HandlerLeftoverSessionList ~102
[read-only] Lists the SAP sessions of this server's destination an ended server process left open (it was killed before logging them off): handle, role (built or debugger), destination, user, when recorded. Read from the session records alone. Only sessions of ended processes are listed. A server starting while exactly one built session of its destination is left is born on it; with several, all stay listed and untaken. Runs outside batch mode.
Input schema present but exposes no named parameters.
No output schema declared.
No examples provided.
HandlerLeftoverSessionLogoff ~72
[read-only] Logs off a leftover SAP session (any role), releasing every lock it holds; only the logoff is sent, credential-free. Its record is deleted afterwards. Runs outside batch mode.
| Name | Type | Req | Description |
|---|---|---|---|
| handle | string | yes | The handle of a leftover session, as the list answers it. |
No output schema declared.
No examples provided.
HandlerProfileList ~56
[read-only] Lists the ABAP profiler trace files. Response: JSON. Recordable: in batch mode a call is recorded under the next number and answers with empty content; its answer is read by number after the batch ends.
Input schema present but exposes no named parameters.
No output schema declared.
No examples provided.
HandlerProfileView ~445
[read-only] Reads the ABAP profiler trace named by trace_id_or_uri in the view given (hit list, statements or database accesses), raw or analysed. Required: trace_id_or_uri*, view*(hitlist|statements|db_accesses). Optional: mode(raw|analyze, default raw), top(analyze only), with_system_events, id, with_details, auto_drill_down_threshold. Response: JSON. Runs on an ABAP session of its own. Optional timeout (seconds): when it passes, the read is cancelled, its ABAP session logged off, and the system stays as it was. Set it below your MCP client's request limit — the TypeScript SDK's client cancels at 60 s; a client's cancel ends only the client's wait, and SAP runs the read on. Recordable: in batch mode a call is recorded under the next number and answers with empty content; its answer is read by number after the batch ends.
| Name | Type | Req | Description |
|---|---|---|---|
| auto_drill_down_threshold | number | – | Auto drill-down threshold. |
| id | number | – | Optional statement/access id. |
| mode | string | – | "raw" returns the parsed trace payload as-is (default). "analyze" returns a compact summary instead — totals plus the top-ranked entries — via the same trace view. |
| timeout | integer | – | Seconds to wait for the answer: a whole number, at least 1, no default — without it the call waits until SAP answers. When it passes, the read is cancelled (its ABAP session is logged off) and the ca… |
| top | number | – | Number of top-ranked rows to include when mode is "analyze". Default 10. Ignored for mode "raw". |
| trace_id_or_uri | string | yes | Profiler trace id or URI. |
| view | string | yes | Profiler trace view kind. |
| with_details | boolean | – | Include detailed payload. |
| with_system_events | boolean | – | Include system events in analysis. |
No output schema declared.
No examples provided.
HandlerSearch ~298
[read-only] Searches the ABAP repository for the objects whose name matches query, a name or a mask. Required: query*. Optional: object_type, max_results (default 100). Response: one object per line. Runs on an ABAP session of its own. Optional timeout (seconds): when it passes, the read is cancelled, its ABAP session logged off, and the system stays as it was. Set it below your MCP client's request limit — the TypeScript SDK's client cancels at 60 s; a client's cancel ends only the client's wait, and SAP runs the read on. Recordable: in batch mode a call is recorded under the next number and answers with empty content; its answer is read by number after the batch ends.
| Name | Type | Req | Description |
|---|---|---|---|
| max_results | number | – | Maximum number of objects returned. |
| object_type | string | – | ADT object type to restrict the search to. |
| query | string | yes | Object name or mask, with * as a wildcard. |
| timeout | integer | – | Seconds to wait for the answer: a whole number, at least 1, no default — without it the call waits until SAP answers. When it passes, the read is cancelled (its ABAP session is logged off) and the ca… |
No output schema declared.
No examples provided.
HandlerServiceBindingListTypes ~87
[read-only] Lists the available service binding types. Optional: response_format(xml|json|plain). Response: XML/JSON/plain by response_format. Recordable: in batch mode a call is recorded under the next number and answers with empty content; its answer is read by number after the batch ends.
| Name | Type | Req | Description |
|---|---|---|---|
| response_format | string | – | Response format for protocol types list. |
No output schema declared.
No examples provided.
HandlerServiceBindingValidate ~158
[read-only] Validates a new service binding named by service_binding_name for the service definition named by service_definition_name, before it is created. Required: service_binding_name*, service_definition_name*. Optional: service_binding_version, package_name, description. Response: JSON. Recordable: in batch mode a call is recorded under the next number and answers with empty content; its answer is read by number after the batch ends.
| Name | Type | Req | Description |
|---|---|---|---|
| description | string | – | Binding description. |
| package_name | string | – | Target package name. |
| service_binding_name | string | yes | Service binding name to validate. |
| service_binding_version | string | – | Service binding version. |
| service_definition_name | string | yes | Service definition name to pair with binding. |
No output schema declared.
No examples provided.
HandlerUnitTestResult ~181
[read-only] Reads the result of the ABAP Unit test run named by run_id*, in one request (GET /sap/bc/adt/abapunit/results/{run_id}), and answers { success, run_id, run_result }: run_result is the result document SAP answered, parsed. Valid once the status is FINISHED; a finished run's result carries executionTime. Optional: with_navigation_uris, format (abapunit or junit). When run_id is given, recordable: in batch mode a call is recorded under the next number and answers with empty content; its answer is read by number after the batch ends.
| Name | Type | Req | Description |
|---|---|---|---|
| format | string | – | Result format. |
| run_id | string | yes | Unit test run id. |
| with_navigation_uris | boolean | – | Include ADT navigation URIs in the result payload. |
No output schema declared.
No examples provided.
HandlerUnitTestStatus ~105
[read-only] Reads the status of the ABAP Unit test run named by run_id. Required: run_id*. Optional: with_long_polling. Response: JSON. Recordable: in batch mode a call is recorded under the next number and answers with empty content; its answer is read by number after the batch ends.
| Name | Type | Req | Description |
|---|---|---|---|
| run_id | string | yes | Unit test run id. |
| with_long_polling | boolean | – | Use long polling while waiting for completion. |
No output schema declared.
No examples provided.
HandlerValidate ~430
[read-only] Validates a new object named by object_type and object_name before it is created. object_type required: CLASS(object_name*, superclass), PROGRAM(object_name*) [onprem only], INTERFACE(object_name*), FUNCTION_GROUP(object_name*), FUNCTION_MODULE(object_name* as GROUP|MODULE), TABLE(object_name*), STRUCTURE(object_name*), DDL(object_name*), DOMAIN(object_name*), DATA_ELEMENT(object_name*), PACKAGE(object_name*, super_package), BEHAVIOR_DEFINITION(object_name*), BEHAVIOR_IMPLEMENTATION(object_name*), METADATA_EXTENSION(object_name*), SERVICE_BINDING(object_name*=service_binding_name*, service_definition_name*). Recordable: in batch mode a call is recorded under the next number and answers with empty content; its answer is read by number after the batch ends.
| Name | Type | Req | Description |
|---|---|---|---|
| behavior_definition | string | – | Optional behavior definition name, used when validating behavior implementation. |
| description | string | – | Optional object description used during validation. |
| implementation_type | string | – | Optional implementation type, used for behavior implementation validation. |
| object_name | string | yes | Required object name. For SERVICE_BINDING this is the service binding name; a function module is named GROUP|MODULE. |
| object_type | string | yes | Object type to validate before create. Supported: CLASS, PROGRAM, INTERFACE, FUNCTION_GROUP, FUNCTION_MODULE, TABLE, STRUCTURE, DDL, DOMAIN, DATA_ELEMENT, PACKAGE, BEHAVIOR_DEFINITION, BEHAVIOR_IMPLE… |
| package_name | string | – | Optional package context for validation (especially for create scenarios). |
| root_entity | string | – | Optional CDS root entity name, used for behavior-related validation. |
| service_binding_version | string | – | Optional service binding version for SERVICE_BINDING. |
| service_definition_name | string | – | Required when object_type=SERVICE_BINDING. Service definition paired with the binding. |
| super_package | string | – | Super package of the package to validate (PACKAGE). |
| superclass | string | – | Superclass of the class to validate (CLASS). |
No output schema declared.
No examples provided.
HandlerWhereUsed ~360
[read-only] Lists where the object named by object_type and object_name is used — a class, interface, program, include, function group, function module (BAPI included), package, table, structure, domain, data element or CDS DDL source: the objects that use, call or reference it, with type and package. Required: object_type*, object_name*. Optional: function_group_name (FUNCTION_MODULE), max_results (default 100). Response: JSON. Runs on an ABAP session of its own. Optional timeout (seconds): when it passes, the read is cancelled, its ABAP session logged off, and the system stays as it was. Set it below your MCP client's request limit — the TypeScript SDK's client cancels at 60 s; a client's cancel ends only the client's wait, and SAP runs the read on. Recordable: in batch mode a call is recorded under the next number and answers with empty content; its answer is read by number after the batch ends.
| Name | Type | Req | Description |
|---|---|---|---|
| function_group_name | string | – | Function group of the function module (FUNCTION_MODULE). |
| max_results | number | – | Maximum number of referencing objects returned. |
| object_name | string | yes | Object name. |
| object_type | string | yes | Type of the object whose usages are listed. |
| timeout | integer | – | Seconds to wait for the answer: a whole number, at least 1, no default — without it the call waits until SAP answers. When it passes, the read is cancelled (its ABAP session is logged off) and the ca… |
No output schema declared.
No examples provided.
How do I install the io.github.fr0ster/mcp-abap-adt-compact-ro server?
io.github.fr0ster/mcp-abap-adt-compact-ro runs locally as an npm package, launched with npx -y @mcp-abap-adt/compact-ro. Ready-made configuration for Claude, Cursor, VS Code, Codex and 5 more is on this page, copied from each client's own documentation.
npm · @mcp-abap-adt/compact-ro
claude mcp add fr0ster-mcp-abap-adt-compact-ro -- npx -y @mcp-abap-adt/compact-ro
What is the io.github.fr0ster/mcp-abap-adt-compact-ro server?
io.github.fr0ster/mcp-abap-adt-compact-ro is listed in the public MCP registry as io.github.fr0ster/mcp-abap-adt-compact-ro. Read-only compact MCP server for SAP ABAP ADT: the compact tools that change nothing. This page covers its npm package (@mcp-abap-adt/compact-ro).
Is the io.github.fr0ster/mcp-abap-adt-compact-ro server safe to use?
io.github.fr0ster/mcp-abap-adt-compact-ro scores 74 out of 100 on VerifyMCP. We found no known CVEs affecting it as of 4 November 2026. It declares no install or post-install scripts. That is a record of what we were able to check automatically, not an endorsement. The category breakdown on this page shows every signal behind the number, including the ones we could not confirm.
What tools does the io.github.fr0ster/mcp-abap-adt-compact-ro server expose?
io.github.fr0ster/mcp-abap-adt-compact-ro exposes 20 tools: HandlerGet, HandlerSearch, HandlerWhereUsed, HandlerGetData, HandlerValidate, and 15 more. Their descriptions and schemas cost roughly 6,509 tokens of context every time the server is loaded.
Is the io.github.fr0ster/mcp-abap-adt-compact-ro server still maintained?
io.github.fr0ster/mcp-abap-adt-compact-ro is still listed as active in the MCP registry. We last reached this channel on 4 November 2026. Those dates come from our own scans of the registry and the channel itself, not from anything the publisher announced.
What licence is the io.github.fr0ster/mcp-abap-adt-compact-ro server under?
io.github.fr0ster/mcp-abap-adt-compact-ro declares the AGPL-3.0-only licence, which is OSI-approved. That covers the source only, and says nothing about the cost of any service it calls.