Command Palette

Search for a command to run...

UnylyUnyly
Browse all

Server Laravel

FreeNot checked

Enables AI assistants to introspect a Laravel application's routes, models, controllers, migrations, and more through the Model Context Protocol, running locall

GitHubEmbed

About

Enables AI assistants to introspect a Laravel application's routes, models, controllers, migrations, and more through the Model Context Protocol, running locally via php artisan commands and filesystem scanning.

README

npm License Node CI GitHub stars

Laravel Codebase MCP Server Demo
Browse routes, models, controllers, migrations via MCP

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 [email protected]:rendi-febrian/mcp-server-laravel-codebase.git
cd mcp-server-laravel-codebase
npm install && npm run build

opencode 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
routes_list All routes with method, URI, controller, middleware routes_list(method: "GET")
models_list All Eloquent models with paths and namespaces models_list()
model_detail Single model: columns, relations, casts, policies model_detail(name: "User")
controllers_list Controllers with optional route mapping controllers_list(detail: true)
app_about Laravel version, env, packages, config app_about()
migrations_list Migration status (ran/pending) migrations_list()
schedule_list Scheduled tasks with frequency schedule_list()
events_list Events and registered listeners events_list()
middleware_list Middleware aliases with class names middleware_list()
commands_list All registered Artisan commands commands_list(filter: "make")
artisan_run Run read-only Artisan commands artisan_run(command: "route:list --json")

Resources

URI Content
laravel://about Application info (version, env, drivers)
laravel://routes 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 php on PATH
  • A Laravel project (Laravel 9/10/11/12/13)

Environment Variables

Variable Required Default Description
LARAVEL_PROJECT_PATH Yes Absolute path to Laravel project root
PHP_BINARY No php 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:// URIs

No external API calls — everything runs locally via php artisan commands and filesystem scanning.

Contributing

See CONTRIBUTING.md.

License

MIT

from github.com/rendi-febrian/mcp-server-laravel-codebase

Install Server Laravel in Claude Desktop, Claude Code & Cursor

Recommended · one command, every IDE
unyly install mcp-server-laravel

Installs into Claude Desktop, Claude Code, Cursor & VS Code — handles npx, uvx and build-from-source repos for you.

First time? Get the CLI: curl -fsSL https://unyly.org/install | sh

Or configure manually

Run in your terminal:

claude mcp add mcp-server-laravel -- npx -y mcp-server-laravel-codebase

FAQ

Is Server Laravel MCP free?

Yes, Server Laravel MCP is free — one-click install via Unyly at no cost.

Does Server Laravel need an API key?

No, Server Laravel runs without API keys or environment variables.

Is Server Laravel hosted or self-hosted?

Self-hosted: the server runs locally on your machine via the install command above.

How do I install Server Laravel in Claude Desktop, Claude Code or Cursor?

Open Server Laravel on unyly.org, pick your client tab (Claude Desktop, Claude Code, Cursor) and press Install — the config is generated automatically, no JSON editing.

Related MCPs

Compare Server Laravel with

Not sure what to pick?

Find your stack in 60 seconds

Author?

Embed badge for your README

Browse similar

All ai MCPs