はじめに
IBM i x Bobを利用するメリットの1つとして、IBM i 上にMCPサーバーを構築してIBM i のデータを取りにいけることがあります。
自分で資料作成しておいて、こんなことできるのか?と疑問に思ったので検証記事です。
参考にした記事たち
-
IBM i MCPサーバークイックスタートガイド
「ステップ4:サーバーを起動する」まではこの記事を参考にしました。 -
IBM i MCP Server セットアップ手順
コマンドを使うための、「2. 環境変数の設定」と「11. BobでのMCPサーバー接続設定」はこの記事を参考にしました。
MCPサーバーって何?とか、どういう環境で使えるの?と思う方、この記事を参考にしてください。
丁寧に書いてあります。
前提・環境情報
IBM i 7.6上にMCPサーバーを導入する手順を説明します。
かつ今回はnpxコマンドにてMCPサーバーを、テスト環境に導入する手順です。
- IBM i 環境情報
- IBM i 7.6
- PowerS1012
- 利用ユーザーID:SAKURA
データベース権およびQSYS2システムサービスへのアクセス権があるユーザープロファイル
- IBM Bob
- バージョン: 1.109.5+bob1.0.2
MCPサーバーセットアップ
1.PATHを通す
IBM i OSSパッケージのコマンド(git、npx、nodeなど)を使用できるようにパスを設定します。
export PATH=/QOpenSys/pkgs/bin:$PATH
2.必要なOSSのインストール
IBM i にNode.jsとMapepireをインストールします。
Node.jsはv20以上でないと、mcpサーバーに対応していないとのこと(2026/5/29時点)なのでv20以上であることを確認してください。
node --version
コマンドでインストールしてもいいですし、ACSからもインストールできます。
コマンドでインストールする場合はBobが教えてくれるので、聞いてください。
インストールできたら、mapepireの起動を確認します。
sc check mapepire
3.レジストリから最新のmcpサーバー情報を取得
今回はとりあえず試してみたいのでnpxコマンドを利用します。
npxは、Node.jsのパッケージ実行ツールでパッケージをインストールせずに直接実行できます。
毎回最新版をダウンロードできますが、セッションを閉じるとまたインストールする必要があります。なのでテスト環境にての実施はこの手順をお勧めします。
あとnpx利用した方が、エラーが少なく簡単ではあります。
下記コマンドを実行し、npmレジストリから最新の@ibm/ibmi-mcp-server情報を取得します。
npx -y @ibm/ibmi-mcp-server@latest --help
本番環境での利用はnpmコマンドでのインストールがお勧めです。
IBM i MCP Server セットアップ手順の手順4~7を参照してください。
4.環境設定
.envをユーザープロファイル配下である/home/SAKURAに作成します。
pwdで/home/SAKURAにいることを確認し、下記コマンドを実行します。
cat > .env << 'EOF'
# IBM i DB2 for i Connection Settings
DB2i_HOST=your-ibmi-host #各自のものに設定
DB2i_USER=SAKURA #各自のものに設定
DB2i_PASS=SAKURA's PASSWORD #各自のものに設定
DB2i_PORT=8076
DB2i_IGNORE_UNAUTHORIZED=true
# Server Configuration
MCP_TRANSPORT_TYPE=http
MCP_HTTP_PORT=3010
EOF
5.ツールの登録
mcpサーバーで利用するツールの登録をします。
ここに登録されたSQLツールを使ってBobがIBM i へのデータをとりに行きます。
まず、/home/SAKURAにtoolsディレクトリを作成します。
mkdir -p tools
catコマンドでquickstart.yamlを作成しつつ、ツールを登録します。
cat > quickstart.yaml << 'EOF'
sources:
ibmi-system:
host: ${DB2i_HOST}
user: ${DB2i_USER}
password: ${DB2i_PASS}
port: 8076
ignore-unauthorized: true
tools:
system_activity:
source: ibmi-system
description: "Current system activity information including active jobs and resource utilization"
parameters: []
security:
readOnly: false
statement: |
SELECT * FROM TABLE(QSYS2.SYSTEM_ACTIVITY_INFO())
toolsets:
performance:
tools:
- system_activity
EOF
ツールを登録したい場合はtoolsの下に羅列していく
下記をyamlファイルに追記しました。得意先マスター照会用ツールです。
SAKURAEOLライブラリーにあるTOKMSPを照会します。
customer_master:
source: ibmi-system
description: "得意先マスター照会 - Query customer master data from TOKMSP"
parameters: []
security:
readOnly: true
statement: |
SELECT * FROM SAKURAEOL.TOKMSP
追記した全体はこんな感じ
sources:
ibmi-system:
host: ${DB2i_HOST}
user: ${DB2i_USER}
password: ${DB2i_PASS}
port: 8076
ignore-unauthorized: true
tools:
system_activity:
source: ibmi-system
description: "Current system activity information including active jobs and resource utilization"
parameters: []
statement: |
SELECT * FROM TABLE(QSYS2.SYSTEM_ACTIVITY_INFO())
customer_master:
source: ibmi-system
description: "得意先マスター照会 - Query customer master data from TOKMSP"
parameters: []
security:
readOnly: true
statement: |
SELECT * FROM SAKURAEOL.TOKMSP
toolsets:
performance:
tools:
- system_activity
toolsのお勉強記事は今度書きます👶🏻
6.MCPサーバーを起動する
MCPサーバーを起動します!
まず環境変数を設定
export MCP_SERVER_CONFIG=.env
MCPサーバーを起動
npx -y @ibm/ibmi-mcp-server@latest --transport http --tools ./tools/quickstart.yaml
起動に成功すると、以下のようなメッセージが出ます。
🚀 MCP Server running at: http://0.0.0.0:3010/mcp
起動すると、起動下ターミナルでコマンド入力ができなくなる。
7.BobでMCPサーバー接続設定を実施
BobにてMCPサーバーの設定ファイルを開きます。
コマンドパレットを「Command + Shift + P」で開き、MCPと入力するとjsonファイルが出てくるはず。

jsonファイルに接続先情報を以下のように追記し、保存
{
"mcpServers": {
"IBM i mcp server": {
"type": "streamable-http",
"url": "接続先情報(IPアドレスかホスト名):3010/mcp",
"headers": {
},
"alwaysAllow": [""],
"disabled": false
}
}
}
保存したらBobを再起動する。
8. Bobに聞いてみる
Advanced modeに切り替えて、「得意先マスターを照会して、MCPサーバーを経由してください」と聞いてみました。
取得できました。







