Croft 是专门为 Laravel 开发者设计的 MCP 服务器,由 Laravel 开发者构建。我们希望有一个即插即用的解决方案来提高生产力,因此我们创建了这个工具。php artisan croft 命令提供了工具给您的 MCP 客户端,帮助您的 AI 配对程序员更好地工作。此包特别设计用于提供本地有用的工具。
通过 usecroft.com » 托管服务器添加更多功能。
通过 Composer 安装包:
composer require usecroft/laravel --dev
发布配置文件:
php artisan vendor:publish --tag="croft-config"
在您的 IDE 中添加:
php artisan croft:install
通过 usecroft.com » 托管服务器添加更多功能(即将推出)。
要使用 Croft,您需要将其作为 MCP 服务器添加到您最喜欢的工具中。
MCP 客户端需要运行的命令是 ./artisan croft
Cursor (文档)
我们建议您在项目中包含一个 mcp.json 文件,位于 .cursor/mcp.json
{
"mcpServers": {
"croft": {
"command": "./artisan",
"args": ["croft"]
}
}
}
通过 usecroft.com » 远程 MCP 服务器添加更多功能(即将推出)。
添加自己的工具非常简单。
只需创建一个扩展我们 Croft\Feature\Tool\AbstractTool 类的类,然后确保它在您的 croft.php 配置文件中。
示例:
<?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()
{
// 根据 MCP 规范设置注解
$this->setTitle('{{NAME}}')
->setReadOnly(true) // 只列出命令,不进行修改
->setDestructive(false) // 没有破坏性操作
->setIdempotent(true); // 可安全重试
}
public function getName(): string
{
return '{{NAME}}';
}
public function getDescription(): string
{
return '必须很好地解释该工具可以做什么,以便 MCP 客户端决定何时使用它。';
}
/**
* MCP 客户端需要提供哪些参数才能使用此工具?
**/
public function getInputSchema(): array
{
return [
'type' => 'object',
'properties' => (object) [
],
'required' => [],
];
}
public function handle(array $arguments): ToolResponse
{
return ToolResponse::text("你好,这是伟大的开始。");
}
}
添加工具后,您需要重启服务器,或者请求 MCP 客户端重新列出工具。
Croft 由 Ashley Hindle 开发,并得到了 Springloaded 的支持。如果您喜欢它,请给它点赞,分享它,并告诉我们!
Ashley Hindle
Springloaded