
PHP MCP Server for Laravel

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
(作为依赖安装)
安装教程
- 通过 Composer 安装包:
bash composer require php-mcp/laravel
LaravelMcpServiceProvider
将自动被 Laravel 发现和注册。- 发布配置文件:
bash php artisan vendor:publish --provider="PhpMcp\Laravel\Server\LaravelMcpServiceProvider" --tag="mcp-config"
调试方式
- 列出已发现的 MCP 元素:
bash php artisan mcp:list
- 启动 MCP 服务器:
bash php artisan mcp:serve
- 手动发现元素(生产环境):
bash php artisan mcp:discover