7
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 GUIをMCPで操作してみる

7
Last updated at Posted at 2025-12-21

こちらで公開されているSAP GUI用のMCPサーバを使ってみました。
https://github.com/mario-andreschak/mcp-sap-gui

実行環境

・Cline拡張機能をインストールしたVS Code
・API ProviderはAmazon Bedrock
・ModelはClaude Sonnet 4.5

SAP環境は以下
・S/4HANA 2023
・SAP GUI for Windows 8.00

環境構築

VS Codeインストール

以下URLからインストーラーをダウンロードしてインストールします。
今回はWindows版を利用しました。
https://code.visualstudio.com/download

Cline拡張機能インストール

VS CodeにClineの拡張機能をインストールします。
image.png

Provider設定

ClineにAmazon Bedrockの利用設定を行います。
image.png

pythonとNode.jsのインストール

pythonとNode.jsをダウンロードしてインストールします。
・python ※3.8以上
https://www.python.org/
インストーラーで「Add Python to PATH」にチェックを入れてインストールしましょう。
チェックを入れていないとpipが使えずに後続の手順でエラーになります。

・Node.js
https://nodejs.org/en

MCPサーバセットアップ

ローカルにmcp-sap-guiをクローンしてbuild.batを実行します。

mcp-sap-guiフォルダ内の.env.exsampleをコピーして.envを作成してSAP GUIでの接続情報を入力します。

SAP_SYSTEM=S4S
SAP_CLIENT=100
SAP_USER=TESTUSER
SAP_PASSWORD=XXXXXXXXXXXXXXX

ClineへのMCPサーバ設定を自動で実行してくれる以下のコマンドを実行します。

integrate.bat cline

Cline経由でSAP GUIを操作

それではClineに指示を出してSAP GUIを操作してみましょう。
尚、S/4HANAやSAP GUIのインストール、SAP GUIへのエントリー設定やログイン用のtestuserの作成も完了している前提となります。

SAP GUIでS/4HANAへログインしてみる

以下の指示をClineに与えて実行してみました。

SAPGUIを起動してSIDがS4Sのシステムへtestuserを使用してログオンしてください。

すると以下の回答が返ってきました。

SAP GUIへのログインを実行するために、testuserのパスワードを教えていただけますか?また、システムS4Sへの接続設定は既に構成されていますか?

testuserのパスワードは.envに情報を入力しているはずですが。。。
ひとまず要望通りに情報を与えてみます。

testuserのパスワードはXXXXXXXXXXXXXXです。
システムS4Sへの接続設定は既に構成されています。

するとSAP GUIで無事にログオンできました。
ログオン後に何度かSAP GUIの画面を操作するような挙動が確認できましたがログオン先システムやユーザが正しかを確認していたようです。
実際の作業時でもログオン後に対象システムが間違いないかを確認することを手順化したりしますがそれと同じことをAIが実行していました。

Thinking
画面の状況から、すでにSAP GUIが起動されており、SAP Easy Accessのメニュー画面が表示されています。
しかし、現在のログイン状態(ユーザー名やシステムID)を確認できていません。 
ユーザーはSID S4Sのシステムにtestuserでログインすることを要求しています。
現在の画面から判断すると、すでにログインしている可能性がありますが、それがtestuserかどうか、またシステムがS4Sかどうかを確認する必要があります。
System > Statusメニューを使ってログイン情報を確認しようとしましたが、うまくメニューが開けていないようです。
別の方法として、画面のタイトルバーやステータスバーを確認することもできますが、現在の画面では明確な情報が見えません。
もう一度、異なるアプローチを試してみます。Systemメニューにアクセスして、Status情報を確認します。

現在のログイン状況を確認するために、Systemメニューから「Status」を選択します。メニューバーの「System」をクリックします。

SAPシステムからログオフしてみる

あらかじめSAP GUIでログオンした状態でログオフするように指示を出してみます。

現在SAP GUIでログオンしているS4SからログオフしてSAP GUIを終了させて下さい。

正常にログオフしてSAP GUIアプリケーションも終了しました。
image.png

ここで気づいたのですが処理中はSAP GUIのウィンドウを全画面で表示させておかないと、うまく処理ができないようです。
別のウィンドウをアクティブにしたりSAP GUIのウィンドウサイズを変えると処理が実行できませんでした。
ログオン時に何度か画面を操作する挙動が確認できたのもこの影響だと思われます。

rz11でパラメータの画面を開いてみる

SAP GUIでログオンした状態でrz11を起動してパラメータ:login/min_password_digitsの設定値画面を表示させるように指示を出してみます。

rz11を実行してlogin/min_password_digitsの情報を表示させて下さい。

rz11の画面までは無事に起動しましたが、なぜかパラメーター名を間違えて入力しており先に進めていませんでした。
image.png

パラメータ名の入力が間違えていたのはオートコンプリートが原因だったようです。
これもClineが教えてくれました。
image.png

入力履歴を全て削除して再度実行したところ、無事にパラメータの内容が表示されました。
image.png

所感

SAP GUIをMCPサーバで操作してみましたが、正直なところ実作業で利用できるかは微妙なところです。
ただ、AIと相談しながら操作ができるのでsandbox環境での利用やSAP GUIを始めて操作する方などは利用してみるとよいかもしれません。
AIが自動的に画面を操作する様子は見てて面白いのでどんどん指示を与えて試してみたくなりますが、Amazon Bedrockの課金などには注意しましょう。

以上となります。

7
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
7
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?