Локальный 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 получает лишние аргументы: где нужна строгая проверка.
