3 Oracle SQLcl MCP Serverの使用

Oracle SQLcl Model Context Protocol (MCP) Serverにより、人工知能(AI)アプリケーションとのシームレスなコミュニケーションを可能にすることでOracle Databaseとのやり取りの方法が変革されます。

これにより、AIを利用したやり取りを通して、自然言語を使用して、Oracle Databaseでの操作の実行、レポートの作成、問合せの実行ができるようになります。Oracle SQLcl MCP Serverの機能を確認し、一般的なMCPクライアントとともにそれを使用する方法について学習します。

注意:

大規模言語モデル(LLM)にデータベースへのアクセス権を付与すると、それにより、重大なセキュリティ・リスクがもたらされます。LLMではユーザーが入力したデータを使用してレスポンスが生成されるため、意図しない表や機密の詳細情報が誤って公開される可能性があります。

このようなリスクを軽減するには、次の予防措置を実施します:
  • 最小限の権限の割当て: LLMによって使用されるデータベース・ユーザー・アカウントを、そのタスクに必要な最小限の権限を付与して構成します。この手法により、LLMがアクセスできる内容が制限されます。
  • 本番データベースへのアクセスの防止: LLMに本番データベースへの直接アクセスを付与しないでください。かわりに、サニタイズされた読取り専用レプリカ、または専用のデータ・サブセットを使用する必要があります。
  • LLMアクティビティの監査: LLMによって実行された問合せを定期的に監査します。これは、異常や、機密データにアクセスする試みを検出するために役立ちます。監査作業をサポートするために、SQLcl MCPサーバーでは、次の組込みモニタリング機能が用意されています:
    • セッション・トラッキング: 使用中のMCPクライアントがV$SESSION.MODULEに、LLMの名前がV$SESSION.ACTIONに移入されます。
    • アクティビティ・ロギング: すべてのやり取りとSQL実行を記録する、DBTOOLS$MCP_LOGという名前の表が作成されます。
    • 問合せの識別: SQLcl MCPサーバーのツールを介してLLMで生成されたすべての問合せには、ログ内で簡単に識別できるように、/* LLM in use ... */というコメントが含まれています。
    モニタリングの詳細は、「SQLcl MCPサーバーのモニタリング」を参照してください。