Skip to main content
Glama

workshop-27-08-26

Пример MCP-сервера для воркшопа буткемпа AWS AI FDE for Commerce от 27/08/2026

Что такое MCP?

MCP (Model Context Protocol) — это open-source протокол связи между системами, который позволяет обмениваться данными/контекстом между различными приложениями (в основном ИИ).

Используя этот протокол, система ИИ (например, приложение агентов) может потреблять/предоставлять контекстную информацию из/в другую систему, позволяя моделям работать с большей уверенностью и релевантностью.

Используя аналогию с USB-C:

Думайте о MCP как о порте USB-C для приложений ИИ. Так же, как USB-C предоставляет стандартизированный способ подключения электронных устройств, MCP предоставляет стандартный способ подключения приложений ИИ к другим системам.

Related MCP server: Basic MCP Server

Варианты SDK

Протокол поддерживает различные варианты SDK (Software Development Kits), которые можно использовать для реализации MCP на разных языках/фреймворках.

Полный список см. здесь: Доступные SDK

Варианты транспорта

В контексте воркшопа мы рассмотрим наиболее распространённые/популярные варианты транспорта для Node.js:

stdio

Запустите MCP-сервер как дочерний процесс, отправляйте и получайте сообщения через stdin и stdout.

Обслуживание через stdio

HTTP

Предоставьте сервер, который принимает и отправляет сообщения через HTTP-запросы одновременно нескольким клиентам.

Обслуживание через HTTP

Фреймворки

Используйте технологии/фреймворки Node.js для упрощения реализации протокола MCP, например:

Сценарий воркшопа

Клиент Nordesul

  1. Рассмотрим проект электронной коммерции у крупного клиента, с командой из 20 разработчиков, выделенных для миграции их устаревшего виртуального магазина (V0) на более современный фреймворк (V1). Цель — чтобы виртуальный магазин V1 был идентичен V0, но использовал улучшения производительности V1.

  2. Поскольку несколько разработчиков будут работать над одной и той же кодовой базой, крайне важно, чтобы поставки имели максимально возможную стандартизацию и качество, следуя нормам и идентичности нашей компании.

  3. У клиента есть база данных с документацией всех его API, которая находится на общей конечной точке, доступной команде разработчиков для ознакомления.

Этот репозиторий

Этот репозиторий содержит шаблон MCP-сервера, который можно использовать для:

  • Понимания реализации транспортов stdio и HTTP с помощью @modelcontextprotocol/server;

  • Симуляции связи между системами ИИ и любым внешним сервисом;

  • Служить вдохновением для реализации реального MCP-сервера;

  • Быть отправной точкой для использования ИИ-агентов с кастомными tools.

Структура репозитория

/servers

Примеры MCP-серверов, использующих различные транспорты и фреймворки.

  • /servers/stdio

Обслуживает MCP-сообщения через stdin и stdout как дочерний процесс.

  • /servers/http

Обслуживает MCP-сообщения через HTTP-запросы, используя только встроенный HTTP-модуль Node.js.

  • /servers/express

Обслуживает MCP-сообщения через HTTP-запросы, используя фреймворк Express.

/tools

Примеры кастомных tools, которые могут использоваться ИИ-агентами для взаимодействия с другими системами.

  • /tools/index.js

Централизует и экспортирует все tools репозитория, чтобы MCP-серверы могли регистрировать их единообразно.

  • /tools/nordesul-deploy

Возвращает важные меры предосторожности и лучшие практики для безопасного деплоя у клиента Nordesul.

  • /tools/nordesul-delivery

Симулирует стандарты и контракты реализации для проекта.

  • /tools/nordesul-reference

Симулирует запрос документации API у клиента Nordesul.

  • /tools/nordesul-status

Симулирует запрос статуса приложения у клиента Nordesul.

/utils

Централизует утилитарные/общие функции проекта.

/.opencode

Каталог конфигурации Opencode, содержит кастомного агента mentor для помощи участникам воркшопа в понимании репозитория и его функций.

Запуск проекта

Предварительные требования

  • Git;

  • Клонировать репозиторий воркшопа;

  • Opencode (или любой другой ИИ-агент, поддерживающий MCP) установлен и настроен;

  • Node.js (>= LTS предпочтительно)

  • Менеджер пакетов (npm или yarn)

Установка зависимостей

В корне проекта выполните команду:

npm install

# ou:

yarn install

Запуск серверов

MCP-сервер через stdio:

npm run start:stdio

# ou:

yarn start:stdio

MCP-сервер через http:

npm run start:http

# ou:

yarn start:http

MCP-сервер через интеграцию с Express:

npm run start:express

# ou:

yarn start:express

Запуск агента-ментора (пример с Opencode)

С установленным Opencode откройте терминал в каталоге репозитория и выполните команду:

opencode

Первый запуск загрузит все зависимости Opencode, поэтому дождитесь завершения процесса. Агент Mentor уже будет выбран по умолчанию.

Интеграция MCP-серверов с ИИ-агентами

Примеры промптов

Несколько примеров для взаимодействия с tools репозитория с помощью вашего агента:

nordesul-delivery

Quais são os padrões de implementação para a área de checkout do Nordesul?

nordesul-deploy

Antes de eu publicar essa mudança no Nordesul, quais cuidados devo tomar?

nordesul-reference

Me mostra a documentação da API de pedidos (orders) do Nordesul.

nordesul-status

Qual o status atual da aplicação checkout-service no Nordesul?

Maintenance

ActivitySlowing
ResponsivenessNo issues

Related MCP Connectors

Related MCP Servers

  • -
    license
    Not graded
    quality
    Not graded
    maintenance
    A minimal Model Context Protocol server template demonstrating basic implementation of tools, resources, and prompts built with Smithery SDK.
    -
  • A
    license
    B
    quality
    D
    maintenance
    A template repository for building Model Context Protocol (MCP) servers that enable LLM clients to interact with custom tools and services through standardized JSON-RPC communication.
    3
    MIT
  • A
    license
    A
    quality
    D
    maintenance
    A Model Context Protocol server template designed for building custom servers using the @intelagent/mcp-shared library. It provides boilerplate code and example tools to streamline the development, testing, and deployment of new MCP servers.
    3
    30 npm
    MIT