How fr0ster/mcp-abap-adt works
mcp-abap-adt is an MCP server that gives AI agents controlled access to ABAP repositories through SAP ADT. The main workflow is an MCP client request entering through stdio, HTTP, or SSE; handler groups expose tools for repository analysis or ABAP changes; handlers call ADT and return results. The README also documents authentication and destination selection, full and compact variants, debugging, testing, transports, and runtime analysis. Some subsystem links below reflect README-described capabilities because their implementation was not sampled.
Main entry points: clients.ts ADT connection and clients · BaseHandlerGroup.ts Tool registration · stdio/server.ts stdio server · http/server.ts HTTP server
Components 18
MCP transports
- stdio server
server-runtime/src/stdio/server.ts - HTTP server
server-runtime/src/http/server.ts - SSE server
server-runtime/src/sse/server.ts
Server and access
- Destinations and auth
server-runtime/src/stdio/auth
Repository tools
- Repository analysis
src/handlers/search/readonly - Metadata and navigation
src/handlers/system/readonly - Object reads
src/handlers
Development workflows
- Object CRUD and activation
src/handlers/class/high - RAP and services
src/handlers/service_binding/high - Transport management
src/handlers/transport - ABAP testing
src/handlers/unit_test - Debugging
src/handlers/debugger - Runtime and profiling
src/handlers/system
Shared execution
- Tool registration
src/lib/handlers/base/BaseHandlerGroup.ts - ADT connection and clients
src/lib/clients.ts - Result formatting
src/lib/answer.ts
Other components
- MCP client
- SAP ABAP system
Connections 20
- MCP client → stdio server: sends tools
- MCP client → HTTP server: sends tools
- MCP client → SSE server: sends tools
- stdio server → Destinations and auth: resolves destination
server-runtime/src/stdio/server.ts - stdio server → Tool registration: serves tools
- HTTP server → Tool registration: serves tools
- SSE server → Tool registration: serves tools
- Tool registration → Repository analysis: registers tools
src/lib/handlers/groups/SearchHandlersGroup.ts - Tool registration → ADT connection and clients: supplies context
- Repository analysis → ADT connection and clients: queries ADT
- Metadata and navigation → ADT connection and clients: reads ADT
src/handlers/system/readonly/handleGetServiceBindingPreviewUrl.ts - Object reads → ADT connection and clients: reads ADT
src/handlers/system/readonly/handleGetServiceBindingPreviewUrl.ts - Object CRUD and activation → ADT connection and clients: changes ADT objects
- RAP and services → ADT connection and clients: updates services
src/handlers/service_binding/high/handleUpdateServiceBinding.ts - Transport management → ADT connection and clients: manages transports
- ABAP testing → ADT connection and clients: runs tests
- Debugging → ADT connection and clients: controls debugger
- Runtime and profiling → ADT connection and clients: runs programs
src/handlers/system/high/handleRuntimeRunClass.ts - ADT connection and clients → SAP ABAP system: calls ADT
- Result formatting → MCP client: returns results