Создание MCP-сервера
MCP-сервер — это класс-контейнер для tools, resources и prompts.
Генерация
php artisan make:mcp-server OrderServer
Регистрация
В routes/ai.php:
use App\Mcp\Servers\OrderServer;
use Laravel\Mcp\Facades\Mcp;
// Для HTTP-клиентов (ChatGPT, Claude)
Mcp::web('/mcp/orders', OrderServer::class);
// Для локальных CLI-агентов
Mcp::local('orders', OrderServer::class);
Mcp::web() — удалённые клиенты через HTTP POST. Mcp::local() — локальные через stdio.
Структура сервера
namespace App\Mcp\Servers;
use Laravel\Mcp\Server;
use Laravel\Mcp\Server\Attributes\Instructions;
#[Instructions('Этот сервер управляет заказами. Используй tools для поиска и создания.')]
class OrderServer extends Server
{
protected array $tools = [
// LookupOrder::class,
// CreateOrder::class,
];
protected array $resources = [
// OrderResource::class,
];
protected array $prompts = [
// ReviewOrderPrompt::class,
];
}
Instructions
Атрибут #[Instructions] — системный промпт для AI-клиента. Объясняет, что умеет сервер.
Авторизация
Mcp::oauthRoutes();
Mcp::web('/mcp', Flightio::class)
->middleware('auth:api');
Laravel MCP поддерживает OAuth 2.1 через Passport и Sanctum.
Тестирование
MCP Inspector:
npx @modelcontextprotocol/inspector http://localhost/mcp/orders
Откроется веб-интерфейс для проверки tools, resources, prompts.
Итоги
make:mcp-serverсоздаёт классMcp::web()иMcp::local()#[Instructions]для описания- Middleware для авторизации
- MCP Inspector для тестов