ADT clients for SAP ABAP systems - AdtClient and AdtRuntimeClient with support for core ABAP objects, runtime operations, WebSocket connections, AbapGit integration, and executor strategies
This is a LIBRARY of ADT client utilities, not an MCP server. The 64 'tools' listed are TypeScript functions/classes exported from an npm package (@mcp-abap-adt/adt-clients), not MCP tools registered with the Model Context Protocol. No MCP server implementation is present in the source code provided. The package.json shows this is a client library for SAP ABAP ADT systems, with no MCP server transport, no tool registration, no schema definitions, and no MCP-compliant interface. The source excerpt (adtStubServer.ts) is a test utility for HTTP stubbing, not an MCP implementation. This fundamentally fails the evaluation: it is not an MCP server. However, scoring the 64 exported functions as if they were proposed MCP tools (hypothetically): descriptions are minimal and generic ('Access control operations for ABAP objects'), no input/output schemas are visible, parameter descriptions are absent, and error handling patterns are not documented in the callable signatures.
AbapGit client for ABAP repository operations
Access control operations for ABAP objects
Append structure operations for ABAP objects
Authorization field operations for ABAP objects
Behavior definition operations for ABAP objects
Behavior implementation operations for ABAP objects
ABAP class operations including unit testing, local definitions, macros, types, and test classes
This is NOT an MCP server, it is a TypeScript library package. No MCP server implementation, protocol transport, tool registration, or schema definitions are present. The 64 items listed are exported TypeScript functions/classes, not MCP tools.
Zero input/output schemas visible. No JSON Schema definitions for any of the 64 exported items. If these were to be wrapped as MCP tools, each would need explicit input and output schemas with typed parameters and descriptions.
Descriptions are minimal (10-30 characters) and generic. Examples: 'Access control operations for ABAP objects', 'Append structure operations for ABAP objects'. These provide almost no context for LLM tool selection and violate the baseline of 194 chars average for production tools.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-22 | F | 23 | 2026-07-28+ | v2 |
| 2026-03-09 | F | 24 | - | v1 |
Data element operations for ABAP objects
DDL (Data Definition Language) view operations for ABAP objects
Domain operations for ABAP objects
ABAP enhancement object operations including Enhancement Implementation (ENHO), BAdI Implementation, Source Code Plugin, Enhancement Spot (ENHS), and BAdI Enhancement Spot
Feature toggle operations for ABAP objects
Function group operations for ABAP objects
Function group include operations for ABAP objects
Function module operations for ABAP objects
Standalone PROG/I include operations for ABAP objects
Local definitions operations for ABAP classes
Local macros operations for ABAP classes
Local test class operations for ABAP classes
Local types operations for ABAP classes
Activate ABAP enhancement objects
Activate standalone PROG/I include objects
Analyse ABAP object activation results and determine failure status
Analyse any ADT response and determine failure status using general heuristics
Analyse ABAP syntax check results and determine failure status
Analyse ABAP object deletion results and determine failure status
Analyse ABAP runtime exception results and determine failure status
Analyse ABAP unit test results and determine failure status
Analyse ABAP object validation results and determine failure status
Return ADT response results without any shaping or transformation
Check ABAP enhancement objects for syntax errors and warnings
Check if ABAP enhancement objects can be deleted
Check ABAP enhancement objects
Create ABAP enhancement objects
Delete ABAP enhancement objects
Delete standalone PROG/I include objects
Get results of a unit test run for ABAP classes
Get status of a unit test run for ABAP classes
Get metadata for ABAP enhancement objects
Get source code for ABAP enhancement objects
Get transport for ABAP enhancement objects
Get metadata for standalone PROG/I include objects
Get source code for standalone PROG/I include objects
Check if an ADT response indicates an indeterminate walk operation result
Lock ABAP enhancement objects
Lock ABAP enhancement objects for update
Lock standalone PROG/I include objects
Extract raw content from ADT response
Read and parse ABAP object activation refusal from ADT response
Read and parse general ADT refusal from response
Read and parse ABAP syntax check run refusal from ADT response
Read and parse ABAP object deletion refusal from ADT response
Read and parse ABAP runtime exception refusal from ADT response
Read and parse ABAP unit test refusal from ADT response
Read and parse ABAP object validation refusal from ADT response
Start a unit test run for ABAP classes
Start a unit test run by object name for ABAP classes
Unlock ABAP enhancement objects
Unlock standalone PROG/I include objects
Update ABAP enhancement objects
Update ABAP enhancement objects
Upload source code for standalone PROG/I include objects
Validate ABAP enhancement objects
Validate ABAP enhancement object names
Generic and ambiguous tool names: 'check', 'create', 'update', 'validate'. These violate verb_noun naming conventions. 'check' alone does not tell an LLM whether it is syntax checking, access checking, or deletion checking. Should be 'checkEnhancementSyntax', 'checkDeletionEligibility', etc.
No parameter descriptions visible in any function signature. If LLMs were to call these tools, they would not know what parameters are required, what types they accept, what values are valid, or what they control.
No error handling strategy documented. No recovery guidance, retryability classification, or actionable error messages visible. If these tools fail, an LLM would have no direction on what to try next.
Duplicate tool names for conceptually similar operations: 'checkEnhancement' and 'check', 'updateEnhancement' and 'update', 'deleteEnhancement' and 'deleteInclude'. This ambiguity forces LLMs to guess which to use.