MCP даёт модели руки: возможность читать твои данные и выполнять действия. Польза и риск здесь — две стороны одной монеты. Подключая сервер, ты впускаешь чужой код в свой рабочий процесс. Разберём три главные угрозы.
Три угрозы
- Чужой сервер. Сервер — это программа, которую ты запускаешь у себя или к которой подключаешься по сети. Недобросовестный сервер может делать совсем не то, что обещает в описаниях своих инструментов.
- Утечка данных. Сервер видит то, что ты ему передаёшь, и то, до чего у него есть доступ. Удалённый (HTTP) сервер отправляет данные на чужую сторону. Стоит спросить: что именно туда уходит?
- Опасное действие. Инструмент, меняющий состояние, может удалить, отправить, перезаписать. Если он сработал не вовремя или по ошибочному описанию — последствия необратимы.
Правила безопасного подключения
- Подключай только доверенные серверы. Официальные, с открытым кодом или от тех, кому ты доверяешь. К незнакомому серверу относись как к незнакомой программе из интернета.
- Секреты — через переменные окружения, не в .mcp.json. Токены не хранятся в файле, который ты коммитишь в репозиторий.
# плохо: токен прямо в конфиге
args: ["--token", "sk-секрет-в-репозитории"]
# хорошо: токен берётся из окружения
env:
TRACKER_TOKEN: ${TRACKER_TOKEN}
- Меняющие инструменты — только с подтверждением. Право соразмерно последствию.
- Минимум доступа. Давай серверу ровно те права и данные, что нужны для задачи, и не больше.
Главный вопрос перед подключением: «Доверяю ли я тому, кто написал этот сервер, видеть мои данные и выполнять действия от моего имени?» Если ответа «да» нет — не подключай.