MCPサーバーの概念

Autonomous AI Database MCP Serverに関連する概念と用語について説明します。

監査ロギング

サーバーはトークン発行およびツール・コールを記録します。OCI SIEMおよびデータベース監査ログへのアクセスを記録します。MCP_SERVER_CONTEXT$属性(USERNAME and TOOLNAME)を参照する監査ポリシーを使用して、結果データを格納せずに、どのツールをいつコールしたかを取得します。

承認

クライアントとAutonomous AI Database MCPサーバーがアイデンティティと機能を確立する起動交換。

Autonomous AI Database MCPサーバーは、認証および認可にデータベース・ユーザーを使用します。セキュリティを強化するために、2つのスキーマ・アプローチを採用することを検討してください。

  • カスタム・ツールは、MCPサーバーへのログインに使用されるデータベース・ユーザー・スキーマ(MCP_USERなど)に存在する必要があります。
  • これらのツールの定義に使用されるPL/SQLファンクションは、別のスキーマ(SALES_USERなど)で定義する必要があります。
  • SALES_USERからMCP_USERスキーマへの適切なアクセス権を付与します。

制御されたデータ・アクセス

必要な行のみを返し、必要に応じて機密フィールドをマスキングすることで、制御されたデータ・アクセスを実現できます。(MCP_SERVER_ACCESS_CONTEXT$.USER_IDENTITYから)ユーザーにアクセスをバインドするVPDポリシーを使用して、最小限の権限を適用します。

モデル・コンテキスト・プロトコル(MCP)

MCP(Model Context Protocol)は、AIアプリケーションを外部システムに接続するためのオープンソース標準です。Autonomous AI Databaseでは、データベースごとの1つのMCPサーバー・エンドポイントを有効にできます。詳細は、モデル・コンテキスト・プロトコルを参照してください。

Autonomous AI Database MCPサーバーは、OAuth 2.1およびトークン・ベースの認証をサポートしています。

MCPクライアント

1つ以上のAutonomous AI Database MCPエンドポイントに接続するエージェントまたはチャット・アプリケーション(たとえば、Visual Studio Code with Cline、Claude Desktopなど)は、サインイン・ユーザーに使用可能なツールをリストし、それらをコールして結果を取得します。

ストリーミング可能なHTTPトランスポート

Streamable HTTPは、HTTPとサーバー送信イベント(SSE)を使用して、1つの大きな結果ではなく、小さな連続したメッセージでレスポンスを配信するトランスポート・モードです。SSEは、サーバーが単一のオープンHTTP接続を介して一連の小さなメッセージをクライアントに送信するWebメカニズムです。

MCPサーバーは、ストリーム可能なHTTPを使用して、メタデータ、ツール出力および問合せ結果を、戻す前にすべてをバッファリングするのではなく、安定したストリームで送信します。これにより、クライアントまたはサーバー上のメモリーを使い果たすことなく、長時間実行または大規模な操作がサポートされます。MCPクライアントは、サーバーが最初のイベントを発行するとすぐに応答の処理を開始できます。トランスポートはMCPの設計に適合し、MCPクライアントとデータベース間の予測可能で観察可能なイベントベースの交換に優先順位を付けます。

仮想プライベート・データベース(VPD)

仮想プライベート・データベース(VPD)ポリシーは、ユーザーが実行するすべてのSQL問合せにセキュリティ・ルールを追加する機能です。ルールによって、ユーザーが表示できる行が決まります。行レベルのフィルタリングは、ユーザー識別情報に基づいてデータベースによって自動的に適用されます。

ノート

MCPツールの実行に使用されるSESSION_USERは、顧客データベース・ユーザーとは異なります。したがって、SESSION_USERに基づいてセキュリティを決定することは避けてください。

MCPツールを実行すると、MCP_SERVER_CONTEXT$にユーザー名およびスコープが設定されます。VPDポリシーはこのコンテキストを参照して、各ユーザーの行をフィルタします。データベース管理者は、DBMS_RLS.ADD_POLICYにVPDポリシーを登録します。MCPツールが読取り専用SQL操作を実行する場合、VPDポリシーにより、ユーザーが表示する権限があるデータのみが表示されることが保証されます。これにより、アプリケーション・コードを変更することなくデータのプライバシを強化できます。