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

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

HerramientaDescripción
list_api_routesLista todas las rutas de API con filtros opcionales por ruta, método, dominio y rutas de vendor
get_route_detailsObtén información detallada sobre una ruta específica, incluyendo controlador, middleware y ubicaciones de archivos
get_request_rulesAnaliza reglas de validación de FormRequest, mensajes de error personalizados y lógica de autorización
get_response_schemaAnaliza qué devuelve un endpoint (JsonResource, Model, array, JsonResponse)
analyze_endpointAnálisis completo de endpoints que combina información de ruta, controlador, solicitud y respuesta

Recursos MCP Disponibles

RecursoPlantilla URIDescripción
api_routesroute://{uri}Acceso dinámico a rutas de API
controllercontroller://{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

  1. Abre la Configuración de VS Code
  2. Busca "Cline: MCP Servers"
  3. 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.