MCP(Model Context Protocol)は、Anthropic社が2024年11月に発表し、オープンソース化したプロトコルです。大規模言語モデルと外部ツールやデータソースとの連携を実現することを目的としています。MCPを利用することで、ユーザーは大規模言語モデルの出力を手動でコピーして実行する必要がなく、モデルが直接ツールに指示を出して対応するアクションを実行させることができます。
Google GenAI Toolboxは、MCPサーバーを構築およびデプロイするためのオープンソースのツールボックスです。接続プールや認証といった複雑な問題を処理することで、より簡単かつ迅速、安全にツールを開発できるようにします。
本記事では、Google GenAI Toolboxを使用してプログラミングを行わずにOceanBase MCPサーバーを構築する方法を紹介します。
前提条件
ご利用の環境に利用可能なOceanBaseデータベースインスタンスがあります。
利用可能なインスタンスがない場合は、OB Cloudクラウドデータベースの無料トライアルインスタンスを開始することができます。クリックして無料トライアルのルールと開始方法を確認してください。
または、Dockerを使用して独立したOceanBaseデータベースを迅速にデプロイしてテストすることもできます。
ご利用の環境に、使用可能なMySQL互換モードのテナントとMySQLデータベース、およびデータベースアカウントが既に存在し、データベースアカウントに読み書き権限が付与されています。作成が必要な場合は、詳細についてはアカウントの作成およびデータベースの作成(MySQLのみ)をご参照ください。
プロジェクト管理者またはインスタンス管理者ロールを持ち、プロジェクト内のインスタンスに対する読み書き操作を実行できます。権限がない場合は、組織管理者に連絡して権限の追加を依頼してください。
使用しているOSに応じて、Gitをインストールします。
システムがバイナリファイルの実行をサポートしていることを確認します(Linux、macOS、またはWindows)。
ステップ1:データベース接続情報を取得する
ドロップダウンリストから、ID 選択してください。
概要 ページに移動します。
接続をクリックし、接続文字列を取得 を選択します。
ポップアップウィンドウで、パブリックネットワークを使用する を選択します。
アクセスアドレスを取得し、現在のブラウザIPアドレスを追加 を選択します。
データベース関連情報を入力し、**接続文字列をコピー**します。
ステップ2:Toolboxをダウンロードして使用を開始する
Toolboxバイナリファイルのダウンロード
最新バージョンのToolboxバイナリファイルをダウンロード:
export OS="linux/amd64" # linux/amd64、darwin/arm64、darwin/amd64、またはwindows/amd64のいずれかを選択します。
export VERSION="0.11.0"
curl -O https://storage.googleapis.com/genai-toolbox/v$VERSION/$OS/toolbox
バイナリファイルを実行可能にする:
chmod +x toolbox
設定ファイルの作成
tools.yaml ファイルを作成し、以下の内容を記述します。接続情報をご自身のOceanBaseアドレスに置き換えてください。この例では、Toolboxを使用してMCPツールからASHレポートとクラスタ情報を取得する方法を示しています。ご自身のツールをカスタマイズすることも可能です。
sources:
oceanbase:
kind: oceanbase
host: 127.0.0.1
port: 2881
database: oceanbase
user: root
password: *****
queryTimeout: 60s
tools:
get-ash-report:
kind: oceanbase-sql
source: oceanbase
description: ASHレポートの取得
parameters:
- name: start_time
type: string
description: ASHレポートの開始時間
- name: end_time
type: string
description: ASHレポートの終了時間
- name: tenant_id
type: string
description: ASHレポートのテナントID
statement: CALL DBMS_WORKLOAD_REPOSITORY.ASH_REPORT(?,?, NULL, NULL, NULL, 'TEXT', NULL, NULL, ?);
get-all-server-nodes:
kind: oceanbase-sql
source: oceanbase
description: すべてのサーバーノードの取得
statement: select * from DBA_OB_SERVERS;
toolsets:
my_first_toolset:
- get-ash-report
Toolboxの起動
Toolboxを起動します。以下の出力が表示されるはずです:
./toolbox --tools-file tools.yaml
2025-08-28T10:37:49.776637+08:00 INFO "Initialized 1 sources."
2025-08-28T10:37:49.777513+08:00 INFO "Initialized 0 authServices."
2025-08-28T10:37:49.777586+08:00 INFO "Initialized 1 tools."
2025-08-28T10:37:49.777627+08:00 INFO "Initialized 2 toolsets."
2025-08-28T10:37:49.778334+08:00 INFO "Server ready to serve!"
ステップ3:MCP Inspectorを使用したテスト(オプション)
Inspectorは、MCPサーバーをテストおよびデバッグするための対話型開発ツールです。
Inspectorはnpxで直接実行でき、インストールは不要です:
npx @modelcontextprotocol/inspector node build/index.js
接続の設定
- 上記のリンクを開き、接続情報を入力します。
- 伝送タイプとしてSSEを選択します。
- URLに
http://127.0.0.1:5000/mcp/sse。`を入力します。 - 接続ボタンをクリックします。
- ツールタブで「リストアップツール」をクリックし、
get-all-server-nodesツールを試してみます。以下のような出力が表示されるはずです:
{
"BLOCK_MIGRATE_IN_TIME": null,
"BUILD_VERSION": "4.3.5.3_103000102025071821-4b8c513fcc2194bad9eb2f93c789040f6dd01f11(Jul 18 2025 21:11:10)",
"CREATE_TIME": "2025-07-23T17:49:40.554851Z",
"ID": 1,
"LAST_OFFLINE_TIME": null,
"MODIFY_TIME": "2025-07-23T17:52:49.259607Z",
"SQL_PORT": 2881,
"START_SERVICE_TIME": "2025-07-23T17:52:47.354459Z",
"STATUS": "ACTIVE",
"STOP_TIME": null,
"SVR_IP": "x.x.x.x",
"SVR_PORT": 2881,
"WITH_ROOTSERVER": "YES",
"ZONE": "zone1"
}
ステップ4:MCPクライアントとの連携
テストに成功すれば、コードを一切記述することなく、独自のMCPサーバーを構築できました。任意のMCPクライアントと連携させて大規模言語モデルと組み合わせることで、業務効率を向上させることができます。
対応MCPクライアント
- Continue - IDEプラグイン。Visual Studio CodeおよびIntelliJ IDEAをサポート。
- Claude Desktop - Anthropicのデスクトップアプリケーション
- Cline - コマンドラインAIアシスタント
- その他、MCPプロトコルをサポートするクライアント
次のステップ
- ツールの設定をカスタマイズし、より多くのOceanBase関連SQLクエリを追加します。
- 作業フローに統合し、データベース管理と分析の効率を向上させます。
- さらなるMCPツールと機能を探求します。