UNPKG

@inso_web/els-mcp

Version:

MCP-сервер поверх INSO Error Logs Service. Read-only tools (search, analytics, fingerprinting, correlations) для подключения Claude Desktop/Code и ChatGPT к логам ошибок. Streamable HTTP transport + stdio для npx-запуска.

28 lines 1.45 kB
import type { RequestHandler } from 'express'; import type { Logger } from 'pino'; /** * Origin-validation middleware для /els/mcp. * * Семантика: * - Если запрос пришёл с `Origin` header (browser-based MCP клиент или * EventSource из веб-приложения) — origin валидируется против whitelist. * При несовпадении → 403 + `forbidden_origin`. * - Если `Origin` отсутствует (server-to-server: curl, MCP SDK из node, * Claude Desktop через stdio-proxy и т. п.) — middleware пропускает. * * Это дополнительная защита над cors(): * - cors() блокирует preflight; но non-preflight POST без credentials * может пройти. * - originGuard явно отказывает unknown-origin'ам на пути /els/mcp. * * Wildcard `*` в whitelist: dev-only режим (NODE_ENV !== 'production'). */ export interface CreateOriginGuardOptions { /** Список разрешённых origin'ов. Пустой — guard отключён. */ allowed: string[]; /** Если true — `*` в whitelist означает «пропускать любой origin». */ allowWildcard?: boolean; log?: Logger; } export declare function createOriginGuard(opts: CreateOriginGuardOptions): RequestHandler; //# sourceMappingURL=originGuard.d.ts.map