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

データベース

OceanBase CloudOceanBaseデータベース

データベース

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

OceanBaseデータベース

  • エコシステム統合の概要
  • ORMフレームワーク
    • Java
      • SpringBootサンプルプログラム
      • SpringBatchサンプルプログラム
      • Spring JDBCサンプルプログラム
      • SpringDataJPAサンプルプログラム
      • Hibernateサンプルプログラム
      • MyBatisサンプルプログラム
    • Python
      • SQLAlchemyによるOceanBaseデータベース接続サンプルプログラム
      • peeweeによるOceanBaseデータベース接続サンプルプログラム
      • Tortoise ORM による OceanBase データベース接続サンプルプログラム
    • Go
      • GORMサンプルプログラム
    • Rust
      • SeaORM による OceanBase データベース接続サンプルプログラム
    • Ruby
      • ActiveRecordによるOceanBaseデータベース接続サンプルプログラム
      • Sequel で OceanBase データベースに接続するサンプルプログラム
      • Ruby on RailsによるOceanBaseデータベース接続サンプルプログラム
    • Node.js
      • SequelizeでOceanBaseデータベースに接続する
      • TypeORMを使用してOceanBaseデータベースに接続する
      • Prismaを使用してOceanBaseデータベースに接続する
      • Drizzle ORMを使用してOceanBaseデータベースに接続する
    • C#
      • Dapperを使用してOceanBaseデータベースに接続する
      • SqlSugarを使用してOceanBaseデータベースに接続する
      • FreeSQLを使用してOceanBaseデータベースに接続する
    • PHP
      • Yii 2.0 ORMサンプルプログラム
      • Laravel Eloquent ORMサンプルプログラム
  • データベースのバージョン管理
    • Liquibaseを使用したOceanBaseデータベースのバージョンの管理
    • Flywayを使用してOceanBaseデータベースを統合し、バージョン管理を実現する
  • データ統合
    • dbtを使用したOceanBaseデータの分析
    • Flink DirectLoadを使用したOceanBaseのダイレクトインポート
    • SeaTunnelを使用したOceanBaseデータの読み取りと同期
    • Maxwellを使用したOceanBaseデータの読み取り
    • Debeziumを使用してOceanBaseに接続し、データを取得する
    • Spark Catalogを使用してOceanBaseデータベースに接続する
    • Apache NiFiを使用してOceanBaseデータベースと統合する
  • SQL開発
    • WebLogicを使用してOceanBaseデータベースに接続する
    • DBeaverを使用してOceanBaseデータベースに接続する
    • Navicatを使用してOceanBaseデータベースに接続する
    • DataGripでOceanBaseデータベースに接続する
    • TablePlusでOceanBaseデータベースに接続する
    • DMSを使用したOceanBaseデータベースの管理
  • 編成とスケジューリング
    • AirflowとOceanBaseデータベースの連携
    • PowerJobとOceanBaseデータベースの連携
    • DolphinSchedulerにOceanBaseデータソースを設定する
    • LinkisとOceanBaseデータベースの統合
  • 可視化ツール
    • SupersetとOceanBaseを使用したデータ分析
    • Power BIでOceanBaseに接続してデータを取得する
    • Quick BIでOceanBaseに接続してデータを取得する
    • Bytebaseを使用したOceanBaseインスタンスの管理
  • データベース管理
    • NineDataを使用したOceanBaseデータソースの管理
    • Bytebaseを使用したOceanBaseインスタンスの管理
  • AI
    • OpenAI
    • Qwen
    • OceanBaseデータベースとLangChainの統合
    • OceanBaseデータベースのベクトル検索機能とLlamaIndexの連携
    • OceanBaseデータベースのベクトル検索機能とDifyの連携
    • OceanBaseデータベースとn8nの連携
    • OceanBase MCP ServerとTraeの連携
    • OceanBaseデータベースとSpring AI Alibabaの連携
    • OceanBase MCP ServerとClineの連携
    • OceanBase MCP ServerとCursorの連携
    • OceanBase MCP ServerとContinueの連携
    • Google GenAI Toolboxを使用して独自のOceanBase MCP Serverを構築する
    • OceanBaseデータベースとCamelAIの連携
    • OceanBase VectorとFirecrawlの連携
    • OceanBase VectorとHugging Faceの連携
    • OceanBase VectorとOllamaの連携
    • OceanBaseデータベースとGoogle Geminiの連携
    • OceanBase VectorとCloudflare Workers AIの連携
    • OceanBase VectorとJina AIの連携
    • OceanBase MCP ServerとAugment Codeの連携
    • OceanBase MCP ServerとClaude Codeの連携
    • OceanBase MCP ServerとKiroの連携

PDF をダウンロード

ドキュメントフィードバック
  1. ドキュメントセンター
  2. OceanBaseデータベース
  3. master

OceanBase MCP ServerとClineの連携

最終更新:2026-10-10 03:12:37

前提条件
ステップ1:データベース接続情報を取得する
ステップ2:OceanBase MCP Serverを設定する
OceanBase MCP Serverリポジトリのクローン
依存関係のインストール
Visual Studio Codeの作業ディレクトリを作成
ClineプラグインでOceanBase MCP Serverを設定する
MCP Serversの追加と設定
MCP Serverのテスト
FastAPIを使用してRESTful APIスタイルのプロジェクトを迅速に作成する

MCP(Model Context Protocol)は、Anthropic社が2024年11月に発表し、オープンソース化したプロトコルです。大規模言語モデル(LLM)が外部のツールやデータソースと直接やり取りできるよう設計されています。MCPを使えば、ユーザーがLLMの出力をコピー&ペーストして手動で実行する必要はなく、LLMからツールへ直接指示を送り、そのままアクションを実行させることが可能になります。

OceanBase MCP Serverは、MCPプロトコルを介して大規模言語モデルとOceanBaseデータベースを連携させ、SQL文の実行を可能にするサーバーです。GitHubでオープンソースとして公開されており、対応するクライアントを利用すれば、プロジェクトのプロトタイプを素早く構築できます。

Clineは、MCPプロトコルに対応したオープンソースのAIコーディングアシスタントです。

本記事では、ClineとOceanBase MCP Serverを組み合わせ、バックエンドアプリケーションを迅速に構築する手順を紹介します。

前提条件

  • OceanBaseデータベースのデプロイが完了し、MySQLモードのユーザーテナントが作成されていること。テナント作成の詳細については、テナントの作成を参照してください。

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

  • お使いのオペレーティングシステムに応じて、Gitをインストールします。

  • Pythonパッケージマネージャーのuvをインストールします。インストール完了後、uv --versionコマンドでインストールが成功したかを確認できます。

    pip install uv
    uv --version
    
  • Clineをインストールします。

    • Visual Studio Code IDEをご利用の場合、拡張機能でClineプラグインを検索してインストールします。インストールが完了したら、設定アイコンをクリックし、Clineに大規模言語モデルのAPIを設定してください。

    • IDEをご利用でない場合は、Clineインストールガイドを参考に、Cline公式サイトからダウンロードしてください。

ステップ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テナントに接続するを参照してください。

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

ここでは、Visual Studio Codeを使用する場合を例に、OceanBase MCP Serverの設定方法を説明します。

OceanBase MCP Serverリポジトリのクローン

下記のコマンドを実行して、ソースコードをローカルにダウンロードします。

git clone https://github.com/oceanbase/mcp-oceanbase.git

ソースコードのディレクトリに移動します。

cd mcp-oceanbase

依存関係のインストール

mcp-oceanbaseディレクトリで下記のコマンドを実行して仮想環境を作成し、依存関係をインストールします。

uv venv
source .venv/bin/activate
uv pip install .

Visual Studio Codeの作業ディレクトリを作成

ローカルにVisual Studio Codeの作業ディレクトリを手動で作成し、Visual Studio Codeで開きます。今後Clineが生成するファイルはこのディレクトリに配置されます。

ClineプラグインでOceanBase MCP Serverを設定する

サイドバーにあるClineのアイコンをクリックして、Clineのダイアログボックスを開きます。

MCP Serversの追加と設定

  1. MCP Serversのアイコンをクリックします。

  2. OceanBase MCP Serverを手動で設定します。

  3. 設定ファイルに情報を入力します。

    前のステップで開いたcline_mcp_settings.jsonファイルに、以下の設定情報を入力し、ファイルを保存します。/path/to/your/mcp-oceanbase/src/oceanbase_mcp_serverフォルダの絶対パスに、OB_HOST、OB_PORT、OB_USER、OB_PASSWORD、OB_DATABASEをご自身のデータベースの対応する情報に置き換える必要があります。

    設定ファイルの例は以下の通りです。

    {
    "mcpServers": {
        "oceanbase": {
        "command": "uv",
        "args": [
            "--directory", 
            "/path/to/your/mcp-oceanbase/src/oceanbase_mcp_server",
            "run",
            "oceanbase_mcp_server"
        ],
        "env": {
            "OB_HOST": "***",
            "OB_PORT": "***",
            "OB_USER": "***",
            "OB_PASSWORD": "***",
            "OB_DATABASE": "***"
        }
        }
    }
    }
    
  4. 設定が成功すると、使用可能のステータスが表示され、MCP toolsとresourcesの情報が表示されます。

  5. トグルスイッチをクリックして、Clineで利用できるようにします。

MCP Serverのテスト

Clineダイアログボックスに、次のプロンプトを入力します:testデータベースにはいくつのテーブルがありますか?。Clineクライアントが実行予定のSQL文を表示します。内容を確認し、問題がなければ実行ボタンをクリックします。

Clineに現在のtestデータベース内のテーブル名が表示されれば、OceanBaseデータベースに正常に接続できていることを示します。

FastAPIを使用してRESTful APIスタイルのプロジェクトを迅速に作成する

FastAPIは、PythonでRESTful APIを迅速に構築できるWebフレームワークです。ここでは、customerテーブルを作成し、テストデータを挿入したうえで、FastAPIプロジェクトを自動生成します。

  1. customerテーブルの作成

    ダイアログボックスに次のプロンプトを入力します:customerテーブルを作成してください。主キーはIDで、name、age、telephone、locationの各フィールドを含めてください。SQL文を確認し、問題がなければ実行ボタンをクリックします。

  2. テストデータの挿入

    ダイアログボックスに次のプロンプトを入力します:customerテーブルに10件のデータを挿入してください。SQL文を確認し、問題がなければ実行ボタンをクリックします。

    挿入が成功すると、実行結果が表示されます。

  3. FastAPIプロジェクトの作成

    ダイアログボックスに次のプロンプトを入力します:FastAPIプロジェクトを作成し、customerテーブルに基づいたRESTful APIを生成してください。SQL文を確認し、問題がなければ実行ボタンをクリックします。

    このステップでは3つのファイルが自動生成されます。AIが生成する内容は完全ではない場合があるため、初めて使用する際はすべて受け入れるを選択し、後からニーズに合わせて修正することを推奨します。

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

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

    uv venv
    source .venv/bin/activate
    uv pip install -r requirements.txt
    
  5. FastAPIプロジェクトの起動

    以下のコマンドを実行して、FastAPIプロジェクトを起動します。

    uvicorn main:app --reload
    
  6. テーブル内のデータの確認

    コマンドラインで以下のコマンドを実行するか、他のリクエストツールを使用して、テーブル内のデータを確認します。

    curl http://127.0.0.1:8000/customers
    

    返された結果により、追加、削除、変更、検索のためのRESTful APIが正常に生成されたことが確認できます。

    from fastapi import FastAPI, Depends, HTTPException
    from sqlalchemy.orm import Session
    from models import Customer
    from database import SessionLocal, engine
    from pydantic import BaseModel
    
    app = FastAPI()
    
    # データベースの依存関係
    def get_db():
        db = SessionLocal()
        try:
            yield db
        finally:
            db.close()
    
    # リクエストモデル
    class CustomerCreate(BaseModel):
        name: str
        age: int
        telephone: str
        location: str
    
    # レスポンスモデル
    class CustomerResponse(CustomerCreate):
        id: int
    
        class Config:
            from_attributes = True
    
    @app.post("/customers/")
    def create_customer(customer: CustomerCreate, db: Session = Depends(get_db)):
        db_customer = Customer(**customer.model_dump())
        db.add(db_customer)
        db.commit()
        db.refresh(db_customer)
        return db_customer
    
    @app.get("/customers/{customer_id}")
    def read_customer(customer_id: int, db: Session = Depends(get_db)):
        customer = db.query(Customer).filter(Customer.id == customer_id).first()
        if customer is None:
            raise HTTPException(status_code=404, detail="Customer not found")
        return customer
    
    @app.get("/customers/")
    def read_customers(skip: int = 0, limit: int = 10, db: Session = Depends(get_db)):
        return db.query(Customer).offset(skip).limit(limit).all()
    
    @app.put("/customers/{customer_id}")
    def update_customer(customer_id: int, customer: CustomerCreate, db: Session = Depends(get_db)):
        db_customer = db.query(Customer).filter(Customer.id == customer_id).first()
        if db_customer is None:
            raise HTTPException(status_code=404, detail="Customer not found")
        for field, value in customer.model_dump().items():
            setattr(db_customer, field, value)
        db.commit()
        db.refresh(db_customer)
        return db_customer
    
    @app.delete("/customers/{customer_id}")
    def delete_customer(customer_id: int, db: Session = Depends(get_db)):
        customer = db.query(Customer).filter(Customer.id == customer_id).first()
        if customer is None:
            raise HTTPException(status_code=404, detail="Customer not found")
        db.delete(customer)
        db.commit()
        return {"message": "Customer deleted successfully"}
    

前のトピック

OceanBaseデータベースとSpring AI Alibabaの連携
前へ

次のトピック

OceanBase MCP ServerとCursorの連携
次へ
このページの内容
前提条件
ステップ1:データベース接続情報を取得する
ステップ2:OceanBase MCP Serverを設定する
OceanBase MCP Serverリポジトリのクローン
依存関係のインストール
Visual Studio Codeの作業ディレクトリを作成
ClineプラグインでOceanBase MCP Serverを設定する
MCP Serversの追加と設定
MCP Serverのテスト
FastAPIを使用してRESTful APIスタイルのプロジェクトを迅速に作成する