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?

IBM i (駆け出し)日記:IBM i 上でMCPサーバー構築してBobから繋いでみる

1
Last updated at Posted at 2026-06-01

はじめに

IBM i x Bobを利用するメリットの1つとして、IBM i 上にMCPサーバーを構築してIBM i のデータを取りにいけることがあります。

こんなイメージ👇🏻
image.png

自分で資料作成しておいて、こんなことできるのか?と疑問に思ったので検証記事です。

参考にした記事たち

  • 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

image.png

コマンドでインストールしてもいいですし、ACSからもインストールできます。
コマンドでインストールする場合はBobが教えてくれるので、聞いてください。

以下はACSからインストールする場合の画面遷移です。
image.png

image.png

下記ではインストール後を表示しています。
image.png

インストールできたら、mapepireの起動を確認します。

sc check mapepire

RUNNINGが出ればOK
image.png

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ファイルが出てくるはず。
image.png

jsonファイルに接続先情報を以下のように追記し、保存

{
  "mcpServers": {
    "IBM i mcp server": {
      "type": "streamable-http",              
      "url": "接続先情報(IPアドレスかホスト名):3010/mcp",  
      "headers": {
      },
      "alwaysAllow": [""],                    
      "disabled": false                       
    }
  }
}

image.png

保存したらBobを再起動する。

8. Bobに聞いてみる

Advanced modeに切り替えて、「得意先マスターを照会して、MCPサーバーを経由してください」と聞いてみました。
取得できました。
image.png

1
0
1

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?