btp-sap-odata-to-mcp-server-optimized について
btp-sap-odata-to-mcp-server-optimizedは、SAP ODataサービスをAIクライアントに接続し、SAP BTPとCloud Foundryを利用するチームを対象とします。設定可能なサービス検出と認証に加え、階層型ツール、自然言語によるODataクエリ、対話型UIツールを備えます。
主な機能
- 01モジュール式の認証方式
- 02パターン、業務領域、許可リストによる検出
- 03自然言語からODataクエリへの変換
- 04階層型ツール構成とオーケストレーション
- 05KPI監視とトレンド分析
- 06対話型フォーム、グリッド、ダッシュボード
活用シーン
- 01選択したSAP ODataサービスをAIクライアントに公開
- 02細かなロールとXSUAAでアクセスを制限
- 03SAPデータからダッシュボードやレポートを作成
- 04SAP BTP Cloud Foundryにサーバーをデプロイ
MCP 対応
MCPサーバーとして、検出したSAP ODataサービスを階層型のツール群で公開します。AIクライアントは自然言語ルーティング、分析機能、対話型UIツールを利用できます。
設定
ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。
npx -y btp-sap-odata-to-mcp-serverSAP_IAS_URLURL of the SAP Identity Authentication Service tenantSAP_IAS_CLIENT_IDClient ID for the OAuth application in IASSAP_IAS_CLIENT_SECRETシークレットClient Secret for the OAuth application in IASSAP_DESTINATION_NAMEName of the BTP destination used for service discoveryODATA_DISCOVERY_MODEOData discovery mode: pattern, business, whitelist, or allODATA_INCLUDE_PATTERNSComma-separated patterns to include (pattern mode)ODATA_EXCLUDE_PATTERNSComma-separated patterns to exclude (pattern mode)PORTThe port on which the Express server will listenNODE_ENVThe application's operating environmentローカルサーバーにはマシン上の実行環境(Node.js 18 以上など)が必要です。設定ファイルの場所はクライアントごとに異なります。
ツール
19掲載時のツール一覧 · 2 週間前に更新
| パラメーター | 型 | 必須 | 説明 |
|---|---|---|---|
| limit | number | いいえ | 返すサービスの最大数 |
| query | string | いいえ | サービスを絞り込む検索語(名前、タイトル、説明) |
| category | enum | いいえ | サービスカテゴリのフィルターbusiness-partner | sales | finance | procurement | hr | logistics | all |
詳細
SAP OData から AI 搭載 MCP サーバーへ(最適化版)
このリポジトリは、SAP OData サービスと AI 機能を連携させる、エンタープライズ対応の MCP(Model Context Protocol)サーバーです。@lemaiwo による元のプロジェクト btp-sap-odata-to-mcp-server をベースにしたこの最適化版では、セキュリティの強化、設定の簡素化、モジュール式認証、Cloud Foundry との包括的な統合を実現しています。
✨ 主な機能
🔐 強化されたセキュリティアーキテクチャ
- モジュール式認証システム:IAS、OAuth2、JWT、基本認証、API キーに対応したファクトリーパターン
- 安全なセッション管理:適切なロック機構を備えた、スレッドセーフなセッション連携
- ロールベースのアクセス制御:XSUAA と連携したきめ細かな権限設定
- プリンシパル伝播:リクエストのライフサイクル全体を通じてユーザーコンテキストを維持
- セキュリティのベストプラクティス:機密データのログ出力なし、安全なエラー処理、JWT 検証
🎯 簡素化された OData ディスカバリー
- パターンベースのフィルタリング:サービス検出用のシンプルな包含/除外パターン
- ビジネスドメインモード:事前設定済みのドメイン(営業、財務、人事など)
- ホワイトリストモード:本番環境向けの明示的なサービス制御
- スマートなデフォルト設定:テスト/デバッグ用サービスを自動的に除外
🧠 AI 搭載機能
- スマートクエリルーター:自然言語を OData に変換
- 階層型ツールアーキテクチャ:17 個以上のツールを論理的な階層に整理
- インテリジェントなワークフローオーケストレーション:ツールの自動連携と最適化
- リアルタイム分析:KPI の監視と傾向分析
🎨 インタラクティブ UI ツールスイート
ui-form-generator:検証機能付きの動的な SAP Fiori フォームui-data-grid:並べ替えとフィルタリングが可能なインタラクティブなテーブルui-dashboard-composer:リアルタイム KPI ダッシュボードui-workflow-builder:ビジュアルなワークフロー作成ui-report-builder:ドリルダウン機能付きの分析レポート
☁️ クラウドネイティブ機能
- Cloud Foundry に最適化:CF サービスとのネイティブな統合
- 構造化ログ:フォールバックに対応した SAP Cloud Logging
- ヘルスモニタリング:包括的なヘルスチェックエンドポイント
- パフォーマンスメトリクス:組み込みのパフォーマンス追跡
- グレースフルシャットダウン:適切なリソースクリーンアップ
🚀 クイックスタート
前提条件
- SAP BTP の Cloud Foundry 環境へのアクセス権。
- 必須の BTP サービス:XSUAA、Identity、Connectivity、Destination。
- Node.js >= 18。
1. インストール
git clone <this-repo>
cd btp-sap-odata-to-mcp-server-optimized
npm install
2. 設定
環境変数を使用してアプリケーションを設定します。詳しくは、設定ガイドをご覧ください。
cp .env.example .env
# Edit .env with your configuration
設定の簡単な例
# Authentication
SAP_IAS_URL=https://your-tenant.accounts.ondemand.com
SAP_IAS_CLIENT_ID=your-client-id
SAP_IAS_CLIENT_SECRET=your-secret
# OData Discovery (Simplified)
ODATA_DISCOVERY_MODE=pattern
ODATA_INCLUDE_PATTERNS=*API*,Z*
ODATA_EXCLUDE_PATTERNS=*_TEST*,*_TEMP*
ODATA_MAX_SERVICES=50
# Destinations
SAP_DESTINATION_NAME=SAP_S4HANA
3. ビルドとデプロイ
# Build the TypeScript source code for BTP
npm run build:btp
# Deploy to SAP BTP, Cloud Foundry
npm run deploy:btp
📚 ドキュメント
プロジェクトのあらゆる側面について、体系的なナビゲーションを備えた完全なドキュメントを利用できます。
🏠 ドキュメントハブ
ユースケースに基づくガイダンスと完全なファイルインデックスを備えた、メインのナビゲーションセンターです。
🚀 クイックリンク
| カテゴリ | ドキュメント | 説明 |
|---|---|---|
| はじめに | 設定ガイド | 環境設定、OData ディスカバリー、CF デプロイ |
| アーキテクチャ | アーキテクチャ概要 | システム設計、セキュリティモデル、ツール階層 |
| 🎨 モダンな図表 | モダンなアーキテクチャ図 | 新機能! インタラクティブなビジュアルアーキテクチャ |
| 使用方法 | ユーザーガイド | 認証、ツールの使用方法、ワークフローの例 |
| リファレンス | ツールリファレンス | パラメーターを含むツールの完全なドキュメント |
| デプロイ | デプロイガイド | SAP BTP とローカル開発環境のセットアップ |
| 開発 | テストガイド | テストスイートと開発ガイドライン |
| 変更内容 | 変更履歴 | バージョン履歴と機能の更新 |
📖 Navigation Flow
README.md → docs/README.md → All Documentation
↓ ↓
Quick Start → Structured Navigation → Complete Coverage
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。