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とClineの連携

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

前提条件
ステップ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月に発表し、オープンソース化したプロトコルです。大規模言語モデルと外部ツールやデータソースとの連携を実現することを目的としています。MCPを利用することで、ユーザーは大規模言語モデルの出力を手動でコピーして実行する必要がなく、モデルが直接ツールに指示を出して対応するアクションを実行させることができます。

OceanBase MCP Serverは、MCPプロトコルを通じて大規模言語モデルとOceanBaseの連携を提供し、SQL文を実行できるようにします。適切なクライアントを利用することでプロジェクトのプロトタイプを迅速に構築でき、GitHub上でオープンソースとして公開されています。

Clineは、MCPプロトコルをサポートするオープンソースのAIコーディングアシスタントです。

本記事では、Clineを使用して、OceanBase MCP Serverを通じてバックエンドアプリケーションを迅速に構築する方法を紹介します。

前提条件

  • ご利用の環境に、利用可能なトランザクション型(MySQL)クラスタインスタンスが存在します。

テナントの作成は、テナントの作成を参照して完了してください。その後、以下の手順を実行します。

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

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

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

  • 使用しているOSに応じて、Gitをインストールしています。

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

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

    • Visual Studio Code IDEを使用している場合は、拡張機能バーで検索し、Clineプラグインをインストールします。プラグイン名は Cline です。インストール完了後、設定アイコンをクリックし、Clineの大規模言語モデルAPIを設定します: 大規模言語モデルAPIの設定
    • IDEを使用していない場合は、Clineインストールガイドをご参照ください。ダウンロード先は Clineです。

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

  1. ドロップダウンリストから、ID クラスタインスタンスを選択。

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

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

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

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

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

ステップ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-generate です。

作業ディレクトリの作成

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

サイドバーの Cline アイコン をクリックして、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 は 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を使用して、RESTful APIスタイルのプロジェクトを迅速に作成できます。FastAPIは、PythonでRESTful APIを迅速に構築できるWebフレームワークです。

  1. customerテーブルを作成する

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

  2. テストデータを挿入する

    ダイアログボックスに次のプロンプトを入力します: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
    

    実行結果は次のとおりです:

    [{"telephone":"138***8001","id":1,"name":"Zhang San","location":"Beijing","age":25},{"telephone":"138***8002","id":2,"name":"Li Si","location":"Shanghai","age":30},{"telephone":"138***8003","id":3,"name":"Wang Wu","location":"Guangzhou","age":22},{"telephone":"138***8004","id":4,"name":"Zhao Liu","location":"Shenzhen","age":28},{"telephone":"138***8005","id":5,"name":"Qian Qi","location":"Hangzhou","age":35},{"telephone":"138***8006","id":6,"name":"Sun Ba","location":"Nanjing","age":40},{"telephone":"138***8007","id":7,"name":"Zhou Jiu","location":"Chengdu","age":27},{"telephone":"138***8008","id":8,"name":"Wu Shi","location":"Wuhan","age":33},{"telephone":"138***8009","id":9,"name":"Zheng Shiyi","location":"Xi'an","age":29},{"telephone":"138***8010","id":10,"name":"Wang Shier","location":"Chongqing","age":31}]
    

    これにより、追加、削除、更新、検索のための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 Cloud Vectorと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スタイルのプロジェクトを迅速に作成する