Gateway-Dienst Konfiguration
Konfigurationsbeispiel
Nachfolgend finden Sie ein vollständiges Konfigurationsbeispiel, das Routing, CORS, Antwortverarbeitung und andere Einstellungen umfasst:
name: "mock-server"             # Proxy-Dienstname, global eindeutig
# Router-Konfiguration
routers:
  - server: "mock-server"       # Dienstname
    prefix: "/mcp/user"         # Routenpräfix, global eindeutig, kann nicht wiederholt werden, empfohlen zur Unterscheidung nach Dienst oder Domäne+Modul
    # CORS-Konfiguration
    cors:
      allowOrigins:             # Für Entwicklungs- und Testumgebungen kann alles geöffnet werden; für die Produktion ist es am besten, nach Bedarf zu öffnen. (Die meisten MCP-Clients benötigen kein CORS)
        - "*"
      allowMethods:             # Erlaubte Anfragemethoden, nach Bedarf öffnen. Für MCP (SSE und Streamable) werden normalerweise nur diese 3 Methoden benötigt
        - "GET"
        - "POST"
        - "OPTIONS"
      allowHeaders:
        - "Content-Type"        # Muss erlaubt sein
        - "Authorization"       # Muss diesen Schlüssel in der Anfrage für Authentifizierungsbedürfnisse unterstützen
        - "Mcp-Session-Id"      # Für MCP ist es notwendig, diesen Schlüssel in der Anfrage zu unterstützen, andernfalls kann Streamable HTTP nicht normal verwendet werden
      exposeHeaders:
        - "Mcp-Session-Id"      # Für MCP muss dieser Schlüssel bei aktiviertem CORS exponiert werden, andernfalls kann Streamable HTTP nicht normal verwendet werden
      allowCredentials: true    # Ob der Header Access-Control-Allow-Credentials: true hinzugefügt werden soll
1. Grundkonfiguration
name: Proxy-Dienstname, global eindeutig, verwendet zur Identifizierung verschiedener Proxy-Diensterouters: Router-Konfigurationsliste, definiert Anfrageweiterleitungsregelnservers: Server-Konfigurationsliste, definiert Dienst-Metadaten und erlaubte Toolstools: Tool-Konfigurationsliste, definiert spezifische API-Aufrufregeln
Sie können eine Konfiguration als Namespace behandeln, empfohlen zur Unterscheidung nach Dienst oder Domäne. Ein Dienst enthält viele API-Schnittstellen, jede API-Schnittstelle entspricht einem Tool.
2. Router-Konfiguration
Die Router-Konfiguration wird verwendet, um Anfrageweiterleitungsregeln zu definieren:
routers:
  - server: "mock-server"       # Dienstname, muss mit dem Namen in servers übereinstimmen
    prefix: "/mcp/user"         # Routenpräfix, global eindeutig, kann nicht wiederholt werden
body: Parameter werden im JSON-Anfragekörper platziertform-data: Parameter werden im multipart/form-data-Anfragekörper platziert, verwendet für Datei-Uploads und andere Szenarien
Jeder Parameter kann einen Standardwert haben. Wenn ein Parameter in der MCP-Anfrage nicht angegeben wird, wird der Standardwert automatisch verwendet. Auch wenn der Standardwert eine leere Zeichenfolge ("") ist, wird er verwendet. Zum Beispiel:
args:
  - name: "theme"
    position: "body"
    required: true
    type: "string"
    description: "User interface theme"
    default: "light"    # Wenn der theme-Parameter in der Anfrage nicht angegeben wird, wird "light" als Standardwert verwendet
Wenn form-data als Parameterposition verwendet wird, muss requestBody nicht angegeben werden, das System assembliert die Parameter automatisch im multipart/form-data-Format. Zum Beispiel: