stumason / laravel-kick
This package is abandoned and no longer maintained.
No replacement package was suggested.
Secure remote introspection and control for Laravel applications via HTTP API and MCP
v0.4.1
2026-05-14 12:34 UTC
Requires
- php: ^8.4
- illuminate/contracts: ^12.0
- illuminate/support: ^12.0
- laravel/mcp: ^0.6.0 || ^0.7.0
Requires (Dev)
- larastan/larastan: ^3.0
- laravel/pint: ^1.18
- orchestra/testbench: ^10.0
- pestphp/pest: ^3.0
- pestphp/pest-plugin-laravel: ^3.0
Suggests
None
Provides
None
Conflicts
None
Replaces
None
README
MCP server and REST API for Laravel application introspection.
Connect your MCP client directly to your Laravel app. Check health, read logs, inspect queues, run commands - all through natural conversation.
Installation
composer require stumason/laravel-kick
Add to .env:
KICK_ENABLED=true KICK_TOKEN=your-secure-random-token
MCP Setup
Add to ~/Library/Application Support/Claude/claude_desktop_config.json:
{
"mcpServers": {
"my-app": {
"command": "npx",
"args": [
"mcp-remote@latest",
"https://your-app.com/mcp/kick",
"--transport",
"http-only",
"--header",
"Authorization:${AUTH_HEADER}"
],
"env": {
"AUTH_HEADER": "Bearer your-kick-token"
}
}
}
}
Then ask the LLM:
- "Check the health of my app"
- "Show me the last 20 ERROR entries in the logs"
- "What's failing in the queue?"
- "Clear the config cache"
Available Tools
| Tool | Description |
|---|---|
kick_health |
Database, cache, storage, redis connectivity |
kick_stats |
CPU, memory, disk, uptime |
kick_logs_list |
List log files |
kick_logs_read |
Read logs with filtering |
kick_queue_status |
Queue overview, failed jobs |
kick_queue_retry |
Retry failed jobs |
kick_artisan_list |
List available commands |
kick_artisan_run |
Execute whitelisted commands |
REST API
The same functionality is available via HTTP:
curl -H "Authorization: Bearer $TOKEN" https://app.com/kick/health curl -H "Authorization: Bearer $TOKEN" https://app.com/kick/stats curl -H "Authorization: Bearer $TOKEN" "https://app.com/kick/logs/laravel.log?level=ERROR" curl -X POST -H "Authorization: Bearer $TOKEN" -d '{"command":"cache:clear"}' https://app.com/kick/artisan
See the API documentation for all endpoints.
Security
- Disabled by default (
KICK_ENABLED=false) - Token-based authentication with scopes
- Artisan command whitelist
- Path traversal protection
- Automatic PII scrubbing from logs
Requirements
- PHP 8.4+
- Laravel 12
License
MIT