Laravel MCP (Model Context Protocol)

Laravel MCP (Model Context Protocol)

site icon
2025.03.27 6
PHPLaravel 扩展AI 集成API 通信开发效率
Laravel MCP (Model Context Protocol) 是一个 Laravel 包,实现了模型上下文协议(MCP),通过标准化 API 实现 Laravel 应用程序与 AI 助手或其他系统之间的无缝通信。该包目前处于开发阶段,尚未准备好用于生产环境。
View on GitHub

Overview

基本能力

产品定位

Laravel MCP 是一个用于 Laravel 应用程序的模型上下文协议实现,旨在通过标准化 API 实现应用程序与 AI 助手或其他系统之间的通信。

核心功能

  1. MCP 服务器支持:通过 STDIO 传输创建 MCP 服务器(HTTP 传输暂不支持)。
  2. 资源管理
  3. EloquentResourceProvider:暴露 Eloquent 模型。
  4. InMemoryResourceProvider:暴露自定义数据结构或非 Eloquent 数据。
  5. 工具定义
  6. 内置示例工具(如 HelloToolClockTool)。
  7. 支持自定义工具,通过实现 ToolInterface 来定义特定操作。
  8. 与 Claude Desktop 集成:可以将 MCP 服务器添加到 Claude Desktop 配置中,以便在 Claude 中使用。

适用场景

  1. 数据库操作:通过工具实现数据库记录的增删改查。
  2. 外部 API 集成:通过工具调用第三方服务 API。
  3. 文件管理:上传、下载或处理文件。
  4. 认证与授权:验证用户凭证或生成令牌。
  5. 报告生成:生成报告或导出数据。
  6. 邮件/通知:向用户发送消息。

工具列表

  1. HelloTool:简单的 hello world 示例工具。
  2. ClockTool:返回当前时间的工具。
  3. 自定义工具:用户可以通过实现 ToolInterface 创建自定义工具,例如调用 Artisan 命令的工具。

常见问题解答

  1. 是否支持生产环境使用?:目前该包仍处于开发阶段,不建议用于生产环境。
  2. 是否支持 HTTP 传输?:目前仅支持 STDIO 传输,HTTP 传输将在未来添加。
  3. 如何测试 MCP 服务器?:可以使用 Modelcontext Protocol Inspector 进行测试。

使用教程

使用依赖

  1. 确保已安装 PHP 和 Composer。
  2. 确保已安装 Laravel 框架。

安装教程

  1. 通过 Composer 安装包: bash composer require innoge/laravel-mcp
  2. 创建一个命令来启动 MCP 服务器: php <?php namespace App\Console\Commands; use Illuminate\Console\Command; use InnoGE\LaravelMcp\Commands\ServesMcpServer; class McpServerCommand extends Command { use ServesMcpServer; protected $signature = 'mcp:serve'; protected $description = 'Start an MCP server'; public function handle(): int { return $this->serveMcp('your-app-name', '1.0.0'); } private function getTools(): array { return [ // 列出你的工具类 ]; } private function getResources(): array { return [ // 列出你的资源提供者 ]; } }

调试方式

  1. 使用 Modelcontext Protocol Inspector 测试 MCP 服务器: bash npx @modelcontextprotocol/inspector php /path/to/your/app/artisan mcp:serve
  2. 运行测试: bash composer test

许可证

该项目遵循 MIT 开源许可条款。