Skip to main content
Glama

MCP Boilerplate

Шаблон MCP: сервер контекстного протокола модели

Этот сервер реализует Model Context Protocol (MCP) для глобального использования в качестве шаблона. Он обеспечивает стандартизированный способ подключения моделей ИИ к различным источникам данных и инструментам с использованием Model Context Protocol.

Функции

  • Реализует транспорт MCP Server-Sent Events (SSE)
  • Обеспечивает надежную структуру для создания пользовательских серверов MCP
  • Включает примеры инструментов с правильными определениями типов.
  • Безопасная аутентификация с помощью ключа API
  • Возможности ведения журнала с различными уровнями серьезности
  • Управление сеансами для нескольких клиентских подключений
  • Мягкая обработка завершения работы сигналов SIGINT и SIGTERM

Инструменты

В настоящее время сервер включает в себя следующий пример инструмента:

  • calculator : выполняет основные арифметические операции (сложение, вычитание, умножение, деление)

Информацию о том, как добавлять собственные инструменты, можно найти в разделе «Расширение шаблона» .

Конфигурация

Конфигурация сервера централизована в src/config.ts . Это позволяет легко настраивать параметры без изменения нескольких файлов.

// Essential configuration options export const config = { server: { name: "mcp-boilerplate", version: "1.0.0", port: parseInt(process.env.PORT || "4005"), host: process.env.HOST || "localhost", apiKey: process.env.API_KEY || "dev_key", }, sse: { // How often to send keepalive messages (in milliseconds) keepaliveInterval: 30000, // Whether to send ping events in addition to comments usePingEvents: true, // Initial connection message sendConnectedEvent: true, }, tools: { // Number of retries for failed tool executions maxRetries: 3, // Delay between retries (in milliseconds) retryDelay: 1000, // Whether to send notifications about tool execution status sendNotifications: true, }, logging: { // Default log level defaultLevel: "debug", // How often to send log messages (in milliseconds) logMessageInterval: 10000, }, };

Устранение неполадок, связанных с тайм-аутами SSE

Если вы столкнулись с ошибкой «Body timeout error» при подключении MCP:

  1. Уменьшите keepaliveInterval , чтобы отправлять более частые сообщения keepalive (например, 15000 мс)
  2. Убедитесь, что usePingEvents включен для дополнительной стабильности соединения.
  3. Проверьте наличие тайм-аутов прокси-сервера, если вы используете прокси-сервер.

Настраивать

  1. Установить зависимости:
npm install
  1. Создайте файл .env со следующими переменными:
PORT=4005 API_KEY=your_api_key
  1. Создайте проект:
npm run build
  1. Запустите сервер:
npm run start:sse

Разработка

# Start in development mode with hot reloading npm run start # Start with PM2 for production npm run start:pm2 # Development mode with nodemon npm run dev

Конечные точки API

  • /health : Конечная точка проверки работоспособности, которая возвращает статус и версию сервера.
  • /sse : конечная точка SSE для установления соединений MCP (требуется ключ API)
  • /messages : Конечная точка обработки сообщений для клиент-серверного взаимодействия

Конфигурация МКП

Чтобы подключить MCP к этому серверу, добавьте следующую конфигурацию:

{ "mcpServers": { "mcp-server": { "url": "http://localhost:4005/sse?API_KEY={{your_api_key_here}}" } } }

Расширение шаблона

Добавление пользовательских инструментов

Чтобы добавить новый инструмент на сервер MCP, выполните следующие действия:

  1. Создайте свой обработчик инструментов :
    • Добавьте новый обработчик инструментов в файл src/tools.ts или создайте новый файл в каталоге src/tools
    • Инструмент должен соответствовать интерфейсу ToolHandler
  2. Настройте свой инструмент :
    • Добавьте конфигурацию вашего инструмента в массив toolConfigs в src/tools.ts
    • Определите имя, описание, схему ввода и обработчик для вашего инструмента.
  3. Экспортируйте и зарегистрируйте свой инструмент :
    • Если вы создали отдельный файл, экспортируйте свой обработчик и импортируйте его в src/tools.ts
    • Убедитесь, что ваш инструмент правильно зарегистрирован в массиве toolConfigs

Пример:

// In src/tools.ts (adding directly to the toolConfigs array) { name: "myTool", description: "My tool description", inputSchema: { type: "object" as const, properties: {}, required: [], }, handler: async () => { return createSuccessResult({ result: "Tool result" }); }, }

Обработка ошибок

На сервере реализована комплексная обработка ошибок:

  • Все операции заключены в блоки try/catch.
  • Правильная проверка параметров и входных данных
  • Соответствующие сообщения об ошибках для лучшей отладки
  • Вспомогательные функции для создания стандартизированных ответов об ошибках и успешном выполнении

Соображения безопасности

  • Аутентификация API-ключа для всех подключений
  • Проверка типа для всех параметров
  • Отсутствие жестко запрограммированной конфиденциальной информации
  • Правильная обработка ошибок для предотвращения утечки информации
  • Управление транспортом на основе сеансов

Особенности протокола MCP

Этот шаблон поддерживает основные функции MCP:

  • Инструменты: список и вызов инструментов с надлежащей проверкой параметров.
  • Ведение журнала: различные уровни серьезности (отладка, информация, уведомление, предупреждение, ошибка, критическое, оповещение, аварийное состояние)
  • Конфигурация сервера: имя, версия и возможности

Управление сеансом

Сервер управляет клиентскими сеансами посредством:

  • Уникальные идентификаторы сеансов для каждого клиентского соединения
  • Отслеживание активных транспортов по идентификатору сеанса
  • Автоматическая очистка отключенных сеансов
  • Отслеживание статуса соединения

Дополнительные ресурсы

Лицензия

Данный проект лицензирован по лицензии MIT — подробности см. в файле LICENSE .

-
security - not tested
A
license - permissive license
-
quality - not tested

hybrid server

The server is able to function both locally and remotely, depending on the configuration or use case.

Сервер, реализующий протокол контекста модели, предоставляющий стандартизированный способ подключения моделей ИИ к различным источникам данных и инструментам.

  1. Функции
    1. Инструменты
      1. Конфигурация
        1. Устранение неполадок, связанных с тайм-аутами SSE
      2. Настраивать
        1. Разработка
          1. Конечные точки API
            1. Конфигурация МКП
              1. Расширение шаблона
                1. Добавление пользовательских инструментов
              2. Обработка ошибок
                1. Соображения безопасности
                  1. Особенности протокола MCP
                    1. Управление сеансом
                      1. Дополнительные ресурсы
                        1. Лицензия

                          Related MCP Servers

                          • A
                            security
                            F
                            license
                            A
                            quality
                            A 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 -
                            25
                            14
                            • Apple
                            • Linux
                          • -
                            security
                            F
                            license
                            -
                            quality
                            A server that enables AI systems to browse, retrieve content from, and interact with web pages through the Model Context Protocol.
                            Last updated -
                          • A
                            security
                            F
                            license
                            A
                            quality
                            A 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 -
                            4
                            19
                            TypeScript
                            • Linux
                            • Apple
                          • -
                            security
                            A
                            license
                            -
                            quality
                            A Model Context Protocol server that provides a standardized interface for AI models to access, query, and modify content in Notion workspaces.
                            Last updated -
                            194
                            2
                            TypeScript
                            MIT License
                            • Apple

                          View all related MCP servers

                          MCP directory API

                          We provide all the information about MCP servers via our MCP API.

                          curl -X GET 'https://glama.ai/api/mcp/v1/servers/iamsrikanthnani/mcp-boilerplate'

                          If you have feedback or need assistance with the MCP directory API, please join our Discord server