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システム管理者:ジョブやスプールリクエストの出力や分析が必要な問題を抱えている方。
特徴
- サーバーインストール不要:完全にADT API経由で動作し、SAPサーバー上にZコードやSDKをインストールする必要はありません。
- フルデバッガーアクセス:リアルタイムでのブレークポイント設定、アタッチ、ステップ実行、変数の読み書きをサポートします。
- AMDPデバッグ:ABAPとHANAのデバッガーをブリッジし、SQLScriptメソッドのデバッグを可能にします。
- 事後分析:システムダンプ (ST22) とアプリケーションログを自動的に関連付け、根本原因を提案します。
- 高度なデータアクセス:Goネイティブのロジックを使用して、クラスターテーブルとMIMEリポジトリをバイト単位で正確にデコードします。
- レスポンスキャッシュ:GoネイティブのSQLiteキャッシュを使用し、応答時間を秒単位からミリ秒単位に短縮します。
関連
- プロジェクト
- プロジェクト
- プロジェクト
- プロジェクト
- プロジェクト