Игорь Градов
Игорь Градов
6 мин
ai

Что такое MCP-сервер и как запустить его без VPS за 10 минут

MCP-сервер (Model Context Protocol, единый стандарт подключения внешних инструментов к ИИ-моделям) звучит просто, пока не пытаешься его запустить: разработчик Unyly на Хабре показал, как развернуть такой сервер без VPS и DevOps-навыков за десять минут, получив рабочий адрес с автообновлением при каждом пуше в GitHub.

Что такое MCP-сервер и как запустить его без VPS за 10 минут
Почему это важно

Больше половины MCP-серверов лежат на GitHub как сырые репозитории, не готовые npm-пакеты. Чтобы подключить такой сервер к Claude или ChatGPT, приходится поднимать VPS, писать Dockerfile, настраивать nginx и сертификат. Unyly убирает эту цепочку: подключил репозиторий и получил рабочий URL.

Автор каталога MCP-серверов (80 тысяч записей из девяти источников) столкнулся с тем, что пользователи каталога не понимали, куда деть найденный сервер. Проблема типична для русскоязычного ИИ-сообщества, где доля самописных инструментов выше, а DevOps-навыки у авторов и маркетологов встречаются реже. Решением стал встроенный деплой внутри платформы Unyly: GitHub-репозиторий превращается в работающий проект на адресе вида slug.unyly.org, а каждый пуш в ветку автоматически пересобирает контейнер. Материал опубликован на Хабре.

Что такое MCP-сервер и почему его трудно запустить руками?

MCP-сервер принимает запросы от ИИ-клиента (Claude, ChatGPT, любой совместимый агент) и отдаёт данные или выполняет действия по стандартному протоколу. Большинство таких серверов работают через stdio (стандартный ввод-вывод, как консольная программа), а не через HTTP.

Это значит, что сетевой клиент не может подключиться к ним напрямую. Нужна обёртка, которая превратит консольный ввод-вывод в HTTP-эндпоинт. Без неё ни облачный Claude, ни ChatGPT сервер просто не увидят.

Типичный путь запуска вручную выглядит так:

  • Склонировать репозиторий
  • Установить зависимости (Node или Python)
  • Собрать проект
  • Обернуть stdio в HTTP (через отдельный инструмент)
  • Поднять VPS, написать Dockerfile, настроить nginx, выпустить SSL-сертификат
  • Повесить вебхук на автодеплой

Под сервер в 40 строк кода человек тратит часы на инфраструктуру. Именно этот дисбаланс Unyly берёт на себя.

Что понадобится

  • GitHub-аккаунт с репозиторием MCP-сервера (Node.js или Python)
  • Аккаунт на Unyly (регистрация через GitHub)
  • Базовое понимание, что лежит в репозитории: package.json для Node, requirements.txt или pyproject.toml для Python
  • Время: 10 минут на первый деплой

Писать Dockerfile, настраивать nginx или покупать VPS не нужно.

Пошаговая инструкция

  1. Подключите GitHub-репозиторий в Unyly. Платформа сама определит тип проекта: MCP-сервер на Node, MCP-сервер на Python или обычный сайт.

  2. Дождитесь автоматической генерации Dockerfile. Если в репозитории уже есть свой Dockerfile, Unyly возьмёт его. Если нет, сгенерирует по типу проекта. Для Node-сервера точка входа ищется в порядке bin, main, index.js из package.json. Для Python берётся server.py или main.py.

  3. Обёртка stdio в HTTP произойдёт автоматически. Платформа использует supergateway, инструмент, который превращает stdin/stdout сервера в streamable HTTP на пути /mcp. Вот что генерируется для Node:

FROM node:22-slim
WORKDIR /app
COPY package*.json ./
RUN npm install --omit=dev --no-audit --no-fund || npm install --no-audit --no-fund
COPY . .
RUN npm install -g supergateway@latest --no-audit --no-fund
EXPOSE 3000
CMD ["sh", "-c", "supergateway --stateful --stdio 'node index.js' \
  --outputTransport streamableHttp --port 3000 --streamableHttpPath /mcp"]
  1. Контейнер запустится с ограничениями безопасности. Память до 384 МБ, половина процессорного ядра, все Linux-capabilities (системные привилегии, набор разрешений ядра) сняты. MCP-контейнеры работают вообще без привилегий.

  2. Healthcheck проверит, что сервер действительно говорит на MCP. Это не просто «процесс поднялся», а настоящий JSON-RPC запрос initialize по протоколу MCP с дедлайном 60 секунд:

curl -s --max-time 5 -X POST http://127.0.0.1:<port>/mcp \
  -H 'content-type: application/json' \
  -H 'accept: application/json, text/event-stream' \
  -d '{"jsonrpc":"2.0","id":1,"method":"initialize",
       "params":{"protocolVersion":"2025-03-26","capabilities":{},
       "clientInfo":{"name":"unyly-health","version":"1.0"}}}'

Если в ответе есть "result", сервер живой и отвечает по протоколу. Если нет, последние 40 строк логов Docker попадают в панель деплоя.

  1. Получите рабочий адрес вида slug.unyly.org. Каждый следующий пуш в ветку пересоберёт контейнер автоматически. Для пулреквестов создаётся отдельное превью-окружение.
Как это выглядит на практике

Допустим, у вас на GitHub лежит MCP-сервер, который отдаёт курсы валют. Репозиторий содержит index.js на 35 строк и package.json. Вы подключаете его в Unyly, ждёте сборку (обычно пара минут), и получаете адрес currency-rates.unyly.org/mcp. Теперь в настройках Claude Desktop или другого MCP-клиента указываете этот URL, и модель начинает запрашивать курсы напрямую у вашего сервера. Обновили логику расчёта, сделали git push, контейнер пересобрался сам.

Частые ошибки

Wildcard-поддомен без исключений. Если вы делаете подобное решение самостоятельно, не ставьте простой *.unyly.org в nginx. Нужен регэксп с негативным просмотром, который исключит служебные поддомены (www, app, api, admin и другие). Без этого запросы к панели управления улетят в случайный контейнер. Автор потерял на этом все живые сайты.

Прокси и воркер в одном процессе. Автор пришёл к разделению на два процесса под pm2 (прокси и воркер) после того, как объединённый вариант стоил ему пары часов отладки и падения всех сайтов. Сборка контейнера блокирует событийный цикл, и прокси перестаёт отвечать.

nginx-конфиг через RUN вместо COPY. Генерация конфига с переменной $uri внутри команды RUN приводит к тому, что shell подставляет пустую строку вместо nginx-переменной. Конфиг нужно класть отдельным файлом и добавлять через COPY.

Нет healthcheck по протоколу. Проверка «порт открылся» недостаточна. Сервер может слушать порт, но не отвечать на MCP-запросы. Настоящая проверка, это JSON-RPC initialize с ожиданием "result" в ответе.

Что делать с этим прямо сейчас, по ролям

Автору на Дзене. Если вы пишете про ИИ-инструменты и хотите показать читателям работающий MCP-сервер, а не скриншот чужого, Unyly позволяет развернуть демо без аренды сервера. Это конкретный аргумент в статье: «вот ссылка, попробуйте сами».

Маркетологу. MCP-серверы позволяют подключить к ИИ-агенту любой источник данных: CRM, аналитику, каталог товаров. Барьер входа только что снизился: не нужен DevOps-специалист, достаточно репозитория с кодом.

Предпринимателю в РФ и СНГ. Платформа Unyly работает через GitHub, который доступен из России. Основное ограничение: MCP-клиенты (Claude, ChatGPT) могут требовать VPN для самого подключения. Из российских альтернатив для работы с ИИ-моделями есть YandexGPT и GigaChat, но MCP-протокол они пока не поддерживают.

Мнение редакции dzen.guru

По моим наблюдениям, главная боль русскоязычного ИИ-сообщества не в нехватке серверов, а в том, что найденный сервер некуда деплоить без инженера. Unyly закрывает конкретную щель: от «нашёл репозиторий» до «работающий URL» без промежуточных шагов. Честная оговорка: платформа молодая, лимиты ресурсов жёсткие (384 МБ памяти, половина ядра), для тяжёлых серверов с базами данных или большими моделями этого не хватит. Но для типичного MCP-сервера на 30-50 строк, а таких большинство, этого достаточно. Если вы автор, который хочет разобраться в MCP не теоретически, а руками, это самый короткий путь попробовать прямо сейчас.

Развернуть свой MCP-сервер за десять минут без VPS и Docker-навыков стало реальной опцией, и для русскоязычного автора это убирает последний барьер между «прочитал про MCP» и «показал работающий инструмент в статье».

Поделиться:TelegramVK
Игорь Градов
Игорь Градов

Основатель dzen.guru. Эксперт по монетизации и продвижению на Дзен. Автор курса «Старт на Дзен 2026».

Комментарии

Читайте также

Databricks получила $5 млрд финансирования при оценке $190 млрд: спрос втрое превысил раунд
ai

Databricks получила $5 млрд финансирования при оценке $190 млрд: спрос втрое превысил раунд

Databricks второго июля объявила о закрытии раунда на 5 млрд долларов при оценке 190 млрд, став одним из самых дорогих частных стартапов в мире на фоне…

5 мин
ai

Microsoft 365 Copilot: что это теперь, когда личный и рабочий ИИ слились в одно приложение

Microsoft с середины августа начинает объединять личный и рабочий Copilot (ИИ-ассистент компании для чата и создания изображений) в одно приложение, убирая…

4 мин
Flock ужесточила доступ к 120 000 камер, но системы наблюдения ИИ остались без независимого аудита
ai

Flock ужесточила доступ к 120 000 камер, но системы наблюдения ИИ остались без независимого аудита

Компания Flock, крупнейший в США поставщик камер автоматического считывания номерных знаков для полиции, 11 июня объявила об ужесточении правил доступа к своей…

5 мин