Zum Hauptinhalt springen

Konfiguration

Das zentrale Konfigurationsobjekt ist ServerConfig; es wird an startAdminServer() übergeben. Die zugehörigen Kontexttypen werden bei der Tool-Ausführung verwendet.

ServerConfig​

Nur port ist erforderlich.

FeldTypStandardwertBeschreibung
portnumber— (erforderlich)TCP-Port zum Binden, Ganzzahl von 0 bis 65535.
hoststring"127.0.0.1"Netzwerkschnittstelle; standardmäßig Loopback, um unbeabsichtigte externe Erreichbarkeit zu vermeiden.
apiKeystringundefinedGemeinsames Geheimnis, das bei Konfiguration für Verwaltungs-API und HTTP-Transport erforderlich ist.
specPathstringundefinedBeim Start einmalig geladene Spezifikation.
baseUrlOverridestringundefinedÜberschreibt die aus servers[0].url abgeleitete Basis-URL des Zielservers.
upstreamHeadersRecord<string, string>undefinedHeader, die jeder Anfrage an den Zielserver hinzugefügt werden.
requestTimeoutMsnumberundefinedZeitlimit je Anfrage an den Zielserver in Millisekunden.
persistStatebooleantrueGeladene Spezifikation über Neustarts hinweg speichern.
stateFilePathstringundefinedPfad der Datei mit dem gespeicherten Zustand.
allowedOriginsstring[]undefinedErlaubte CORS-Ursprünge; leer oder nicht angegeben deaktiviert ursprungsübergreifenden Zugriff.
allowedHostsstring[]undefinedErlaubte Werte des Host-Headers.
maxLogEntriesnumber200Maximale Anzahl der im Arbeitsspeicher aufbewahrten Logeinträge.
redactSensitiveHeadersbooleantrueVertrauliche Headerwerte vor der Protokollierung maskieren.
redactHeaderNamesstring[]undefinedZusätzlich zur integrierten Liste zu maskierende Headernamen.
securitySecurityContextundefinedBei jedem Tool-Aufruf an die Ziel-API weitergeleitete Zugangsdaten.

SecurityContext​

FeldTypGesendet als
bearerTokenstringAuthorization: Bearer <token>
basicAuth{ username, password }Authorization: Basic <base64>
apiKeysRecord<string, string>Exakte Zuordnung von Headernamen zu Werten.

Zugangsdaten werden vom Executor eingefügt und niemals als Tool-Argumente an das Modell weitergegeben.

ExecutionContext​

Aufrufkontext, der an executeToolCall übergeben und von einem ContextProvider zurückgegeben wird:

FeldTypBeschreibung
baseUrlOverridestringÜberschreibt die Server-URL der Spezifikation für diesen Aufruf.
upstreamHeadersRecord<string, string>Zusätzliche Header für den Zielserver.
requestTimeoutMsnumberZeitlimit je Aufruf, mindestens 1 Sekunde.
securitySecurityContextZugangsdaten für den einzelnen Aufruf.
correlationIdstringOrdnet Logeinträge einem Aufruf zu.
protocolProtocolHintTransport, der den Aufruf ausgelöst hat.
onLog(entry) => voidEmpfängt Anfrage- und Antwortprotokolle; darf keine Ausnahme auslösen.
signalAbortSignalBricht eine laufende Anfrage an den Zielserver ab.

Literal-Union-Typen und Prüffunktionen​

Union-TypWertePrüffunktion
TransportMode"stdio" | "web"—
SpecSource"startup-file" | "upload" | "paste" | "runtime"isSpecSource()
ServiceStatus"running" | "stopped" | "error"isServiceStatus()
ProtocolHint"streamable-http" | "sse" | "stdio"isProtocolHint()
LogDirection"request" | "response" | "internal"—
LogLevel"debug" | "info" | "warn" | "error"—
ParameterLocation"path" | "query" | "header" | "cookie"isParameterLocation()
BodyEncoding"json" | "form-urlencoded" | "multipart" | "text" | "binary"isBodyEncoding()

BuildMcpServerOptions​

Wird als drittes Argument an buildMcpServer() übergeben:

FeldTypStandardwertBeschreibung
protocolProtocolHintundefinedBekanntgegebener Protokollhinweis.
namestring"openapi-mcp"Bekanntgegebener Servername.
versionstring"1.1.0"Bekanntgegebene Serverversion.
pageSizenumber100Maximale Einträge je Listenantwort, höchstens 500.
instructionsstringintegriertÜber MCP instructions bereitgestellter Nutzungshinweis.

Optionen der Transportschicht (AttachMcpRoutesOptions)​

Importieren Sie attachMcpRoutes aus @powerduck/openapi-mcp-server und übergeben Sie das Optionsobjekt als zweites Argument. Der ältere Wrapper attachSseRoutes() akzeptiert nur die Positionsargumente (app, specProvider, contextProvider, routeGuard?).

FeldTypStandardwertBeschreibung
specProviderSpecProvider— (erforderlich)Liefert das Dokument für neue Sitzungen.
contextProviderContextProvider— (erforderlich)Liefert den Kontext für Zielserveranfragen je Aufruf.
routeGuardRequestHandlerundefinedMiddleware für sämtliche MCP-Routen.
maxSessionsnumber64Maximale Anzahl gleichzeitiger Sitzungen.
sessionIdleMsnumber600000Leerlaufzeitlimit in Millisekunden; 0 deaktiviert es.
allowedOriginsstring[]undefinedErlaubte Ursprünge; eine nicht leere Liste aktiviert den Schutz vor DNS-Rebinding.
allowedHostsstring[]undefinedErlaubte Werte des Host-Headers.
enableLegacySsebooleantrueVeralteten HTTP+SSE-Transport einbinden.
onEvent(event: McpSessionEvent) => voidundefinedEmpfängt Lebenszyklusereignisse; darf keine Ausnahme auslösen.

Dies sind Optionen für attachMcpRoutes, keine zusätzlichen Felder von ServerConfig. Der Verwaltungsserver reicht seine Ursprungs- und Host-Einstellungen weiter, verwendet aber die Standardsitzungslimits und das Standardleerlaufzeitlimit des Transports. Zum Anpassen dieser Grenzen verwenden Sie die öffentliche Transportfunktion direkt.

Weitere Informationen​