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

SPSS Modeler clemb MCPサーバー

1
Posted at

SPSS Modeler clemb MCPサーバー

はじめに

IBM BobなどのAIエージェントを使っていて、「SPSS Modelerのストリームやスクリプトを自動実行できたら便利なのに」と思ったことはありませんか?

SPSS Modelerのclembコマンドを使えば、ストリームやスクリプトの自動実行は可能です。しかし、IBM Bobがコマンドを生成する際、AIはコマンドの文法を間違える可能性があります。また、危険なコマンドは自動実行できません。

そこで、MCP (Model Context Protocol) を使って、IBM BobからSPSS Modelerのclembコマンドを安全に実行できるツールを作成しました。AIエージェントからSPSS Modelerのストリームファイルやスクリプトを直接実行でき、より正確で詳細な分析を提供します。

なお、このMCPサーバーは、IBM Bobを活用して作成しました。使ったプロンプトはこちらです。

ソースコード

完全なソースコードは以下のGitHubリポジトリで公開しています:

必要要件

  • Python: 3.10以上(推奨: 3.12以上)
  • SPSS Modeler: 19.0以上
  • OS: Windows 11(動作確認済み)
    • Mac/Linuxでも動作する可能性がありますが、パスの書き方などはOS環境に合わせて修正が必要です

注意: 現在はWindows環境でのローカル実行を中心にテストしています。リモートのMCPサーバーとしてはテストしていません。

利用イメージ

IBM BobのAdvancedモードから、自然言語でSPSS Modelerのストリームやスクリプトを実行できます。以下に具体的な使用例を示します。

IBM BobでMCPサーバーを使用してSPSS Modelerを実行する様子

例1: スクリプトファイルの実行

ユーザーの指示:

@/credit_modeling_ja.py をspss-clemb-mcpで実行して

Bobの実行:
BobがMCPツールを呼び出してスクリプトを実行

実行結果:
スクリプト実行結果とログの表示

=== LOG FILE ===
IBM® SPSS® Modeler 19 - (C) Copyright IBM Corp. 1994, 2021
バッチ モードによる実行、フラグ 2026/03/27 16:23:14 の [-script credit_modeling_ja.py -execute -log script_execution.log ]
情報: 実行を開始しています...
情報: Stream run in progress...
警告: 「画面に出力」を実行すると、ノード 一時テーブル (6 フィールド、2,464 レコード) 内のバッチに出力されなくなります。  
情報: ストリーム実行の成功
情報: ストリーム実行の完了 経過時間=0.06 秒、CPU=0.05 秒
情報: 実行を開始しています...
情報: Stream run in progress...
情報: モデル '信用度' の構築に、0 時間 0 分 0 秒かかりました
情報: モデル '信用度' を評価しています...
情報: モデル '信用度' の評価に、0 時間 0 分 0 秒かかりました
情報: ストリーム実行の成功
情報: ストリーム実行の完了 経過時間=0.36 秒、CPU=0.09 秒

このスクリプトは、SPSS Modelerストリームを作成し、CSVファイルを読み込むノードとフィールド定義ノードを追加して、ストリームファイルとして保存します。

例2: ストリームファイルの実行

ユーザーの指示:

@/credit_model_stream_output.str をspss-clemb-mcpで実行して

Bobの実行:
BobがMCPツールを呼び出してストリームを実行

実行結果:
ストリーム実行結果とログの表示

=== LOG FILE ===
IBM® SPSS® Modeler 19 - (C) Copyright IBM Corp. 1994, 2021
バッチ モードによる実行、フラグ 2026/03/27 16:20:22 の [-stream c:\temp6\credit_model_stream_output.str -execute -log execution.log ]
情報: 実行を開始しています...
情報: Stream run in progress...
情報: モデル '信用度' の構築に、0 時間 0 分 0 秒かかりました
情報: モデル '信用度' を評価しています...
情報: モデル '信用度' の評価に、0 時間 0 分 0 秒かかりました
情報: ストリーム実行の成功
情報: ストリーム実行の完了 経過時間=0.44 秒、CPU=0.11 秒
情報: 実行を開始しています...
情報: Stream run in progress...
情報: ストリーム実行の成功
情報: ストリーム実行の完了 経過時間=0.05 秒、CPU=0.03 秒

このストリームは、信用度予測モデルを構築・評価し、2回のストリーム実行を行いました。

機能

このMCPサーバーは、execute_clembツールを提供します。このツールは以下の実行モードをサポートしています:

1. ストリームファイルのみ実行

SPSS Modelerのストリームファイル(.str)を実行します。

{
  "stream_file": "C:/models/credit_scoring.str",
  "working_directory": "C:/projects/analysis",
  "log_file": "execution.log"
}

2. スクリプトのみ実行

Pythonスクリプト(インラインまたはファイル)を実行します。

{
  "script": "import modeler.api\nstream = modeler.script.stream()\nprint('Hello from SPSS Modeler')",
  "working_directory": "C:/projects/analysis"
}

または

{
  "script_file": "scripts/process_data.py",
  "working_directory": "C:/projects/analysis",
  "log_file": "script_execution.log"
}

主要パラメータ

パラメータ名 説明
stream_file 実行するストリームファイル(.str)のパス
script 実行するスクリプト(文字列)
script_file 実行するスクリプトファイル(.py)のパス
parameters ストリームやスクリプトに渡すパラメータ
working_directory 作業ディレクトリのパス
log_file ログファイルの出力パス
hostname SPSS Modelerサーバーのホスト名(サーバーモード)
port サーバーのポート番号
username サーバーのユーザー名
password サーバーのパスワード

注意: stream_filescriptscript_fileのいずれか1つ以上が必須です。scriptscript_fileは同時に指定できません。

インストール

1. プロジェクトファイルのコピー

Windows:

# MCPサーバー用ディレクトリを作成
mkdir "C:\Users\<ユーザー名>\.mcp-servers"

# プロジェクトファイルをコピー
xcopy /E /I spss-clemb-mcp "C:\Users\<ユーザー名>\.mcp-servers\spss-clemb-mcp"

2. 依存パッケージのインストール

# プロジェクトディレクトリに移動
cd "C:\Users\<ユーザー名>\.mcp-servers\spss-clemb-mcp"

# 開発モードでインストール(推奨)
pip install -e .

3. MCP設定への追加

Bobの場合

C:\Users\<ユーザー名>\.bob\settings\mcp_settings.jsonに以下を追加:

{
  "mcpServers": {
    "spss-clemb-mcp": {
      "command": "python",
      "args": ["-m", "spss_clemb_mcp.server"],
      "cwd": "C:\\Users\\<ユーザー名>\\.mcp-servers\\spss-clemb-mcp"
    }
  }
}

注意: cwdパスは実際のプロジェクトディレクトリに合わせて変更してください。

4. 動作確認

サーバーが正しく起動するか確認:

python -m spss_clemb_mcp.server

設定ファイル(オプション)

サーバー接続情報やデフォルト設定を管理するために、設定ファイルを使用できます。

設定ファイルの場所(優先順位順):

  1. カレントディレクトリのconfig.json
  2. プロジェクトルートのconfig.json
  3. ホームディレクトリの~/.spss-modeler-clemb/config.json

ローカル実行設定ファイルの例 (config.json):

{
  "clemb_path": "C:\\Program Files\\IBM\\SPSS\\Modeler\\19.0\\bin\\clemb.exe",
  "defaults": {
    "timeout": 300,
    "working_directory": ""
  }
}

サーバー実行設定ファイルの例 (config.json):

{
  "clemb_path": "C:\\Program Files\\IBM\\SPSS\\Modeler\\19.0\\bin\\clemb.exe",
  "server": {
    "hostname": "myserver.example.com",
    "port": 28063,
    "username": "dminer",
    "password": "your_password_here"
  },
  "defaults": {
    "timeout": 300,
    "working_directory": "C:\\projects\\analysis"
  }
}

設定ファイルを使用すると、ツール呼び出し時にサーバー接続情報を省略できます。

内部動作

本MCPサーバーは、SPSS Modelerのclemb.exeコマンドをラップして実行しています。

ストリームのみ実行の場合

clemb.exe -stream <stream_file> -execute [-P key=value ...] [-log <log_file>]

スクリプトのみ実行の場合

clemb.exe -script <script_file> -execute [-log <log_file>]

まとめ

本MCPサーバーにより、AIエージェントからSPSS Modelerを直接制御できるようになりました。

主なメリット

  • 分析ワークフローの自動化: AIエージェントが自然言語の指示でSPSS Modelerを実行
  • 対話的な分析プロセス: 実行結果を確認しながら、次のステップを柔軟に決定
  • 即時のフィードバック: 実行ログを自動取得し、問題を迅速に特定・解決

現在の制限事項

  • バージョン0.1.0: 一部パラメータ未対応、テストが不十分
  • プラットフォーム: Windows環境での動作確認のみ
  • サーバーモード: 限定的なテストのみ実施

今後の展開

  • 全パラメータの完全対応
  • エラーハンドリングの強化
  • クロスプラットフォーム対応の拡充
  • より詳細なドキュメント整備

SPSS Modelerを使った分析作業を、AIエージェントと協力して効率的に進められます

参考資料

注意事項

  • すべてのパラメーターを網羅していません。とりあえず動くことを重視したバージョン0.1.0です
  • パラメーターの組み合わせによるテストが不足しています
  • 主にスクリプト実行機能のテストを行っています
  • SPSS Modeler 19.0がインストールされている必要があります
  • Windows環境での動作確認をしています

IBM BobによるMCPサーバー作成について

このMCPサーバーは、IBM Bobを活用して作成しました。

使用した主なプロンプトは以下の通りです:

C:\Program Files\IBM\SPSS\Modeler\19.0\bin\clemb.exe"を実行するMCPサーバーをつくってBobから呼び出せるようにしてください

pythonで書いてください

日本語をつかえるようにするためにclembの実行前に以下も実行してください。
REM コマンドプロンプトの文字コードページをUTF-8に変更
chcp 65001 >nul 2>&1

REM Java実行時のエンコーディング設定を環境変数で指定
set JAVA_TOOL_OPTIONS=-Dfile.encoding=UTF-8 -Dclient.encoding.override=UTF-8 -Dsun.jnu.encoding=UTF-8
-logでログファイルを出力できるようにしてください

@https://www.ibm.com/docs/ja/spss-modeler/19.0.0?topic=arguments-server-connection を参考に -hostname、 --port、 -username、 -passwordも実装してください。必須ではなく、オプショナルのパラメーターです

設定ファイルにして分けた方がよいかと思いますが、いかがでしょうか?

ローカル実行する場合にworking_directoryの指定がなければストリームファイルのある場所をworking_directoryにしたいです。実現方法を考えてください
1
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
1
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?