PHP MCP Server for Laravel

PHP MCP Server for Laravel

site icon
2025.04.28 1
PHPLaravel 集成MCP 协议开发效率
PHP MCP Server for Laravel 是一个将 Laravel 应用程序与 Model Context Protocol (MCP) 集成的工具包,允许开发者通过简单的 PHP 属性将应用程序的部分功能暴露为 MCP 工具、资源和提示。它提供了自动发现、HTTP+SSE 和 stdio 传输支持,以及 Laravel 的缓存、日志和容器集成。
View on GitHub

Overview

基本能力

产品定位

PHP MCP Server for Laravel 是一个用于将 Laravel 应用程序与 Model Context Protocol (MCP) 集成的工具包,允许开发者通过简单的 PHP 属性将应用程序的部分功能暴露为 MCP 工具、资源和提示。

核心功能

  • 自动将 Laravel 的缓存、日志和容器集成到 MCP 服务器中。
  • 通过 config/mcp.php 提供配置选项。
  • 注册 Artisan 命令(mcp:serve, mcp:discover, mcp:list)。
  • 设置 HTTP+SSE 传输路由和控制器。
  • 与 Laravel 的事件系统集成,支持动态更新。

适用场景

  • 在 Laravel 应用程序中暴露自定义工具、资源和提示。
  • 通过 MCP 协议与客户端(如 Cursor、Claude Desktop)进行交互。
  • 在开发和生产环境中使用不同的发现策略。

工具列表

  • mcp:serve: 启动 MCP 服务器。
  • mcp:discover: 发现并缓存 MCP 元素。
  • mcp:list: 列出已发现的 MCP 元素。

常见问题解答

  • 开发环境 vs. 生产环境: 在开发环境中自动发现元素,而在生产环境中需要手动运行 mcp:discover
  • HTTP+SSE 传输问题: 内置的 php artisan serve 开发服务器无法可靠处理 SSE 请求,建议使用 Nginx + PHP-FPM 或 Laravel Octane。
  • CSRF 保护: 需要将 MCP POST 路由从 CSRF 验证中排除。

使用教程

使用依赖

  • PHP >= 8.1
  • Laravel >= 10.0
  • php-mcp/server (作为依赖安装)

安装教程

  1. 通过 Composer 安装包: bash composer require php-mcp/laravel
  2. LaravelMcpServiceProvider 将自动被 Laravel 发现和注册。
  3. 发布配置文件: bash php artisan vendor:publish --provider="PhpMcp\Laravel\Server\LaravelMcpServiceProvider" --tag="mcp-config"

调试方式

  1. 列出已发现的 MCP 元素: bash php artisan mcp:list
  2. 启动 MCP 服务器: bash php artisan mcp:serve
  3. 手动发现元素(生产环境): bash php artisan mcp:discover

许可证

该项目遵循 MIT 开源许可条款,请参阅 MIT 了解完整条款。