返回 MCP 目录
public公开dns本地运行

croft

Croft是一个专为本地Laravel开发设计的MCP服务器工具包,通过Artisan命令提供多种开发辅助功能,如截图URL、日志读取、数据库结构查看等,支持自定义工具扩展。

article

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 开发。如果您喜欢它,请点赞、分享,并告诉我!

help

运行方式说明

cloud

托管运行

托管运行通常表示这个 MCP Server 由服务方环境承载,用户一般按页面提供的连接方式或授权流程接入,不需要在本地长期启动一个 MCP 进程

  1. 打开服务方连接页
  2. 完成授权或复制端点
  3. 在 MCP 客户端中连接
terminal

本地运行 / 其它方式

本地运行通常需要用户在自己的电脑或服务器上安装依赖,把 server_config 复制到 MCP 客户端,并按 env_schema 补齐环境变量、密钥或其它配置

  1. 复制 server_config
  2. 安装所需依赖
  3. 补齐环境变量后重启客户端