
datazoode/erpl-adt
Developer toolsこのページは AI により自動翻訳されています。技術的な詳細は原文をご確認ください。 原文を見る
SAP ADT REST API の CLI および MCP サーバー — ABAP ソースの検索、読み書き、テストを実行し、輸送を管理します。 Eclipse なし、RFC SDK なし、JVM なし.
概要
SAP ADT REST API 用の CLI と MCP サーバー — 同じ HTTP エンドポイント Eclipse ADT を使用する単一のバイナリ。 Eclipse なし、SAP NW RFC SDK、JVM なし。 - ABAPオブジェクト、パッケージ、データ辞書テーブル、CDSビュー - ロック管理と輸送統合のソースコード - - - ABAPユニットとATC品質チェック - - - 作成、リスト、および輸送リクエストのリリース - - - - - - JSON-RPC上のAIエージェントのすべての機能を公開する(MCP 2025-06-18、2024-11-05まで交渉) すべてのコマンドは、機械読みやすい出力のために --json を受け付けます。 フィールドタイプとチェックテーブルが解決するデータ・ディクショナリー・テーブルを読みます。 組み込みの構文ハイライトでABAPソースコードを読みます。 パッケージを再帰的にブラウズして、含まれているすべてのものを列挙します。 ADSO、コンポジットプロバイダー、DTP、トランスフォーメーション、およびクエリでBWカタログを検索: ADSOのフィールド構造を点検し、インフォオブジェクトの各フィールドマップで完了します
概要(AI 翻訳)
SAP ADT REST API 用の CLI と MCP サーバー — 同じ HTTP エンドポイント Eclipse ADT を使用する単一のバイナリ。 Eclipse なし、SAP NW RFC SDK、JVM なし。
Datazoo ERPLファミリーの一部。
それが何をするか
- 検索と参照 ABAPオブジェクト、パッケージ、データ辞書テーブル、CDSビュー
- ロック管理および輸送の統合と読み書きソースコード -Run test — コマンドラインからABAPユニットとATC品質チェック
- 運送管理 — 輸送リクエストの作成、リスト、およびリリース
- MCP サーバー — JSON-RPC 上で AI エージェントのすべての機能を公開 (MCP 2025-06-18、2024-11-05 まで交渉)
すべてのコマンドは、機械読み取り可能な出力のために[--json]を受け付けます。
アクション
名前パターンでABAPオブジェクトを検索:
フィールドタイプとチェックテーブルが解決するデータ・ディクショナリー・テーブルを読みます。
組み込みの構文ハイライトでABAPソースコードを読みます。
パッケージを再帰的にブラウズして、含まれているすべてのものを列挙します。
##BW/4HANA モデリング
ADSO、コンポジットプロバイダー、DTP、トランスフォーメーション、およびクエリでBWカタログを検索:
ADSOのフィールド構造を点検し、インフォオブジェクトの各フィールドマップで完了します
このページは AI により自動翻訳されています。技術的な詳細は原文をご確認ください。
README
以下は原文 README の抜粋です。原文を見る。
erpl-adt
CLI and MCP server for the SAP ADT REST API — a single binary that talks the same HTTP endpoints Eclipse ADT uses. No Eclipse, no SAP NW RFC SDK, no JVM.
Part of the Datazoo ERPL family.
What it does
- Search and browse ABAP objects, packages, data dictionary tables, CDS views
- Read and write source code with lock management and transport integration
- Run tests — ABAP Unit and ATC quality checks from the command line
- Manage transports — create, list, and release transport requests
- MCP server — expose all capabilities to AI agents over JSON-RPC (MCP 2025-06-18, negotiating down to 2024-11-05)
Every command accepts --json for machine-readable output.
In action
Find ABAP objects by name pattern:
Read a data-dictionary table, with field types and check tables resolved:
Read ABAP source code with built-in syntax highlighting:
Browse a package recursively to enumerate everything it contains:
BW/4HANA Modeling
Search the BW catalog across ADSOs, composite providers, DTPs, transformations, and queries:
Inspect an ADSO’s field structure, complete with the InfoObject each field maps to:
Export an InfoProvider’s dataflow as Mermaid — pipe it straight into a renderer or commit it next to the model:
Quick examples
# Save connection credentials (prompts for password)
erpl-adt login --host sap.example.com --port 44300 --https --user DEVELOPER
# Search for classes matching a pattern
erpl-adt search ZCL_MY_* --type CLAS --max 20
# Connect in a specific logon language (descriptions come back translated)
erpl-adt --language DE search T000 --max 1 # -> description "Mandanten"
# Read object metadata and source code
erpl-adt object read /sap/bc/adt/oo/classes/zcl_my_class
erpl-adt source read /sap/bc/adt/oo/classes/zcl_my_class/source/main
# Write source code (auto-locks, writes, unlocks)
erpl-adt source write /sap/bc/adt/oo/classes/zcl_my_class/source/main --file impl.abap
# Write and activate in one step
erpl-adt source write /sap/bc/adt/oo/classes/zcl_my_class/source/main --file impl.abap --activate
# Activate an object by name
erpl-adt activate ZCL_MY_CLASS
# Run unit tests and ATC checks (by name or URI)
erpl-adt test ZCL_MY_CLASS
erpl-adt check ZCL_MY_CLASS --variant DEFAULT
# Create a transport request and release it
erpl-adt transport create --desc "Feature XYZ" --package ZPACKAGE
erpl-adt transport release NPLK900042
# Browse packages and data dictionary
erpl-adt package tree ZPACKAGE --type CLAS
インストール
uvx erpl-adt --help設定
{
"mcpServers": {
"erpl-adt": {
"command": "erpl-adt",
"args": ["mcp", "--host", "sap.example.com", "--port", "44300", "--https"],
"env": {
"SAP_PASSWORD": "your_password"
}
}
}
}