Read-only ABAP MCP server. Read and inspect ABAP objects via the standard ADT (ABAP Development Tools) HTTP API — the same API Eclipse/ADT uses. Read-only by design: it can search, read source, run a syntax check, query tables (SELECT) and resolve where-used / blast radius, but it never writes, activates, executes or modifies anything.
abap-mcp provides 10 read-only tools with basic descriptions and input schemas. All tools are verb-prefixed (abap_*) and have non-empty descriptions (range 50 - 150 chars). However, parameter descriptions are minimal or absent, output schemas are undocumented, and error handling lacks recovery guidance. No tool annotations (readOnlyHint, idempotentHint) despite all being read-only. The server is well-intentioned but falls short of production-grade definition quality.
Ping the SAP ADT server to verify connectivity and configuration.
Read the source code of an ABAP class.
Read the source code of an ABAP function module.
Read the source code of an ABAP include.
Read the source code of an ABAP program.
Read the source code from an arbitrary ADT URI.
Output schemas undocumented. Tools return structured objects (e.g. abap_search returns {ok, count, results}, abap_read_class returns {ok, source_uri, etag, source, object_uri}) but LLMs cannot plan downstream calls without knowing field names and types. Responses lack pagination info despite potentially large result sets.
Parameter descriptions missing or minimal. abap_search has 'max_results' with description 'Maximum number of results to return (default 20)' but no mention of valid range, behavior when exceeded, or impact on performance. abap_sql 'select' param lacks format constraints (e.g. 'read-only SELECT only; no INSERT/UPDATE/DELETE'). LLMs cannot validate inputs without explicit constraints.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | D | 52 | 2026-07-28+ | v2 |
Search for ABAP objects (classes, programs, functions, etc.) by name or keyword.
Run a read-only SELECT via ADT Data Preview. Handy to inspect tables (SmartForms: STXFADM; SAPscript: STXH/STXL; catalog: D...).
List files/folders of a UI5/BSP app via ADT filestore (read-only). app = BSP app name (TADIR R3TR WAPA); path = optional subfolder.
Read a file from a UI5/BSP app via ADT filestore (read-only). E.g.: path='i18n/i18n.properties' or 'view/Main.view.xml'.
Error handling lacks recovery guidance. Code returns _err(st, h, b) which produces 'HTTP 401\n<body>' but does not tell LLM what to do: retry? Check credentials? Call abap_ping first? Errors are not categorized as retryable vs fatal. No actionable next steps.
No tool annotations despite all tools being read-only. MCP spec supports readOnlyHint and idempotentHint annotations. Absence forces LLMs to infer safety from descriptions, increasing hallucination risk. All 10 tools should declare readOnlyHint=true.
abap_search lacks pagination. Description says 'default 20' but does not document max_results upper bound, whether results are truncated, or how to fetch next page. Large result sets risk context window exhaustion. No cursor or offset parameter.