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
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
| Ferramenta | Descrição |
|---|---|
list_api_routes | Liste todas as rotas de API com filtros opcionais para caminho, método, domínio e rotas de fornecedores |
get_route_details | Obtenha informações detalhadas sobre uma rota específica, incluindo controller, middleware e localizações de arquivos |
get_request_rules | Analise regras de validação do FormRequest, mensagens de erro personalizadas e lógica de autorização |
get_response_schema | Analise o que um endpoint retorna (JsonResource, Model, array, JsonResponse) |
analyze_endpoint | Análise completa de endpoint combinando informações de rota, controller, request e response |
Recursos MCP Disponíveis
| Recurso | Modelo de URI | Descrição |
|---|---|---|
api_routes | route://{uri} | Acesso dinâmico às rotas de API |
controller | controller://{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
- Abra as Configurações do VS Code
- Pesquise por "Cline: MCP Servers"
- 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.