Pular para o conteúdo principal

Configuração

O objeto central de configuração é ServerConfig, aceito por startAdminServer(). Os tipos de contexto relacionados são usados na execução das ferramentas.

ServerConfig​

Apenas port é obrigatório.

CampoTipoPadrãoDescrição
portnumber— (obrigatório)Porta TCP de escuta, inteiro de 0 a 65535.
hoststring"127.0.0.1"Interface de escuta; loopback por padrão para evitar exposição acidental.
apiKeystringundefinedSegredo compartilhado exigido pela API de administração e pelo transporte HTTP quando configurado.
specPathstringundefinedEspecificação carregada uma vez na inicialização.
baseUrlOverridestringundefinedSubstitui a URL base do serviço de destino derivada de servers[0].url.
upstreamHeadersRecord<string, string>undefinedCabeçalhos adicionados a todas as requisições ao serviço de destino.
requestTimeoutMsnumberundefinedTempo limite por requisição ao serviço de destino, em milissegundos.
persistStatebooleantrueMantém a especificação carregada entre reinicializações.
stateFilePathstringundefinedLocalização do arquivo de estado persistente.
allowedOriginsstring[]undefinedOrigens CORS permitidas; vazio ou omitido desativa o acesso entre origens.
allowedHostsstring[]undefinedValores permitidos do cabeçalho Host.
maxLogEntriesnumber200Número máximo de entradas de log mantidas na memória.
redactSensitiveHeadersbooleantrueOculta valores de cabeçalhos sensíveis antes de registrá-los.
redactHeaderNamesstring[]undefinedNomes de cabeçalhos adicionais a ocultar, além da lista interna.
securitySecurityContextundefinedCredenciais encaminhadas à API de destino em cada chamada de ferramenta.

SecurityContext​

CampoTipoEnviado como
bearerTokenstringAuthorization: Bearer <token>
basicAuth{ username, password }Authorization: Basic <base64>
apiKeysRecord<string, string>Pares exatos de nome de cabeçalho e valor.

As credenciais são inseridas pelo executor e nunca expostas ao modelo como argumentos de ferramentas.

ExecutionContext​

Contexto por chamada passado a executeToolCall e retornado por um ContextProvider:

CampoTipoDescrição
baseUrlOverridestringSubstitui a URL do servidor da especificação nesta chamada.
upstreamHeadersRecord<string, string>Cabeçalhos adicionais para o serviço de destino.
requestTimeoutMsnumberTempo limite por chamada, com mínimo de 1 segundo.
securitySecurityContextCredenciais para esta chamada.
correlationIdstringRelaciona as entradas de log de uma mesma invocação.
protocolProtocolHintTransporte que iniciou a chamada.
onLog(entry) => voidRecebe logs de requisições e respostas; nunca deve lançar exceções.
signalAbortSignalCancela uma requisição em andamento ao serviço de destino.

Uniões de literais e funções de verificação​

UniãoValoresFunção de verificação
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​

Passado como terceiro argumento de buildMcpServer():

CampoTipoPadrãoDescrição
protocolProtocolHintundefinedIndicação de protocolo anunciada.
namestring"openapi-mcp"Nome do servidor anunciado.
versionstring"1.1.0"Versão do servidor anunciada.
pageSizenumber100Máximo de entradas por resposta de lista, limitado a 500.
instructionsstringintegradoOrientação de uso exposta por MCP instructions.

Opções da camada de transporte (AttachMcpRoutesOptions)​

Importe attachMcpRoutes de @powerduck/openapi-mcp-server e passe um objeto de opções como segundo argumento. O wrapper legado attachSseRoutes() aceita apenas os argumentos posicionais (app, specProvider, contextProvider, routeGuard?).

CampoTipoPadrãoDescrição
specProviderSpecProvider— (obrigatório)Fornece o documento para novas sessões.
contextProviderContextProvider— (obrigatório)Fornece o contexto do serviço de destino para cada chamada.
routeGuardRequestHandlerundefinedMiddleware aplicado a todas as rotas MCP.
maxSessionsnumber64Limite de sessões simultâneas.
sessionIdleMsnumber600000Tempo limite de inatividade em milissegundos; 0 o desativa.
allowedOriginsstring[]undefinedOrigens permitidas; uma lista não vazia ativa a proteção contra DNS rebinding.
allowedHostsstring[]undefinedValores permitidos do cabeçalho Host.
enableLegacySsebooleantrueMonta o transporte HTTP+SSE descontinuado.
onEvent(event: McpSessionEvent) => voidundefinedRecebe eventos do ciclo de vida; nunca deve lançar exceções.

Estas são opções de attachMcpRoutes, não campos adicionais de ServerConfig. O servidor de administração encaminha as configurações de origens e hosts, mas usa o limite de sessões e o tempo de inatividade padrão do transporte. Para personalizar esses limites, use diretamente a função pública de transporte.

Veja também​