基本能力
产品定位
Laravel MCP 是一个用于 Laravel 应用程序的模型上下文协议实现,旨在通过标准化 API 实现应用程序与 AI 助手或其他系统之间的通信。
核心功能
- MCP 服务器支持:通过 STDIO 传输创建 MCP 服务器(HTTP 传输暂不支持)。
- 资源管理:
EloquentResourceProvider
:暴露 Eloquent 模型。InMemoryResourceProvider
:暴露自定义数据结构或非 Eloquent 数据。- 工具定义:
- 内置示例工具(如
HelloTool
和ClockTool
)。 - 支持自定义工具,通过实现
ToolInterface
来定义特定操作。 - 与 Claude Desktop 集成:可以将 MCP 服务器添加到 Claude Desktop 配置中,以便在 Claude 中使用。
适用场景
- 数据库操作:通过工具实现数据库记录的增删改查。
- 外部 API 集成:通过工具调用第三方服务 API。
- 文件管理:上传、下载或处理文件。
- 认证与授权:验证用户凭证或生成令牌。
- 报告生成:生成报告或导出数据。
- 邮件/通知:向用户发送消息。
工具列表
- HelloTool:简单的 hello world 示例工具。
- ClockTool:返回当前时间的工具。
- 自定义工具:用户可以通过实现
ToolInterface
创建自定义工具,例如调用 Artisan 命令的工具。
常见问题解答
- 是否支持生产环境使用?:目前该包仍处于开发阶段,不建议用于生产环境。
- 是否支持 HTTP 传输?:目前仅支持 STDIO 传输,HTTP 传输将在未来添加。
- 如何测试 MCP 服务器?:可以使用 Modelcontext Protocol Inspector 进行测试。
使用教程
使用依赖
- 确保已安装 PHP 和 Composer。
- 确保已安装 Laravel 框架。
安装教程
- 通过 Composer 安装包:
bash
composer require innoge/laravel-mcp - 创建一个命令来启动 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 [
// 列出你的资源提供者
];
}
}
调试方式
- 使用 Modelcontext Protocol Inspector 测试 MCP 服务器:
bash
npx @modelcontextprotocol/inspector php /path/to/your/app/artisan mcp:serve - 运行测试:
bash
composer test