Saltar al contenido principal

Configuración

El objeto central de configuración es ServerConfig, que acepta startAdminServer(). Los tipos de contexto relacionados se utilizan en la ejecución de herramientas.

ServerConfig​

Solo port es obligatorio.

CampoTipoValor predeterminadoDescripción
portnumber— (obligatorio)Puerto TCP de escucha, entero de 0 a 65535.
hoststring"127.0.0.1"Interfaz de escucha; loopback por defecto para evitar la exposición accidental.
apiKeystringundefinedSecreto compartido exigido por la API de administración y el transporte HTTP cuando se configura.
specPathstringundefinedEspecificación cargada una vez al iniciar.
baseUrlOverridestringundefinedSustituye la URL base del servidor de destino derivada de servers[0].url.
upstreamHeadersRecord<string, string>undefinedCabeceras añadidas a cada solicitud al servidor de destino.
requestTimeoutMsnumberundefinedTiempo de espera por solicitud al servidor de destino, en milisegundos.
persistStatebooleantrueConserva la especificación cargada entre reinicios.
stateFilePathstringundefinedUbicación del archivo de estado persistente.
allowedOriginsstring[]undefinedOrígenes CORS permitidos; vacío u omitido desactiva el acceso entre orígenes.
allowedHostsstring[]undefinedValores permitidos de la cabecera Host.
maxLogEntriesnumber200Máximo de entradas de registro conservadas en memoria.
redactSensitiveHeadersbooleantrueOculta valores de cabeceras sensibles antes de registrarlos.
redactHeaderNamesstring[]undefinedNombres de cabeceras adicionales que se ocultarán, además de la lista integrada.
securitySecurityContextundefinedCredenciales enviadas a la API de destino en cada llamada de herramienta.

SecurityContext​

CampoTipoSe envía como
bearerTokenstringAuthorization: Bearer <token>
basicAuth{ username, password }Authorization: Basic <base64>
apiKeysRecord<string, string>Pares exactos de nombre de cabecera y valor.

El ejecutor inyecta las credenciales y nunca las expone al modelo como argumentos de herramientas.

ExecutionContext​

Contexto por llamada, pasado a executeToolCall y devuelto por un ContextProvider:

CampoTipoDescripción
baseUrlOverridestringSustituye la URL del servidor de la especificación para esta llamada.
upstreamHeadersRecord<string, string>Cabeceras adicionales para el servidor de destino.
requestTimeoutMsnumberTiempo de espera por llamada, con un mínimo de 1 segundo.
securitySecurityContextCredenciales para esta llamada.
correlationIdstringRelaciona las entradas de registro de una misma invocación.
protocolProtocolHintTransporte que inició la llamada.
onLog(entry) => voidRecibe registros de solicitudes y respuestas; nunca debe lanzar excepciones.
signalAbortSignalCancela una solicitud en curso al servidor de destino.

Uniones de literales y funciones de comprobación​

UniónValoresFunción de comprobación
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​

Se pasa como tercer argumento a buildMcpServer():

CampoTipoValor predeterminadoDescripción
protocolProtocolHintundefinedIndicación de protocolo anunciada.
namestring"openapi-mcp"Nombre del servidor anunciado.
versionstring"1.1.0"Versión del servidor anunciada.
pageSizenumber100Máximo de entradas por respuesta de lista, limitado a 500.
instructionsstringintegradoOrientación de uso expuesta mediante MCP instructions.

Opciones de la capa de transporte (AttachMcpRoutesOptions)​

Importe attachMcpRoutes desde @powerduck/openapi-mcp-server y pase un objeto de opciones como segundo argumento. El envoltorio heredado attachSseRoutes() solo admite los argumentos posicionales (app, specProvider, contextProvider, routeGuard?).

CampoTipoValor predeterminadoDescripción
specProviderSpecProvider— (obligatorio)Proporciona el documento para nuevas sesiones.
contextProviderContextProvider— (obligatorio)Proporciona el contexto del servidor de destino para cada llamada.
routeGuardRequestHandlerundefinedMiddleware aplicado a todas las rutas MCP.
maxSessionsnumber64Límite de sesiones simultáneas.
sessionIdleMsnumber600000Tiempo de inactividad en milisegundos; 0 lo desactiva.
allowedOriginsstring[]undefinedOrígenes permitidos; una lista no vacía activa la protección frente a DNS rebinding.
allowedHostsstring[]undefinedValores permitidos de la cabecera Host.
enableLegacySsebooleantrueMonta el transporte HTTP+SSE obsoleto.
onEvent(event: McpSessionEvent) => voidundefinedRecibe eventos del ciclo de vida; nunca debe lanzar excepciones.

Estas son opciones de attachMcpRoutes, no campos adicionales de ServerConfig. El servidor de administración transmite la configuración de orígenes y hosts, pero usa los límites de sesiones y el tiempo de inactividad predeterminados del transporte. Para personalizarlos, utilice directamente la función pública de transporte.

Véase también​