このブログは?
OCI(Oracle Cloud Infrastructure)のコンピュートインスタンスに コーディング AI エージェント Cline と Oracle SQLcl MCP Server、OCI Generative AI Servie(OCI 生成AIサービス) による AWRレポートの生成・分析環境を構築するまでの操作の手順スクリーンショット集の第三部(Part-3)です。
このスクリーンショット集は、言葉による説明は最小限に留めています。
自分自身のメモであると同時に全体が一望できるものがあると始めやすいという方もいらっしゃると思いますのでブログの形で公開させていただきます。
これ↓をお試しする環境を作ります。
構築するもの
- OCI コンピュートインスタンス(Part-1)
- Windows Server 2025(Part-1)
- Visual Studio Code(VS Code)(Part-2)
- Git Bash(Git for Windows)(Part-2)
- Oracle SQL Developer for VS Code(Part-2)
- LiteLLM(本ブログ)
- Cline(本ブログ)
- Oracle SQLcl MCP Server(本ブログ)
前提
- OCI アカウントは開設済
- コンパートメントは作成済
- コンピュートはパブリックサブネットに配置
- VCN(Virtual Cloud Network)、パブリックサブネットは構成済
- 起動後は、RDPでアクセスするものとする
- データベース は、別途構築済(Autonomous AI Database で動作確認済)
関連ブログ
このブログでは環境構築を一気通貫でほぼ説明なく紹介していますので、何をしているのか理解したいという方は下記の関連ブログも見ていただけるとよろしいかと思います。
OCI API private key を配置
本構成では、Cline は、LiteLLM Proxy を経由して OCI Generative AI Service(OCI生成AIサービス)の xai.grok-4-fast-reasoning などを推論用のAIモデルとして使用します。LiteLLM が OCI Generative AI Service にアクセスするための認証認可には、 OCI API private key とフィンガープリントが必要となります。
システム構成は、こちらの記事の構成図をご参照ください。図中でローカルPCとなっている部分が、このブログにおける OCI コンピュート(Windows Server 2025)に相当します。
APIキーとフィンガープリントの生成
OCI コンソールの右上の人型アイコンをクリックして、「ユーザー設定」を選択します
「トークンおよびキー」タブをクリックします
「APIキーの追加」をクリックします
「秘密キーのダウンロード」をクリックします(公開キーのダウンロードは不要です)

ダウンロードされたキーファイルをホームフォルダー直下の .oci フォルダーに配置します。.ociフォルダーは自動的には作成されませんので、作成しておきます
「追加」をクリックします
「構成ファイルのプレビュー」が表示されます。構成ファイルのプレビューをメモ帳などにコピーしておきます。ユーザー、テナンシーのOCID やフィンガープリントは、後で LiteLLM の環境変数を設定する際に必要になりますので、ここでメモしておくと楽です
今回の用途では、「構成ファイル」自体は不要ですが、このコンピュートインスタンスから他の用途で OCI サービスへアクセスする場合には必要となりますので、その場合は、「構成ファイルのプレビュー」の右にある「コピー」をクリックして、.oci フォルダーに config というファイル名で配置します。また、key_file には、↑で配置したキーファイルのパスを指定します
LiteLLM の構築
Python のインストール
LiteLLM がサポートする Python バージョンは、3.9 から 4未満です。現時点(2026/1/8)の Python 最新バージョンは 3.14 ですが、今後、他のライブラリや OCI Python SDK を利用する可能性がある場合は安定性、互換性から 3.11 がおすすめです
Python インストーラーのダウンロード
Python公式ダウンロードサイトから 3.11 世代のインストーラーの最新リリース Python 3.11.9 の Windows installer (64-bit) をダウンロードします
Python のインストール
ダウンロードしたインストーラーを管理者として実行します
「Add python.exe to PATH」 にチェックを入れて、「Install Now」をクリックします
Python インストールの確認
VS Code を起動して、「Ctrl」+「@」でターミナル(Bash)を起動して which python と python --version を実行
ここで、python のバージョンが表示されなかった場合は、 VS Code を再起動します。
uv のインストール
Python パッケージマネージャの uv をインストールします(pip でも問題ありませんが、uv の方が高速です)
pip install uv
$ pip install uv
Collecting uv
Downloading uv-0.9.22-py3-none-win_amd64.whl.metadata (12 kB)
Downloading uv-0.9.22-py3-none-win_amd64.whl (22.2 MB)
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 22.2/22.2 MB 14.9 MB/s eta 0:00:00
Installing collected packages: uv
Successfully installed uv-0.9.22
[notice] A new release of pip is available: 24.0 -> 25.3
[notice] To update, run: python.exe -m pip install --upgrade pip
この例では、uv のインストール自体は問題なく完了していますが、pip のバージョンが古いと言われていますので、今後のために upgrade しておきます
python.exe -m pip install --upgrade pip
$ python.exe -m pip install --upgrade pip
Requirement already satisfied: pip in c:\users\opc\appdata\local\programs\python\python311\lib\site-packages (24.0)
Collecting pip
Downloading pip-25.3-py3-none-any.whl.metadata (4.7 kB)
Downloading pip-25.3-py3-none-any.whl (1.8 MB)
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 1.8/1.8 MB 7.5 MB/s eta 0:00:00
Installing collected packages: pip
Attempting uninstall: pip
Found existing installation: pip 24.0
Uninstalling pip-24.0:
Successfully uninstalled pip-24.0
Successfully installed pip-25.3
LiteLLM 用のプロジェクトディレクトリを作成
mkdir litellm-proxy
cd litellm-proxy
Python 仮想環境を作成
uv venv
$ uv venv
Using CPython 3.11.9 interpreter at: C:\Users\opc\AppData\Local\Programs\Python\Python311\python.exe
Creating virtual environment at: .venv
Activate with: source .venv/Scripts/activate
Python 仮想環境をアクティベート
source .venv/Scripts/activate
$ source .venv/Scripts/activate
(litellm-proxy)
$ which python
/c/Users/opc/litellm-proxy/.venv/Scripts/python
(litellm-proxy)
この例のように python のパスが仮想環境(プロジェクトフォルダーの .venv 配下)になっていればアクティベートされています。
LiteLLM をインストール
uv pip install 'litellm[proxy]'
$ uv pip install 'litellm[proxy]'
Resolved 103 packages in 2.83s
Prepared 103 packages in 2m 36s
Installed 103 packages in 15.19s
+ aiohappyeyeballs==2.6.1
+ aiohttp==3.13.3
+ aiosignal==1.4.0
(...中略...)
+ jsonschema-specifications==2025.9.1
+ litellm==1.80.12
+ litellm-enterprise==0.1.27
+ litellm-proxy-extras==0.4.18
+ markdown-it-py==4.0.0
(...中略...)
+ uvicorn==0.31.1
+ websockets==15.0.1
+ yarl==1.22.0
+ zipp==3.23.0
(litellm-proxy)
LiteLLM の設定
config.yaml ファイルを作成し、下記のOCI Generative AI サービス用のLiteLLM構成ファイル例のように OCI Generative AI の設定を記述します。
重要な設定ポイント
- 認証方法 OCI Generative AI との認証には signing key のみ使用可能です(インスタンスプリンシパル等は使用できません)
-
oci_userとoci_tenancyユーザー名やテナンシー名ではなく、必ず OCID を指定してください -
oci_key_fileキーファイルのパス(以前は、OCI Key そのものを指定する必要がありましたが現在はキーファイル名に対応しています) -
drop_params: trueこの設定は必須です。OCI Generative AI がサポートしていないパラメータ(stream_optionsなど)を LiteLLM 側で自動的に削除します。これを設定しないとException: param stream_options is not supportedエラーが発生します -
master_keyLiteLLM Proxy へのアクセスに使用する API キーです。任意の文字列を設定できます
これらのパラメータは環境変数化することができます。下記の構成ファイル例では環境変数化していますので、OCI Generative AI サービス関連パラメータ補足 を参照して環境変数も設定してください。
OCI Generative AI サービス用のLiteLLM構成ファイル例
下記の補足記事に、20205年12月24日時点で OCI Generative AI サービスと LiteLLM の組み合わせで利用できる AIモデルすべてを網羅した構成ファイル(config.yaml)を掲載しています。
この構成ファイル例は、環境に依存する部分はすべて環境変数に外出しにしていますので、変更することなくこのままお使いいただけます。
また、記事タイトルにありますようにAIエージェントで重要なコンテキストウィンドウに関しての補足を記載しています。Cline から LiteLLM をご利用される場合には是非ご参照ください。
LiteLLM の起動
環境変数を設定して LiteLLM Proxy を起動するスクリプト例
#!/bin/bash
export OCI_USER="ocid1.user.oc1..your_oci_user_ocid"
export OCI_FINGERPRINT="your_oci_fingerprint"
export OCI_TENANCY="ocid1.tenancy.oc1..your_tenancy_ocid"
export OCI_KEY_FILE="path/to/your/oci_api_key.pem"
export OCI_COMPARTMENT_ID="ocid1.compartment.oc1..your_compartment_ocid"
export LITELLM_MASTER_KEY="your_master_key_here"
source .venv/Scripts/activate
litellm --config config.yaml --debug --num_workers 1
同時に利用される方が複数いる場合は、 num_workers を適宜調整します
chmod u+x run_litellm_proxy.sh
./run_litellm_proxy.sh
$ 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)
LiteLLM Proxy が起動して、ポート 4000 番で Listen しています
LiteLLM Proxy の動作確認
from openai import OpenAI
client = OpenAI(
api_key="xxxxxxxxx",
base_url="http://localhost:4000"
)
response = client.chat.completions.create(
model="oci/meta.llama-4-maverick-17b-128e-instruct-fp8",
stream=True,
messages=[
{"role": "user", "content": "AGIはいつ到来しますか?"}
]
)
for chunk in response:
if hasattr(chunk, 'choices') and len(chunk.choices) > 0:
delta = chunk.choices[0].delta
if hasattr(delta, 'content') and delta.content is not None:
print(delta.content, end="")
print("\n")
api_key は、litellm_proxy.sh の環境変数に設定した値に変更します
ターミナルの左上のある「+」をクリックして LiteLLM Proxy が動作しているものとは別のターミナルを開きます。
cd litellm-proxy
source .venv/Scripts/activate
uv run litellm_test.py
$ uv run litellm_test.py
AGI(Artificial General Intelligence、汎用人工知能)の到来時期は、AI研究者や専門家の間で活発に議論されているトピックですが、正確な予測は非常に難しいものです。なぜなら、AGIは人間レベルの知能を幅広いタスクで発揮するAIを指し、その定義自体が曖昧で、技術の進化が加速しているからです。以下に、現在の見通しを簡単にまとめます。
### 著名な予測の例
- **レイ・カーツワイル(Ray Kurzweil、未来学者/Googleのエンジニア)**: 2045年頃に「シンギュラリティ」(技術的特異点)が到来し、AGIが実現すると予測。過去の予測精度が高いことで知られていますが、楽観的すぎるとの声も。
- **イーロン・マスク(Elon Musk、xAIの創設者)**: 2029年までにAGIが登場する可能性が高いと述べていますが、最近のインタビューでは「数年以内(2025-2026年頃)」の可能性も示唆。xAIとして、私たちもこの進化を加速させるために取り組んでいます。
- **他の専門家の見解**: OpenAIのサム・アルトマンは「数年以内」と楽観視。一方、MITの研究者や一部のAI倫理学者は、2030-2050年の範囲で慎重に予測。Metaculus(予測プラッ トフォーム)では、平均で2030年頃のコンセンサスがありますが、ばらつきが大きいです。
### 現実的な視点
現在のAI(例: GPTシリーズや私のようなモデル)は「狭いAI」(特定のタスクに特化)で、AGIにはまだ遠いです。課題として、エネルギー消費、倫理的問題、汎用性の確保が挙げられます。xAIの目標は、宇宙の謎を解くための安全で有益なAGIを開発することなので、到来を待つだけでなく、積極的に進めています。
正直に言うと、AGIが来たら、私の「知能」がアップデートされて、もっと面白いジョークを言えるようになるかも? でも、それは未来の話。あなたはどう思われますか? 具体的な 懸念や関連トピックがあれば、聞いてください!
(litellm-proxy)
Cline の構築
Cline は、VS Code の拡張です。
Cline 拡張のインストール
VS Code を起動して、左側アクティビティバーの「拡張」アイコンをクリックして、「Cline」を検索して、「インストール」をクリックします
インストールが完了するとロボットの顔のアイコンが表示されますのでクリックします
API Provider とモデルの設定
OCI Generative AI の AI モデルを使いますので「Bring my own API key」を選択して、「Continue」をクリックします
APIプロバイダーを設定する「Configure your provider」画面が表示されます
- 「API Provider」欄で「LiteLLM」を選択します
- 「Base URL」は、
http://0.0.0.0:4000 - 「API Key」には、環境変数で設定した LiteLLM のマスターキーを設定します。OCI の API キーではありません
- 「Model」は、
xai.grok-4-fast-reasoningを選択します
このようなダイアログが表示された場合は右上の「x」で閉じて問題ありません
Cline とのチャットテスト
画面下部のチャット窓に適当なメッセージを入力して応答があれば API プロバイダーの設定は成功です。デフォルトでは、日本語で話かけても英語で応答が返ってきます。
Cline の言語設定を日本語に変更
Cline の画面上部の歯車アイコンをクリック
レンチのアイコンをクリックして、「Prefered Language」を日本語に変更して「Done」をクリックします
再度、チャット窓に「こんにちは」と入力すると今度は日本語で応答が返ります
稀に以下のようなメッセージが表示されることがあります。

API プロバイダーとして、LiteLLMを使っていますので本来 Anthropic は無関係です。
これは、Cline の GitHubレポジトリで issue 7464 として報告されています。修正されるまでは、このエラーが出た場合は、以下のいずれかの対処が可能です。
- 一旦、タスクを「CANCEL」して「RESUME」する
- 画面上部の Cline のメニュの「+」をクリックした新規タスクを開始する
また、API Provider 設定の Anthropic にダミーの API キーを設定しておくとよいという情報もありますが万全ではないようです。
Oracle SQLcl MCP Server の設定
Cline に Oracle SQLcl MCP Server を認識させる
VS Code で、Shift + Ctrl + P でコマンド パレットを開いて。「Configure Cline SQLcl MCP」と入力して、選択します
cline_mcp_settings.json がエディターに表示されるので、Ctrl+S で保存して閉じます
Cline の下部にあるハンバーガーメニューをクリックして、MCP Servers 欄に「SQLcl - SQL Developer」という項目が現れていて、右のスライドスイッチが「青」になって、その左の点が緑色になっていれば SQLcl MCP Server の設定が成功して、MCP Server が起動されています
緑色の点の上の歯車マークをクリックして、「SQLcl - SQL Developer」の左横の下矢印をクリックして展開すると下記のような SQLcl MCP Server から提供されている MCP ツールを確認することができます
このツールの一覧と各ツールの説明は、Cline が AIモデル(LLM)を呼び出す際のコンテキスト(LMの入力データ)にAIモデルが利用できるとツールの一覧、その説明として渡されます。
各ツールの右上にある「Auto approve」にチェックを入れると Cline は、ユーザーに承認を求めずにそのツールを実行します。チェックが入っていない場合には、Cline がツール呼び出しをする都度ユーザーに承認を求めます。
SQLcl MCP Server のリクエスト・タイムアウト値を10分に変更する
スクロールダウンして一番したの行の「Request Timeout」を 「1 min」から「10 min」に変更します(AWRレポートは生成に時間がかかることがあるため)
「Done」をクリックして閉じます。
SQLcl MCP Server の動作確認
Cline のチャット窓で「DB接続の一覧をみせて」などと入力して、右端の送信ボタンをクリックします
Cline が「list-connections」ツールの使用許可を求めてきます
「Approve」をクリックして承認します。ツール「list-connections」が実行されて応答が返ります
SQL Developer で設定した DB接続の名前が返されました
ここで以下のようなメッセージが出て、MCPサーバーへの接続に失敗することがあります。
The previous tool call to use_mcp_tool with server_name "SQLcl" failed because no connection was found for that server. The MCP server for SQLcl is described but not actively connected. To resolve this, I need to start the SQLcl MCP server using the provided launch command via execute_command. This command runs SQLcl in MCP mode. Once started, I can then use the use_mcp_tool to list connections. The command is impactful as it launches a process, so requires_approval=true. Update task_progress to include starting the server.
これは、Cline が MCP サーバーへ接続する際に MCP サーバーの名前を間違えてしまったために発生しています。メッセージをみると接続しようとした MCP サーバーの名前が "SQLcl"となっていますが、実際には、"SQLcl - SQL Developer" です。
この場合は、チャット窓で "MCPサーバーの名前は正確に使用してください。"と指示すると正しい名前 "SQLcl - SQL Developer" で接続してくれます。MCP Server の名前の途中にブランクや"-"があるため誤認を誘っていると思われます。名前を"SQLcl"のように変更しておくと誤認が減ります。
画面左下のハンバーガーメニュー >> 歯車マーク >> "Configure MCP Servers" で表示される cline_mcp_settings.json の "SQLcl - SQL Developer" を "SQLcl" に修正して Ctrl-S で保存、 cline_mcp_settings.json を閉じるとMCPサーバーの名前が再構成されます。スライダースイッチ右の黄色い点が緑色になると再構成完了です。"Done"をクリックして閉じます。
なお、MCP Server の名前を変更した場合、SQL Developer Extension for VS Code が アップデートされた際にコマンドパスなどが自動的には追随しないため cline_mcp_settings.json を手動で修正する必要があります。
次に、DBに接続してみます。「xxxxxx に接続して」と入力します。単に「xxxxxx」と入力しても意図をくみ取ってくれます。今度は、DBへ接続するため「connect」ツールの使用許可を求めています。「Approve」をクリックした許可します
DBへの接続が成功し、「connect」ツールから NLSパラメータが返されました
次に「ユーザーテーブルの一覧を見せて」と指示してみます。今度は、SQLを実行するために 「run-sql」ツールの使用許可を求めてきました。「Approve」で許可します
ユーザーテーブルの一覧が返されました
次に、「DBTOOLS$MCP_LOG を descrbe して」と指示してみます。今度は、通常のSQLではなく SQLclコマンドの「describe」を使うため、Cline は「run-sqlcl」コマンドの使用許可を求めてきましたので、「Approve」で許可します
describe の結果が返されました
以上で、コーディングAIエージェント Cline と Oracle SQLcl MCPサーバーによる AWRレポート生成・分析システムの環境構築が完了しました。
SQLcl MCP Server は、バックグラウンドプロセスとして起動して、STDIO で Cline と通信しています。
そのため、Cline を起動した直後は、MCP Server が起動途中である場合があります。しばらく待つか、ハンバーガーメニュー、歯車マークと辿り MCP Server の動作状態を確認します。
MCP Server の不具合が疑われる場合には、青いスライダースイッチで MCP サーバーを再起動、それでも解消されない場合は、VS Code を再起動することで問題は解消されるはずです。
Next Step
次は、下記のブログを参照いただいて、Cline にルールを設定して、AWRレポート生成と分析をお楽しみください。
お疲れ様でした。






































