MCP TypeScript Template 🚀
Шаблон для создания production-grade MCP-серверов на TypeScript с observability, error handling и модульной архитектурой.
Описание
Это продвинутый шаблон на TypeScript для разработки надёжных MCP-серверов. Ключевые особенности: декларативное определение инструментов, интеграция OpenTelemetry для observability, поддержка JWT/OAuth аутентификации, транспорты stdio/HTTP, централизованная обработка ошибок, валидация с Zod, абстрактный слой хранения (in-memory, filesystem, Supabase), утилиты для логирования и тестирования с Vitest. Идеален для создания инструментов и ресурсов для AI-агентов в production-среде.
Возможности
Декларативное определение инструментов
Определение инструментов в одном файле с автоматической регистрацией, валидацией и метриками.
Полная observability
Интеграция OpenTelemetry для трассировки, метрик и корреляции ошибок без настройки.
Плагинная аутентификация
Поддержка JWT и OAuth 2.1 с возможностью расширения через интерфейс AuthStrategy.
Гибкие транспорты
Stdio и HTTP с поддержкой stateful/stateless сессий.
Обработка ошибок
Централизованный ErrorHandler для mapping исключений в JsonRpcErrorCode с трассировкой.
Type-safe валидация
Использование Zod для схем конфигурации, входов/выходов и API.
Абстрактное хранение
Провайдеры для in-memory, filesystem и Supabase с DI.
Утилиты и тестирование
Логирование с Winston, rate-limiting, Vitest с MSW для интеграционных тестов.
Установка
Предварительные требования: Bun v1.2.0 или выше.
Клонируйте репозиторий: git clone https://github.com/cyanheads/mcp-ts-template.git cd mcp-ts-template
Установите зависимости: bun install
Соберите проект: bun build # или bun rebuild