Используйте Laravel для создания собственного MCP-сервера

Claude может работать с вашим приложением на Laravel. Вам не нужно создавать REST API или писать кастомный клиент. Вы можете предоставить доступ к инструментам через Model Context Protocol (MCP).

Пакет laravel/mcp упрощает эту задачу. Вы сможете собрать MCP-сервер всего за один вечер.

MCP-сервер предоставляет ИИ три вещи: • Инструменты (Tools): действия, которые вызывает модель, например, поиск заказов. • Ресурсы (Resources): данные только для чтения, которые модель извлекает для контекста. • Промпты (Prompts): многоразовые шаблоны.

Как это сделать:

  1. Настройка Установите пакет через Composer: composer require laravel/mcp

Опубликуйте ваши маршруты: php artisan vendor:publish --tag=ai-routes

  1. Создание сервера Сервер объединяет ваши инструменты и ресурсы. Создайте его командой: php artisan make:mcp-server OrdersServer

Зарегистрируйте его в routes/ai.php. Вы можете запустить веб-сервер для удаленных клиентов или локальный сервер для таких инструментов, как Claude Code.

  1. Создание инструментов Инструменты выполняют основную работу. Создайте инструмент командой: php artisan make:mcp-tool SearchOrdersTool

Инструменту необходимы два метода: • Schema: определяет аргументы, которые отправляет модель. • Handle: выполняет логику и возвращает ответ.

Пишите четкие описания. Модель использует эти описания, чтобы решить, когда именно нужно использовать ваш инструмент.

  1. Использование аннотаций Используйте атрибуты для описания поведения инструмента: • IsReadOnly: инструмент не изменяет данные. • IsDestructive: инструмент изменяет или удаляет данные. • IsIdempotent: повторный запуск дает тот же результат, что и первый.

  2. Защита сервера Веб-серверы MCP являются публичными эндпоинтами. Относитесь к ним так же, как к любому другому API. Используйте middleware для их защиты. Laravel Sanctum или Passport отлично подходят для аутентификации.

  3. Тестирование работы Используйте MCP Inspector для ручного тестирования сервера: php artisan mcp:inspector orders

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

Теперь у вас есть стандартный интерфейс для взаимодействия ИИ с вашим приложением. Вам не нужно писать код протокола. Просто добавляйте инструменты, четко описывайте их и защищайте с помощью middleware.

К чему вы уже подключали MCP-сервер? Расскажите в комментариях.

Источник: https://dev.to/accreditly/use-laravel-to-create-your-own-mcp-server-251g