Zum Hauptinhalt springen

Überblick

Das OpenAI Agents SDK ist OpenAIs offizielles Framework für KI-Agenten. Es unterstützt MCP nativ — dein Agent kann Ovras 11 Payment-Tools ohne Glue-Code nutzen.

Installation

pip install openai-agents

Einrichtung

Verbinde Ovra als Hosted MCP Tool — OpenAI ruft den Server direkt auf:
from agents import Agent, HostedMCPTool, Runner

agent = Agent(
    name="Einkaufs-Agent",
    instructions="Du hilfst beim Online-Einkauf. Erstelle immer einen Intent vor der Credential-Anfrage.",
    model="gpt-4.1",
    tools=[
        HostedMCPTool(
            tool_config={
                "type": "mcp",
                "server_label": "ovra",
                "server_url": "https://api.getovra.com/api/mcp",
                "headers": {
                    "Authorization": "Bearer <OVRA_AGENT_TOKEN>"
                },
                "require_approval": "never",
            }
        )
    ],
)
Oder nutze Streamable HTTP für selbst-gehostete Setups:
from agents import Agent
from agents.mcp import MCPServerStreamableHttp

ovra = MCPServerStreamableHttp(
    url="https://api.getovra.com/api/mcp",
    headers={"Authorization": "Bearer <OVRA_AGENT_TOKEN>"},
)

agent = Agent(
    name="Einkaufs-Agent",
    instructions="Du hilfst beim Online-Einkauf.",
    model="gpt-4.1",
    mcp_servers=[ovra],
)

Verwendung

result = await Runner.run(
    agent,
    "Kaufe einen USB-C-Hub unter 30 € auf amazon.de"
)
print(result.final_output)

Zahlungsablauf

Der Agent führt Ovras Credential-Flow automatisch aus:
  1. ovra_intent → Kauf deklarieren (Policy-Engine prüft Limits, Händlerregeln)
  2. ovra_credential → Einmal-DPAN erhalten (Agent sieht nie die echte Karte)
  3. Bei der Merchant-API bezahlen
  4. ovra_credential → Abschluss bestätigen

Wichtige Tools

ToolFunktion
ovra_agentAgents auflisten, Guthaben prüfen
ovra_intentKaufabsicht deklarieren (automatische Policy-Prüfung)
ovra_credentialDPAN erhalten, Zahlung bestätigen
ovra_transactionTransaktionsverlauf ansehen
ovra_policyPrüfen ob ein Kauf erlaubt wäre