Пост 7 из 8
AI-ассистент с полностью подключённым стеком
Как подключить агента к репозиторию, трекеру, базе, браузеру и мониторингу через MCP, не раздав ему лишних прав. Как устроен протокол, где хранить настройки, как проходит авторизация и чем опасна промпт-инъекция.
Александр Михалькевич · Проверено 5 октября 2026 · 4 мин чтения
Агент, который видит только файлы проекта, похож на нового сотрудника без доступа к рабочим системам: многое может, но постоянно спрашивает. Подключённый стек — это когда агент сам смотрит задачу в трекере, находит ошибку в мониторинге, проверяет страницу в браузере и открывает pull request. Почти всё это подключается через один протокол — MCP.
Что такое MCP
Model Context Protocol — открытый протокол, который стандартизирует, как LLM-приложения подключаются к внешним данным и инструментам. Актуальная редакция спецификации — 2026-07-28. Роли:
- Хост — LLM-приложение, которое инициирует подключения: Claude Code, Codex, Cursor;
- Клиент — коннектор внутри хоста;
- Сервер — сервис, который предоставляет контекст и возможности.
Сообщения передаются в формате JSON-RPC 2.0. Сервер может предоставлять:
- инструменты — функции, которые выполняет модель;
- ресурсы — данные и контекст для пользователя или модели;
- промпты — шаблоны сообщений и сценариев.
Стандартные транспорты — stdio (локальный сервер запускается как дочерний процесс) и Streamable HTTP (удалённый сервер по одному HTTP-адресу). Авторизация описана для HTTP-транспортов и опирается на OAuth 2.1; для stdio спецификация её применять не рекомендует — там учётные данные берутся из окружения.
Каким бывает стек
| Система | Зачем агенту | Как подключить |
|---|---|---|
| Репозиторий и PR | Читать issue, открывать PR, смотреть CI | MCP-сервер GitHub или CLI gh |
| Трекер задач | Брать задачу с критериями, обновлять статус | MCP-сервер трекера (Linear и др.) |
| Мониторинг ошибок | Найти исключение, стектрейс, частоту | claude mcp add --transport http sentry https://mcp.sentry.dev/mcp |
| Браузер | Проверить интерфейс, сделать скриншот | claude mcp add playwright -- npx -y @playwright/mcp@latest |
| Документация | Сверяться с актуальными доками | Docs-сервер, например https://code.claude.com/docs/mcp |
| База данных | Посмотреть схему, проверить данные | MCP-сервер БД, лучше с правами только на чтение |
Каталог проверенных коннекторов — Anthropic Directory. Коннекторы, добавленные в аккаунт claude.ai, появляются в /mcp и в Claude Code.
Подключение в Claude Code
Команды из быстрого старта по MCP:
# удалённый сервер
claude mcp add --transport http claude-code-docs https://code.claude.com/docs/mcp
# локальный stdio-сервер: всё после -- передаётся серверу как есть
claude mcp add playwright -- npx -y @playwright/mcp@latest
# проверить
claude mcp list
claude mcp get claude-code-docs
Области видимости. claude mcp add по умолчанию регистрирует сервер в области local: только вы и только этот проект. --scope user — вы во всех проектах (ключ mcpServers в ~/.claude.json). --scope project — вся команда через .mcp.json в корне репозитория. Серверы из .mcp.json нужно одобрить: клонированный репозиторий не может одобрить свои серверы сам, пока вы не доверите папку.
Авторизация. Сервисы вроде Sentry, Linear и Notion работают через OAuth: после добавления claude mcp list покажет «Needs authentication», дальше выберите сервер в /mcp и пройдите вход в браузере. Для серверов, которые принимают токен (например, GitHub), его передают флагом --header "Authorization: Bearer <token>".
Контекст. По умолчанию включён поиск инструментов (MCP Tool Search): при старте загружаются только имена инструментов, а полное описание агент подгружает, когда решает инструментом воспользоваться. Поэтому неиспользуемые серверы почти не занимают контекст.
Каналы. Отдельный вид MCP-серверов — каналы: они передают события в запущенную сессию (результаты CI, сообщения, алерты), чтобы агент реагировал, пока вас нет рядом. В research preview входят Telegram, Discord и iMessage.
В Codex и Cursor то же самое: codex mcp add или раздел [mcp_servers] в config.toml; в Cursor — .cursor/mcp.json в проекте или ~/.cursor/mcp.json для всех проектов.
Риски: что может пойти не так
Подключённый агент читает много чужого текста: issue от пользователей, страницы сайтов, ответы API. Любой из них может содержать промпт-инъекцию — инструкции, которые пытаются увести агента от вашей задачи. OWASP ставит промпт-инъекцию первой в списке рисков LLM-приложений и различает прямую (через запрос пользователя) и непрямую (через внешний контент, который читает модель).
Принципы безопасности из спецификации MCP:
- пользователь явно соглашается на доступ к данным и операции и сохраняет контроль;
- хост получает согласие пользователя, прежде чем передать его данные серверу;
- инструменты — это произвольное выполнение кода; описания поведения инструментов считаются недоверенными, если сервер не доверенный; хост получает согласие перед вызовом инструмента.
Что делать на практике:
- Подключайте только серверы, которым доверяете. Документация Claude Code прямо предупреждает: серверы, которые загружают внешний контент, несут риск промпт-инъекции.
- Минимальные права у токенов. OWASP советует давать приложению собственные токены и держать привилегированные функции в коде, а не отдавать их модели.
- Человек подтверждает опасное. Запись, удаление, платежи, отправка писем — только с подтверждением.
- Запрещайте лишнее правилами. Правило
"deny": ["mcp__*"]закрывает все MCP-инструменты,mcp__github__get_*в allow разрешает только чтение у сервера github. - Отделяйте недоверенный контент. Не передавайте агенту непроверенный текст напрямую, а скрипты и внешние сервисы запускайте в изолированной среде — это рекомендации из раздела о безопасности Claude Code.
С чего начать
Один сервер под одну боль. Чаще всего первым окупается мониторинг ошибок: агент сам находит стектрейс и пишет исправление с тестом. Вторым — браузер: агент проверяет интерфейс скриншотом, а не на словах. Остальное добавляйте, когда появится повторяющаяся задача.
Последний пост серии — флот агентов: как запускать несколько агентов параллельно и не потерять контроль.
Термины из поста
Где это отрабатывается
Источники
- Model Context Protocol — Specification 2026-07-28
- MCP — Transports
- MCP — Authorization
- Claude Code — Connect to MCP servers
- Claude Code — Connect Claude Code to tools via MCP
- Claude Code — Channels
- Claude Code — Security
- Claude Code — Permissions (правила для MCP)
- OWASP — LLM01:2025 Prompt Injection
- Cursor — MCP
