LMAD - Laravel MCP API Discovery
Servidor MCP de Laravel que expone rutas de API, controladores, reglas de validación de FormRequest y esquemas de respuesta a agentes de IA.
Documentación
LMAD - Laravel MCP API Discovery
Un paquete MCP (Model Context Protocol) para Laravel 12 que proporciona a los agentes de IA capacidades completas de descubrimiento y análisis de API. LMAD permite a los asistentes de codificación con IA comprender la estructura de API, las reglas de validación y los esquemas de respuesta de tu aplicación Laravel.
Características
- Descubrimiento de Rutas: Lista y filtra rutas de API por ruta, método HTTP, dominio y exclusión de vendor
- Inspección de Controladores: Obtén información detallada de los métodos del controlador, incluyendo rutas de archivo y números de línea
- Análisis de Validación de Solicitudes: Analiza reglas de validación de FormRequest, mensajes de error personalizados y lógica de autorización
- Análisis de Esquemas de Respuesta: Analiza tipos de retorno de controladores, estructuras JsonResource y atributos de Model
- Análisis Completo de Endpoints: Obtén información completa sobre cualquier endpoint en una sola llamada
- Recursos Dinámicos: Accede a información de controladores y rutas mediante plantillas URI de MCP
Requisitos
- PHP: 8.2 o superior
- Laravel: 12.x
- laravel/mcp: 0.5.x o superior
Instalación
composer require 0xmergen/lmad
El paquete registrará automáticamente su proveedor de servicios.
Configuración
Publicar el Archivo de Rutas (Opcional)
Si deseas personalizar el registro del servidor MCP:
php artisan vendor:publish --tag=lmad-routes
Esto publica las rutas MCP en routes/lmad.php.
Registro del Servidor MCP
El servidor MCP de LMAD se registra automáticamente en tu aplicación mediante el archivo routes/ai.php del paquete:
use Laravel\Mcp\Facades\Mcp;
use Lmad\Mcp\LmadServer;
Mcp::local('lmad', LmadServer::class);
Herramientas MCP Disponibles
| Herramienta | Descripción |
|---|---|
list_api_routes | Lista todas las rutas de API con filtros opcionales por ruta, método, dominio y rutas de vendor |
get_route_details | Obtén información detallada sobre una ruta específica, incluyendo controlador, middleware y ubicaciones de archivos |
get_request_rules | Analiza reglas de validación de FormRequest, mensajes de error personalizados y lógica de autorización |
get_response_schema | Analiza qué devuelve un endpoint (JsonResource, Model, array, JsonResponse) |
analyze_endpoint | Análisis completo de endpoints que combina información de ruta, controlador, solicitud y respuesta |
Recursos MCP Disponibles
| Recurso | Plantilla URI | Descripción |
|---|---|---|
api_routes | route://{uri} | Acceso dinámico a rutas de API |
controller | controller://{class}/{method?} | Información de controlador y método |
Guía de Configuración de Claude Code
Paso 1: Verificar el Servidor MCP
Inicia tu servidor de desarrollo de Laravel:
composer run dev
Paso 2: Configurar Claude Code
Crea o edita tu archivo de configuración MCP de Claude Code para conectarte al servidor LMAD.
Para servidor MCP local mediante stdio:
Añade a tu configuración de Claude Desktop (~/.claude_desktop_config.json en macOS/Linux):
{
"mcpServers": {
"lmad": {
"command": "php",
"args": [
"/path/to/your/lmad/project/artisan",
"mcp:serve",
"--server=lmad"
],
"env": {
"APP_ENV": "local"
}
}
}
}
Para servidor MCP basado en HTTP:
{
"mcpServers": {
"lmad": {
"url": "http://localhost:8000/mcp/lmad"
}
}
}
Paso 3: Reiniciar Claude Code
Reinicia Claude Desktop o recarga la extensión de tu IDE para activar el servidor MCP.
Paso 4: Verificar la Conexión
Pregunta a Claude Code:
List all available MCP tools and resources.
Deberías ver herramientas de LMAD como list_api_routes, get_route_details, etc.
Ejemplo de Uso en Claude Code
Get all CRM API routes:
Use list_api_routes with path filter "api/crm"
Analyze the companies endpoint:
Use analyze_endpoint for URI "api/crm/companies" with method "GET"
Get validation rules for company creation:
Use get_request_rules for "App\Http\Requests\Crm\Company\StoreRequest"
Guía de Configuración de Cline (VS Code)
Paso 1: Instalar la Extensión Cline
Instala la extensión Cline desde VS Code Marketplace.
Paso 2: Configurar el Servidor MCP en Cline
- Abre la Configuración de VS Code
- Busca "Cline: MCP Servers"
- Añade la configuración del servidor LMAD:
Para conexión stdio:
{
"lmad": {
"command": "php",
"args": [
"/absolute/path/to/your/lmad/project/artisan",
"mcp:serve",
"--server=lmad"
],
"env": {
"APP_ENV": "local",
"LARAVEL_ROOT": "/absolute/path/to/your/lmad/project"
}
}
}
Para conexión HTTP:
{
"lmad": {
"url": "http://localhost:8000/mcp/lmad",
"headers": {
"Accept": "application/json"
}
}
}
Paso 3: Iniciar el Servidor Laravel
cd /path/to/your/lmad/project
composer run dev
Paso 4: Recargar VS Code
Recarga la ventana de VS Code para activar la conexión del servidor MCP.
Paso 5: Probar la Conexión
En el chat de Cline, pregunta:
What MCP tools are available?
Deberías ver las herramientas de LMAD listadas.
Ejemplo de Uso en Cline
I need to understand the CRM API. Can you:
1. List all routes under "api/crm"
2. Get details for the companies store endpoint
3. Show me the validation rules for creating a company
Cline utilizará las herramientas MCP de LMAD para recopilar esta información.
Desarrollo
Ejecutar Pruebas
composer test
Formato de Código
composer pint
Inspector MCP
Laravel MCP proporciona una herramienta de inspección para probar servidores MCP:
php artisan mcp:inspector lmad
Licencia
Licencia MIT (MIT). Consulta LICENSE para más información.
Autor
0xmergen
Soporte
Para problemas, preguntas o contribuciones, visita el repositorio de GitHub.