oisee/vibing-steampunk
vs-punk: ADT to MCP bridge - Vibe code in ABAP / AMDP
What it solves
Vibing Steampunk (vsp) enables AI agents and developers to interact with SAP ABAP systems. It bridges the gap between modern AI assistants (like Claude) and the SAP ABAP Development Tools (ADT) APIs, allowing for natural language-driven development, debugging, and system analysis without requiring any software installation on the SAP server itself.
How it works
The project implements an MCP (Model Context Protocol) bridge that communicates with SAP systems via two primary transports:
- ADT over HTTPS: Uses stateful ICF sessions to interact with ADT resources.
- Classic RFC: Uses a pure-Go, SDK-free client (
open-rfc-go) to call function modules and tunnel ADT REST requests through theSADT_REST_RFC_ENDPOINT.
This architecture allows the tool to maintain stable ABAP sessions, which is critical for complex operations like debugging (stepping through code, reading variables) and locking objects for editing.
Who it’s for
It is designed for ABAP developers and AI agent creators who need to automate the development lifecycle—including writing code, running tests, and debugging—within SAP environments (version 7.50 and above).
Highlights
- Serverless Debugging: Full access to the ABAP debugger (breakpoints, call stacks, variable reading/writing) with nothing installed on the server.
- SDK-free RFC: Calls any RFC-enabled function module and reads tables using a pure-Go implementation, removing the need for the SAP NW RFC SDK.
- Post-mortem Analysis: Correlates system dumps with application logs to help identify the cause of failures.
- Runtime Tracing: Integrates with SAT traces to provide actual call trees and data flow measurements.
- Package Analysis: Tools for dead code detection, API surface analysis for "Clean Core" compliance, and directional boundary crossing analysis.
- MCP Integration: Exposes SAP capabilities as tools for AI assistants, enabling agentic ABAP development.
Related
- Project
- Project
- Project
- Project
- Project