раздел 07 · подстраница 1
Установка MCP-серверов
MCP (Model Context Protocol) - стандарт от Anthropic для подключения внешних инструментов к LLM. Через MCP Claude умеет работать с GitHub, браузером, Postgres, Slack, Notion и сотней других сервисов. Установка - одна команда.
Зачем
Без MCP Claude умеет только то, что встроено в CLI: файлы, bash, веб. Через MCP можно подключить любой сервис: ваш Postgres, Sentry, Linear, Yandex Metrika, корпоративный API. Один протокол - все инструменты.
Базовая команда
claude mcp add <name> --transport <stdio|http> -- <command-or-url>
Примеры:
# GitHub (локальный stdio-сервер через npm)
claude mcp add github --transport stdio -- npx -y @modelcontextprotocol/server-github
# Playwright (для управления браузером)
claude mcp add playwright --transport stdio -- npx -y @playwright/mcp@latest
# Удалённый HTTP-сервер
claude mcp add internal-api --transport http -- https://mcp.company.com/api
После установки - перезапустить Claude (или дёрнуть /mcp для проверки).
Транспорты: stdio vs http
| Транспорт | Что это | Когда |
| --------- | ---------------------------------------- | ----------------------------------------------------- |
| stdio | Локальный процесс, общение через pipe | Большинство open-source MCP, npm-пакеты, ваши скрипты |
| http | Удалённый HTTP-эндпоинт | Облачные сервисы, корпоративные MCP-шлюзы |
stdio проще и быстрее, не надо хостить. http - для централизованных корпоративных MCP, к которым подключаются десятки сотрудников.
Scope: где будет жить сервер
claude mcp add <name> --scope user --transport stdio -- <cmd>
claude mcp add <name> --scope project --transport stdio -- <cmd>
claude mcp add <name> --scope local --transport stdio -- <cmd>
| Scope | Файл | Зона действия |
| --------- | ----------------------------------- | --------------------------- |
| user | ~/.claude.json | Везде, под вашим юзером |
| project | <project>/.mcp.json | Этот репо, коммитится в git |
| local | <project>/.claude/settings.local.json | Только вы, в этом проекте |
По дефолту scope local. Для своих личных серверов лучше user. Для командных - project.
Просмотр списка
claude mcp list
Вывод:
NAME SCOPE TRANSPORT STATUS COMMAND
github user stdio connected npx -y @modelcontextprotocol/server-github
playwright user stdio connected npx -y @playwright/mcp@latest
postgres project stdio connected npx -y @modelcontextprotocol/server-postgres
Если STATUS не connected - смотрите логи (claude --debug или /mcp в чате).
Удаление
claude mcp remove <name>
claude mcp remove github --scope user
Передача переменных окружения
Большинство MCP-серверов требуют токены/ключи. Прокидываются через --env:
claude mcp add github --transport stdio \
--env GITHUB_TOKEN=ghp_xxxxxxxxxxxxxxxx \
-- npx -y @modelcontextprotocol/server-github
claude mcp add postgres --transport stdio \
--env POSTGRES_URL=postgres://user:pass@localhost/db \
-- npx -y @modelcontextprotocol/server-postgres
Лучше не хардкодить, а через подстановку из shell:
claude mcp add github --transport stdio \
--env GITHUB_TOKEN="$GITHUB_TOKEN" \
-- npx -y @modelcontextprotocol/server-github
Полный сценарий: подключаем GitHub
# 1. Сгенерировать токен на github.com/settings/tokens (классический, scope: repo, read:org)
export GITHUB_TOKEN=ghp_xxxxxxxx
# 2. Добавить MCP-сервер
claude mcp add github --transport stdio --scope user \
--env GITHUB_TOKEN="$GITHUB_TOKEN" \
-- npx -y @modelcontextprotocol/server-github
# 3. Проверить
claude mcp list
# 4. Запустить Claude и проверить в чате
claude
> /mcp
# должен показать github connected
В чате можно дёргать:
> Покажи мои открытые PR в pdoronin/admin.pavel-doronin.com
> Создай issue в этом репо: "Migrate to Next.js 16"
> Что нового в последнем релизе vercel/next.js?
Проверка работоспособности
> /mcp
Покажет статус каждого сервера: connected / authenticating / failed. Из той же команды можно перезапустить упавший сервер.
Антипаттерны
- Класть токены прямо в команду через
--env TOKEN=ghp_...- утечёт в shell history и в~/.claude.json. Используйте${GITHUB_TOKEN}или secret manager. - Подключать сразу 10 серверов - инструментов будет тысяча, контекст забьётся служебными descriptions. Подключайте под задачу.
- Не указывать
--scope- попадёте вlocalи удивитесь, что в другом проекте сервера нет. - Использовать
stdioдля тяжёлых серверов на каждый Claude-сессию - npm будет ставить пакет каждый раз. Установите глобально или используйтеbunx/pnpm dlx.
Полезные ссылки
- MCP overview - официальный сайт протокола
- MCP in Claude Code - команды
claude mcp - Awesome MCP servers - каталог open-source серверов