2
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

SAP OData MCPサーバをClineから使ってみた

Posted at

はじめに

この記事はSAP Advent Calendar 2025 の12月14日分の記事として執筆しています。

今年のTechEDでCorsurやVS Codeの拡張機能であるClineなどで使用できるMCPサーバの公開が発表されました。
MCPサーバは既に使用することができるので、今回はSAP OData MCPサーバとClineを使用して、BPの情報をS4から取得してみました。

対象読者

  • BTPのグローバルアカウント、サブアカウント、インスタンス作成ができる人
  • Git、CF CLIコマンドが実行できる人
  • SAPのMCPサーバに興味がある人

環境

  • BTP:社内TDD環境(トライアルはAI Coreが使えないため)
  • S4 Hana Cloud:社内TDD環境

使用サービス

  • Business Application Studio
  • SAP AI Core
  • Destination Service

全体像

※雑な絵ですみません
image.png

手順

1.グローバルアカウント・サブアカウント・スペースの作成

色々なところで解説されているので、割愛します。
参考までにチュートリアルはこちらです。

2.SAP AI Coreサービスの立ち上げとClineの設定

Clineは拡張機能をインストールしただけでは動かすことができず、個別にAI ベンダーからAPIキーを発行するか、Clineが提供するAIモデルを使用する必要があります。
実はClineはSAP AI Coreサービスとも連携をさせることができるため、今回はSAP AI CoreとClineを連携させたいと思います。

サービスの立ち上げ

サクッとサービス立ち上げ
image.png

サービスキーの作成
※諸事情でインスタンス名を変えています。
image.png

サービスキーの以下情報をコピー

  • clientid
  • clientsecret
  • url
  • serviceurls
    image.png

Cline側の設定

Clineの設定画面から先ほどのサービスキー情報を入力します。
Clineのインストール方法は割愛します。
このような記事を参考に、インストールしてください。
image.png

3.MCPサーバのデプロイ

MCPサーバをCloud Foundryにデプロイします。
今回はこちらのSAPブログを参考にデプロイしています。
デプロイ元のソースコードはこちらを使用します。

プロジェクトのPull

BASに入り、適当なディレクトリに以下MCPサーバのソースコードをダウンロードします。

git clone https://github.com/lemaiwo/btp-sap-odata-to-mcp-server.git
cd btp-sap-odata-to-mcp-server

Cloud Foundryにデプロイ

次に以下コマンドでビルドとデプロイを行います。

npm run build:btp
cf login -a <cf api endpoint of BTP>
npm run deploy:btp

sap-mcp-server-ctc-btp-demoというアプリケーションがデプロイされていれば、デプロイ成功です。
image.png

以下のようにインスタンスがクラッシュしている場合は、メモリ割り当てを増やしてください。
image.png
デフォルトだと512MBですが、1024MBくらい割り当てると動いてくれます。
image.png

Destinationの設定

次に接続先のS4に対してDestinationの設定の設定をします。
デフォルトではSAP_SYSTEMというDestination名で設定することで、MCPサーバ側が設定を読み込んでくれます。
詳細はこちらをご確認ください。
image.png

注意
この際に設定する通信ユーザには適切な通信契約を紐づけてください。
すべてのAPIを実行できる権限を設定した場合は、Clineから本来実行させてくないAPIまで実行できてしまいます。
逆に権限が不足している場合は、思ったような返答を得ることができません。

4.ClineとMCPサーバの連携

最後にClineにMCPサーバの接続情報を設定します。

Clineの設定からMCPサーバの設定を開きRemote Serversから以下を設定します。

  • Server Name:任意の名前
  • Server URL:デプロイしたアプリケーションのエンドポイント+/mcp
    image.png

Add Serviceをクリックすると、以下のようにAuthenticateボタンが現れるので、クリックします。
image.png

再度VS Codeを開くか、許可を求める画面がブラウザに表示されるので、Visual Studio Codeを開くをクリックします。
image.png

VS Codeに戻ると以下のようなポップアップが表示されるので、Openをクリックします。
私の場合はブラウザ上に認証情報がキャッシュされていたので、特に何も表示されませんでしたが、認証情報のキャッシュがない場合は、SAP IDP認証を求められます。
image.png

ここまでで設定は完了です!

実演

では、せっかくなのでClineに簡単な指示を出してみましょう。
プロンプトは以下を使用しました。

## ロール
あなたは優秀なSAP S4 HANA Cloudのコンサルタントです。

## 指示
ビジネスパートナーID`9980000046`の氏名を教えてください。

## 制約
- ビジネスパートナーの情報はMCPサーバ`SAP OData MCPサーバ`を使用して取得してください。
- 氏名の情報が取得できるまで繰り返しMCPサーバに問い合わせを行ってください

ちなみにS4の登録情報はこのような形です。
image.png

指示を出した結果、Clineは以下のようにMCPサーバの利用手順を理解し、必要なAPIの特定から、APIの実行をしてくれました。
image.png

幾度かエラーは発生しましたが、最終的には以下のように必要なAPIを特定し、氏名の情報を取得することができました!
image.png

まとめ

今回はSAP OData MCPサーバを使用して、BPの情報を取得してみました。
実案件でどのように使用するかは今後の課題ではありますが、S4の実データを使用したエラー解析やS4データを使用したテストデータ作成など、今まで人力で行っていた作業を効率化することができるのではないかと思いました。
ちなみに今回はSAP OData MCPサーバを使用しましたが、他にもSAPナレッジやNoteの情報を取得する専用のMCPサーバなどもあるので、今後はそちらも使っていきたいと思いました。

MCPマーケットでSAPと検索するといくつかMCPサーバが出てきます。

2
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
2
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?