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

29 lines 1.46 kB
import type { RequestHandler } from 'express'; import type { Logger } from 'pino'; import type { RedisService } from '../../cache/redis.js'; /** * Rate-limit middleware для **будущего** Dynamic Client Registration * endpoint (`POST /oauth/register`). DCR ещё не реализован в auth-сервисе — * этот файл — ready-for-future stub. * * Алгоритм: * - Redis-based sliding window: один счётчик per IP, ключ `mcp:dcr:rl:{ip}`. * - INCR + EXPIRE (на первый INCR) на window секунд. * - Если current > limit → 429 + `Retry-After`. * - Если Redis недоступен → fail-open (предупреждаем в log). * * Default лимит: 10 регистраций / час / IP. Можно тюнить через опции. * * NB: Подключать middleware ТОЛЬКО когда `/oauth/register` появится. * Сейчас файл существует, но не используется в `http/app.ts`. */ export interface CreateDcrRateLimitOptions { redis?: RedisService | null; /** Лимит запросов на окно. Default 10. */ limit?: number; /** Длина окна в секундах. Default 3600 (1 час). */ windowSec?: number; log?: Logger; } export declare function createDcrRateLimit(opts?: CreateDcrRateLimitOptions): RequestHandler; //# sourceMappingURL=dcrRateLimit.d.ts.map