Claude Code: MCP, Playwright, промпты, продакшен-автоматизация | AiManual
AiManual Logo Ai / Manual.
11 Янв 2026 Гайд

Claude Code: полное руководство от промпта до продакшна с MCP и автоматизацией

Полное руководство по Claude Code: от промптов до продакшена с MCP, Playwright, хуками безопасности и конвейерами данных. Готовые скрипты и конфиги.

Почему Claude Code раздражает и почему это ваш лучший помощник

Claude Code выглядит как очередной AI-ассистент. Открываете окно, пишете "сделай мне REST API", получаете код. Скучно. Пока не понимаете, что это не просто генератор кода - это система, которая заставляет вас думать иначе о разработке.

Проблема не в том, что Claude Code плохо генерирует код. Проблема в том, что 95% разработчиков используют его как ChatGPT с подсветкой синтаксиса. Они пишут "напиши функцию login", получают код, копируют. Через час забывают, что именно генерировали и почему. Через день не могут повторить результат.

Если ваш промпт к Claude Code начинается со слов "напиши код для...", вы теряете 80% потенциала системы. Вы превращаете ИИ в дорогой copy-paste инструмент.

MCP: секретное оружие, которое меняет всё

Model Context Protocol - это не "еще один API". Это способ сказать Claude: "Вот весь мой мир. Базы данных, CI/CD, мониторинг, даже кофеварка в офисе. Используй всё".

Без MCP Claude Code работает в вакууме. Он видит только файлы в проекте. С MCP он видит:

  • Состояние PostgreSQL в реальном времени
  • Результаты последнего прогона Playwright тестов
  • Логи из Kibana за последний час
  • Список открытых PR в GitHub
  • Метрики из Prometheus

Разница как между слепым и зрячим разработчиком. В статье про MCP Tool Registry я показывал, как автоматизировать RAG-системы. Здесь мы пойдем дальше.

1Настройка MCP для реальной разработки

Не начинайте с десятка серверов. Начните с трех, которые дают максимальный эффект:

// ~/.config/claude/desktop-config.json
{
  "mcpServers": {
    "postgres": {
      "command": "npx",
      "args": ["@modelcontextprotocol/server-postgres"],
      "env": {
        "POSTGRES_URL": "postgresql://user:pass@localhost:5432/mydb"
      }
    },
    "filesystem": {
      "command": "npx",
      "args": ["@modelcontextprotocol/server-filesystem"],
      "env": {
        "MCP_SERVER_FILESYSTEM_ROOT": "/Users/you/projects"
      }
    },
    "playwright": {
      "command": "python",
      "args": ["-m", "mcp_playwright_server"],
      "env": {
        "BROWSER_PATH": "/usr/bin/chromium"
      }
    }
  }
}
💡
Используйте MCP Doctor для автоматической проверки конфигов. Серьезно, не тратьте час на отладку путей.

Промпты, которые работают (а не просто запросы)

Вот как НЕ надо писать промпты:

# ПЛОХО
Напиши middleware для Express.js который проверяет JWT токен

Вот почему это плохо: Claude сделает рабочую версию. Но она не будет связана с вашей конкретной базой пользователей, не будет логировать в ваш Sentry, не будет учитывать rate limiting вашего API.

Вот как надо:

# ХОРОШО
Система: Ты - senior backend разработчик в команде SaaS-продукта.

Контекст:
1. У нас PostgreSQL с таблицами users (id, email, hashed_password, role) и sessions (id, user_id, token, expires_at)
2. Используем Express.js 4.x с TypeScript
3. Вся аутентификация через JWT с секретом из process.env.JWT_SECRET
4. Нужно логировать попытки неавторизованного доступа в Sentry
5. Rate limiting: максимум 5 failed attempts per minute per IP

Задача: Создай middleware auth.js который:
- Проверяет Authorization: Bearer 
- Валидирует JWT, проверяет expiry
- Проверяет наличие сессии в БД (таблица sessions)
- Добавляет user object в req.user
- Логирует failed attempts с IP, user_id (если есть), endpoint
- Отправляет в Sentry при подозрительной активности (5+ failed attempts)
- Возвращает 401 при invalid token, 403 при expired session

Требования к коду:
- Используй async/await
- Добавь JSDoc комментарии
- Добавь unit test с mock БД
- Создай отдельный файл config/auth.config.js с настройками

Разница в деталях. Во втором случае Claude понимает архитектуру, ограничения, бизнес-логику. Он генерирует код, который почти готов к продакшену.

2Автоматизация тестирования с Playwright

Самая большая ошибка - считать, что AI только пишет код. Нет, он должен его тестировать. И не просто unit тесты, а end-to-end.

Установите MCP сервер для Playwright (его нет в официальных, но есть community версии):

pip install mcp-playwright-server
# Или через npm
npm install -g mcp-playwright-server

Теперь ваш промпт может выглядеть так:

Создай форму регистрации с полями:
- Email (валидация формата)
- Password (мин. 8 символов, буквы и цифры)
- Confirm password

И сразу создай Playwright тест который:
1. Открывает страницу /register
2. Заполняет форму валидными данными
3. Проверяет успешную отправку
4. Проверяет редирект на /dashboard
5. Проверяет наличие welcome message
6. Проверяет invalid cases (короткий пароль, несовпадение паролей)

Запусти тест через MCP и покажи результат.

Claude сгенерирует код формы И тест. Через MCP он запустит тест в реальном браузере. Вы получите не только код, но и гарантию, что он работает.

Используйте MCP Chat Studio v2 для отладки сложных MCP взаимодействий. Особенно полезно при работе с несколькими серверами одновременно.

Конвейер данных: от прототипа к продакшену

Вот конкретный кейс. Нужно обрабатывать CSV файлы с данными пользователей, валидировать, чистить, загружать в БД.

Плохой подход: попросить Claude "напиши скрипт для обработки CSV". Получите generic решение.

Хороший подход:

Задача: Конвейер обработки user_data.csv для загрузки в PostgreSQL.

Этапы:
1. Чтение CSV (используем pandas для скорости)
2. Валидация:
   - Email: формат, уникальность в БД
   - Phone: формат +7 XXX XXX-XX-XX
   - Age: 18-100
   - Country: должна быть в справочнике countries
3. Очистка:
   - Приведение phone к единому формату
   - Заполнение missing country по phone code
   - Удаление дубликатов по email
4. Загрузка в БД batch по 1000 записей
5. Логирование статистики (processed, valid, invalid, errors)
6. Отправка уведомления в Slack при ошибках

Технические требования:
- Используй нашу БД PostgreSQL (таблица users)
- Конфигурация через .env файл
- Логи в JSON формате для ELK
- Retry логика при network errors
- Memory efficient (файлы до 1GB)

Создай:
1. Основной скрипт pipeline.py
2. Конфиг config/pipeline_config.py
3. Dockerfile с Python 3.11
4. docker-compose.yml с PostgreSQL и тестовыми данными
5. Набор тестов с pytest
6. Makefile с командами run, test, deploy

Claude сгенерирует не просто скрипт, а готовый микросервис. С Docker, тестами, конфигами. Потому что он видит через MCP структуру вашего проекта, знает про вашу БД, понимает требования к продакшену.

Хуки безопасности: автоматический аудит кода

Самое опасное в AI-генерации кода - безопасность. Claude не знает про ваши внутренние политики, про compliance требования, про уязвимости в конкретных версиях библиотек.

Решение: хуки, которые проверяют сгенерированный код перед коммитом.

#!/usr/bin/env python3
# pre-commit-hook.py

import subprocess
import sys
import json
from pathlib import Path

# Проверяем, был ли файл сгенерирован Claude Code
def is_claude_generated(filepath):
    content = Path(filepath).read_text()
    # Claude часто добавляет комментарии с метаданными
    return "Generated by Claude" in content or "AI-assisted" in content

def check_security_issues(content):
    issues = []
    
    # Проверка hardcoded секретов
    if "password =" in content and "env" not in content:
        issues.append("Hardcoded password")
    
    # Проверка SQL injection
    if "f'SELECT" in content or ".format(SELECT" in content:
        issues.append("Potential SQL injection")
    
    # Проверка eval()
    if "eval(" in content:
        issues.append("Dangerous eval() usage")
    
    return issues

# Основная логика
changed_files = sys.argv[1:]

for file in changed_files:
    if is_claude_generated(file):
        print(f"\n🔍 Checking AI-generated file: {file}")
        content = Path(file).read_text()
        issues = check_security_issues(content)
        
        if issues:
            print(f"❌ Security issues found in {file}:")
            for issue in issues:
                print(f"  - {issue}")
            print("\nPlease review manually before committing.")
            sys.exit(1)  # Блокируем коммит
        else:
            print(f"✅ {file} passed security checks")

sys.exit(0)

Настройте этот хук в .git/hooks/pre-commit. Теперь любой код, сгенерированный Claude, автоматически проверяется на типичные уязвимости.

От локального к продакшену: полный пайплайн

Вот как выглядит полный цикл от идеи до продакшена с Claude Code:

ЭтапИнструментыЧто делает Claude
ПрототипClaude Code + MCP (filesystem)Генерирует код с учетом структуры проекта
ТестированиеMCP (Playwright) + локальная БДСоздает и запускает тесты, исправляет баги
ИнтеграцияMCP (PostgreSQL) + существующие сервисыАдаптирует код под реальную инфраструктуру
БезопасностьGit hooks + security scannersПроверяет на уязвимости, предлагает фиксы
ДеплойDocker + CI/CD конфигиГенерирует deployment артефакты
МониторингMCP (logs, metrics)Создает дашборды, алерты, логирование

Когда всё ломается: отладка MCP соединений

MCP серверы падают. Конфиги устаревают. Порт занят. Вот чеклист:

  1. Проверьте, что сервер запущен: ps aux | grep mcp
  2. Проверьте логи Claude Desktop: ~/Library/Logs/Claude/
  3. Запустите сервер вручную: npx @modelcontextprotocol/server-postgres
  4. Используйте MCP Doctor для автоматической диагностики
  5. Проверьте версии: некоторые серверы несовместимы между версиями

Если Claude не видит MCP инструменты, перезапустите Claude Desktop полностью. Иногда помогает удалить ~/.config/claude/claude_desktop_config.json и начать заново.

TL;DR для нетерпеливых

  • Claude Code без MCP = 20% потенциала. С MCP = 100%.
  • Начните с трех MCP серверов: PostgreSQL, filesystem, Playwright
  • Пишите промпты с контекстом: архитектура, БД, лимиты, бизнес-правила
  • Автоматизируйте тестирование через MCP - не доверяйте слепо сгенерированному коду
  • Добавьте security hooks для проверки AI-генерированного кода
  • Используйте Claude Code 2.0 для сложных архитектурных задач
  • При высокой нагрузке на Claude переходите на локальные модели с MCP

Самый важный совет: не используйте Claude Code для замены мышления. Используйте его для усиления. Вы проектируете, он кодирует. Вы ставите задачи, он тестирует. Вы думаете о масштабировании, он генерирует Dockerfile и helm charts.

И последнее: сохраняйте промпты. Каждый удачный промпт - это шаблон для будущих задач. Через месяц у вас будет библиотека из 50 промптов, которые решают 80% ваших рабочих задач. Это и есть настоящая автоматизация.