oisee/vibing-steampunk
vs-punk: ADT to MCP bridge - Vibe code in ABAP / AMDP
해결하는 문제
vibing-steampunk (vsp)는 AI 에이전트(Model Context Protocol - MCP 경유)와 SAP ABAP 시스템 간의 브리지를 제공합니다. 이를 통해 Claude와 같은 AI 어시스턴트가 자연어나 자동화 스크립트를 사용하여 SAP의 복잡한 내부 도구를 수동으로 조작할 필요 없이 코드를 읽고 쓰고, 디버깅하고, 배포하고, 테스트를 실행할 수 있습니다.
작동 원리
이 도구는 ADT (ABAP Development Tools) ↔ MCP 브리지 역할을 합니다. SAP 고유의 ADT API를 고정된 기존 RFC 대화 또는 상태 유지 HTTPS 세션을 통해 활용합니다. 중요한 점은 SAP 서버 측에 어떠한 설치도 필요하지 않다는 것입니다.
주요 기술적 메커니즘은 다음과 같습니다:
- 세션 관리: 디버깅과 같은 복잡한 작업을 처리하기 위해 안정적인 ABAP 세션을 유지합니다. 이는 독립적인 HTTP 호출에서는 실패할 수 있는 작업입니다.
- 프로토콜 변환: MCP 도구 호출을 ADT 리소스 요청(예:
/sap/bc/adt/debugger/stack)으로 변환합니다. - 데이터 디코딩: Go 언어로 SAP 고유의 압축 해제(LZH 및 LZC)를 구현하여, 서버에서 ABAP 코드를 실행할 필요 없이 클러스터 테이블(BALDAT, INDX, STXL 등)과 MIME 저장소를 읽습니다.
- DAP 통합: Debug Adapter Protocol (DAP) 서버를 포함하고 있어, VS Code나 Neovim과 같은 표준 편집기에서 중단점을 설정하고 ABAP 코드를 단계별로 실행할 수 있습니다.
대상 사용자
- ABAP 개발자: AI 에이전트를 개발 워크플로우에 통합하거나 최신 편집기(VS Code, Neovim)를 사용하여 디버깅하려는 개발자.
- SAP 컨설턴트: 시스템 덤프 및 애플리케이션 로그의 사후 분석을 수동 작업 없이 수행해야 하는 컨설턴트.
- SAP 시스템 관리자: 작업(jobs) 및 스풀 요청(spool requests)의 내보내기나 분석이 필요한 문제를 겪는 관리자.
주요 특징
- 제로 서버 설치: 완전히 ADT API를 통해 작동하며, SAP 서버에 Z-code나 SDK를 설치할 필요가 없습니다.
- 전체 디버거 접근: 실시간 중단점 설정, 연결, 단계별 실행, 변수 읽기/쓰기를 지원합니다.
- AMDP 디버깅: ABAP과 HANA 디버거를 연결하여 SQLScript 메서드 디버깅을 가능하게 합니다.
- 사후 분석: 시스템 덤프(ST22)와 애플리케이션 로그를 자동으로 연관시켜 근본 원인을 제안합니다.
- 고급 데이터 접근: Go 네이티브 로직을 사용하여 클러스터 테이블과 MIME 저장소를 바이트 단위로 정확하게 디코딩합니다.
- 응답 캐싱: Go 네이티브 SQLite 캐시를 사용하여 응답 시간을 초 단위에서 밀리초 단위로 단축합니다.
관련
- 프로젝트
- 프로젝트
- 프로젝트
- 프로젝트
- 프로젝트