Content
# Panduan Implementasi Laravel MCP 🤖
Laravel MCP menyediakan cara yang elegan agar klien AI (seperti Antigravity, Cursor, Windsurf, atau Claude Desktop) dapat berinteraksi langsung dengan aplikasi Laravel kamu menggunakan [Model Context Protocol](https://modelcontextprotocol.io/).
Dokumentasi ini adalah versi Bahasa Indonesia untuk mempermudah integrasi dasar MCP di project Laravel kamu.
---
## 🚀 1. Instalasi
Langkah pertama, instal package Laravel MCP menggunakan Composer:
```bash
composer require laravel/mcp
```
Setelah berhasil terinstal, _publish_ file routing khusus AI yang akan digunakan untuk mendaftarkan server:
```bash
php artisan vendor:publish --tag=ai-routes
```
Perintah ini akan membuat file baru bernama `routes/ai.php`.
---
## 🛠️ 2. Membuat Server MCP
Server MCP adalah jembatan utama yang memperkenalkan Tool, Resource, dan Prompt dari aplikasi Laravel kamu kepada AI.
Buat server baru menggunakan Artisan:
```bash
php artisan make:mcp-server MyLocalServer
```
_Class_ server ini akan di-generate di dalam folder `app/Mcp/Servers/MyLocalServer.php`.
---
## 🔗 3. Mendaftarkan Server
Setelah membuat server, kita harus mendaftarkannya ke dalam sistem agar bisa diakses oleh AI lokal. Buka file `routes/ai.php` dan tambahkan kode berikut:
```php
<?php
use App\Mcp\Servers\MyLocalServer;
use Laravel\Mcp\Facades\Mcp;
// Mendaftarkan server lokal (untuk diakses via CLI/Command Line)
Mcp::local('mylocalserver', MyLocalServer::class);
// Jika kamu butuh server jarak jauh (Web HTTP API)
// Mcp::web('/mcp/api', MyLocalServer::class);
```
---
## ⚙️ 4. Menghubungkan ke AI Assistant (Antigravity/Cursor)
AI Assistant harus tahu di mana posisi Laravel kamu berada. Konfigurasi ini biasanya dilakukan di setting MCP bawaan Assistant kamu (misalnya di `mcp_config.json` Windows).
Tambahkan konfigurasi berikut ke file konfigurasi MCP AI-mu:
```json
{
"mcpServers": {
"laravel-mcp": {
"command": "php",
"args": [
"C:\\path\\lengkap\\ke\\project-laravelmu\\artisan",
"mcp:start",
"mylocalserver"
]
}
}
}
```
*Catatan: Ganti path `artisan` di atas dengan absolute path milik project kamu, misalnya `d:\DataFiles\laragon\www\my-ai-project\artisan`.*
**PENTING**: Setelah mensetting konfigurasi, pastikan me-restart Assistant AI (atau restart MCP Server-nya) agar pengaturan baru bisa berjalan.
---
## 🔨 5. Membuat Tool untuk AI
*Tools* adalah fungsi spesifik di dalam Laravel yang bisa dipanggil dan dikontrol oleh AI. Contohnya, mari kita membuat tool untuk mengecek data cuaca:
```bash
php artisan make:mcp-tool GetWeatherTool
```
Buka `app/Mcp/Tools/GetWeatherTool.php` dan isi dengan konfigurasi logic serta parameter yang dibutuhkan, agar AI paham cara menggunakannya:
```php
<?php
namespace App\Mcp\Tools;
use Illuminate\Contracts\JsonSchema\JsonSchema;
use Laravel\Mcp\Request;
use Laravel\Mcp\Response;
use Laravel\Mcp\Server\Attributes\Description;
use Laravel\Mcp\Server\Tool;
#[Description('Mengambil data cuaca berdasarkan lokasi yang diberikan oleh pengguna.')]
class GetWeatherTool extends Tool
{
/**
* Logika utama yang dijalankan saat AI memanggil Tool ini.
*/
public function handle(Request $request): Response
{
// 1. Parameter ditarik dari argumen yang diberikan AI
$location = $request->get('location');
// 2. Lakukan logic Laravel di sini (contoh: load data via API eksternal/Database)
// $weather = WeatherAPI::get($location);
// 3. Kembalikan nilainya ke AI dalam format text / format lain
return Response::text("Cuaca saat ini di {$location} adalah Cerah dengan suhu 30°C.");
}
/**
* Daftarkan jenis input/parameter argumen yang WAJIB diberikan oleh AI.
*/
public function schema(JsonSchema $schema): array
{
return [
'location' => $schema->string()
->description('Nama kota atau lokasi untuk dicek cuacanya.')
->required(),
];
}
}
```
---
## 📦 6. Mendaftarkan Tool ke dalam Server
Agar AI dapat mengetahui fungsi `GetWeatherTool` yang baru dibuat, kita harus daftarkan tool tersebut ke dalam **Server utama** yang tadi sudah diregistrasikan (`MyLocalServer.php`).
Buka `app/Mcp/Servers/MyLocalServer.php` lalu masukkan _class_ Tool ke variabel `$tools`:
```php
<?php
namespace App\Mcp\Servers;
use App\Mcp\Tools\GetWeatherTool; // Import filenya
use Laravel\Mcp\Server\Attributes\Instructions;
use Laravel\Mcp\Server\Attributes\Name;
use Laravel\Mcp\Server\Attributes\Version;
use Laravel\Mcp\Server;
#[Name('My Laravel Local Server')]
#[Version('1.0.0')]
#[Instructions('Server ini memberikan akses AI ke data dan fungsi di sistem Laravel.')]
class MyLocalServer extends Server
{
/**
* List tools yang dapat dikontrol AI melalui server ini.
*/
protected array $tools = [
GetWeatherTool::class, // Tambahkan Tool yang dibuat ke sini!
];
}
```
✨ **Selesai!** Sekarang AI di dalam editormu siap berinteraksi dua arah dan menjalankan fungsi-fungsi logic pintar secara otomatis langsung dari dalam project Laravel-mu.
Connection Info
You Might Also Like
Train-in-Silence
The first Task-Aware MCP server and automated VRAM calculator for LLM...
stacklit
108,000 lines of code. 4,000 tokens of index. One command makes any repo...
AppClaw
AI-powered mobile automation agent — describe what you want in plain...
pdf-mcp
Production-ready MCP server for PDF processing with intelligent caching....
kotadb
Local-only code intelligence API for AI developer workflows (Bun +...
gemini-api-docs-mcp
A remote HTTP MCP server for searching Google Gemini API documentation.