Chiamate MCP in OCI Generative AI
Gli strumenti MCP (Model Context Protocol) sono funzioni eseguibili o funzionalità che i modelli AI possono utilizzare per interagire con sistemi esterni. Utilizza la chiamata MCP in OCI Generative AI per consentire a un modello di accedere agli strumenti eseguibili esposti da un server MCP remoto durante una richiesta API di risposte. Questi strumenti possono fornire l'accesso a sistemi esterni come API, database, file system o endpoint delle applicazioni. OCI Generative AI comunica direttamente con i server MCP remoti come parte del flusso di lavoro delle richieste.
Lo strumento di chiamata MCP OCI utilizza lo stesso formato della chiamata MCP OpenAI per l'API Risposte, con l'endpoint compatibile con OCI OpenAI. Per i dettagli di sintassi e richiesta, consulta la documentazione OpenAI MCP.
Quando utilizzare le chiamate MCP
Utilizzare Chiamata MCP quando il modello deve accedere agli strumenti ospitati su un server MCP remoto. Questo approccio è utile quando si desidera:
- La piattaforma Enterprise AI Agent per comunicare direttamente con il server MCP
- Meno passi di orchestrazione lato client
- Latenza inferiore rispetto a un pattern di strumenti eseguito dal client
- Accesso agli strumenti esposti tramite un server MCP remoto
Caratteristiche principali
MCP Calling offre i seguenti vantaggi:
- Comunicazione diretta da piattaforma a server: a differenza della chiamata di funzione standard, che restituisce il controllo all'applicazione client, MCP Calling consente all'AI generativa OCI di comunicare direttamente con il server MCP remoto.
-
Riduzione della latenza: poiché la richiesta non richiede un ulteriore round-trip client, MCP Calling può ridurre il sovraccarico dell'orchestrazione.
- Supporto dei trasporti: supporta il protocollo HTTP Streamable (SSE non più valido e non supportato).
Definizione di uno strumento MCP
Per definire uno strumento MCP, aggiungere una voce nella proprietà tools con "type": "mcp".
response_stream = client.responses.create(
model="openai.gpt-5.4",
tools=[
{
"type": "mcp",
"server_label": "dmcp",
"server_description": "A Dungeons and Dragons MCP server to assist with dice rolling.",
"server_url": "https://mcp.deepwiki.com/mcp",
"require_approval": "never",
},
],
input="Roll 2d4+1",
stream=True,
)
for event in response_stream:
if event.type == "response.output_text.delta":
print(event.delta, end="", flush=True)
In questo esempio viene eseguito il flusso della risposta e viene stampato il testo man mano che viene generato.
Limitare gli strumenti esposti da un server MCP
Un server MCP remoto può esporre molti strumenti, che possono aumentare i costi e la latenza. Se l'applicazione richiede solo un subset di tali strumenti, utilizzare allowed_tools per limitare il set.
response_stream = client.responses.create(
model="openai.gpt-oss-120b",
tools=[
{
"type": "mcp",
"server_label": "dmcp",
"server_description": "A Dungeons and Dragons MCP server to assist with dice rolling.",
"server_url": "https://mcp.deepwiki.com/mcp",
"require_approval": "never",
"allowed_tools": ["roll"],
},
],
input="Roll 2d4+1",
stream=True,
store=False,
)
Autenticazione al server MCP
Se il server MCP remoto richiede l'autenticazione, passare il token di accesso nel campo authorization.
response_stream = client.responses.create(
model="xai.grok-4-1-fast-reasoning",
tools=[
{
"type": "mcp",
"server_label": "calendar",
"server_url": "https://calendar.example.com/mcp",
"authorization": "$CALENDAR_OAUTH_ACCESS_TOKEN"
},
],
input="List my meetings for 2026-02-02.",
stream=True
)
Passare solo il valore del token raw. Non includere il prefisso Bearer.
OCI invia il token nel corpo della richiesta API tramite TLS. OCI non decodifica, ispeziona, memorizza o registra il token. Si consiglia di utilizzare gli endpoint del server MCP con cifratura TLS.