背景
AIツールは急速に発展しており(グラフィカルツールのCursor、Windsurf、Traeや、コマンドラインツールのClaude Code、Gemini CLI、Qwen Codeなど)、Agentモードのサポートにより、非常に強力な機能を備えています。しかし、AIツールはデータベースに直接アクセスすることができず、データベースとの間には依然として「橋渡し」が必要です。MCPプロトコルは、そのような橋渡しを実現します。OceanBase MCP ServerはMCPプロトコルを介してAIツールと連携し、ツールにデータベースから直接データを読み取る能力を付与します。
従来のデータ分析、例えば「ユーザーデータ分析」「商品分析」「注文分析」「ユーザー行動分析」などでは、開発者がバックエンドプラットフォームを開発してデータを読み取り、フロントエンドページで表示する必要がありました。BI分析ツールを使用する場合でも、SQLに関する知識を理解する必要があることがあります。データは表示されますが、データに含まれるロジックや、業務がデータに基づいてどのように変更すべきかは、依然としてデータ分析担当者の洞察に依存しています。
AIツール、MCP、LLMの組み合わせにより、データ分析の形態は変わります。分析担当者は開発者の関与やSQLの知識を必要とせず、要件をこれらのAIツールに伝えるだけで、望ましい結果を得て、見栄えの良いチャートを生成し、初期のデータ洞察を得ることができます。
機能アーキテクチャ
コアツールキット
OceanBase MCP Serverは標準化されたインターフェースを提供し、AIツールがデータベース機能を直接呼び出すことをサポートします:
ツール名 |
機能の説明 |
|---|---|
execute_sql |
任意のSQLステートメント(SELECT/INSERT/UPDATE/DELETE/DDL など)を実行します。 |
get_current_tenant |
現在のテナント名を取得します。 |
get_all_server_nodes |
クラスタノード情報を取得します(sys テナントのみ)。 |
get_resource_capacity |
クラスタリソース容量を照会します(sys テナントのみ)。 |
get_ob_ash_report |
OceanBase Active Session History(ASH)レポートを取得し、パフォーマンス診断に使用します。 |
get_current_time |
OceanBaseクラスタの現在時刻を返します。 |
search_oceanbase_document |
OceanBase公式ドキュメントを検索します(実験的機能)。 |
oceanbase_text_search |
OceanBaseデータベーステーブルで全文検索を使用してドキュメントを検索します。 |
oceanbase_vector_search |
OceanBaseデータベーステーブルでベクトル類似性検索を実行します。 |
oceanbase_hybrid_search |
ハイブリッド検索を実行し、関係条件フィルタリングとベクトル検索を組み合わせます。 |
ob_memory_query |
セマンティック検索を使用して、AIメモリシステム内の過去の対話記録を検索します。(AIメモリシステムツール) |
ob_memory_insert |
重要な対話内容を自動的にキャプチャして保存し、ナレッジベースを構築します。(AIメモリシステムツール) |
ob_memory_delete |
古くなったり冗長な対話メモリを削除します。(AIメモリシステムツール) |
ob_memory_update |
新しい情報に基づいてメモリ内容を更新または進化させます。(AIメモリシステムツール) |
リソースインターフェース
MCPプロトコルを通じて公開されるリソースインターフェースは、AIツールが直接呼び出せます:
リソースパス |
機能の説明 |
|---|---|
oceanbase://tables |
データベース内のすべてのテーブルを一覧表示します。 |
oceanbase://sample/{table} |
指定したテーブルのサンプルデータ(最初の100行)を取得します。{table} はテーブル名として動的に置き換えることができます。 |
説明
OceanBase MCP Serverの最新ドキュメントについては、OceanBase MCP Serverを参照してください。
前提条件
CursorまたはMCPプロトコルをサポートする他のツール(Windsurf、Qwen Codeなど)がインストール済みであること。
OceanBaseクラスタのデプロイが完了し、MySQLモードのユーザーテナントが作成されていること。テナントに接続するユーザーは、ターゲットデータベースに対する
CREATE、INSERT、DROP、SELECT権限を持っている必要があります。- OceanBaseクラスタのデプロイに関する情報については、デプロイの概要を参照してください。
- ユーザーテナントの作成に関する詳細については、テナントの作成を参照してください。
- ユーザー権限に関する情報については、MySQLモードの権限分類を参照してください。
Python環境(バージョン3.10~3.12)がインストール済みであること。
- Pythonのインストールパッケージは、Python公式Webサイトからダウンロードできます。
統合手順
ステップ1:データベース接続情報を取得する
OceanBaseデータベースのデプロイ担当者または管理者から、該当するデータベース接続文字列を取得します。例:
obclient -h$host -P$port -u$user_name -p$password -D$database_name
パラメータ説明:
$host:OceanBaseデータベースへの接続IPアドレス。OceanBaseデータベースプロキシ(OceanBase Database Proxy、ODP)接続方式ではODPアドレスを使用し、直接接続方式ではOBServerノードのIPアドレスを使用します。$port:OceanBaseデータベースの接続ポート。ODP接続方式のデフォルトポートは2883で、ODPデプロイ時にカスタマイズ可能です。直接接続方式のデフォルトポートは2881で、OceanBaseデータベースのデプロイ時にカスタマイズ可能です。$database_name:アクセス対象のデータベース名。注意
テナントに接続するユーザーには、データベースに対する
CREATE、INSERT、DROPおよびSELECT権限が付与されていなければなりません。その他のユーザー権限の詳細については、MySQLモードの権限分類を参照してください。$user_name:テナントの接続アカウント。ODP接続の一般的な形式:ユーザー名@テナント名#クラスタ名またはクラスタ名:テナント名:ユーザー名。直接接続方式の形式:ユーザー名@テナント名。$password:アカウントのパスワード。
その他の接続文字列の詳細については、OBClientを使用してOceanBaseテナントに接続するを参照してください。
例:
obclient -hxxx.xxx.xxx.xxx -P2881 -utest_user001@mysql001 -p****** -Dtest
ステップ2:Python依存関係のインストール
環境の準備
uvパッケージマネージャーをインストールします。
macOS/Linux環境では、以下のコマンドを実行してuvパッケージマネージャーをインストールします。
curl -LsSf https://astral.sh/uv/install.sh | shWindows環境では、以下のコマンドを実行してuvパッケージマネージャーをインストールします。
irm https://astral.sh/uv/install.ps1 | iexまたはpipコマンドを使用してuvパッケージマネージャーをインストールします。
pip install uv
uvが正常にインストールされたか確認します。
uv --version
OceanBase MCP Serverのインストール
ディレクトリを選択し、以下のコマンドを実行して仮想環境を作成します。
uv venv以下のコマンドを実行して仮想環境を有効化します。
source .venv/bin/activate以下のコマンドを実行してOceanBase MCP Serverをインストールします。
uv pip install oceanbase-mcp
ステップ3:MCP Server環境の設定
.envファイルを作成します。cat > .env <<EOF OB_HOST=127.0.0.1 OB_PORT=2881 OB_USER=test_user001@mysql001 # 例:MySQLテナントユーザー OB_PASSWORD=your_password OB_DATABASE=test EOFMCP Serverを起動します。
uv run oceanbase_mcp_server \ --transport sse \ # stdio/streamable-http/sseモードをサポート --host 0.0.0.0 \ # 外部アクセスを許可する。127.0.0.1に変更してローカルアクセスを制限できる --port 8000 # カスタムポート(例:8001は後続の設定を調整する必要があります)
ステップ4:CursorからMCP Serverへの接続設定
Cursorの設定ページに移動します:右上の歯車アイコンをクリック→MCPを選択→New MCP Serverをクリックします。

mcp.json設定を編集します。{ "mcpServers": { "ob-sse": { "autoApprove": [], "disabled": false, # サービスを有効にするにはfalseに設定する必要があります "timeout": 60, "type": "sse", "url": "http://127.0.0.1:8000/sse" # ステップ3のポートと一致させる } } }接続を検証します。
保存後、MCPページに戻ると、新しく追加されたMCPが表示されます。
追加後、Chatウィンドウで質問すると、Cursorは自動的にMCPのツールを使用します。

クイック体験ケース
OceanBaseとMCP Serverのセットアップが完了したら、データ分析をすぐに体験できます。他のAIツールでも本記事の効果は実現可能ですが、このケースではCursorを例に、強力なAIツールがOceanBase MCP Serverと連携して動作する様子を示します。
ユーザーデータ分析
コマンド入力。
ユーザーデータを分析してください。ユーザーの年齢層と都市別の分布を見てみたいです。Cursorの実行プロセス。
Cursorは
execute_sqlを呼び出して集計クエリを実行します。SELECT age, city, COUNT(*) AS user_count FROM users GROUP BY age, city;構造化分析結果を自動生成します。

コマンドの拡張。
上記の結果をグラフに変換してください。出力結果。
年齢層と都市別の分布パイチャートが自動生成されます。

商品販売分析
コマンド入力。
商品の販売状況を分析し、最も人気のある商品カテゴリとブランドを特定してください。出力例。
Cursorは分析レポートを提供し、戦略と推奨事項の洞察を示します。

注文傾向分析
コマンド入力。
注文データを分析し、販売傾向とユーザーの購買行動を調べてください。出力例。
注文データの分析レポートが生成され、データに基づいた推奨事項が提示されます。

関連ドキュメント
OceanBase MCP Serverの詳細については、OceanBase MCP Serverを参照してください。