Laravel 集成 MCP 协议的实战指南

以下是 Laravel 集成 MCP 协议的实战指南,结合生产级最佳实践:

一、环境配置

  1. 基础安装
    使用 Composer 安装官方集成包并发布配置:

    composer require php-mcp/laravel
    php artisan vendor:publish --provider="PhpMcp\Laravel\McpServiceProvider"
    
  2. 协议配置
    修改 config/mcp.php 关键参数:

    'transports' => [
        'sse' => [
            'route' => '/mcp/sse',  // SSE 端点路径
            'middleware' => ['auth:api']  // JWT 认证中间件
        ]
    ],
    'cache_ttl' => 3600  // 元素发现缓存时间
    

二、核心开发

  1. 工具声明
    通过属性注解暴露业务逻辑:

    use PhpMcp\Laravel\Server\Attributes\McpTool;
    
    class FinanceTools {
        #[McpTool(name: "currency_convert", description: "货币汇率转换")]
        public function convert(float $amount, string $from, string $to): array {
            $rate = $this->exchangeService->getRate($from, $to);
            return ['result' => $amount * $rate];
        }
    }
    
  2. 资源注册
    routes/mcp.php 定义可读资源:

    use PhpMcp\Laravel\Facades\Mcp;
    
    Mcp::resource('stock_data', function ($request) {
        return Stock::where('symbol', $request->symbol)
            ->whereBetween('date', [$request->start, $request->end])
            ->get();
    });
    

三、生产部署

环节实施方案技术要点
负载均衡Nginx 轮询 3 个 MCP 节点配置 upstream 健康检查
会话持久化Redis 存储 SSE 连接状态使用 predis 驱动
性能监控集成 Laravel Telescope 追踪工具调用过滤 mcp:* 事件

四、调试技巧

  1. Artisan 命令

    php artisan mcp:list-tools  # 查看已注册工具
    php artisan mcp:serve --stdio  # 本地调试模式
    
  2. 日志分析
    .env 中配置专用日志通道:

    LOG_MCP_CHANNEL=daily
    LOG_MCP_LEVEL=debug
    

五、安全规范

  • CSRF 豁免:在 VerifyCsrfToken 中间件排除 MCP 路由
  • 速率限制:通过 throttle:60,1 中间件控制调用频率
  • 数据校验:在工具方法内使用 Laravel Validator 校验输入
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值