🔌 Продвинутый · MCP

MCP Laravel-boost + Docker — настройка и практика

Два MCP-сервера, которые превращают Claude Code в полноценного члена команды Laravel-проекта. Laravel-boost даёт Claude прямой доступ к artisan, маршрутам и структуре Eloquent. Docker MCP позволяет управлять контейнерами прямо из чата.

laravel-boost · artisan из чата docker mcp · контейнеры практические примеры

🚀 MCP Laravel-boost — что это и зачем

Laravel-boost — MCP-сервер от сообщества, который подключает Claude Code напрямую к Laravel-проекту. Вместо того чтобы объяснять модели структуру роутов, модели Eloquent и доступные Artisan-команды — Claude видит это сам в реальном времени.

🛣️
Routes
Читает все маршруты через php artisan route:list. Claude знает какие endpoints есть, их middleware, контроллеры. Не нужно объяснять.
🗄️
Eloquent Models
Анализирует модели, fillable, relations, scopes. Может предложить правильный запрос или заметить что relation не определён.
⚙️
Artisan Commands
Запускает artisan-команды от имени Claude: migrate, make:model, queue:work, cache:clear. С подтверждением пользователя.
📊
Database Schema
Читает миграции и строит карту таблиц. Claude понимает структуру БД без ручного copy-paste схемы.

⚙️ Установка и настройка Laravel-boost

Установка

bash
# Глобальная установка (рекомендуется) npm install -g mcp-laravel-boost # Или через npx без установки npx mcp-laravel-boost --project-path E:\project

Подключение к Claude Code

Есть два варианта подключения: глобальный — в ~/.claude/settings.json, работает для всех проектов; и проектный — в .mcp.json в корне Laravel-проекта, изолирован и переносим между командой.

Глобальный — ~/.claude/settings.json
{ "mcpServers": { "laravel-boost": { "command": "npx", "args": ["-y", "mcp-laravel-boost"], "env": { "LARAVEL_PROJECT_PATH": "E:\\project", "LARAVEL_PHP_PATH": "php" } } } }
Проектный — .mcp.json в корне Laravel
{ "mcpServers": { "laravel-boost": { "command": "npx", "args": ["-y", "mcp-laravel-boost"], "env": { "LARAVEL_PROJECT_PATH": ".", "LARAVEL_PHP_PATH": "php", "LARAVEL_ARTISAN_ALLOWED_COMMANDS": "migrate,make:*,cache:clear,queue:restart,route:list,tinker" } } } }
⚠️
Безопасность: никогда не добавляй .mcp.json с реальными путями в git публично. Используй .gitignore для .mcp.json или храни credentials отдельно в .env.

Переменные окружения laravel-boost

Переменная Описание Пример
LARAVEL_PROJECT_PATH Путь к корню Laravel-проекта E:\project или .
LARAVEL_PHP_PATH Путь к PHP-бинарнику php или C:\php\php.exe
LARAVEL_ARTISAN_ALLOWED_COMMANDS Разрешённые artisan команды (whitelist) migrate,make:*,cache:clear
LARAVEL_ARTISAN_REQUIRE_CONFIRMATION Требовать подтверждение перед выполнением true (рекомендуется)
LARAVEL_READ_ONLY Только чтение, без выполнения artisan false

💬 Практика — что спрашивать у Claude с laravel-boost

Реальные промпты которые работают

Покажи все маршруты с префиксом /api/v1 и их middleware
Создай модель Order с миграцией, fillable и relation к User
Найди все N+1 запросы в контроллерах — где не используется eager loading
Запусти php artisan migrate:status и объясни что нужно накатить
Создай scope для фильтрации активных заказов в модели Order
Покажи все маршруты без middleware auth
Сгенерируй Resource Controller для Invoice с правильными методами
Проверь есть ли дублирующиеся named routes
Запусти php artisan queue:work в фоне и мониторь ошибки
Создай Policy для модели Order с правилами для роли manager

🐳 MCP Docker — управление контейнерами из чата

Docker MCP — официальный сервер от Docker Inc., позволяет Claude Code управлять контейнерами, образами, volumes и networks. Особенно полезен при разработке: не нужно переключаться в терминал чтобы перезапустить контейнер или посмотреть логи.

🔍Просмотр: список контейнеров, образов, networks, volumes
📋Логи: читает stdout/stderr контейнеров
▶️Управление: start/stop/restart/kill контейнеров
🏗️Compose: up/down/build/ps для docker-compose проектов
🔧Exec: выполнение команд внутри контейнера
📊Stats: CPU, RAM, сеть контейнеров в реальном времени
🌐Networks: создание, подключение/отключение контейнеров
💾Volumes: управление томами данных

⚙️ Установка Docker MCP

bash
# Установка через npm npm install -g @docker/mcp-server # Или через Docker сам (если Docker Desktop установлен) # Docker Desktop 4.x включает MCP автоматически
Linux / macOS — ~/.claude/settings.json
{ "mcpServers": { "docker": { "command": "npx", "args": ["-y", "@docker/mcp-server"], "env": { "DOCKER_HOST": "unix:///var/run/docker.sock" } } } }
Windows — Docker Desktop (npipe)
{ "mcpServers": { "docker": { "command": "npx", "args": ["-y", "@docker/mcp-server"], "env": { "DOCKER_HOST": "npipe:////./pipe/docker_engine" } } } }
💡
Windows — именованный пайп: Docker Desktop на Windows использует именованный пайп (npipe), не Unix-сокет. Если Claude не видит контейнеры — проверь DOCKER_HOST.

💬 Практика — Docker MCP в разработке Laravel

Покажи все запущенные контейнеры проекта и их статус
Перезапусти контейнер myapp-app-1 и покажи логи последних 50 строк
Выполни php artisan migrate внутри контейнера myapp-app-1
Покажи потребление CPU и RAM всех контейнеров проекта
Запусти docker-compose up -d и покажи статус всех сервисов
Найди контейнер который потребляет больше всего памяти
Выполни composer install внутри app-контейнера
Подключись к контейнеру db и выполни SHOW TABLES

🔄 Рекомендуемая конфигурация — Laravel + Docker вместе

Комбинированный .mcp.json для Laravel-проекта

Полный файл, включающий оба сервера + postgres-mcp для прямого доступа к БД:

.mcp.json — корень Laravel-проекта
{ "mcpServers": { "laravel-boost": { "command": "npx", "args": ["-y", "mcp-laravel-boost"], "env": { "LARAVEL_PROJECT_PATH": ".", "LARAVEL_PHP_PATH": "php", "LARAVEL_ARTISAN_ALLOWED_COMMANDS": "migrate,make:*,cache:clear,queue:restart,route:list", "LARAVEL_ARTISAN_REQUIRE_CONFIRMATION": "true" } }, "docker": { "command": "npx", "args": ["-y", "@docker/mcp-server"], "env": { "DOCKER_HOST": "npipe:////./pipe/docker_engine" } }, "postgres": { "command": "npx", "args": ["-y", "@modelcontextprotocol/server-postgres", "postgresql://user:pass@localhost:5432/myapp"], "env": {} } } }
⚠️
Credentials в файле: .mcp.json содержит database credentials — добавь в .gitignore. Для CI используй переменные окружения вместо хардкода.

📋 Рекомендации по Docker в разработке с CC

Паттерны которые работают

1
Один compose-файл на проект, не несколько
docker-compose.yml в корне, docker-compose.override.yml для локальных настроек. CC лучше понимает одну точку истины.
2
Называй контейнеры явно
container_name: myapp-app вместо автогенерированных имён. Claude и ты одинаково ссылаетесь на контейнер.
3
Healthcheck для каждого сервиса
CC может проверить что сервис действительно готов, а не просто запущен. Особенно важно для PostgreSQL и Redis.
4
Volumes для данных, не для кода
Код монтируй через bind mount (./:/var/www/html), данные БД — в именованный volume (postgres_data:/var/lib/postgresql/data).
5
Отдельные сети для фронта и бэка
Laravel-app в backend-network, frontend в frontend-network с gateway к backend. Изоляция и безопасность.
6
Логи в stdout, не в файлы
LARAVEL_LOG=stderr в .env контейнера. CC читает логи через Docker MCP напрямую без exec внутрь.
7
Makefile для типичных задач
make up, make down, make shell, make migrate. CC может предложить команду, но ты запускаешь через понятные алиасы.
8
Ресурсные лимиты в compose
mem_limit, cpus для каждого сервиса. Защита от утечки памяти в dev-среде.

Хороший docker-compose.yml — пример

docker-compose.yml
version: '3.8' services: app: build: . container_name: myapp-app ports: - "8000:8000" volumes: - .:/var/www/html environment: - APP_ENV=local - LARAVEL_LOG=stderr depends_on: db: condition: service_healthy redis: condition: service_started networks: - backend db: image: postgres:16-alpine container_name: myapp-db environment: POSTGRES_DB: myapp POSTGRES_USER: myapp POSTGRES_PASSWORD: secret volumes: - postgres_data:/var/lib/postgresql/data healthcheck: test: ["CMD-SHELL", "pg_isready -U myapp"] interval: 5s timeout: 5s retries: 5 networks: - backend redis: image: redis:7-alpine container_name: myapp-redis networks: - backend networks: backend: volumes: postgres_data:

🔧 Диагностика — если что-то не работает

Проблема Причина Решение
Laravel-boost не видит маршруты LARAVEL_PROJECT_PATH неверный Проверь путь, запусти php artisan route:list вручную
Artisan команда отклонена Не в LARAVEL_ARTISAN_ALLOWED_COMMANDS Добавь команду в whitelist
Docker MCP не видит контейнеры (Windows) DOCKER_HOST не настроен Установи npipe:////./pipe/docker_engine
Docker MCP не видит контейнеры (Linux) Нет прав на /var/run/docker.sock sudo usermod -aG docker $USER
MCP не загружается при старте CC Ошибка в JSON синтаксисе Проверить через claude mcp list
Artisan выполняется без подтверждения LARAVEL_ARTISAN_REQUIRE_CONFIRMATION не установлен Добавить в env: "true"

Команды диагностики

bash
# Проверить список MCP claude mcp list # Проверить конкретный сервер claude mcp get laravel-boost # Логи MCP-сервера claude mcp get docker --verbose # Проверить соединение с Docker docker ps docker info

📚 Связанные материалы