mindum / laravel
The agent layer for Laravel — auto-generated MCP tools from your codebase.
Requires
- php: ^8.2
- illuminate/console: ^10.0|^11.0|^12.0|^13.0
- illuminate/contracts: ^10.0|^11.0|^12.0|^13.0
- illuminate/filesystem: ^10.0|^11.0|^12.0|^13.0
- illuminate/http: ^10.0|^11.0|^12.0|^13.0
- illuminate/support: ^10.0|^11.0|^12.0|^13.0
- laravel/mcp: ^0.5.3
- nikic/php-parser: ^5.0
Requires (Dev)
- laravel/pint: ^1.13
- orchestra/testbench: ^8.0|^9.0|^10.0
- phpunit/phpunit: ^10.5|^11.0
README
The agent layer for Laravel — auto-generated MCP tools from your codebase.
Install Mindum into any Laravel app to give your end users a conversational interface to your app's business logic. Mindum scans your models, services, controllers, jobs, and repositories, and uses AI to automatically generate MCP tool definitions — no manual tool writing required.
Status: early access. Active development — see
CHANGELOG.mdfor what's shipped.
Requirements
- PHP 8.2+
- Laravel 10+ (CI-tested on 10, 12, and 13)
- A Mindum account (mindum.dev) for the API key
- An Anthropic API key (only required during local
mindum:chattesting; the hosted orchestrator handles it in production)
Install
composer require mindum/laravel php artisan mindum:install
The install command scans your codebase, sends a structural manifest (metadata only — never raw source code) to the Mindum API, receives back AI-generated MCP tool definitions, and registers them with laravel/mcp.
Configuration
Publish the config file:
php artisan vendor:publish --tag=mindum-config
Then set in your .env:
MINDUM_API_KEY=your-mindum-api-key ANTHROPIC_API_KEY=your-anthropic-key # only needed for local mindum:chat testing
See config/mindum.php for all available options (scan paths, exclusions, tool output directory, MCP endpoint path).
Commands
| Command | Purpose |
|---|---|
mindum:install |
Full first-time setup: scan, analyze, register tools |
mindum:rescan |
Force re-analysis of the entire codebase |
mindum:status |
Show tool count, sync status, connection health |
mindum:chat |
Interactive terminal chat for testing tools locally |
What Mindum scans
The SDK extracts structural metadata (class names, method signatures, type hints, docblocks, validation rules) from:
- Eloquent models (fillable, casts, relationships, soft deletes, searchable traits)
- Action classes (
extends BaseServicepattern or similar) - Controllers in
app/Http/Controllers/(with form request resolution + inlinevalidate()parsing) - Jobs in
app/Jobs/(constructor-based input, sync dispatch only) - Repositories in
**/Repositories/(Prettus L5-style inherited methods + concrete custom methods)
Modular apps (like Bagisto with packages/Webkul/*/src/) are supported via scan_paths config.
Security
Mindum sends only structural metadata to its API — class names, method signatures, type hints, docblocks, and validation rules. Your actual source code never leaves your server. Tool execution always runs locally in your Laravel app.
A detailed security policy (SECURITY.md) is coming soon.
License
MIT. See LICENSE.
Built with love for the Laravel community.