Laravel MCP Server
Пакет для Laravel и Lumen, который добавляет MCP-эндпоинт в маршруты приложения и подключает к нему ваши инструменты
- 330 ★ репозитория
- Последний коммит
- MIT
Расширенный доступ
Почему такой уровень
- Пакет открывает HTTP-адрес с инструментами вашего приложения, и без посредников он доступен всем
- Инструменты исполняют код вашего приложения, поэтому доступ агента равен тому, что вы в них заложили
Установка
- Работает в
Ручная установка
composer require opgginc/laravel-mcp-serverВыполняют в корне Laravel-проекта на PHP 8.2 или новее.
Доступ и проверки
Как мы проверяемРасширенный доступИнструмент запускает код или ходит в сеть, а внешние данные только читает.
- Пакет открывает HTTP-адрес с инструментами вашего приложения, и без посредников он доступен всем
- Инструменты исполняют код вашего приложения, поэтому доступ агента равен тому, что вы в них заложили
Это чужой код. Посмотрите файлы в репозитории перед установкой.
Что делает
Laravel MCP Server от OP.GG превращает приложение на Laravel в MCP-сервер. Конечную точку регистрируют в маршрутах вызовом `Route::mcp('/mcp')`. К ней подключают инструменты, ресурсы, шаблоны ресурсов и промпты, а транспортом служит потоковый HTTP. Пакет ставится командой `composer require opgginc/laravel-mcp-server`. Заготовки создают пять команд: для инструмента, ресурса, шаблона ресурса, промпта и уведомления, например `php artisan make:mcp-tool`. Команда `php artisan mcp:test-tool` показывает список инструментов и вызывает нужный на выбранной конечной точке. Схемы аргументов задает построитель JsonSchema в стиле Laravel. Готовые API можно подключить без ручного кода. Команда `php artisan make:swagger-mcp-tool` читает спецификацию OpenAPI по ссылке или из файла и создает классы инструментов и ресурсов, группируя их по тегам или путям. Обратная команда `php artisan mcp:export-openapi` выгружает описание ваших инструментов в OpenAPI. Один адрес может отдавать разным клиентам разные наборы инструментов через динамический фильтр по строке запроса.
Для кого. Для PHP-разработчиков, которые хотят открыть функции своего Laravel-приложения ИИ-агентам через MCP.
Подходит, если
- Нужно дать Claude Code или Cursor доступ к данным и действиям вашего Laravel-приложения через защищенный MCP-адрес
- Есть REST API с описанием OpenAPI, и его нужно быстро превратить в набор инструментов MCP
- Нужно разделить инструменты для разных клиентов на одном адресе по параметрам запроса
- Нужно выгрузить описание MCP-инструментов в OpenAPI для документации
- Нужно закрыть MCP-эндпоинт обычными средствами Laravel: Sanctum, ограничение частоты, группы маршрутов
Не подходит, если
- Приложение не на PHP: пакет работает только с Laravel и Lumen
- Нужна версия 1.x с настройкой через конфиг или транспортом SSE: в 2.0.0 они убраны, есть руководство по миграции
- Нужен готовый сервер для агента без разработки: пакет создает основу, инструменты вы пишете сами
- Нужен официальный пакет Laravel: у фреймворка есть собственный laravel/mcp, а этот пакет делает OP.GG
Пример запроса к агенту
Добавь в мой Laravel-проект MCP-эндпоинт /mcp с посредником `auth:sanctum`, создай инструмент для поиска заказов и проверь его командой `php artisan mcp:test-tool`.MCP
- Транспорт
- http
- Авторизация
- не нужна
Ограничения
Нужны PHP 8.2 или новее и Laravel 9 или новее, Lumen по желанию. Версия 2.0.0 ломает совместимость: настройка конечных точек переехала из конфига в маршруты, единственным транспортом остался потоковый HTTP. Сведения о сервере теперь задаются одним методом, а устаревшие методы транспорта инструментов удалены. Для перехода есть руководство docs/migrations/v2.0.0-migration.md и команда `php artisan mcp:migrate-tools`. Аутентификацию пакет сам не добавляет.
Как отключить. Уберите вызов `Route::mcp` из маршрутов и выполните `composer remove opgginc/laravel-mcp-server`. Классы инструментов, созданные в `app/MCP`, остаются в проекте, их удаляют вручную.
Частые вопросы
Как подключить Laravel MCP Server к проекту?
Выполните `composer require opgginc/laravel-mcp-server` и добавьте в файл маршрутов вызов `Route::mcp('/mcp')` со сведениями о сервере и списком инструментов методом `tools`. Проверьте результат командой `php artisan route:list` и списком инструментов `php artisan mcp:test-tool --list --endpoint=/mcp`.
Как защитить MCP-эндпоинт?
Оберните `Route::mcp` в группу с обычными посредниками Laravel, например `auth:sanctum` и `throttle:100,1`. Пакет сам аутентификацию не навязывает, поэтому без посредников маршрут доступен всем, кто знает адрес.
Как превратить OpenAPI в инструменты MCP?
Выполните `php artisan make:swagger-mcp-tool` с адресом или путем к спецификации. Параметр `--group-by` принимает `tag`, `path` или `none`, `--prefix` задает префикс классов, `--test-api` проверяет доступность методов до генерации. В неинтерактивном режиме методы GET становятся ресурсами, остальные инструментами.
Что делать, если клиент не поддерживает протокол 2025-11-25?
Укажите в маршруте версию протокола явно: `ProtocolVersion::V2025_06_18`. Так старые клиенты подключатся к той же конечной точке.
Чем пакет отличается от laravel/mcp?
laravel/mcp выпускает сам Laravel, а этот пакет OP.GG развивает отдельно, со своим набором функций и своим графиком версий.
Обсуждение
Вопросов и отзывов пока нет.
Похожие
MCP-серверыLaravel MCP
laravel-mcp
Официальный пакет Laravel для создания MCP-серверов внутри приложения: ИИ-клиенты работают с вашим Laravel-проектом через MCP
Официальный MCP-сервер, гайдлайны и скиллы Laravel: агент видит схему БД, логи и версии пакетов и ищет по документации экосистемы
MCP-сервер Apollo: превращает заданные операции GraphQL в инструменты, через которые агент работает с вашим API
mcp-graphql — MCP-сервер для GraphQL API
mcp-graphql
Два инструмента для GraphQL: агент получает схему вашего API и выполняет запросы к нему через один эндпоинт
MCP Adapter для WordPress
MCP Adapter
Официальный пакет WordPress, который превращает возможности из Abilities API в инструменты, ресурсы и промпты MCP
MCP-сервер МоегоСклада с двумя гейтами на запись: остатки, прибыль, отчеты и черновики документов через JSON API 1.2
Коротко о README
Документация есть на восьми языках, включая русский. В ней разобраны примеры классов инструмента, промпта и ресурса и перечислены команды для тестов и контроля качества: Pest, PHPStan и Pint.