LMAD - Laravel MCP API Discovery

Servidor MCP Laravel que expõe rotas de API, controladores, regras de validação do FormRequest e esquemas de resposta para agentes de IA

Documentação

LMAD - Laravel MCP API Discovery

LMAD - Laravel MCP API Discovery

Um pacote MCP (Model Context Protocol) para Laravel 12 que fornece aos agentes de IA capacidades abrangentes de descoberta e análise de API. O LMAD permite que assistentes de codificação com IA entendam a estrutura de API, regras de validação e esquemas de resposta do seu aplicativo Laravel.

Recursos

  • Descoberta de Rotas: Liste e filtre rotas de API por caminho, método HTTP, domínio e exclusão de fornecedores
  • Inspeção de Controllers: Obtenha informações detalhadas dos métodos do controller, incluindo caminhos de arquivo e números de linha
  • Análise de Validação de Requests: Analise regras de validação do FormRequest, mensagens de erro personalizadas e lógica de autorização
  • Análise de Esquema de Resposta: Analise tipos de retorno do controller, estruturas JsonResource e atributos do Model
  • Análise Completa de Endpoints: Obtenha informações abrangentes sobre qualquer endpoint em uma única chamada
  • Recursos Dinâmicos: Acesse informações de controller e rota via modelos de URI do MCP

Requisitos

  • PHP: 8.2 ou superior
  • Laravel: 12.x
  • laravel/mcp: 0.5.x ou superior

Instalação

composer require 0xmergen/lmad

O pacote registrará automaticamente seu service provider.

Configuração

Publicar o Arquivo de Rotas (Opcional)

Se você quiser personalizar o registro do servidor MCP:

php artisan vendor:publish --tag=lmad-routes

Isso publica as rotas MCP em routes/lmad.php.

Registro do Servidor MCP

O servidor MCP do LMAD é registrado automaticamente no seu aplicativo através do arquivo routes/ai.php do pacote:

use Laravel\Mcp\Facades\Mcp;
use Lmad\Mcp\LmadServer;

Mcp::local('lmad', LmadServer::class);

Ferramentas MCP Disponíveis

FerramentaDescrição
list_api_routesListe todas as rotas de API com filtros opcionais para caminho, método, domínio e rotas de fornecedores
get_route_detailsObtenha informações detalhadas sobre uma rota específica, incluindo controller, middleware e localizações de arquivos
get_request_rulesAnalise regras de validação do FormRequest, mensagens de erro personalizadas e lógica de autorização
get_response_schemaAnalise o que um endpoint retorna (JsonResource, Model, array, JsonResponse)
analyze_endpointAnálise completa de endpoint combinando informações de rota, controller, request e response

Recursos MCP Disponíveis

RecursoModelo de URIDescrição
api_routesroute://{uri}Acesso dinâmico às rotas de API
controllercontroller://{class}/{method?}Informações de controller e método

Guia de Configuração do Claude Code

Passo 1: Verifique o Servidor MCP

Inicie seu servidor de desenvolvimento Laravel:

composer run dev

Passo 2: Configure o Claude Code

Crie ou edite seu arquivo de configuração MCP do Claude Code para conectar ao servidor LMAD.

Para servidor MCP local via stdio:

Adicione à sua configuração do Claude Desktop (~/.claude_desktop_config.json no macOS/Linux):

{
  "mcpServers": {
    "lmad": {
      "command": "php",
      "args": [
        "/path/to/your/lmad/project/artisan",
        "mcp:serve",
        "--server=lmad"
      ],
      "env": {
        "APP_ENV": "local"
      }
    }
  }
}

Para servidor MCP baseado em HTTP:

{
  "mcpServers": {
    "lmad": {
      "url": "http://localhost:8000/mcp/lmad"
    }
  }
}

Passo 3: Reinicie o Claude Code

Reinicie o Claude Desktop ou recarregue sua extensão de IDE para ativar o servidor MCP.

Passo 4: Verifique a Conexão

Pergunte ao Claude Code:

List all available MCP tools and resources.

Você deve ver ferramentas do LMAD como list_api_routes, get_route_details, etc.

Exemplo de Uso no 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"

Guia de Configuração do Cline (VS Code)

Passo 1: Instale a Extensão Cline

Instale a extensão Cline do VS Code Marketplace.

Passo 2: Configure o Servidor MCP no Cline

  1. Abra as Configurações do VS Code
  2. Pesquise por "Cline: MCP Servers"
  3. Adicione a configuração do servidor LMAD:

Para conexão 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 conexão HTTP:

{
  "lmad": {
    "url": "http://localhost:8000/mcp/lmad",
    "headers": {
      "Accept": "application/json"
    }
  }
}

Passo 3: Inicie o Servidor Laravel

cd /path/to/your/lmad/project
composer run dev

Passo 4: Recarregue o VS Code

Recarregue a janela do VS Code para ativar a conexão do servidor MCP.

Passo 5: Teste a Conexão

No chat do Cline, pergunte:

What MCP tools are available?

Você deve ver as ferramentas do LMAD listadas.

Exemplo de Uso no 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

O Cline usará as ferramentas MCP do LMAD para coletar essas informações.


Desenvolvimento

Executando Testes

composer test

Formatação de Código

composer pint

Inspetor MCP

O Laravel MCP fornece uma ferramenta de inspeção para testar servidores MCP:

php artisan mcp:inspector lmad

Licença

Licença MIT (MIT). Consulte LICENSE para mais informações.

Autor

0xmergen

Suporte

Para problemas, perguntas ou contribuições, visite o repositório GitHub.