4
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

コード開発AIエージェント Cline + LiteLLM + OCI Generative AI Grok 4 + Oracle Database MCP サーバーでAI駆動開発を始める

Last updated at Posted at 2025-08-20

このブログは?

Oracle から公式にリリースされた Database MCP サーバーSQLcl MCP サーバーを VS Code + Cline + OCI Generative AI の xAI Grok 4 との組み合わせで使うための設定手順の記録です。Cline から OCI Generative AI の LLM を呼ぶためには LiteLLM の Proxy(Gateway)機能を利用しています。

Cline とは?

Cline は、VS Code の拡張機能として動作する AI 駆動開発アシスタントです。Claude、GPT-4、その他の大規模言語モデル(LLM)を活用して、コーディング、デバッグ、ドキュメント作成などの開発タスクを自動化・支援します。最大の特徴は、ファイルの読み書きやターミナルコマンドの実行など、開発環境に直接アクセスして作業を実行できる点です。また、MCP(Model Context Protocol)サーバーと連携することで、データベースや外部サービスとのインテグレーションも可能になります。

OCI Generative AI とは?

OCI(Oracle Cloud Infrastructure)Generative AI は、Oracle が提供するマネージド生成 AI サービスです。このサービスでは、Meta の Llama モデルや Cohere のモデル、そして最新では xAI の Grok 4 モデルなど、さまざまな先進的な生成 AI モデルを API 経由で利用できます。エンタープライズグレードのセキュリティとプライバシー保護機能を備えており、データは Oracle のセキュアなインフラストラクチャ内で処理されます。REST API や SDK を通じてアクセスでき、テキスト生成、VQA(Visual Question Answering)、要約、分類、埋め込み生成などの AI タスクを実行できます。

LiteLLM とは?

LiteLLM は、OpenAI、Anthropic、Google Gemini、Meta Llama、AWS Bedrock、OCI Generative AI など、さまざまな大規模言語モデル(LLM)API を統一したインターフェースで利用できるオープンソースの Python ライブラリとプロキシサーバーです。すべての LLM プロバイダーに対して OpenAI の API 形式でアクセスできるようにすることで、アプリケーションの移植性を高めます。主な機能として、API キーの管理、フェイルオーバー(自動切替)、ロードバランシング、コスト追跡、レート制限の管理などがあり、複数の LLM を効率的に管理・運用するための包括的なソリューションを提供します。

SQLcl MCP サーバーとは?

Oracle Database のコマンドラインインターフェース (CLI) の Oracle SQLcl が MCPサーバーとして動作するようになりました。SQLcl は、sql コマンドに -mcp オプションを付けて起動すると STDIO トランスポートで MCP クライアントと通信する MCP サーバーになり、データベース操作をツールとして公開します。

Using the Oracle SQLcl MCP Server

image.png

上図は、Introducing MCP Server for Oracle Databaseより引用

利用可能なツールは、5つあります。

ツール名 概要
list-connections 保存されているデータベース接続の一覧を取得します
connect 指定された接続を使ってデータベースへ接続します
disconnect データベース接続を切断します
run-sqlcl SQLclコマンドを実行します
run-sql SQLクエリを実行します

なお、MCPとは何かについては下記の記事でご紹介しておりますのでよろしければお立ち寄りください。

この記事の環境の全体構成

image.png

Cline は、OCI Generative AI の LLM への接続を直接はサポートしていませんが、LiteLLM を使って任意の LLM へ接続する構成をサポートしていますので、今回はこの機能を利用します。

LiteLLM設定手順

LiteLLM のインストール

Python 仮想環境を作成して LiteLLM をインストールします。ここでは uv を使用した手順を説明します。

# uv がインストールされていない場合はインストール
pip install uv

# プロジェクトディレクトリを作成
mkdir litellm-proxy
cd litellm-proxy

# Python 仮想環境を作成
uv venv

# 仮想環境をアクティベート(Windows の場合)
.venv\Scripts\activate

# 仮想環境をアクティベート(Mac/Linux の場合)
source .venv/bin/activate

# LiteLLM をインストール
uv pip install litellm

# OpenAI のバージョンを制限(重要:バグ対応)
uv pip install "openai<1.100"

注意事項

  • LiteLLM 1.75.8(2025年8月20日時点の最新バージョン)は、openai のバージョンを 1.100 未満にする必要があります。これは既知のバグで、上記のように openai<1.100 を指定してインストールしてください。

LiteLLM の設定

config.yaml ファイルを作成し、下記のサンプルのように OCI Generative AI の設定を記述します。

config.yaml
model_list:
  - model_name: xai.grok-4
    litellm_params:
      model: oci/xai.grok-4
      oci_region: us-chicago-1
      oci_user: ocid1.user.oc1......................xyz
      oci_fingerprint: 1d:............:2d
      oci_tenancy: ocid1.tenancy.oc1............abc
      oci_key: "-----BEGIN PRIVATE KEY-----\nMIIE............9U=\n-----END PRIVATE KEY-----"
      oci_compartment_id: ocid1.compartment.oc1........................qwer
      drop_params: true

general_settings:
  master_key: sk-1234567890

重要な設定ポイント

  • 認証方法 OCI Generative AI との認証には signing key のみ使用可能です(インスタンスプリンシパル等は使用できません)
  • oci_useroci_tenancy ユーザー名やテナンシー名ではなく、必ず OCID を指定してください
  • oci_key キーファイルのパスではなく、秘密鍵の内容そのものを記述します。各行末に \n を付けて一行に連結してください
  • drop_params: true この設定は必須です。OCI Generative AI がサポートしていないパラメータ(stream_options など)を LiteLLM 側で自動的に削除します。これを設定しないと Exception: param stream_options is not supported エラーが発生します
  • master_key LiteLLM Proxy へのアクセスに使用する API キーです。任意の文字列を設定できます

drop_params パラメータについての補足
Cline は OpenAI を中心に開発されているということなのかもしれませんが、stream_options のような OpenAI 固有のパラメータを送信することがあります。OCI Generative AI を含む多くの LLM プロバイダーはこれらのパラメータをサポートしていないため、drop_params: true を設定することで、LiteLLM Proxy がこれらの非対応パラメータを自動的に削除し、エラーを回避します。

LiteLLM の起動

設定ファイルを指定して LiteLLM Proxy を起動します。

# LiteLLM Proxy を起動
litellm --config config.yaml

# デバッグモードで起動する場合
litellm --config config.yaml --debug
実行例
$ litellm --config ./config.yaml
INFO:     Started server process [76548]
INFO:     Waiting for application startup.

   ██╗     ██╗████████╗███████╗██╗     ██╗     ███╗   ███╗
   ██║     ██║╚══██╔══╝██╔════╝██║     ██║     ████╗ ████║
   ██║     ██║   ██║   █████╗  ██║     ██║     ██╔████╔██║
   ██║     ██║   ██║   ██╔══╝  ██║     ██║     ██║╚██╔╝██║
   ███████╗██║   ██║   ███████╗███████╗███████╗██║ ╚═╝ ██║
   ╚══════╝╚═╝   ╚═╝   ╚══════╝╚══════╝╚══════╝╚═╝     ╚═╝


#------------------------------------------------------------#
#                                                            #
#       'This feature doesn't meet my needs because...'       #
#        https://github.com/BerriAI/litellm/issues/new        #
#                                                            #
#------------------------------------------------------------#

 Thank you for using LiteLLM! - Krrish & Ishaan



Give Feedback / Get Help: https://github.com/BerriAI/litellm/issues/new


LiteLLM: Proxy initialized with Config, Set models:
    xai.grok-4
INFO:     Application startup complete.
INFO:     Uvicorn running on http://0.0.0.0:4000 (Press CTRL+C to quit)

起動に成功すると、以下のようなメッセージが表示されます。

INFO:     Uvicorn running on http://0.0.0.0:4000 (Press CTRL+C to quit)

本番環境での運用について
上記の手順は開発・テスト用です。継続的な利用や本番環境での運用には、Docker を使用することを強く推奨します。Docker を使用することで、環境の再現性が高まり、システムの起動時に自動的にサービスを開始できるなど、運用面でのメリットが多くあります。下記の公式ドキュメントを参考にしてみてください。

https://docs.litellm.ai/docs/simple_proxy

SQLcl の設定手順

前提条件

SQLcl の実行には Java が必要です。
以下のいずれかの Java Runtime Environment をインストールしてください。
(Oracle SQLcl 25.2.2の場合)

  • Oracle Java 17
  • Oracle Java 21
  • Oracle GraalVM Enterprise Edition for Java 17
  • Oracle GraalVM Enterprise Edition for Java 21

SQLcl のダウンロードとインストール

  1. Oracle の公式サイトから SQLcl をダウンロードします

  2. ダウンロードした ZIP ファイルを任意のディレクトリに解凍します

    例:D:\tools\sqlcl
    
  3. 環境変数 PATH に SQLcl の bin ディレクトリを追加します

    • Windows の場合、「システムのプロパティ」→「環境変数」を開く
    • システム環境変数の PATH に D:\tools\sqlcl\bin を追加
    • コマンドプロンプトを再起動
  4. インストールの確認

    sql -version
    

    バージョン情報が表示されれば、インストール成功です。

データベース接続の定義

SQLcl でデータベース接続を事前に定義しておくことで、MCP サーバー経由で簡単に接続できるようになります。

下記マニュアルの "3.4.2 Configuring Database Connections" の手順で設定します。
https://docs.oracle.com/en/database/oracle/sql-developer-command-line/25.2/sqcug/preparing-your-environment.html

お勧め
VS Code の"Oracle SQL Developer Extension for VS Code" を使うと UI から簡単にデータベース接続を定義することができます。
image.png

これで SQLcl の準備は完了です。次は VS Code の Cline から MCP サーバーとして SQLcl を使用する設定を行います。

Clineの設定手順

Cline のインストール

  • VS Code のアクティビティバー(最も左側に表示されている縦一列のメニュー)で機能拡張アイコンをクリック
  • "Cline"を検索
  • "インストール"をクリック

言語を日本語に設定

  • VS Code のアクティビティバーで Cline アイコン(ロボットの顔)をクリック
  • Cline の右上の "Settings"アイコン(歯車)をクリック
  • "General" をクリックして、"General Settings"に表示される "Preferred Languages"で "Japanese - 日本語"を選択

Cline が 使用する LLM を OCI Generarive AI の Grok 4 に設定

  • VS Code のアクティビティバーで Cline アイコン(ロボットの顔)をクリック

  • Cline の右上の "Settings"アイコン(歯車)をクリック
    cline settings.png

  • "API Configuration" で下記を設定

    • "API Provider" - "LiteLLM"を選択
    • "Base URL" - LiteLLM Proxy 起動時に表示される URL(デフォルトは、http://0.0.0.0:4000
    • "API Key" - LiteLLM の config.yamlに設定した master_key
    • "Model ID" - LiteLLM の config.yamlに設定た model_name
    • "Support Image"のチェックを外します。OCI Generative AI の Grok 4 はイメージをサポートしていますが、LiteLLM の OCI への API変換機能がイメージを考慮していないのかエラーとなるため(2025年8月20日時点)

    image.png

  • 右上の"Done"をクリック

  • Cline のチャットエリアの下に "litellm:xai.grok-4"と表示されていることを確認
    cline llm.png

chat のテスト

  • Cline のチャットエリアに適当なメッセージを入力して右下の送信ボタンをクリック
    image.png
    image.png

Cline に SQLcl MCP サーバーを設定

  • Cline の右上にある "MCP Servers"アイコンをクリック
    cline mcp.png

  • "Installed" をクリック
    cline mcp installed.png

  • "Configure MCP Servers"をクリック
    image.png

  • "cline_mcp_settings.json" が表示されるので下記の例のように SQLcl の sql.exe のパスとパラメータ -mcpを記載する

    cline_mcp_settings.json
    {
      "mcpServers": {
        "sqlcl": {
          "command": "D:\\tools\\sqlcl\\bin\\sql.exe",
          "args": ["-mcp"]
        }    
      }
    }
    
  • "x"をクリックして保存して閉じます

  • Cline の下部にある "MCP Servers"のアイコンをクリックして、"sqlcl"が黄緑色になっていることを確認
    image.png

SQLcl MCP サーバーを使った Cline chat のテスト

  • データベース接続のリストを表示してもらいます
    image.png
    image.png

  • ツール "list-connections" の使用の許可を求めて来ますので、青い"Approve"(承認の意)をクリックします
    image.png
    データベース接続の一覧を表示できました!

  • DBへ接続してみます
    image.png
    image.png

  • ツール "connect" の使用の許可を求めて来ますので、"Approve"(承認の意)をクリックします
    image.png
    データベースへ接続できました!

  • テーブルのリストを表示してもらいます
    image.png
    image.png

  • IMAGESテーブルのテーブル構造を聞いてみます
    image.png
    image.png

    以上で、Cline から OCI Generative AI Grok 4 と Oracle Database MCP サーバーを使って AI駆動開発を始める準備が整いました!

4
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
4
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?