MCP server for SAP ABAP Development Tools (ADT). Operates on SAP via HTTP/REST for reading/writing ABAP source code, creating ABAP objects, transport management, activation, syntax checks, ATC checks, unit tests, code completion, pretty printing, refactoring, and DDIC lookups.
24 tools with mixed quality. Naming is verb-first and clear (lock_object, get_source, delete_transport). Descriptions present but brief (avg ~60 chars, well below 194-char baseline). Input schemas visible in test code with type declarations, but output schemas are NOT documented anywhere, critical gap. Parameters have descriptions but lack constraints (enums, ranges, formats). Error handling is basic; no recovery guidance. Tool annotations (readOnlyHint, destructiveHint) are present in test assertions, which is good. However, many tools lack depth: no pagination guidance for list-like tools, no idempotency guarantees, no dependency hints. Composition is reasonable (separate lock/unlock, create/delete), but some tools are overly broad (run_class is DESTRUCTIVE but description doesn't warn of side effects).
Activate an ABAP object
Get code completion suggestions for ABAP
Create a new ABAP object (PROG, CLAS, INTF, FUGR, MSAG, DDLS, TABL, DTEL, DOMA)
Create a new transport request
Delete an ABAP object
Delete a transport request
Retrieve DDIC (Data Dictionary) information
Output schemas not documented. No tool returns a documented schema, LLMs cannot predict response structure or plan downstream calls. Critical for composition.
Descriptions are too brief (avg ~60 chars vs 194-char baseline). Most lack WHEN to use, prerequisites, or side-effect warnings. E.g., 'run_class' is DESTRUCTIVE but description does not warn of execution side effects.
No parameter constraints (enums, ranges, formats). E.g., 'object_type' in create_object accepts free-form strings instead of enum [PROG, CLAS, INTF, FUGR, MSAG, DDLS, TABL, DTEL, DOMA]. Invites hallucinated values.
Inferred effective spec: 2025-06-18+.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | D | 51 | 2025-06-18+ | v2 |
Retrieve metadata information about an ABAP object
Retrieve the source code of an ABAP object
Retrieve transport requests for the current user
Lock an ABAP object for editing
Apply a patch to ABAP source code
Format ABAP source code according to SAP standards
Release a transport request
Rollback a released transport request
Run ATC (ABAP Test Cockpit) checks on an object
Execute a global, active class implementing IF_OO_ADT_CLASSRUN and return its console output
Execute a query with a specified purpose (scope-checked before reaching SAP)
Run unit tests for an ABAP object
Switch between configured SAP systems
Set ABAP source code from a file
Perform a syntax check on ABAP source code
Unlock an ABAP object after editing
Update SAP customizing entries
No pagination or result-limiting guidance. Tools like 'get_transport_requests' and 'code_completion' may return large result sets without documented limits or offset/limit parameters.
Error handling lacks recovery guidance. No tool description explains what to do on failure (retry, ask user, try alternative). E.g., 'lock_object' can fail with 423 (already locked) but description does not suggest next steps.