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.

Hinweis

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.