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-запуска.

46 lines 2.25 kB
/** * Типы для HTTP-транспорта. * * `RequestContext` собирается в auth middleware и потом доступен в * Express handler'ах через `req.context`. Декларация augmentation модуля * `express-serve-static-core` лежит ниже — она добавляет `context` к Request. */ export type AuthMethod = 'els-key' | 'oidc'; export interface RequestContext { /** Способ аутентификации, по которому пользователь прошёл. */ authMethod: AuthMethod; /** Только для `els-key`: оригинальный Bearer-ключ для проксирования в ELS. */ elsApiKey?: string; /** Только для `oidc`: `sub` claim из JWT. */ oidcSub?: string; /** Только для `oidc`: scope claim (raw array). */ scopes?: string[]; /** * Основной (default) slug приложения, к которому привязан этот запрос. Для * `els-key` пока `unknown` (резолвится ELS upstream); для `oidc` — берётся * либо из LK resolver, либо fallback на MCP_OIDC_DEMO_APP_SLUG. */ appSlug: string; /** * Полный список доступных пользователю apps (только для `oidc`). * Если у пользователя более одного app — tool принимает optional * `appSlug` параметр; иначе используется первый из списка (`appSlug`). */ availableApps?: string[]; /** Короткий identifier для логов: первые 8 chars ELS-key или OIDC sub. */ keyId: string; ip: string; userAgent: string; /** MCP `Mcp-Session-Id` header (если есть). */ sessionId?: string; /** request-id middleware: уникален per-запрос. */ requestId: string; } declare module 'express-serve-static-core' { interface Request { context?: RequestContext; /** Per-request child logger (pino). Заполняется в requestId middleware. */ log?: import('pino').Logger; } } //# sourceMappingURL=types.d.ts.map