MCP(Model Context Protocol)は、Anthropic社が2024年11月に発表し、オープンソース化したプロトコルです。これは、大規模言語モデルと外部ツールやデータソースとのインタラクションを実現することを目的としています。MCPを使用することで、ユーザーは大規模言語モデルの出力を手動でコピー&ペーストして実行する必要がなく、大規模言語モデルが直接ツールに指示を出して対応するアクション(Action)を実行させることができます。
Google GenAI Toolbox for Databasesは、オープンソースのツールボックスです。接続プールや認証などの複雑な問題を処理することで、より簡単かつ迅速、安全にツールを開発できるようにします。
本記事では、プログラミングなしでGoogle GenAI Toolboxを使用してOceanBase MCPサーバーを構築する方法を紹介します。
前提条件
OceanBaseデータベースのデプロイが完了し、MySQLモードのユーザーテナントが作成されていること。ユーザーテナントの作成方法の詳細については、テナントの作成を参照してください。
使用するOSに応じて、Gitをインストールします。
システムがバイナリファイルの実行をサポートしていることを確認します(Linux、macOS、またはWindows)。
ステップ1:データベース接続情報を取得する
次のコマンドを使用して、独立したOceanBaseデータベースを迅速にデプロイしてテストできます。
# ミニ独立インスタンスをデプロイ
docker run -p 2881:2881 --name oceanbase-ce -e MODE=mini -d oceanbase/oceanbase-ce
# OceanBaseデータベースインスタンスに接続
docker exec -it oceanbase-ce obclient -h127.0.0.1 -P2881 -uroot # sysテナントのrootユーザーに接続
ステップ2:Google GenAI 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 - Visual Studio CodeおよびIntelliJ IDEA用IDEプラグイン
- Claude Desktop - Anthropicのデスクトップアプリケーション
- Cline - コマンドラインAIアシスタント
- その他、MCPプロトコルをサポートするクライアント
次のステップ
- カスタムツール設定を行い、OceanBase関連のSQLクエリを追加します。
- ワークフローに統合して、データベース管理と分析の効率を向上させます。
- さらに多くのMCPツールと機能を探索します。