К содержимому
Claude Code с 0:полный курс
Уровень 2 · Подключаем готовые серверы 4 мин

Секреты и переменные окружения

Почему токены нельзя писать прямо в .mcp.json и как передать их серверу через переменные окружения, не утекая в репозиторий.

В этом уроке нет практического задания — просто прочитай и ответь на вопросы.

Многие серверы требуют токен — ключ доступа к внешнему сервису (трекеру, API, базе). Главное правило: токен не место в конфиге.

Почему не в .mcp.json

Проектный .mcp.json можно закоммитить в репозиторий. Если вписать туда токен в открытом виде, он уедет в историю Git — и его увидит каждый, у кого есть доступ к репозиторию. Отозвать утёкший токен потом сложнее, чем не допустить утечки.

Плохо:

{
  "mcpServers": {
    "tracker": {
      "command": "npx",
      "args": ["-y", "tracker-mcp-server"],
      "env": { "TRACKER_TOKEN": "sk-1234-секрет-в-открытую" }
    }
  }
}

Как правильно: через переменную окружения

Токен держат в переменной окружения, а в конфиге лишь ссылаются на её имя. Сначала задаёшь переменную в своём окружении (значение остаётся у тебя, не в репозитории):

export TRACKER_TOKEN="твой-секрет"

А в конфиге передаёшь серверу не само значение, а отсылку к переменной:

{
  "mcpServers": {
    "tracker": {
      "command": "npx",
      "args": ["-y", "tracker-mcp-server"],
      "env": { "TRACKER_TOKEN": "${TRACKER_TOKEN}" }
    }
  }
}

Теперь в репозиторий попадает только имя переменной, а сам токен — нет.

Если токен всё-таки попал в конфиг и был закоммичен — считай его скомпрометированным: отзови его в сервисе и выпусти новый. Удаления из файла недостаточно, он остаётся в истории Git.

Проверь себя

Отвечено 0/3
Режим:

Почему нельзя писать токен прямо в проектный .mcp.json?

Как правильно передать серверу токен?

Токен случайно закоммитили в .mcp.json. Достаточно ли просто удалить его из файла?

Выполни задание в терминале и ответь на вопросы, чтобы завершить урок.

📝 Мои заметки

Сохраняется автоматически в этом браузере · видно на странице «Заметки».

Листай уроки клавишами · поиск по ⌘K