PHPackages                             immaxp/laravel-mcp-suite - PHPackages - PHPackages  [Skip to content](#main-content)[PHPackages](/)[Directory](/)[Categories](/categories)[Trending](/trending)[Leaderboard](/leaderboard)[Changelog](/changelog)[Analyze](/analyze)[Collections](/collections)[Log in](/login)[Sign up](/register)

1. [Directory](/)
2. /
3. [Framework](/categories/framework)
4. /
5. immaxp/laravel-mcp-suite

ActiveLibrary[Framework](/categories/framework)

immaxp/laravel-mcp-suite
========================

Firebase-style MCP capability suite for Laravel applications.

v0.1.0(2mo ago)00MITPHPPHP ^8.3

Since Apr 10Pushed 1mo agoCompare

[ Source](https://github.com/Emmaxp183/laravel-loki-mcp)[ Packagist](https://packagist.org/packages/immaxp/laravel-mcp-suite)[ RSS](/packages/immaxp-laravel-mcp-suite/feed)WikiDiscussions main Synced 1w ago

READMEChangelogDependencies (4)Versions (2)Used By (0)

Laravel MCP Suite
=================

[](#laravel-mcp-suite)

`Laravel MCP Suite` adds a Laravel-focused MCP server to your app.

It is built on top of [`laravel/mcp`](https://github.com/laravel/mcp) and gives MCP clients a safe way to inspect your Laravel project, run a small allowlisted set of actions, and read or edit approved files.

GitHub repository: [Emmaxp183/laravel-loki-mcp](https://github.com/Emmaxp183/laravel-loki-mcp)

What You Get
------------

[](#what-you-get)

- Laravel tools for app info, routes, models, schema, record mutations, logs, config, tests, and safe Artisan commands
- File tools for listing, reading, patching, and writing approved project files
- Storage tools for listing, reading, writing, and deleting allowlisted Laravel storage objects
- Queue tools for listing, retrying, and deleting failed Laravel queue jobs
- Generator tools for scaffolding Laravel CRUD APIs and web CRUD flows
- Resources for routes, models, schema, recent errors, and project conventions
- Prompt helpers for debugging, CRUD scaffolding, feature tests, and route/controller review

Quick Start
-----------

[](#quick-start)

```
composer require immaxp/laravel-mcp-suite
php artisan mcp:install
```

That command adds the MCP setup files your app needs:

- `config/laravel-mcp.php`
- `config/mcp.php`
- `routes/ai.php`
- `docs/project-conventions.md`

It also prints ready-to-use client snippets for `Codex CLI` and `Claude Code`.

How It Starts
-------------

[](#how-it-starts)

The package starts in local stdio mode.

The default local MCP command is:

```
php artisan mcp:start app
```

Most clients will run that for you.

Safe By Default
---------------

[](#safe-by-default)

- Read tools are on by default.
- Write-capable tools only work automatically in `local`.
- File editing is on by default in `local`.
- HTTP mode is off by default.
- HTTP mode uses shared-token auth by default.
- Artisan access is allowlist-only.
- Tool output is sanitized.
- Tool calls are audit logged.

Web Transport
-------------

[](#web-transport)

If you need a protected HTTP endpoint:

1. Set `laravel-mcp.server.enable_web_server` to `true`
2. Set `LARAVEL_MCP_SHARED_TOKEN`
3. Keep `laravel-mcp.server.auth.mode` as `shared_token`

The default HTTP endpoint is `/mcp/app`.

Requests must send either `Authorization: Bearer ` or the configured shared-token header.

If you want OAuth metadata for desktop clients, install Laravel Passport, switch `laravel-mcp.server.auth.mode` to `passport_oauth`, and review `config/mcp.php`.

Source File Editing
-------------------

[](#source-file-editing)

The package exposes these file tools:

- `laravel-files-list`
- `laravel-files-read`
- `laravel-files-patch`
- `laravel-files-write`

In the current default config, patch and write are enabled in `local` because:

```
'file_tools' => [
    'allow_code_edits' => true,
],
```

Outside `local`, or if you set that flag to `false`, write requests are denied.

Even when writes are allowed, they are still limited to approved directories such as `app/`, `routes/`, `database/`, `config/`, and `tests/`.

Laravel Storage Access
----------------------

[](#laravel-storage-access)

The package also exposes these storage tools:

- `laravel-storage-list`
- `laravel-storage-read`
- `laravel-storage-write`
- `laravel-storage-delete`

These operate on Laravel storage disks, not source files. They stay separate from the source-file editor so runtime storage access can be allowlisted independently.

Default storage config:

```
'modules' => [
    'storage' => true,
],

'storage_tools' => [
    'allow_writes_in_local' => true,
    'allow_writes_elsewhere' => false,
    'allowed_disks' => ['local'],
    'allowed_prefixes' => [
        'local' => ['mcp/'],
    ],
    'max_bytes' => 262144,
],
```

By default, MCP storage access is limited to the `local` disk under the `mcp/` prefix. Writes and deletes remain local-only unless you explicitly open them up in config.

Database Record Mutations
-------------------------

[](#database-record-mutations)

The package also exposes these database mutation tools:

- `laravel-db-record-create`
- `laravel-db-record-update`
- `laravel-db-record-delete`

These operate directly on allowlisted tables through the query builder. They do not run raw SQL and they do not dispatch Eloquent model events.

Default database mutation config:

```
'database_tools' => [
    'allow_mutations_in_local' => true,
    'allow_mutations_elsewhere' => false,
    'allowed_tables' => [],
    'allowed_keys' => ['id'],
    'max_rows_per_call' => 1,
],
```

By default, database mutation requests are denied until you explicitly allow tables in `allowed_tables`. Updates and deletes are also limited to allowlisted key columns.

CRUD Generators
---------------

[](#crud-generators)

The package exposes two generator tools:

- `laravel-crud-api-generate`
- `laravel-crud-web-generate`

Both tools stay behind the normal local-only code edit guard. The API generator writes model, migration, requests, API resource, API controller, API route registration, and a feature test. The web generator writes model, migration, requests, web controller, Blade views, web route registration, and a feature test.

Failed Queue Jobs
-----------------

[](#failed-queue-jobs)

The package exposes these failed-queue tools:

- `laravel-queue-failed-list`
- `laravel-queue-failed-retry`
- `laravel-queue-failed-delete`

The list tool is read-only. Retry and delete stay behind a dedicated queue mutation gate:

```
'modules' => [
    'queues' => true,
],

'queue_tools' => [
    'allow_mutations_in_local' => true,
    'allow_mutations_elsewhere' => false,
],
```

By default, retry and delete only run in `local`. Both mutation tools work on one failed job id at a time.

Documentation
-------------

[](#documentation)

- [Installation](docs/installation.md)
- [Safety Model](docs/safety-model.md)
- [Use With Codex CLI](docs/clients/codex-cli.md)
- [Use With Claude Code](docs/clients/claude-code.md)
- [Extending The Package](docs/extending.md)

###  Health Score

34

—

LowBetter than 75% of packages

Maintenance88

Actively maintained with recent releases

Popularity0

Limited adoption so far

Community6

Small or concentrated contributor base

Maturity38

Early-stage or recently created project

 Bus Factor1

Top contributor holds 100% of commits — single point of failure

How is this calculated?**Maintenance (25%)** — Last commit recency, latest release date, and issue-to-star ratio. Uses a 2-year decay window.

**Popularity (30%)** — Total and monthly downloads, GitHub stars, and forks. Logarithmic scaling prevents top-heavy scores.

**Community (15%)** — Contributors, dependents, forks, watchers, and maintainers. Measures real ecosystem engagement.

**Maturity (30%)** — Project age, version count, PHP version support, and release stability.

###  Release Activity

Cadence

Unknown

Total

1

Last Release

60d ago

### Community

Maintainers

![](https://www.gravatar.com/avatar/424e4d1cadfce2fb324e5bfdc93e02fcf045efd3c27cf8a2dfe74bbe0ea4a9b7?d=identicon)[immaxp](/maintainers/immaxp)

---

Top Contributors

[![immaXp](https://avatars.githubusercontent.com/u/41510090?v=4)](https://github.com/immaXp "immaXp (14 commits)")

---

Tags

laravelmcpaiModel Context Protocolassistant

###  Code Quality

TestsPHPUnit

### Embed Badge

![Health badge](/badges/immaxp-laravel-mcp-suite/health.svg)

```
[![Health](https://phpackages.com/badges/immaxp-laravel-mcp-suite/health.svg)](https://phpackages.com/packages/immaxp-laravel-mcp-suite)
```

###  Alternatives

[laravel/boost

Laravel Boost accelerates AI-assisted development by providing the essential context and structure that AI needs to generate high-quality, Laravel-specific code.

3.5k17.6M507](/packages/laravel-boost)[laravel/octane

Supercharge your Laravel application's performance.

4.0k24.7M203](/packages/laravel-octane)[php-mcp/laravel

Laravel SDK for building Model Context Protocol (MCP) servers - Seamlessly integrate MCP tools, resources, and prompts into Laravel applications

472122.4k2](/packages/php-mcp-laravel)[unopim/unopim

UnoPim Laravel PIM

10.1k2.2k](/packages/unopim-unopim)[nasirkhan/laravel-starter

A CMS like modular Laravel starter project.

1.4k2.7k](/packages/nasirkhan-laravel-starter)[vizra/vizra-adk

Vizra Agent Development Kit - A comprehensive Laravel package for building intelligent AI agents.

29431.7k](/packages/vizra-vizra-adk)

PHPackages © 2026

[Directory](/)[Categories](/categories)[Trending](/trending)[Changelog](/changelog)[Analyze](/analyze)
