HTTP-only ABAP ADT client bridge that tunnels ADT REST requests through SAP RFC to systems reachable only via RFC/SAProuter
This server exposes 10 tools for SAP ABAP development via ADT (ABAP Development Tools) and RFC bridges. Critical gaps: 7 of 10 tools lack visible input schemas in the provided code; descriptions are present but generic (avg ~80 chars, below the 194-char baseline); no output schemas documented; no error handling guidance; no parameter type definitions visible for most tools. The code shows raw HTTP/RFC plumbing but does not register tools with MCP-compliant schemas. Tool definitions appear inferred from function signatures rather than explicit MCP registration.
Create or replace an ABAP report on an RFC-only system, writing directly to the ACTIVE version without activation
Read an ABAP program's source code from the system
Two-phase activation of ABAP objects: preaudit to expand inactive set, then activate all referenced objects
Map one ADT HTTP request to SADT_REST_RFC_ENDPOINT and return the response
Delete an ABAP program through the ADT bridge (LOCK -> DELETE -> UNLOCK)
Retrieve ABAP source code from an ADT object, optionally specifying active or inactive version
No visible input schemas for 7 of 10 tools. Code shows function signatures but no explicit JSON Schema registration with type definitions, constraints, or required/optional markers.
Descriptions are generic and lack LLM-optimized guidance. E.g., 'Retrieve ABAP source code from an ADT object' (60 chars) does not explain WHEN to use it vs alternatives, what version='active' vs 'inactive' means, or what the response contains.
No output schemas documented. Callers cannot know what fields to expect (e.g., does activate() return error messages? structured XML? a boolean?). This forces LLMs to guess and breaks tool chaining.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | F | 44 | 2026-07-28+ | v2 |
Write ABAP source code to an object via ADT LOCK/PUT/UNLOCK sequence
Write selection texts or text symbols for a program directly to its active version
Perform ABAP syntax check on an object's source code
Write and activate an ABAP source object through the ADT-over-RFC bridge (LOCK -> PUT -> ACTIVATE -> UNLOCK)
Error handling is absent. Functions raise RuntimeError with raw HTTP codes and truncated response bodies (e.g., 'LOCK failed 403: ...'). No guidance on recovery, retryability, or what the LLM should do next.
Parameter descriptions are minimal or missing type info. E.g., 'version' parameter in get_source says 'Version to retrieve: active or inactive' but does not explain the semantic difference or default behavior when omitted.