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キャッシュを使用し、応答時間を秒単位からミリ秒単位に短縮します。

関連

  • プロジェクト
  • プロジェクト
  • プロジェクト
  • プロジェクト
  • プロジェクト