mcp-server-laravel
mcp-server-laravel
Laravel Codebase MCP Server — introspect routes, models, controllers, migrations, and more through the Model Context Protocol. Works with any AI client that supports MCP: opencode, Claude Desktop, Cursor, and others.
Stop grepping your Laravel codebase. Let your AI assistant answer "what routes exist?", "show me the User model", or "list all migrations" instantly.
Quick Start
# Install
npx mcp-server-laravel-codebase
# Or clone
git clone git@github.com:rendi-febrian/mcp-server-laravel-codebase.git
cd mcp-server-laravel-codebase
npm install && npm run buildopencode Configuration
Add to ~/.config/opencode/opencode.json:
{
"mcp": {
"laravel-codebase": {
"type": "local",
"command": ["node", "/path/to/mcp-server-laravel/dist/index.js"],
"environment": {
"LARAVEL_PROJECT_PATH": "/path/to/your/laravel-project"
},
"enabled": true
}
}
}Claude Desktop / Cursor / Other MCP Clients
{
"mcpServers": {
"laravel-codebase": {
"command": "node",
"args": ["/path/to/mcp-server-laravel/dist/index.js"],
"env": {
"LARAVEL_PROJECT_PATH": "/path/to/your/laravel-project"
}
}
}
}Features
Tools
Tool | Description | Example |
| All routes with method, URI, controller, middleware |
|
| All Eloquent models with paths and namespaces |
|
| Single model: columns, relations, casts, policies |
|
| Controllers with optional route mapping |
|
| Laravel version, env, packages, config |
|
| Migration status (ran/pending) |
|
| Scheduled tasks with frequency |
|
| Events and registered listeners |
|
| Middleware aliases with class names |
|
| All registered Artisan commands |
|
| Run read-only Artisan commands |
|
Resources
URI | Content |
| Application info (version, env, drivers) |
| Full route table as JSON |
Security
artisan_run is restricted to read-only commands:
route:list · model:show · about · migrate:status · schedule:list · event:list · middleware · db:show · db:table · config:show · queue:failed · package:discover
Write operations (migrate, make:*, db:wipe, etc.) are blocked.
Requirements
Node.js >= 18
PHP 8.1+ with
phpon PATHA Laravel project (Laravel 9/10/11/12/13)
Environment Variables
Variable | Required | Default | Description |
| Yes | — | Absolute path to Laravel project root |
| No |
| Path to PHP binary |
Switching Projects
Point LARAVEL_PROJECT_PATH at any Laravel project. No rebuild needed.
// Inspect FlightManagement API
"LARAVEL_PROJECT_PATH": "/home/user/Kerjaan/FlightManagement"
// Inspect admin panel
"LARAVEL_PROJECT_PATH": "/home/user/Projects/admin-panel"Architecture
src/
├── index.ts # MCP server entry point (raw Server)
├── artisan.ts # PHP exec wrapper + whitelist
├── scanner.ts # Laravel filesystem scanner
├── tools/
│ ├── routes.ts # routes_list, routes_cache, routes_clear
│ ├── models.ts # models_list, model_detail
│ ├── controllers.ts # controllers_list
│ ├── migrations.ts # migrations_list
│ ├── schedule.ts # schedule_list
│ ├── events.ts # events_list
│ ├── middleware.ts # middleware_list
│ ├── about.ts # app_about
│ ├── commands.ts # commands_list
│ └── artisan.ts # artisan_run
└── resources/
└── index.ts # laravel:// URIsNo external API calls — everything runs locally via php artisan commands and filesystem scanning.
Contributing
See CONTRIBUTING.md.