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

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

前提条件
ステップ1:データベース接続情報を取得する
ステップ2:OceanBase MCP Serverを設定する
OceanBase MCP Serverリポジトリのクローン
依存関係のインストール
OceanBase MCP Serverの設定
ステップ3:FastAPIを使用してRESTful APIスタイルのプロジェクトを迅速に作成する

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

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

Claude Codeは、Anthropic社が開発したAIプログラミングツールであり、ターミナル上で動作するスマートコーディングアシスタントです。開発者はClaude Codeを使用して、アイデアを高品質なコードに素早く変換できます。

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

前提条件

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

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

  • 使用しているOSに応じて、Gitをインストールします。ご自身のOSに合わせてダウンロード・インストールを行ってください:

    • Windows:https://git-scm.com/downloads/win。

    • macOS:https://git-scm.com/download/mac。

    • Linux:https://git-scm.com/downloads/linux。

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

    • macOS/Linuxでは、スタンドアロンスクリプトを使用してインストールできます:

      curl -LsSf https://astral.sh/uv/install.sh | sh
      
    • Windowsプラットフォームでは、以下のスクリプトを使用します:

      irm https://astral.sh/uv/install.ps1 | iex
      
    • または、プラットフォームに依存しないpipインストール方法を使用します:

      pip install uv
      
  • インストールが完了したら、uv --version コマンドを使用してインストールが正常に完了したかどうか確認します:

    pip install uv
    uv --version
    
  • Augment Codeのインストール:

    1. VS Codeを開きます(まだインストールしていない場合は、公式ドキュメントを参照してインストールしてください)。

    2. サイドバーの拡張機能アイコンをクリックします。

    3. "Claude Code"と検索してインストールをクリックします。

    4. Claude Codeの環境変数を設定します。

      cat >> ~/.zshrc << 'EOF'
      export ANTHROPIC_BASE_URL=*****
      export ANTHROPIC_API_KEY=*******
      export ANTHROPIC_MODEL=*******
      EOF
      source ~/.zshrc
      
    5. リンクをテストします。

    6. Anthropicモデルを選択します。

ステップ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を設定する

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

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

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

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

cd awesome-oceanbase-mcp

依存関係のインストール

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

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

OceanBase MCP Serverの設定

  1. VS Codeのターミナルを開き、claude mcp add-json コマンドを実行します。

    claude mcp add-json oceanbase '{
    "command": "uv",
    "args": [
     "--directory",
     "/path/to/your/oceanbase_mcp_server/src/oceanbase_mcp_server",
     "run",
     "oceanbase_mcp_server"
     ],
    "env": {
     "OB_HOST": "***",
     "OB_PORT": "***",
     "OB_USER": "***",
     "OB_PASSWORD": "***",
     "OB_DATABASE": "***"
     }
    }'
    

    /path/to/your/oceanbase_mcp_server は oceanbase_mcp_server フォルダの絶対パスに置き換える必要があります。OB_HOST、OB_PORT、OB_USER、OB_PASSWORD、OB_DATABASE は、ご自身のデータベースの対応する情報に置き換えてください。

  2. データベースへの接続が可能かどうか確認します。

    「testデータベースにはいくつのテーブルがありますか」というプロンプトが表示されたら、Claude Codeは実行予定のSQL文を表示し、クエリ結果を出力します。

    Claude Codeは現在のtestデータベース内のテーブル数を表示します。これは、OceanBaseデータベースに正常に接続できていることを示しています。

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

FastAPIは、Python用のWebフレームワークであり、RESTful APIを迅速に構築できます。

  1. テーブルを作成します。

    プロンプト「customerテーブルを作成し、主キーはID、name、age、telephone、locationフィールドを含む」と入力します:

  2. テストデータを挿入します。

    プロンプト「10件のテストデータを挿入」と入力します:

  3. FastAPIプロジェクトを作成します。

    プロンプト「FastAPIプロジェクトを作成し、customerテーブルに基づくRESTful APIを生成する」と入力します。これにより、複数のファイルが自動生成されます。問題がある場合は、その後に再度修正します。

  4. 以下のコマンドを実行して依存関係をインストールします。

    cd customer_api
    pip install -r requirements.txt
    
  5. FastAPIプロジェクトを起動します。

    python3 main.py
    
  6. テーブル内のデータを確認します。

    コマンドラインでcurl http://127.0.0.1:8000/customersを実行するか、他のリクエストツールを使用して、テーブル内のデータを確認します:

    curl http://127.0.0.1:8000/customers
    [{"name":"Zhang San","age":28,"telephone":"13800138001","location":"Chaoyang District, Beijing","ID":1},{"name":"Li Si","age":32,"telephone":"13900139002","location":"Pudong New Area, Shanghai","ID":2},{"name":"Wang Wu","age":25,"telephone":"13700137003","location":"Tianhe District, Guangzhou","ID":3},{"name":"Zhao Liu","age":45,"telephone":"13600136004","location":"Nanshan District, Shenzhen","ID":4},{"name":"Chen Qi","age":38,"telephone":"13500135005","location":"Xihu District, Hangzhou","ID":5},{"name":"Liu Ba","age":29,"telephone":"13400134006","location":"Wuhou District, Chengdu","ID":6},{"name":"Zhou Jiu","age":35,"telephone":"13300133007","location":"Jiangning District, Nanjing","ID":7},{"name":"Wu Shi","age":41,"telephone":"13200132008","location":"Hongshan District, Wuhan","ID":8},{"name":"Zheng Shiyi","age":27,"telephone":"13100131009","location":"Yubei District, Chongqing","ID":9},{"name":"Ma Shier","age":33,"telephone":"13000130010","location":"Yanta District, Xi'an","ID":10}]
    
  7. 追加、削除、変更、クエリのコードがすべて生成されました。

    from sqlalchemy.orm import Session
    from . import models, schemas
    from typing import List, Optional
    
    def get_customer(db: Session, customer_id: int):
     return db.query(models.Customer).filter(models.Customer.ID == customer_id).first()
    
    def get_customers(db: Session, skip: int = 0, limit: int = 100):
     return db.query(models.Customer).offset(skip).limit(limit).all()
    
    def create_customer(db: Session, customer: schemas.CustomerCreate):
     db_customer = models.Customer(**customer.dict())
     db.add(db_customer)
     db.commit()
     db.refresh(db_customer)
     return db_customer
    
    def update_customer(db: Session, customer_id: int, customer: schemas.CustomerUpdate):
     db_customer = db.query(models.Customer).filter(models.Customer.ID == customer_id).first()
     if db_customer:
         update_data = customer.dict(exclude_unset=True)
         for key, value in update_data.items():
             setattr(db_customer, key, value)
         db.commit()
         db.refresh(db_customer)
     return db_customer
    
    def delete_customer(db: Session, customer_id: int):
     db_customer = db.query(models.Customer).filter(models.Customer.ID == customer_id).first()
     if db_customer:
         db.delete(db_customer)
         db.commit()
         return True
     return False
    
    def search_customers(db: Session, name: Optional[str] = None, location: Optional[str] = None):
     query = db.query(models.Customer)
     if name:
         query = query.filter(models.Customer.name.contains(name))
     if location:
         query = query.filter(models.Customer.location.contains(location))
     return query.all()
    

前のトピック

OceanBase MCP ServerとAugment Codeの連携
前へ

次のトピック

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