Локальный MCP HTTP-сервер: зачем проверять Origin

Не считайте localhost достаточной защитой HTTP-интеграции. Проверяйте Origin по политике сервера, ограничивайте сетевой интерфейс и предусмотрите аутентификацию там, где она необходима.

Разберём рабочий случай

Разработчик запускает MCP-обёртку над локальной базой и открывает порт на всех интерфейсах, чтобы удобнее тестировать. В сервисе нет проверки происхождения запроса: «всё равно это моя машина». Теперь граница доверия гораздо шире предполагаемой. Даже локальный адрес не устраняет все угрозы взаимодействия браузера с сервисом, поэтому безопасность нельзя свести к отсутствию публичной ссылки.

Что изменить

В спецификации транспорта MCP версии 2025-06-18 предусмотрена проверка Origin, а для локального запуска рекомендована привязка к localhost. Составьте список действительно нужных клиентов и способов подключения. Проверьте поведение с допустимым, недопустимым и отсутствующим Origin согласно выбранной реализации. Не заменяйте проверку авторизации проверкой заголовка: небраузерный клиент может задавать его самостоятельно. Для удалённого сервера отдельно нужны защищённое соединение и модель доступа.

Как проверить результат

ПроверкаОжидаемое поведение
Запрос от разрешённого клиентаСоединение работает только в согласованной конфигурации; проверка происхождения не ломает ожидаемый сценарий.
Запрос с посторонним OriginСервер применяет заданную политику отказа до выполнения инструмента и не раскрывает данные базы.
Проверка слушающего сетевого интерфейсаЛокальный сервис не становится доступным соседним устройствам из-за случайной привязки ко всем адресам.

Проверяйте конфигурацию после упаковки приложения: контейнер или прокси может изменить доступность порта. Безопасная привязка процесса в разработке не гарантирует такой же сетевой границы при реальном запуске.

Поведение при отсутствии Origin зависит от типа клиента и политики сервера. Нельзя бездумно запрещать все такие запросы или разрешать любой origin: настройку нужно проверять на целевой модели угроз.

Работающий MCP endpoint ещё нужно превратить в интеграцию с понятными сетевыми и пользовательскими границами доступа. В платном курсе AI Agent Integrations PRO: MCP можно продолжить изучение соответствующего инженерного направления. Перед покупкой сравните программу и открытые материалы со своей задачей.

Описанный протокольный контракт относится к версии 2025-06-18; для другой согласованной версии клиента и сервера сверьте соответствующую спецификацию.

Документация для проверки технических деталей: Транспорты MCP: спецификация 2025-06-18.

Следующий шаг: MCP-интеграции: контракты инструментов, ошибки и доступ. По смежным вопросам: tenant_id в аргументах MCP: где проверять изоляцию клиентов, MCP tool получает лишние аргументы: где нужна строгая проверка.