IBM Bob+カスタムMCPでSPSS Modelerストリームを自動生成
はじめに
IBM Bobは、自然言語のプロンプトからコードを生成できるAIアシスタントです。本記事では、カスタムMCPサーバーを活用したSPSS Modelerストリームファイルの自動生成実例を紹介します。
通常、SPSS Modelerでの作業ではGUIで手動でノードを配置・設定する必要があります。以下の記事では、IBM Bobが生成したスクリプトからストリームファイルを作成し、ログをみて修正するという画期的な方法が紹介されており、手動でのノード配置作業を大幅に削減できます。
IBM BobでSPSS Modelerストリームを生成する
しかし、この方法には以下の課題がありました。
- スクリプトの構文エラーが頻繁に発生する
- clembコマンドの実行にリスクがあり、自動実行が不可
本記事では、2つのカスタムMCPサーバーを組み合わせることで、これらの課題を解決し、さらなる自動化を実現しました。
テスト環境
- OS: Windows 11
- SPSS Modeler: 19.0
- IBM Bob: 1.0.1
- 使用モード: Advanced(MCPツール使用可能)
使用したカスタムMCPサーバー
今回は2つのカスタムMCPサーバーを導入しました:
1. spss-clemb-mcp
SPSS Modelerのclemb(コマンドライン実行ツール)を実行するMCPサーバーです。スクリプトやストリームファイルをバッチ実行できます。
SPSS Modeler clemb MCPサーバー #SPSS_Modeler - Qiita
2. ibm-docs
IBM製品のマニュアルを検索するMCPサーバーです。SPSS ModelerのAPIドキュメントを自動検索し、正確なコードを生成できます。
IBM Documentation検索MCPサーバー #IBMBob - Qiita
データの準備
今回使用するデータは、顧客の信用度を予測するためのサンプルデータです。
ファイル名: tree_credit_ja.csv
データ構造:
信用度,年齢,所得,クレジットカード,教育,車ローン
0.000,36.220,2.000,2.000,2.000,2.000
0.000,21.990,2.000,2.000,2.000,2.000
0.000,29.170,1.000,2.000,1.000,2.000
フィールド説明:
- 信用度: 予測対象(目的変数)
- 年齢: 顧客の年齢
- 所得: 所得レベル
- クレジットカード: クレジットカード保有状況
- 教育: 教育レベル
- 車ローン: 車ローンの有無
文字コード: UTF-8
実行手順
ステップ1: プロンプトの入力
目的:
顧客情報に基づき信用度(1.0/0.0)を予測するモデルをSPSS Modeler scriptで生成して下さい。
注意:
modeler scriptはJythonと呼ばれる言語で書きます。python 2.x系なので日本語を扱うときにはuをつけてください。
シバンを書いてはいけません。エンコーディング宣言は書いてはいけません。
方法:
入力はtree_credit_ja.csvです。
tree_credit_ja.csvはUTF-8です。encodingでUTF-8を指定してください
作成したスクリプトをspss-clemb-mcpで実行ログを出力してください。
APIの仕様で不明な点はibm-docs-mcpで検索してください。
ログを確認して、最終的にエラーがでなくなったらストリームを保存してください。
ステップ2: データの確認
Bobはまずデータファイルを読み込み、データ構造を把握しました。
ステップ3: TODOリストの作成と実行
Bobは以下のTODOリストを作成し、順次実行していきました:
- データ構造の確認
- SPSS Modeler APIの仕様確認
- Jythonスクリプトの作成
- スクリプトの実行とログ確認
- エラー修正(必要に応じて)
- ストリームファイルの保存
ステップ4: マニュアルの自動検索
Bobはibm-docsのMCPツールを使用し、SPSS ModelerのAPIドキュメントを検索しました。
ステップ5: スクリプトの生成
APIドキュメントを参照して、Jythonスクリプトを生成しました。
ステップ6: clembでの実行とエラー修正
Bobはspss-clemb-mcpのMCPツールを使用し、スクリプトを自動実行します。
初回実行時のエラー
エラーログを確認し、ibm-docsでマニュアルを再検索しています。

マニュアル検索の結果に基づき、スクリプトを修正しています。
修正したスクリプトをspss-clemb-mcpで再実行します。

実行が成功したため、ストリームの保存方法についてibm-docsでマニュアルを検索しています。

修正したスクリプトをspss-clemb-mcpで実行します。

ストリームファイルの生成に成功しました。
ステップ7: 実行結果の確認
生成されたログファイル (clemb.log):
IBM® SPSS® Modeler 19 - (C) Copyright IBM Corp. 1994, 2021
バッチ モードによる実行、フラグ 2026/03/30 17:22:19 の [-script credit_model.py -execute -log credit_model.log ]
情報: 実行を開始しています...
情報: Stream run in progress...
情報: モデル '信用度予測モデル' の構築に、0 時間 0 分 0 秒かかりました
情報: モデル '信用度予測モデル' を評価しています...
情報: モデル '信用度予測モデル' の評価に、0 時間 0 分 0 秒かかりました
情報: ストリーム実行の成功
情報: ストリーム実行の完了 経過時間=0.67 秒、CPU=0.11 秒
実行結果:
- ✅ モデル構築: 成功
- ✅ ストリームファイル生成:
credit_model_stream.str
ステップ8: ストリームファイルの確認
生成されたcredit_model_stream.strをSPSS Modelerで開くと、以下のようなストリームが表示されます。
まとめ
本記事では、IBM Bobと2つのカスタムMCPサーバー(ibm-docs-mcp、spss-clemb-mcp)を組み合わせることで、自然言語のプロンプトからSPSS Modelerストリームをワンショットで作成する方法を紹介しました。
従来の課題を解決
従来の方法で課題となっていた以下の2点を解決しました。
- ✅ 正確なコード生成: ibm-docs-mcpによるマニュアル検索で構文エラーを最小化
- ✅ clembコマンドの安全な自動実行: spss-clemb-mcpによる即座の実行確認とエラーハンドリング
今後の展望
- 複雑なストリームへの対応: 現時点では基本的なストリームの生成が可能。今後はサンプルやスキルを充実させることで、より複雑なストリームの自動生成を目指す











