Giriş
Giriş
Laravel projelerinde Claude Code, Cursor veya GitHub Copilot gibi AI kod asistanları ile çalışırken, AI’nin anlayışında sıklıkla boşluklar oluşmaktadır. Bu asistanlar, rotaları görebilse de, şu konularda bağlam eksikliği yaşamaktadırlar:
- Bir POST isteği için hangi doğrulama kurallarının geçerli olduğu?
- API’nin aslında hangi alanları döndürdüğü?
- Kontrolcü yönteminin nerede tanımlandığı?
- Hangi yetkilendirme mantığının uygulandığı?
Bu durum, sürekli olarak kod kopyalayıp yapıştırmayı, FormRequest kurallarını açıklamayı ve JsonResource yapısını AI asistanına anlatmayı gerektiriyor. Bu da geliştirme sürecini önemli ölçüde yavaşlatıyor.
LMAD (Laravel MCP API Discovery), bu boşluğu kapatan yeni bir pakettir. Bu, AI asistanlarına Laravel API’lerinin derinlemesine anlaşılmasını sağlayan bir MCP (Model Context Protocol) sunucusudur. LMAD, yalnızca rota listeleri yerine, doğrulama kuralları, yanıt şemaları, dosya konumları ve daha fazlasını içeren kapsamlı uç nokta analizleri sunar.
Paketi GitHub’da bulabilirsiniz: https://github.com/0xmergen/lmad
MCP Nedir?
MCP Nedir?
MCP (Model Context Protocol), AI asistanlarının dış veri kaynakları ve araçlarına bağlanmasına olanak tanıyan açık bir standarttır. AI’nın eğitim verileriyle sınırlı kalmasını önleyen MCP, ona şu fırsatları sağlar:
- Uygulamanızın kod tabanını gerçek zamanlı sorgulama
- Kodunuzu analiz edebilen araçlara erişim
- Gerçek kodunuza dayalı bağlam odaklı yardım sağlama
MCP’yi AI asistanları ile Laravel uygulamanız arasında bir “köprü” olarak düşünün.
Kurulum
Kurulum
Bu paketi kullanmak için en az PHP 8.2 ve Laravel 11.0’a ihtiyacınız var.
composer require 0xmergen/lmad
Kurulumdan sonra, LMAD otomatik olarak Laravel uygulamanızda MCP sunucusunu kaydedecektir.
AI Asistanınızı Yapılandırma
AI Asistanınızı Yapılandırma
LMAD, MCP destekleyen birkaç AI asistanıyla çalışmaktadır. İşte nasıl ayarlayacağınız:
Claude Code
Claude Code
Claude Desktop yapılandırma dosyanızı oluşturun veya düzenleyin:
macOS/Linux: ~/.claude.json
{
"mcpServers": {
"lmad": {
"command": "php",
"args": [
"artisan",
"mcp:start",
"lmad"
],
"env": {
"APP_ENV": "local"
}
}
}
}
Cline (VS Code)
Cline (VS Code)
VS Code Marketplace’den Cline eklentisini yükleyin.
VS Code Ayarlarını açın, “Cline: MCP Servers” için arama yapın ve ekleyin:
{
"lmad": {
"command": "php",
"args": [
"artisan",
"mcp:start",
"lmad"
],
"env": {
"APP_ENV": "local"
}
}
}
Cursor
Cursor
Cursor, yerleşik MCP desteğine sahiptir. Cursor ayarlarınızda sunucu yapılandırmasını ekleyin:
{
"mcpServers": {
"lmad": {
"command": "php",
"args": [
"artisan",
"mcp:start",
"lmad"
],
"env": {
"APP_ENV": "local"
}
}
}
}
Yapılandırmayı tamamladıktan sonra, AI asistanınızı yeniden başlatın. LMAD araçları, Laravel projeniz üzerinde çalışırken kullanılabilir olacaktır.
LMAD Neler Sağlar?
LMAD Neler Sağlar?
LMAD, AI asistanlarının Laravel API’lerinizi anlaması için kullanabileceği 5 MCP aracı sunar:
-
list_api_routes– Tüm API rotalarını listeleme ve filtreleme -
get_route_details– Detaylı rota bilgisi alma -
get_request_rules– FormRequest doğrulama kurallarını analiz etme -
get_response_schema– API’lerin döndürdüğü veriyi anlama -
analyze_endpoint– Tam uç nokta analizi (hepsi bir arada)
API Rotalarını Listeleme
API Rotalarını Listeleme
list_api_routes aracı, isteğe bağlı filtreler ile tüm API rotalarını listelemeyi sağlar. Örneğin, tüm CRM ile ilgili rotaları bulmak için:
Bu araç, kapsamlı bilgiler sunar, bunlar arasında:
- Rota URI’si ve HTTP metodu
- Kontrolcü sınıfı ve metodu
- Rota middleware’ı
- Kolay gezinme için dosya yolları
Laravel Boost’un temel rota listelemesinin aksine, LMAD şunları sunar:
- Wildcard desen eşleştirme (
api/crm/*) - Birden fazla filtre seçeneği (metod, alan adı, satış dışı)
- Tam dosya konumları
İstek Doğrulamasını Analiz Etme
İstek Doğrulamasını Analiz Etme
LMAD’in en güçlü özelliklerinden biri get_request_rules aracıdır. Bu araç, FormRequest doğrulama kurallarını analiz eder.
App\Http\Requests\Crm\Company\StoreRequest gibi bir FormRequest için, bu araç şunları döndürür:
{
"class": "App\\Http\\Requests\\Crm\\Company\\StoreRequest",
"rules": {
"name": ["required", "string", "max:255"],
"tax_number": ["nullable", "string", "max:50"],
"email": ["nullable", "email", "max:255"],
"employee_count": ["nullable", "integer", "min:0"],
"status": ["nullable", "in:active,inactive,prospect"]
},
"custom_messages": {},
"custom_attributes": {},
"authorization": {
"type": "bool",
"returns": true
}
}
Bu durum, AI asistanınıza şunları sağlar:
- Geçerli API istek yükleri oluşturma
- Doğrulama hata senaryolarını anlama
- Hangi alanların zorunlu/isteğe bağlı olduğunu bilme
- Yetkilendirme mantığını bir bakışta görme
Yanıt Şemalarını Anlama
Yanıt Şemalarını Anlama
get_response_schema aracı, API uç noktalarınızın gerçekten ne döndürdüğünü analiz eder.
JsonResource döndüren bir kontrolcü yöntemi için:
{
"type": "json_resource",
"resource_class": "App\\Http\\Resources\\Crm\\Company\\CompanyResource",
"fields": [
"id",
"name",
"tax_number",
"email",
"phone",
"website",
"address",
"city",
"country",
"employee_count",
"status",
"customers_count",
"contacts_count",
"created_at",
"updated_at"
],
"file": "app/Http/Resources/Crm/Company/CompanyResource.php",
"start_line": 13
}
Artık AI asistanınız:
- API yanıtlarının tam yapısını biliyor
- Hangi alanların döndüğünü biliyor
- Resource sınıfını nerede bulacağını biliyor
- Koşullu alanlar gibi
whenCounted()kullanımlarını anlayabiliyor
Tam Uç Nokta Analizi
Tam Uç Nokta Analizi
analyze_endpoint aracı her şeyi tek bir çağrıda birleştirir. POST api/crm/companies için, bu araç şunları döndürür:
{
"route": {
"uri": "api/crm/companies",
"method": "POST",
"middleware": ["api"],
"name": "companies.store"
},
"controller": {
"class": "App\\Http\\Controllers\\Crm\\CompanyController",
"method": "store",
"file": "app/Http/Controllers/Crm/CompanyController.php",
"start_line": 23
},
"request": {
"class": "App\\Http\\Requests\\Crm\\Company\\StoreRequest",
"rules": {
"name": ["required", "string", "max:255"],
"tax_number": ["nullable", "string", "max:50"]
}
},
"response": {
"type": "json_response",
"status_code": 201
}
}
Bu bilgilerle, AI asistanları:
- Doğru API çağrılarını oluşturabilir
- Geçerli test durumları oluşturabilir
- Uygun belgeler yazabilir
- Tam istek/yanıt akışını anlayabilir
LMAD ile Laravel Boost Karşılaştırması
LMAD ile Laravel Boost Karşılaştırması
| Özellik | LMAD | Laravel Boost |
|---|---|---|
| Rota Listeleme | ✅ | ✅ |
| FormRequest Analiz | ✅ | ❌ |
| Yanıt Şeması | ✅ | ❌ |
| Dosya Konumları | ✅ | ❌ |
| Yetkilendirme Mantığı | ✅ | ❌ |
| Tam Analiz | ✅ | ❌ |
Laravel Boost, temel rota bilgileri sağlarken, LMAD çok daha derin bir analiz sunar.
Nasıl Çalışır?
Nasıl Çalışır?
LMAD, kodunuzu çalıştırmadan analiz etmek için PHP Reflection kullanır:
- Rota Keşfi – Laravel’in rota koleksiyonunu
RouteFacade::getRoutes()üzerinden analiz eder - Kontrolcü İncelemesi – Yöntem imzalarını çıkarmak için yansıma kullanır
- İstek Analizi – FormRequest kurallarını (string ve dizi formatlarında) analiz eder
- Yanıt Analizi – JsonResource, Model ve Yanıt türlerini belirler
- Toplama – Her şeyi yapılandırılmış JSON olarak birleştirir
Bu sayede:
- Hiçbir kod yürütme gerekmiyor
- Üretimde kullanmak için güvenli
- Herhangi bir Laravel proje yapısıyla çalışır
- Laravel 12 ile uyumlu (Kernel.php gerektirmez)
Gerçek Dünyada Kullanım Senaryoları
Gerçek Dünyada Kullanım Senaryoları
1. Otomatik API Dokümantasyonu Üretme
AI asistanınız, gerçek FormRequest ve JsonResource sınıflarına dayalı isabetli belgeler üretebilir.
2. Entegrasyon Testleri Yazma
$this->postJson('/api/crm/companies', [
'name' => 'Acme Corp',
'email' => '[email protected]',
'employee_count' => 50
])->assertCreated();
3. API İstemcisi Oluşturma
Gerçek JsonResource alanlarına dayalı TypeScript arayüzleri üretin:
interface Company {
id: number;
name: string;
tax_number?: string;
email?: string;
employee_count?: number;
status?: 'active' | 'inactive' | 'prospect';
created_at: string;
updated_at: string;
}
Sonuç
Sonuç
LMAD, AI kod asistanları ile çalışırken Laravel geliştiricileri için önemli bir boşluğu doldurur. MCP üzerinden derin API analizleri sunarak, AI asistanlarının Laravel API’lerini basit rota listelemelerinden çok daha derin bir seviyede anlamasını sağlar.
Doküman oluşturma, test yazma veya API istemcileri oluşturma gibi işlemlerde LMAD, geliştirme iş akışınızı önemli ölçüde hızlandırabilir.
Paketi GitHub’da kontrol edebilirsiniz: https://github.com/0xmergen/lmad
Meta Veriler
Meta Veriler
Etiketler: laravel, mcp, model context protocol, ai, api, discovery, laravel 12, claude code, cursor, copilot
Yazar: @0xmergen
Tahmini Okuma Süresi: 5-7 dakika
Kategori: Paketler
Kaynak: Orijinal Makale


