Concetti sul server MCP

Esplora i concetti e i termini relativi a Autonomous AI Database MCP Server.

Log di audit

Il server registra l'emissione del token e le chiamate agli strumenti. Registra l'accesso nei log SIEM e Audit del database OCI. Utilizzare i criteri di audit che fanno riferimento agli attributi MCP_SERVER_CONTEXT$ (USERNAME and TOOLNAME) per acquisire chi ha chiamato lo strumento e quando, senza memorizzare i dati dei risultati.

Autorizzazione

Lo scambio di avvio in cui il client e il server MCP di Autonomous AI Database stabiliscono identità e funzionalità.

Il server MCP di Autonomous AI Database utilizza l'utente del database per l'autenticazione e l'autorizzazione. Prendere in considerazione l'adozione di un approccio a due regimi per una maggiore sicurezza:

  • Gli strumenti personalizzati devono risiedere nello schema utente del database utilizzato per eseguire il login al server MCP (ad esempio, MCP_USER).
  • Le funzioni PL/SQL utilizzate per definire questi strumenti devono essere definite in uno schema separato (ad esempio, SALES_USER).
  • Concedere l'accesso appropriato da SALES_USER allo schema MCP_USER.

Accesso controllato ai dati

L'accesso controllato ai dati può essere ottenuto restituendo solo le righe richieste e mascherando i campi riservati in base alle esigenze. Applicare il privilegio minimo ai criteri VPD che associano l'accesso all'utente (da MCP_SERVER_ACCESS_CONTEXT$.USER_IDENTITY).

Protocollo contesto modello (MCP)

MCP (Model Context Protocol) è uno standard open source per la connessione delle applicazioni AI a sistemi esterni. In Autonomous AI Database è possibile abilitare un solo endpoint server MCP per database. Per ulteriori dettagli, vedere Protocollo contesto modello.

Il server MCP di Autonomous AI Database supporta l'autenticazione basata su token e OAuth 2.1.

Client MCP

L'applicazione agente o chat (ad esempio Visual Studio Code con Cline, Claude Desktop e altri) che si connette a uno o più endpoint MCP di Autonomous AI Database, elenca gli strumenti disponibili per l'utente connesso e li chiama per ottenere risultati.

Trasporto HTTP in streaming

Streamable HTTP è una modalità di trasporto che utilizza HTTP con Server-Sent Events (SSE) per fornire risposte in messaggi piccoli e continui invece di un grande risultato. SSE è un meccanismo web in cui il server invia una sequenza di piccoli messaggi al client tramite una singola connessione HTTP aperta.

Il server MCP utilizza HTTP in streaming per inviare metadati, output degli strumenti e risultati delle query in un flusso costante anziché eseguire il buffering di tutto prima di restituirlo. Ciò supporta operazioni di grandi dimensioni o con tempi di esecuzione lunghi senza esaurire la memoria sul client o sul server. I client MCP possono avviare l'elaborazione della risposta non appena il server emette il primo evento. Il trasporto si adatta al design di MCP, che dà la priorità agli scambi prevedibili, osservabili e basati su eventi tra un client MCP e il database.

VPD (Virtual Private Database)

Il criterio VPD (Virtual Private Database) è una funzione che aggiunge una regola di sicurezza a ogni query SQL eseguita da un utente. La regola decide quali righe possono essere visualizzate dall'utente. Un filtro a livello di riga viene applicato automaticamente dal database in base all'identità dell'utente.

Nota

Il valore SESSION_USER utilizzato per l'esecuzione degli strumenti MCP è diverso dall'utente del database clienti. Pertanto, evitare di prendere decisioni sulla sicurezza basate su SESSION_USER.

Quando viene eseguito uno strumento MCP, il database imposta il nome utente e l'ambito in MCP_SERVER_CONTEXT$. I criteri VPD fanno riferimento a questo contesto per filtrare le righe per ogni utente. L'amministratore del database registra il criterio VPD con DBMS_RLS.ADD_POLICY. Quando uno strumento MCP esegue un'operazione SQL di sola lettura, il criterio VPD garantisce che gli utenti vedano solo i dati che sono autorizzati a visualizzare. Ciò rafforza la privacy dei dati senza modificare il codice dell'applicazione.