2
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

さわってみよう Db2 AI エディション #12 〜Db2 Genius Hub MCP Server編 Part#1〜

2
Last updated at Posted at 2026-07-14

Db2 AI エディション(Db2 AI Advanced, Db2 AI Standard)にはフル機能のDb2 Genius Hubがバンドルされています。
このGenius Hubは、v1.1.3以降からDb2 Genius Hub MCP Serverが搭載されました。
当記事ではこのMCPサーバーについて概説しています。
また、IBM BobからこのMCPサーバーに接続する手順にも触れています。

Db2 Genius Hub MCP Serverとは?

AIアシスタント(Claude Code、Bob、Cursor、または顧客独自のAIエージェントなど)に対し、Db2の監視、診断、チューニング、および過去のパフォーマンス分析機能への、安全かつツールベースのアクセスを提供するMCPサーバーです。

このMCPサーバー経由で利用できる主な機能、ツール:
クエリチューナー
安全なSQL実行
Explainプラン分析
WLMキューイング分析
Db2ベクトルストア・セマンティック検索
履歴データ分析
変更分析
その他 約30種類のツール

ここからは次のBlogの抄訳です。
"Give Your AI Assistant a Direct Line to IBM Db2"
https://community.ibm.com/community/user/blogs/krishna-guntuka/2026/06/30/give-your-ai-assistant-a-direct-line-to-ibm-db2

スクリーンショット 2026-07-14 11.05.37.png

Db2 Genius Hub MCP Serverのご紹介です。
これは、MCP(Model Context Protocol)対応のあらゆるAIクライアントが、自然言語を使ってDb2データベースへのクエリ実行、監視、およびチューニングを行えるようにする、標準規格に基づいたブリッジです。

これまで:AIをデータベースに接続する際、複雑なシステム構築の専門知識が必要

デモなどで自然言語で質問すればSQLの実行結果が得られる様子を目にしたことがあるでしょう。
しかし実際には、そこに至るまでのデータ連携の仕組み(パイプライン)は、決して単純なものではありません。
専用の統合レイヤーを記述し、認証情報がプロンプトに漏洩しないよう適切に設定し、モデルが誤った列名(ハルシネーション)を生成しないよう正確なスキーマ情報を抽出して設定するといった作業が必要になります。

しかも、データベースやAIクライアントの構成が変わるたびに、これらすべての作業をやり直さなければなりません。

IBM Db2を利用している環境では、この煩雑さが特に大きな課題となります。
Db2が備える豊富な監視機能(アクティブセッション履歴、バッファプールメトリクス、待機時間の内訳、ワークロードマネージャーのキューなど)は、自前で連携の仕組みを構築しない限り、既存のAIアシスタントからは一切利用できないからです。

しかし今、より優れた解決策があります。

これから:Db2 Genisu Hub MCP Serverを使いましょう

Model Context Protocol (MCP) は、当初はAnthropicによって開発され、現在は拡大するエコシステムに支えられているオープン標準です。
これは、AIアシスタントを外部ツール、データソース、サービスに接続するための統一されたインターフェースを定義するものです。
AI統合における「USB-C」のようなものだと考えてください。
つまり、単一の標準的な接続方式(プラグ)があれば、どのようなデバイス同士でも接続できるということです。

MCPサーバーは、名前が付けられた一連のツールやリソースを公開します。
Claude Desktop、IBM Bob、VS Code Copilot、あるいはカスタムエージェントといったMCP対応クライアントであれば、それらのツールを検出して呼び出すことが可能です。
その際、クライアント側はサーバーの内部的な仕組みを把握する必要はありません。
この「疎結合(コンポーネント間の分離)」こそが、前述の「再配線にかかるコスト(re-wiring tax)」を解消する鍵となります。

すでにMCPについてご存知であれば、この先へ進んでください。
まだご存じない場合は、公式サイトから確認するのが最適です。

Genius Hub 1.1.3から登場:Db2 Genius Hub MCP Server

IBM Db2 Genius Hub 1.1.3のリリースに伴い、「Db2 Genius MCP Server」が提供されました。
これは、MCP(Model Context Protocol)に対応したあらゆるAIアシスタントを、IBM Db2 Genius Hub経由でIBM Db2データベースに直接接続するためのMCPサーバーです。
本サーバーは、クエリ実行、スキーマ情報の取得、パフォーマンス監視、ロック分析、ワークロード管理、ヘルスチェック、AI支援によるクエリチューニングなど、30種類以上の専門的なツール機能を提供します。

これにより、従来は不可能だった以下のことが可能になります:

DBA(データベース管理者)は、AIアシスタントに対して「現在ブロックされているクエリはどれか、また誰によってブロックされているか?*1」と尋ねるだけで、ロックや同時実行性に関する問題を数秒で調査できます。
*1 “Which queries are currently blocked and by whom?”

開発者は、「このクエリの実行計画(Explain Plan)を提示し、改善案を提案してほしい*2」と尋ねることで、ツールや実行計画、監視画面の間を手作業で行き来することなく、具体的かつ根拠に基づいたチューニングのアドバイスを得ることができます。
*2 “Give me the explain plan for this query and suggest improvements”

Genius Hub MCP Serverが実際に公開するもの

このツールは、型定義されたスキーマ、バリデーション、構造化された出力を備えた、最高品質のMCPツールです。主な機能の概要は以下の通りです。

クエリ実行: 自然言語を使用してデータベースに対して読み取り専用SQLを実行(クライアント側でのSQL記述は不要)
クエリ分析・チューニング: 実行計画の取得および、低速なクエリに対するAI主導の最適化提案の入手
パフォーマンス監視: CPU、メモリ、I/O、応答時間、クエリ・スループットに関するエンドツーエンドの時系列分析
スキーマ・メタデータ: AIクライアントと認証情報を共有することなく、テーブル、ビュー、インスタンス構成、バッファプール統計などのスキーマ情報をリアルタイムで調査
ロック・並行処理: アクティブなロックやブロッキングセッションの特定、およびデッドロック発生前にそのパターンを検出
ワークロード管理: WLM(ワークロード管理)キューの状態確認とキューイングパターンの分析による、ワークロード競合の把握
ストレージ管理: テーブルスペース使用率の監視および容量不足リスクの早期検知
ヘルスチェック・診断: HADR(高可用性・災害復旧)ステータス、最近の変更履歴の追跡、データベース全体の診断を含む包括的なヘルスチェック
類似検索: ベクトル埋め込み(embeddings)を使用した過去の類似クエリの検索(繰り返し発生するパターンの診断に有用)
ツール検出: BM25ランキングや正規表現を用いたツールカタログ全体の検索(エージェントが適切な機能へ自律的にルーティング可能)

データベースだからこそセキュリティを最優先

本番環境のデータベースにAIアシスタントを導入する際、信頼の鍵となるのはセキュリティへの対応です。
Db2 Genius Hub MCP Serverでは、以下のようにセキュリティを確保しています。

1. セッションの分離とサーバー側での認証情報管理
各ユーザーは個別に認証を行います。
セッションは分離され、タイムアウト設定(デフォルトは4時間)が適用されます。
データベースの認証情報はサーバー側のコネクションプールで管理され、AIクライアントから見える設定ファイルや環境変数に露出することはありません。

2. プロンプトへの認証情報の非混入
サーバーはHTTPヘッダーで渡されるJWTトークンを使用してGenius Hubに対する認証を行い、AIモデルのコンテキストウィンドウには一切触れません。
データベースのパスワードはサーバーのセッションストアに保持され、クライアントへの転送やログへの記録は行われません。

3. 読み取り専用クエリの強制
SQL実行ツー​​ルは、読み取り専用のステートメントのみを受け付けます。
書き込み操作は公開されておらず、別途明示的に有効化したツールを使用する必要があります。

4. パラメータ化クエリ — インジェクションの余地を排除
サーバーが構築するすべてのクエリには、パラメータ化SQLが使用されます。
ユーザーが入力した値(テーブル名、日付範囲、フィルタリストなど)がクエリ文字列に直接埋め込まれることはありません。
これはSQL実行ツー​​ルだけでなく、30種類以上のすべてのツールにおいて、クエリ構築レイヤーで強制的に適用されます。

5. 通信時のTLS暗号化
HTTP通信にはデフォルトでTLSが有効になっています。
証明書が提供されない場合、初回起動時に自己署名証明書が自動生成されるため、追加設定なしですぐに暗号化を利用できます。

6. 本番環境でのエラーマスキング
オプションのマスキングフラグにより​​、AIクライアントに返されるエラーレスポンスから内部スタックトレースやクエリの断片が削除され、エラーメッセージを介した情報漏洩が防止されます。

7. RBAC(ロールベースアクセス制御)への対応
サーバーはDb2独自のロールベースアクセス制御をバイパスしません。
クエリは、認証されたユーザーのDb2権限に基づいて実行されます。
ユーザーが特定のテーブルに対する権限を持っていない場合、サーバーはDb2のエラーをそのまま返し、権限の昇格を行うことはありません。

Genius Hub MCP Serverの仕組み

このサーバーはAIクライアントとIBM Db2の間に位置し、自然言語によるツール呼び出しを、認証済みAPIリクエストやパラメータ化データベースクエリへと変換するレイヤーとして機能します。
呼び出されるツールに応じて、2つのアウトバウンド接続経路を使用します。
スクリーンショット 2026-07-14 11.27.16.png
パフォーマンスおよび監視ツールは、Genius HubのREST APIを経由して動作します。
一方、スキーマ、SQL、およびヘルスチェック関連のツールは、ibm_dbドライバを使用してDb2に直接接続します。

MCPサーバーはGenius Hubと同じ環境(ホスト)にインストールされます。
このように同一ホスト上に配置されることで、Genius Hubへの監視やプロファイル取得のリクエストは、ネットワークホップを跨ぐことなくMCPレイヤーと同じホスト内で完結します。
また、Db2の認証情報がMCPサーバーに到達する際も、外部ネットワークの境界を通過する必要がありません。
AIクライアントはHTTPS経由で通信を行い、リクエストヘッダーにGenius HubのJWTを付与します。それ以降の認証処理は、すべてサーバー側で行われます。

内部的には、すべてのツール呼び出しが共通のパイプライン(スキーマ検証 → 入力サニタイズ → パラメータ化クエリの構築 → 実行 → 構造化レスポンスの整形)を経由して処理されます。
この一貫したパイプラインにより、エラー処理の統一、出力形式の予測可能性の確保、そして30種類以上あるすべてのツールに対するセキュリティ制御を一元的に適用することが可能になります。
スクリーンショット 2026-07-14 11.29.57.png

IBM Bobから使ってみよう

利用を開始するにあたっては、クライアントとして「IBM Bob」が推奨されます。
セットアップは3つのステップで行います。

ステップ1 — Genius HubのJWTトークンを取得する
Genius Hubインスタンスに対して認証を行い、有効期間の短いJWTを取得します。
Genius Hubへのログインに使用するのと同じユーザー名とパスワードを使用してください。

HTTPS経由でGenius Hubをリモートから呼び出す場合は、以下のコマンドを実行します。

curl -X POST 'https://<genius-hub-hostname>:11101/dbapi/v4/auth/tokens' -H 'Content-Type: application/json' -d '{"userid": "your-genius-hub-username", "password": "your-corresponding-password"}' --cacert  <path-to-genius-hub-ca-cert.pem>

このコマンドをGenius Hubホスト上で直接実行する場合は、HTTPを使用できます。

curl -X POST 'http://<genius-hub-hostname>:11100/dbapi/v4/auth/tokens' -H 'Content-Type: application/json' -d '{"userid": "your-genius-hub-username", "password": "your-corresponding-password"}

レスポンスには、トークンフィールドと、トークンの有効期間を示す expiresIn 値(秒単位)が含まれます。
Genius HubのJWTトークンには有効期限が設定されており、期限が切れると、次回の要求時にMCPサーバーから認証エラーが返されます。
その際は、上記のcurlコマンドを再実行して新しいトークンを取得し、.bob/mcp.json 設定ファイルの X-Genius-Hub-Token ヘッダー値を更新してください。

トークンベースのフローなど、他のGenius Hub認証メカニズムが環境でサポートされている場合は、ご自身のデプロイ環境でサポートされている方法を使用して、MCPサーバーがリクエストヘッダーで要求するJWTを取得してください。

ステップ2 — IBM BobのMCP設定にサーバーを追加する
IBM Bobで [Settings] → [MCP] → [Open Project MCPs] を開き、.bob/mcp.json に以下を追加します。

"json
{
    "mcpServers": {
        "db2-genius-mcp": {
            "type": "streamable-http",
            "url": "https://your-server-host:8000/mcp",
            "headers": {
                "X-Genius-Hub-Hostname": "your-genius-hub-hostname",
               "X-Genius-Hub-Port": "11100",
               "X-Genius-Hub-Protocol": "https",
               "X-Genius-Hub-Token": "<token-from-step-1>"
            },
           "disabled": false
          }
    }
}

サーバーURLは、稼働中のMCPサーバーインスタンスを指しています。
Db2の認証情報はすべてサーバー側に保持され、ここで渡す機密情報はJWTトークンのみです。
IBM Bobについての詳細は、https://bob.ibm.com/ をご覧ください。

ステップ3 — 接続して質問を開始する
IBM Bobをアドバンストモードに切り替え、connect_to_profileツールを一度使用してセッションを確立します。
その後は、分かりやすい言葉で質問してください。

「過去1時間のPRODDBのCPU使用率の傾向を表示してください。*3」
*3 "Show me CPU utilisation trends for PRODDB over the last hour."

「現在、どのクエリが、誰によってブロックされていますか?*4」
*4 "Which queries are currently blocked and by whom?"

「このクエリの実行計画を表示し、改善策を提案してください。*5」
*5 "Give me the explain plan for this query and suggest improvements."
スクリーンショット 2026-07-14 11.45.49.png

今後のGenius Hub MCP Serverの機能拡張予定

Db2 Genius Hub 1.1.3では、MCP Serverは、上述の監視および分析機能を備えてリリースされます。
今後予定されている機能拡張は以下の通りです。

2026年7月
Text-to-SQL(自然言語からクエリへの変換)

クエリ・スピリング(あふれ出し)分析 — クエリがメモリから一時ストレージへスピルするタイミングの特定、それがレイテンシーやリソース競合に与える影響の理解、およびパフォーマンスへの影響を軽減するための対策の提示

RUNSTATSの推奨事項 — 古い統計情報や欠落した統計情報がオプティマイザーの判断に悪影響を及ぼす状況の把握、クエリ・パフォーマンスにおける最新の統計情報の重要性の理解、およびAIクエリ・オプティマイザーとDb2がより効率的なアクセス・プランを選択するために役立つ更新内容の提示

エージェント型自律運用

それ以降
Redisベースの分散セッション
書き込み可能なツール(オプトイン方式)
IBMデータ・プラットフォームへの対応範囲拡大
追加のMCPクライアント・ガイド

お客様のDb2ワークフローにおいて重要な機能が不足している場合は、ぜひご連絡ください。
それがバックログ(開発予定リスト)に追加されるための最短ルートとなります。

さわってみよう Db2 AIエディション・シリーズのご紹介

#1から#5まではAIアシスタント機能についてご紹介しています。
#6と#7はモニタリング機能についてご紹介しています。
#8は耐量子暗号化機能についてご紹介しています。
#9は耐量子暗号化機能を含むv12.1.5の新機能についてご紹介しています。
#10と#11はv12.1.5以降で利用できるようになったSQLによる生成AI機能についてご紹介しています。

#1では、Db2入門者、初心者には作成が難しいと思われる複雑なSQLをAIアシスタントを使って作成しています。加えて、Db2 Genius Hub概要、無料評価版のダウンロードサイトやマニュアルURLもご紹介しています。#1からお読みいただくことをお勧めいたします。
さわってみよう Db2 AI エディション #1 〜エージェント型AIアシスタント編 Part#1〜
https://qiita.com/ibm_tk/items/e763bbea3fcf5e8a27a9

#2では、AIアシスタントでデータベースの稼働状況のサマリーを表示しています。
さわってみよう Db2 AI エディション #2 〜エージェント型AIアシスタント編 Part#2〜
https://qiita.com/ibm_tk/items/e11986879f6eca23c249

#3では、AIアシスタントでデータベースの応答時間の履歴を表示しています。
さわってみよう Db2 AI エディション #3 〜エージェント型AIアシスタント編 Part#3〜
https://qiita.com/ibm_tk/items/24647bc2db6a3a266d7c

#4では、AIアシスタントでデータベースのバックアップ履歴とプロセッサー利用状況の履歴を表示しています。
さわってみよう Db2 AI エディション #4 〜エージェント型AIアシスタント編 Part#4〜
https://qiita.com/ibm_tk/items/8d11c4e9fd39740d923d

#5では、AIアシスタントでクエリのスループットを表示しています。
さわってみよう Db2 AI エディション #5 〜エージェント型AIアシスタント編 Part#5〜
https://qiita.com/ibm_tk/items/e2583b00f624e351ce02

#6となる"さわってみよう Db2 AIエディション#6 〜モニタリング編 Part#1〜"ではモニタリング機能をご紹介しています。
https://qiita.com/ibm_tk/items/cdedc3a878998199cfee

#7となる"さわってみよう Db2 AIエディション#7 〜モニタリング編 Part#2〜"では監視(モニター)レポート作成機能をご紹介しています。
https://qiita.com/ibm_tk/items/81608900a0e2c89c18fc

#8となる"さわってみよう Db2 AIエディション#8 〜耐量子暗号化機能編 Part#1〜"では耐量子暗号化機能と登場した背景などについて記述しています。
https://qiita.com/ibm_tk/items/57a115c0d284697dd147

#9となる"さわってみよう Db2 AIエディション#9 〜v12.1.5新機能編 Part#1〜"ではv12.1.5の新機能のハイライトをご紹介しています。
https://qiita.com/ibm_tk/items/daabdf8215b430e804d8

#10となる"さわってみよう Db2 AIエディション#10 〜SQLで生成AI編 Part#1〜"ではv12.1.5以降で利用できるようになったSQLから使える生成AI機能(TEXT_GENERATION関数など)をご紹介しています。
https://qiita.com/ibm_tk/items/54a169cffcfbb9be0fed

#11となる"さわってみよう Db2 AIエディション#11 〜SQLで生成AI編 Part#2〜"ではv12.1.5以降で利用できるようになったSQLから使える生成AI機能(TO_EMBEDDING関数, セマンティック検索など)をご紹介しています。
https://qiita.com/ibm_tk/items/3085c90674561b9d80e7

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

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?