ABAP Model Context Protocol Server SDK について
ABAP Model Context Protocol Server SDK は、MCP のサーバー側を ABAP で実装した SDK です。ABAP システムを開発する担当者向けで、プロトコルバージョン 2025-11-25 までをサポートします。このバージョンは凍結されており、エラー修正のみが行われます。新しいバージョンには後継の V2 SDK が予定されています。
主な機能
- 01プロンプト、リソース、ツールのサポート
- 02長時間のバックグラウンド処理向けのタスク
- 03プロンプトとリソース引数の補完
- 04DDIC ベースのスキーマ生成と JSON スキーマ検証
- 05SSE 非対応のため通知機能なし
活用シーン
- 01ABAP システム上での MCP サーバーの構築
- 02ABAP の機能をツールとして MCP クライアントに提供
MCP 対応
本プロジェクトは、MCP のプロンプト、リソース、ツールを ABAP で実装するためのサーバー側 SDK です。SSE に対応していないため、listChanged や subscribe などの通知機能は提供されません。
設定
ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。
このサーバーのパッケージやリモートエンドポイントはまだ取得できていません。プロジェクトの README の手順に従ってください。
ツール
ローカルサーバーのツールはマシン上で起動して初めて取得できます。メンテナーはまだツール一覧を提供していません。
詳細
ABAP Model Context Protocol サーバー SDK
Discord - すべての ABAP-AI リポジトリ向けです。
概要
Model Context Protocol の ABAP 実装で、バージョン 2025-11-25 までサポートしています。
注意:これはサーバー実装のみです。現時点では、クライアントに必須の SSE ストリーミングをサポートする現実的な方法がないためです。
サポート対象のプロトコルバージョン:2025-03-26、2025-06-18、2025-11-25
重要:この SDK バージョンがサポートするのは 2025-11-25 までで、エラー修正を除いて今後の更新はありません。2026-07-28 以降のバージョンは、新しい ABAP MCP SDK V2 で実装されています。破壊的変更が非常に多く、アプローチも異なるため、すべてのバージョンを適切にサポートするのは困難でした。特に複雑なセッションサポートがなくなったため、区切りをつけて V2 SDK を作成することにしました。新しい SDK は、セッションが不要である限り、可能な範囲で 2025-03-26 までの旧 MCP バージョンをサポートします。
ドキュメント
docs フォルダーの 概要 を参照してください。
使用している ABAP オープンソースプロジェクト
以下のプロジェクトに特別な感謝を申し上げます。
その他の素晴らしいプロジェクトは dotabap でご覧ください。
機能と制限事項
現在、以下を実装しています。
- プロンプト
- リソース
- ツール(任意の出力スキーマとタスク拡張実行を含む)
- タスク - クライアントのポーリングによる長時間実行のバックグラウンド処理
- 補完 - プロンプトとリソーステンプレートの引数のオートコンプリート
- DDIC ベースのスキーマ生成と、JSON スキーマビルダーおよびバリデーター
SSE はサポートしていません --> 通知がないため、listChanged、subscribe、ロギングもサポートしていません。\
未実装:
- サンプリング - 将来的に検討します。活用例がある場合は、イシューを登録してください
- Elicitation - SSE がない状態では、適切な実装方法がありません
- Roots - ABAP ではおそらく必要ありません
- SSE がないため不要なその他の通知:キャンセル、進捗、ロギング
認可
標準の Authorization をカスタムコードで ABAP に実装するのは現実的ではないため、ABAP の機能に頼る必要があります。
考えられる選択肢の概要については、認証ドキュメント を参照してください。
認証
OAuth が推奨されますが、新しい S/4HANA リリース以外では課題があります。選択肢については 認証 を参照してください。その他の提案も歓迎します。
ロードマップ
次に予定している作業については、現在オープンになっているイシューを参照してください。長期的には、再利用可能な実装に基づいてモジュール式の MCP サーバーを作成する機能を追加する予定です。
FAQ
FAQ を参照してください。
コントリビューション
お気軽にどうぞ。
- バグ報告のイシューを登録する
- 議論には Discord を利用する
- 改善案を提案する
- プルリクエストも歓迎します。ただし、テストを行い、全体のスタイルに従ってください。判断に迷う場合は、先にイシューを登録してください
GenAI に関する注意
コーディングの一部には AI を使用しており、主に Sonnet 3.7/4 と GitHub Copilot を利用しました。詳細なドキュメントの大部分も AI で生成されており、高レベルのレビューのみ実施しています。
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。