- Explore MCP Servers
- croft
Croft
What is Croft
Croft is an MCP server tailored for Laravel developers, providing a plug-and-play solution aimed at enhancing productivity. It offers tools that help an AI pair programmer function more effectively in a local development environment.
Use cases
Croft serves multiple purposes, such as facilitating the retrieval of database structures, obtaining absolute URLs, querying logs, and listing available environment variables. It’s particularly useful in scenarios where Laravel developers need quick access to various aspects of their application without leaving their development environment.
How to use
To use Croft, install the package via Composer, publish the configuration file, and add it to your IDE. Set up an MCP server by including the command ‘./artisan croft’ in the mcp.json file of your project. Once configured, you can utilize its various functionalities to enhance your development experience.
Key features
Key features of Croft include taking screenshot URLs, querying the database, managing routes and artisan commands, listing available configuration keys, and filtering log entries. These features aim to provide developers with quick and accessible information about their local applications.
Where to use
Croft is designed for use in local Laravel development environments. It can be integrated with any tool that supports MCP servers, providing Laravel developers with helpful utilities while coding. This makes it a versatile addition to a developer’s toolkit when working on Laravel projects.
Overview
What is Croft
Croft is an MCP server tailored for Laravel developers, providing a plug-and-play solution aimed at enhancing productivity. It offers tools that help an AI pair programmer function more effectively in a local development environment.
Use cases
Croft serves multiple purposes, such as facilitating the retrieval of database structures, obtaining absolute URLs, querying logs, and listing available environment variables. It’s particularly useful in scenarios where Laravel developers need quick access to various aspects of their application without leaving their development environment.
How to use
To use Croft, install the package via Composer, publish the configuration file, and add it to your IDE. Set up an MCP server by including the command ‘./artisan croft’ in the mcp.json file of your project. Once configured, you can utilize its various functionalities to enhance your development experience.
Key features
Key features of Croft include taking screenshot URLs, querying the database, managing routes and artisan commands, listing available configuration keys, and filtering log entries. These features aim to provide developers with quick and accessible information about their local applications.
Where to use
Croft is designed for use in local Laravel development environments. It can be integrated with any tool that supports MCP servers, providing Laravel developers with helpful utilities while coding. This makes it a versatile addition to a developer’s toolkit when working on Laravel projects.
Content
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