OceanBase
English日本語简体中文
ドキュメントホーム
製品
エコシステム
リリース

データベース

OceanBase CloudOceanBaseデータベース

データベース

OceanBase CloudOceanBaseデータベース
OceanBase CloudOceanBaseデータベース

OceanBase Cloud

  • エコシステム統合の概要
  • データベースバージョニング
    • Liquibaseを使用したOceanBaseデータベースのバージョン管理
    • Flywayを使用したOceanBase Cloudデータベースのバージョン管理
  • データ統合
    • Canalを使用したデータの同期
    • dbtを使用したOceanBaseデータの分析
    • Debezium
    • Flinkによるデータの同期
    • AWS Glueを使用したOceanBaseデータの移行
    • Informatica CloudとOceanBaseデータベースの連携ガイド
    • OceanBaseデータベースとKafkaの統合に関するベストプラクティス
    • Maxwell
    • SeaTunnel
    • DataWorks
    • Apache NiFiによるOceanBase Cloudの統合
  • SQL 開発
    • DataGripでOceanBase Cloudデータベースに接続する
    • DBeaverでOceanBase Cloudに接続する
    • NavicatでOceanBase Cloudに接続する
    • TablePlusでOceanBase Cloudデータベースに接続する
  • オーケストレーション
    • DolphinScheduler
    • LinkisとOceanBaseデータベースの連携
    • AirflowとOceanBaseデータベースの連携
  • 可視化
    • GrafanaでOceanBase Cloudの監視ダッシュボードデータを表示する
    • Power BIでOceanBase Cloudに接続してデータを取得する
    • Quick BIでOceanBase Cloudに接続する
    • SupersetとOceanBase Cloudを使用したデータ分析
    • TableauからOceanBase Cloudに接続する
  • オブザーバビリティ
    • Datadogを使用したOceanBase Cloudインスタンスの監視
    • Prometheusを使用したOceanBaseデータの監視
  • データベース管理
    • BytebaseによるOceanBaseインスタンスの管理
  • AI
    • OceanBase Cloud VectorとLlamaIndexの連携
    • OceanBase Cloud VectorとDifyの連携
    • OceanBase Cloud VectorとLangChainの連携
    • OceanBase Cloud VectorとQwenの連携
    • OceanBase Cloud VectorとOpenAIの連携
    • OceanBase Cloudとn8nの連携
    • OceanBase MCP ServerとTraeの連携
    • OceanBase Cloud VectorとSpring AI Alibabaの連携
    • OceanBase MCP ServerとClineの連携
    • OceanBase MCP ServerとCursorの連携
    • OceanBase MCP ServerとContinueの連携
    • Google GenAI ToolboxとOceanBase MCP Serverの統合
    • OceanBase Cloud VectorとCamelAIの連携
    • OceanBase Cloud VectorとFirecrawlの連携
    • OceanBase Cloud VectorとHugging Faceの連携
    • OceanBase Cloud VectorとOllamaの連携
    • OceanBase Cloud VectorとGoogle Geminiの連携
    • OceanBase Cloud VectorとCloudflare Workers AIの連携
    • OceanBase MCP ServerとQoderの連携
    • OceanBase MCP ServerとOpenCodeの連携
    • OceanBase MCP ServerとClaude Codeの連携
    • OceanBase MCP ServerとGitHub Copilotの連携
    • OceanBase MCP ServerとCodexの連携
    • OceanBase Cloud VectorとJina AIの連携
    • OceanBase MCP ServerとAugment Codeの連携
    • OceanBase MCP ServerとKiroの連携
  • 開発ツール
    • Cloudflare WorkersでOceanBase Cloudに接続する
    • VercelでOceanBase Cloudに接続する

PDF をダウンロード

ドキュメントフィードバック
  1. ドキュメントセンター
  2. OceanBase Cloud

OceanBase MCP ServerとCodexの連携

最終更新:2026-10-09 09:10:54

前提条件
ステップ1:データベース接続情報を取得する
ステップ2:CodexでOceanBase MCP Serverを設定する
作業ディレクトリの作成
MCP Server設定の追加
MCP接続のテスト
ステップ3:Codexを使用してFastAPIプロジェクトを生成する
サンプルテーブルの作成
テストデータの挿入
RESTful APIコードの生成
データベース接続の設定
仮想環境の作成と依存関係のインストール
FastAPIサービスの起動
APIの検証
付録:RESTful APIの完全なコード例

MCP(Model Context Protocol)は、Anthropic社が2024年11月に発表し、オープンソース化したプロトコルです。大規模言語モデルと外部ツールやデータソースとの連携を実現することを目的としています。MCPを利用することで、ユーザーは大規模言語モデルの出力を手動でコピーして実行する必要がなく、モデルが直接ツールに指示を出して対応するアクションを実行させることができます。

OceanBase MCP Serverは、MCPプロトコルを通じて大規模言語モデルとOceanBaseデータベースとの連携を提供し、SQL文を実行して開発者が迅速にプロトタイプアプリケーションを構築できるよう支援します。

Codexは、OpenAIが提供するオープンソースのAIプログラミングエージェントで、Rustで構築され、端末で実行できます。コードの読み取り、変更、実行が可能で、開発者がアイデアを高品質なコードに素早く変換するのを支援します。CodexはCLI、IDE拡張機能、Codex Appの3つの利用方法をサポートしています。本記事では、Codex CLIを使用してOceanBase MCP Serverと連携し、バックエンドアプリケーションを迅速に構築する方法を紹介します。

前提条件

  • 環境に利用可能なトランザクション型(MySQL)クラスタインスタンスがあります。

  • 環境に使用可能なMySQL互換モードのテナント、MySQLデータベース、およびデータベースアカウントが既に存在し、データベースアカウントに読み書き権限が付与されています。作成が必要な場合は、詳細についてはアカウントの作成およびデータベースの作成(MySQLのみ)をご参照ください。

  • プロジェクト管理者またはインスタンス管理者ロールを持ち、プロジェクト内のインスタンスに対する読み書き操作が可能です。権限がない場合は、組織管理者に連絡して権限の追加を依頼してください。

  • Python 3.11以降のバージョンおよび対応するpipをインストールしています。マシンのPythonバージョンが低い場合は、Minicondaを使用して新しいPython 3.11以降の環境を作成できます。詳細については、Minicondaインストールガイドをご参照ください。

  • Pythonパッケージマネージャーuvをインストールしています。

  • Node.js 18以降のバージョンおよびGitをインストールしています。

  • Codex CLIをインストールし、OpenAI APIキーを設定しています。

    npm install -g @openai/codex
    export OPENAI_API_KEY="your_api_key"
    # インストールが成功したか確認する
    codex --help
    

ステップ1:データベース接続情報を取得する

  1. ドロップダウンリストから、IDに基づいて対象のクラスタインスタンスを選択します。

  2. **概要**ページに移動します。

  3. 接続をクリックし、**接続文字列を取得**を選択します。

  4. ポップアップウィンドウで、**パブリックネットワークを使用する**を選択します。

  5. アクセスアドレスを取得し、**現在のブラウザIPアドレスを追加**を選択します。

  6. データベース関連情報を入力し、**コピーして接続文字列を保存**します。

接続パラメータの説明は以下のとおりです:

  • host:OceanBaseデータベースの接続アドレス。
  • port:OceanBaseデータベースの接続ポート。
  • database:アクセスするデータベース名。
  • user:テナント接続ユーザー名(一般的な形式はユーザー名@テナント名#クラスタ名)。
  • password:アカウントのパスワード。

ステップ2:CodexでOceanBase MCP Serverを設定する

作業ディレクトリの作成

手動でCodexの作業ディレクトリを作成して開きます。例えば、codex-generateとします。今後Codexが生成するファイルはこのディレクトリに保存されます。

MCP Server設定の追加

Codex CLIのバージョンに応じて、コマンドラインからMCP Serverにアクセスできます。

codex mcp add ob-mcp-server \
  --env OB_HOST=*** \
  --env OB_PORT=*** \
  --env OB_USER=*** \
  --env OB_PASSWORD=*** \
  --env OB_DATABASE=*** \
  -- uvx --from oceanbase-mcp oceanbase_mcp_server

以下のパラメータをご自身のデータベース情報に置き換えてください:

  • OB_HOST
  • OB_PORT
  • OB_USER
  • OB_PASSWORD
  • OB_DATABASE

MCP接続のテスト

プロジェクトのルートディレクトリでCodexを起動します:

codex

Codexのダイアログにプロンプトを入力します:

test 庫中有多少張表?

正しい結果が返されれば、CodexがOceanBase MCP Server経由でデータベースに正常にアクセスできたことを意味します。

ステップ3:Codexを使用してFastAPIプロジェクトを生成する

FastAPIを使用して、RESTful APIスタイルのプロジェクトを迅速に作成できます。FastAPIはPythonのWebフレームワークで、RESTful APIを迅速に構築できます。

サンプルテーブルの作成

Codexダイアログでプロンプトを入力します:

customer テーブルを作成してください。主キーはIDで、name、age、telephone、locationの各フィールドを含めてください。

テストデータの挿入

プロンプトを続けて入力します:

customer テーブルに10件のデータを挿入してください。

挿入が成功すると、test.customerに10件のデータを挿入しました。というメッセージが表示されます。

RESTful APIコードの生成

プロンプトを入力して、Codexにcustomerテーブルに基づいたFastAPIプロジェクトを生成させます:

FastAPIプロジェクトを作成し、customer テーブルに基づいたRESTful APIを生成してください。

データベース接続の設定

データベース接続パラメータを実際のOceanBase接続情報に更新します。

例:

DATABASE_URL=mysql+pymysql://user:password@host:3306/test

仮想環境の作成と依存関係のインストール

現在のディレクトリで以下のコマンドを実行し、uvパッケージ管理ツールを使用して仮想環境を作成して依存パッケージをインストールします:

cd customer_api
uv venv
source .venv/bin/activate
uv pip install -r requirements.txt

FastAPIサービスの起動

以下のコマンドを実行してプロジェクトを起動します(実際のエントリファイル名に合わせて調整してください):

uvicorn main:app --reload

APIの検証

サービス起動後、以下の方法で検証できます:

  • `http://127.0.0.1:8000/docs`` にアクセスしてSwaggerドキュメントを確認します。
  • curl またはPostmanを使用してCRUDインターフェースを呼び出し、結果を検証します。

例えば、すべての顧客を照会する場合:

curl "http://127.0.0.1:8000/customers"

上記のすべての手順を完了すると、Codexが生成し、OceanBaseデータで動作するFastAPI RESTful APIプロジェクトを取得します。これにより、customer テーブルの追加、削除、変更、照会などの一般的な操作を実行できるようになります。

付録:RESTful APIの完全なコード例

追加、削除、変更、照会のためのRESTful APIが正常に生成された後のコード例は以下のとおりです:

from fastapi import Depends, FastAPI, HTTPException, status
from sqlalchemy.orm import Session

from . import crud, schemas
from .db import SessionLocal

app = FastAPI(title="Customer API")


def get_db():
    db = SessionLocal()
    try:
        yield db
    finally:
        db.close()


@app.get("/customers", response_model=list[schemas.CustomerOut])
def list_customers(
    skip: int = 0, limit: int = 100, db: Session = Depends(get_db)
):
    return crud.get_customers(db, skip=skip, limit=limit)


@app.get("/customers/{customer_id}", response_model=schemas.CustomerOut)
def get_customer(customer_id: int, db: Session = Depends(get_db)):
    customer = crud.get_customer(db, customer_id)
    if not customer:
        raise HTTPException(status_code=status.HTTP_404_NOT_FOUND, detail="Not found")
    return customer


@app.post("/customers", response_model=schemas.CustomerOut, status_code=201)
def create_customer(
    customer_in: schemas.CustomerCreate, db: Session = Depends(get_db)
):
    return crud.create_customer(db, customer_in)


@app.put("/customers/{customer_id}", response_model=schemas.CustomerOut)
def update_customer(
    customer_id: int, customer_in: schemas.CustomerUpdate, db: Session = Depends(get_db)
):
    customer = crud.get_customer(db, customer_id)
    if not customer:
        raise HTTPException(status_code=status.HTTP_404_NOT_FOUND, detail="Not found")
    return crud.update_customer(db, customer, customer_in)


@app.delete("/customers/{customer_id}", status_code=204)
def delete_customer(customer_id: int, db: Session = Depends(get_db)):
    customer = crud.get_customer(db, customer_id)
    if not customer:
        raise HTTPException(status_code=status.HTTP_404_NOT_FOUND, detail="Not found")
    crud.delete_customer(db, customer)

前のトピック

OceanBase MCP ServerとGitHub Copilotの連携
前へ

次のトピック

OceanBase Cloud VectorとJina AIの連携
次へ
このページの内容
前提条件
ステップ1:データベース接続情報を取得する
ステップ2:CodexでOceanBase MCP Serverを設定する
作業ディレクトリの作成
MCP Server設定の追加
MCP接続のテスト
ステップ3:Codexを使用してFastAPIプロジェクトを生成する
サンプルテーブルの作成
テストデータの挿入
RESTful APIコードの生成
データベース接続の設定
仮想環境の作成と依存関係のインストール
FastAPIサービスの起動
APIの検証
付録:RESTful APIの完全なコード例