MCP ExplorerExplorer

Croft Laravel

@usecrofton 9 months ago
49 Apache-2.0
FreeCommunity
AI Systems
#ai#laravel#mcp
MCP server for all of your Laravel projects - better AI pair programming, coming soon..

Overview

What is Croft Laravel

croft-laravel is an MCP server designed specifically for local Laravel development, enhancing AI pair programming capabilities.

Use cases

Use cases include generating database queries, managing routes, accessing configuration keys, and integrating custom tools for specific project needs.

How to use

To use croft-laravel, install it via Composer and publish the configuration file. Add it as an MCP server in your preferred tool by running the command ‘./artisan croft’.

Key features

Key features include screenshot URLs, InertiaJS documentation access, database querying, retrieving absolute URLs, getting current date and time, reading log entries, and listing routes and artisan commands.

Where to use

croft-laravel is ideal for local Laravel development environments, particularly for developers looking to enhance their productivity with AI-assisted programming.

Content

Croft Laravel

Croft is an MCP server designed specifcally for Laravel developers, by Laravel developers. We wanted a plug and play solution to boosting productivity, so we built one. The php artisan croft command provides tools to your MCP client to help your AI pair programmer work better. This package is specifically designed to offer tools that are useful locally.

Add even more functionality with usecroft.com » hosted servers.

Installation

Install the package via composer:

composer require usecroft/laravel --dev

Publish the config file with:

php artisan vendor:publish --tag="croft-config"

Add to your IDE:

php artisan croft:install

Add more functionality with usecroft.com » hosted servers (coming soon)

Usage

To make use of Croft you need to add it as an MCP server in your favourite tool.

The command the MCP client needs to run is ./artisan croft

Cursor (Docs)

We recommend you ship an mcp.json file with your project in .cursor/mcp.json

{
  "mcpServers": {
    "croft": {
      "command": "./artisan",
      "args": [
        "croft"
      ]
    }
  }
}

Current functionality

  • Screenshot URLs
  • Query database (read only, or read write)
  • Get absolute URL from relative path
  • Get current date and time
  • Read last X log entries
  • Read & filter database structure - tables, columns, indexes, foreign keys
  • List/filter routes
  • List artisan commands
  • List available config() keys (and optionally values) in dot notation
  • List available env() keys (without leaking secrets of course)

Extra functionality

Add more functionality with usecroft.com » remote MCP servers (coming soon).

Add your own tools

It’s trivial to add your own tools.

Just create a class that extends our Croft\Feature\Tool\AbstractTool class, then make sure it’s in your croft.php config file.

Example:

<?php

declare(strict_types=1);

namespace Croft\Tools;

use Croft\Feature\Tool\AbstractTool;
use Croft\Feature\Tool\ToolResponse;

class {{CLASSNAME}} extends AbstractTool
{
    public function __construct()
    {
        // Setup annotations according to MCP specification
        $this->setTitle('{{NAME}}')
            ->setReadOnly(true)        // Just listing commands, no modifications
            ->setDestructive(false)    // No destructive operations
            ->setIdempotent(true);     // Safe to retry
    }

    public function getName(): string
    {
        return '{{NAME}}';
    }

    public function getDescription(): string
    {
        return 'Must explain well what the tool can do so the MCP client can decide when to use it.';
    }

    /**
    * What params does the MCP client need to provide to use this tool?
    **/
    public function getInputSchema(): array
    {
        return [
            'type' => 'object',
            'properties' => (object) [
            ],
            'required' => [],
        ];
    }

    public function handle(array $arguments): ToolResponse
    {
        return ToolResponse::text("Howdy, this is the start of something great.");
    }
}

After adding a tool you’ll need to restart the server, or ask the MCP client to relist the tools.

Support & Credits

Croft was developed by Ashley Hindle with support from Springloaded. If you like it, please star it, share it, and let us know!

Ashley Hindle

Springloaded

Tools

No tools

Comments

Recommend MCP Servers

View All MCP Servers