このブログは?
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
上図は、Introducing MCP Server for Oracle Databaseより引用
利用可能なツールは、5つあります。
ツール名 | 概要 |
---|---|
list-connections | 保存されているデータベース接続の一覧を取得します |
connect | 指定された接続を使ってデータベースへ接続します |
disconnect | データベース接続を切断します |
run-sqlcl | SQLclコマンドを実行します |
run-sql | SQLクエリを実行します |
なお、MCPとは何かについては下記の記事でご紹介しておりますのでよろしければお立ち寄りください。
この記事の環境の全体構成
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 の設定を記述します。
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_user
とoci_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 を使用することで、環境の再現性が高まり、システムの起動時に自動的にサービスを開始できるなど、運用面でのメリットが多くあります。下記の公式ドキュメントを参考にしてみてください。
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 のダウンロードとインストール
-
Oracle の公式サイトから SQLcl をダウンロードします
- Oracle SQLcl ダウンロードページ にアクセス
- SQLcl をダウンロード
-
ダウンロードした ZIP ファイルを任意のディレクトリに解凍します
例:D:\tools\sqlcl
-
環境変数 PATH に SQLcl の bin ディレクトリを追加します
- Windows の場合、「システムのプロパティ」→「環境変数」を開く
- システム環境変数の PATH に
D:\tools\sqlcl\bin
を追加 - コマンドプロンプトを再起動
-
インストールの確認
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
これで 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 アイコン(ロボットの顔)をクリック
-
"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日時点)
-
右上の"Done"をクリック
chat のテスト
Cline に SQLcl MCP サーバーを設定
-
"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"が黄緑色になっていることを確認