Шаблон MCP: сервер контекстного протокола модели
Этот сервер реализует Model Context Protocol (MCP) для глобального использования в качестве шаблона. Он обеспечивает стандартизированный способ подключения моделей ИИ к различным источникам данных и инструментам с использованием Model Context Protocol.
Функции
- Реализует транспорт MCP Server-Sent Events (SSE)
- Обеспечивает надежную структуру для создания пользовательских серверов MCP
- Включает примеры инструментов с правильными определениями типов.
- Безопасная аутентификация с помощью ключа API
- Возможности ведения журнала с различными уровнями серьезности
- Управление сеансами для нескольких клиентских подключений
- Мягкая обработка завершения работы сигналов SIGINT и SIGTERM
Инструменты
В настоящее время сервер включает в себя следующий пример инструмента:
calculator
: выполняет основные арифметические операции (сложение, вычитание, умножение, деление)
Информацию о том, как добавлять собственные инструменты, можно найти в разделе «Расширение шаблона» .
Конфигурация
Конфигурация сервера централизована в src/config.ts
. Это позволяет легко настраивать параметры без изменения нескольких файлов.
Устранение неполадок, связанных с тайм-аутами SSE
Если вы столкнулись с ошибкой «Body timeout error» при подключении MCP:
- Уменьшите
keepaliveInterval
, чтобы отправлять более частые сообщения keepalive (например, 15000 мс) - Убедитесь, что
usePingEvents
включен для дополнительной стабильности соединения. - Проверьте наличие тайм-аутов прокси-сервера, если вы используете прокси-сервер.
Настраивать
- Установить зависимости:
- Создайте файл
.env
со следующими переменными:
- Создайте проект:
- Запустите сервер:
Разработка
Конечные точки API
/health
: Конечная точка проверки работоспособности, которая возвращает статус и версию сервера./sse
: конечная точка SSE для установления соединений MCP (требуется ключ API)/messages
: Конечная точка обработки сообщений для клиент-серверного взаимодействия
Конфигурация МКП
Чтобы подключить MCP к этому серверу, добавьте следующую конфигурацию:
Расширение шаблона
Добавление пользовательских инструментов
Чтобы добавить новый инструмент на сервер MCP, выполните следующие действия:
- Создайте свой обработчик инструментов :
- Добавьте новый обработчик инструментов в файл
src/tools.ts
или создайте новый файл в каталогеsrc/tools
- Инструмент должен соответствовать интерфейсу
ToolHandler
- Добавьте новый обработчик инструментов в файл
- Настройте свой инструмент :
- Добавьте конфигурацию вашего инструмента в массив
toolConfigs
вsrc/tools.ts
- Определите имя, описание, схему ввода и обработчик для вашего инструмента.
- Добавьте конфигурацию вашего инструмента в массив
- Экспортируйте и зарегистрируйте свой инструмент :
- Если вы создали отдельный файл, экспортируйте свой обработчик и импортируйте его в
src/tools.ts
- Убедитесь, что ваш инструмент правильно зарегистрирован в массиве
toolConfigs
- Если вы создали отдельный файл, экспортируйте свой обработчик и импортируйте его в
Пример:
Обработка ошибок
На сервере реализована комплексная обработка ошибок:
- Все операции заключены в блоки try/catch.
- Правильная проверка параметров и входных данных
- Соответствующие сообщения об ошибках для лучшей отладки
- Вспомогательные функции для создания стандартизированных ответов об ошибках и успешном выполнении
Соображения безопасности
- Аутентификация API-ключа для всех подключений
- Проверка типа для всех параметров
- Отсутствие жестко запрограммированной конфиденциальной информации
- Правильная обработка ошибок для предотвращения утечки информации
- Управление транспортом на основе сеансов
Особенности протокола MCP
Этот шаблон поддерживает основные функции MCP:
- Инструменты: список и вызов инструментов с надлежащей проверкой параметров.
- Ведение журнала: различные уровни серьезности (отладка, информация, уведомление, предупреждение, ошибка, критическое, оповещение, аварийное состояние)
- Конфигурация сервера: имя, версия и возможности
Управление сеансом
Сервер управляет клиентскими сеансами посредством:
- Уникальные идентификаторы сеансов для каждого клиентского соединения
- Отслеживание активных транспортов по идентификатору сеанса
- Автоматическая очистка отключенных сеансов
- Отслеживание статуса соединения
Дополнительные ресурсы
Лицензия
Данный проект лицензирован по лицензии MIT — подробности см. в файле LICENSE .
This server cannot be installed
hybrid server
The server is able to function both locally and remotely, depending on the configuration or use case.
Сервер, реализующий протокол контекста модели, предоставляющий стандартизированный способ подключения моделей ИИ к различным источникам данных и инструментам.
Related MCP Servers
- AsecurityFlicenseAqualityA Model Context Protocol server that enables AI models to interact with SourceSync.ai's knowledge management platform for managing documents, ingesting content from various sources, and performing semantic searches.Last updated -2514
- -securityFlicense-qualityA server that enables AI systems to browse, retrieve content from, and interact with web pages through the Model Context Protocol.Last updated -
- AsecurityFlicenseAqualityA Model Context Protocol server implementation that provides structured, AI-friendly access to eRegulations data, making it easier for AI models to answer user questions about administrative procedures.Last updated -419TypeScript
- -securityAlicense-qualityA Model Context Protocol server that provides a standardized interface for AI models to access, query, and modify content in Notion workspaces.Last updated -1942TypeScriptMIT License