MCP-Aufrufe in OCI Generative AI
MCP-(Model Context Protocol-)Tools sind ausführbare Funktionen oder Funktionen, mit denen KI-Modelle mit externen Systemen interagieren können. Verwenden Sie MCP-Aufrufe in OCI Generative AI, damit ein Modell auf ausführbare Tools zugreifen kann, die von einem Remote-MCP-Server während einer Responses-API-Anforderung bereitgestellt werden. Diese Tools können Zugriff auf externe Systeme wie API, Datenbanken, Dateisysteme oder Anwendungsendpunkte ermöglichen. OCI Generative AI kommuniziert im Rahmen des Anforderungsworkflows direkt mit Remote-MCP-Servern.
Das OCI MCP-Aufrufstool verwendet dasselbe Format wie der OpenAI MCP-Aufruf für die Responses-API mit dem OCI OpenAI-kompatiblen Endpunkt. Syntax- und Anforderungsdetails finden Sie in der OpenAI MCP-Dokumentation.
Wann MCP-Aufrufe verwendet werden
Verwenden Sie MCP-Aufrufe, wenn das Modell Zugriff auf Tools benötigt, die auf einem Remote-MCP-Server gehostet werden. Dieser Ansatz ist nützlich, wenn Sie möchten:
- Die Enterprise AI Agent-Plattform zur direkten Kommunikation mit dem MCP-Server
- Weniger clientseitige Orchestrierungsschritte
- Geringere Latenz als ein vom Client ausgeführtes Toolmuster
- Zugriff auf Tools, die über einen Remote-MCP-Server verfügbar gemacht werden
Wichtige Features
MCP Calling bietet folgende Vorteile:
- Direkte Plattform-zu-Server-Kommunikation: Im Gegensatz zu Standardfunktionsaufrufen, bei denen die Kontrolle an die Clientanwendung zurückgegeben wird, ermöglicht MCP Calling die direkte Kommunikation von OCI Generative AI mit dem Remote-MCP-Server.
-
Niedrigere Latenz: Da die Anforderung keine zusätzliche Client-Roundtrip erfordert, kann MCP Calling den Orchestrierungsaufwand reduzieren.
- Transportunterstützung: Unterstützt Streamable HTTP (SSE veraltet und nicht unterstützt).
MCP-Tool festlegen
Um ein MCP-Tool zu definieren, fügen Sie einen Eintrag in der Eigenschaft tools mit "type": "mcp" hinzu.
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 diesem Beispiel wird die Antwort gestreamt und der generierte Text ausgegeben.
Von einem MCP-Server bereitgestellte Tools einschränken
Ein Remote-MCP-Server kann viele Tools bereitstellen, was die Kosten und die Latenz erhöhen kann. Wenn die Anwendung nur eine Teilmenge dieser Tools benötigt, verwenden Sie allowed_tools, um das Set einzuschränken.
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,
)
Authentifizierung für den MCP-Server bereitstellen
Wenn der Remote-MCP-Server eine Authentifizierung erfordert, übergeben Sie das Zugriffstoken im Feld 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
)
Übergeben Sie nur den Raw-Tokenwert. Nehmen Sie das Präfix Bearer nicht auf.
OCI sendet das Token im API-Anforderungsbody über TLS. OCI decodiert, prüft, speichert oder protokolliert das Token nicht. Es wird empfohlen, TLS-verschlüsselte MCP-Serverendpunkte zu verwenden.