README
🚀 专用于本地 Laravel 开发的 Croft MCP 服务器
本项目提供了一系列 Artisan 命令,可增强 AI 代码助手(如 ChatGPT)与 Laravel 结合使用时的表现。它专为本地开发环境优化,还能通过 croft.fyi 提供的主机服务添加更多功能。

🚀 快速开始
要使用 Croft MCP 服务器,您需要完成安装和配置步骤,然后将其添加到您的首选工具中。
📦 安装指南
安装包
通过 Composer 安装包:
composer require ashleyhindle/croft --dev
发布配置文件
php artisan vendor:publish --tag="croft-config"
添加更多功能
通过 croft.fyi 提供的主机服务添加更多功能。
💻 使用示例
基础用法
要使用 Croft,您需要将其作为 MCP 服务器添加到您的首选工具中。MCP 客户端需要运行的命令是 ./artisan croft。
以 Cursor 为例(文档),我们建议在项目根目录下创建一个 .cursor/mcp.json 文件:
{
"mcpServers": {
"croft": {
"command": "./artisan",
"args": ["croft"]
}
}
}
✨ 主要特性
- 截图 URL 链接:提供截图的 URL 链接功能。
- 获取当前日期和时间:可获取当前的日期和时间。
- 查看最近的 X 条日志记录:方便查看最近的日志信息。
- 查看并过滤数据库结构:支持查看和过滤数据库的表、字段、索引、外键等结构。
- 列出并筛选路由:能够列出和筛选项目中的路由。
- 列出 artisan 命令:可查看所有可用的 artisan 命令。
- 列出可用的 config() 键(点表示法):以点表示法列出可用的
config()键。 - 列出可用的 env() 键:列出可用的
env()键,且不会泄露任何秘密。
🔧 额外功能
通过 croft.fyi 提供的主机服务添加更多功能。
🔧 添加自定义工具
要添加自己的工具,只需创建一个扩展 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 客户端重新列出可用工具。
📄 支持与致谢
此项目由 Ashley Hindle 开发。如果您喜欢它,请点赞、分享,并告诉我!
Scan to join WeChat group