🚀 Laravel MCP 中文文档
Laravel MCP 是一个强大的包,它允许 Laravel 应用程序借助标准化 API 与 AI 助手及其他系统进行通信。通过使用该包,开发者能以简单的方式扩展应用程序功能,实现与外部工具和服务的交互。
🚀 快速开始
Laravel MCP 为 Laravel 应用程序提供了与外部系统通信的能力,下面将详细介绍其安装和使用方法。
📦 安装指南
要安装 Laravel MCP,只需运行以下命令:
composer require laravel/mcp
💻 使用示例
基础用法
设置 MCP 服务器
若要创建一个 MCP 服务器,请按以下步骤操作:
- 在
app/Console/Commands
目录下创建一个新的命令文件,例如 McpServerCommand.php
。
- 在该文件中,添加以下代码:
<?php
namespace App\Console\Commands;
use Illuminate\Console\Command;
use InnoGE\LaravelMCP\Tools\ServesMcpServer;
class McpServerCommand extends Command
{
protected function signature(): string
{
return 'mcp:serve';
}
protected function description(): string
{
return '启动 MCP 服务器。';
}
public function handle()
{
$this->registerMcpServer();
return 0;
}
protected function registerMcpServer()
{
}
}
- 注册命令到
app/Console/Kernel.php
:
protected function commands()
{
require app_path('Console/Commands/McpServerCommand.php');
}
- 启动服务器:
php artisan mcp:serve
资源
概念
资源是 MCP 服务器的核心功能,它允许外部系统查询和操作数据。例如,您可以创建一个资源来表示应用程序中的用户。
创建资源
在 app/Models
目录下创建一个新的模型文件,例如 UserResource.php
:
<?php
namespace App\Models;
use Illuminate\Database\Eloquent\Model;
use InnoGE\LaravelMCP\Resources\Resource;
class UserResource extends Model implements Resource
{
protected $table = 'users';
}
注册资源
在 app/Providers/AppServiceProvider.php
中注册资源:
public function register()
{
$this->app->singleton(UserResource::class, function () {
return new UserResource();
});
}
工具
概念
工具是 MCP 服务器的核心功能,允许外部系统通过执行命令来操作应用程序。例如,您可以创建一个工具来发送邮件。
创建工具
在 app/Tools
目录下创建一个新的工具文件,例如 SendEmailTool.php
:
<?php
namespace App\Tools;
use InnoGE\LaravelMCP\Tools\Tool;
class SendEmailTool implements Tool
{
public function getName(): string
{
return 'send-email';
}
public function getDescription(): string
{
return '发送邮件。';
}
public function getInputSchema(): array
{
return [
'type' => 'object',
'properties' => [
'to' => [
'type' => 'string',
'description' => '收件人邮箱地址。',
],
'subject' => [
'type' => 'string',
'description' => '邮件主题。',
],
'body' => [
'type' => 'string',
'description' => '邮件正文内容。',
],
],
'required' => ['to', 'subject', 'body'],
];
}
public function execute(array $parameters): string
{
return '邮件已成功发送。';
}
}
注册工具
在 app/Providers/AppServiceProvider.php
中注册工具:
public function register()
{
$this->app->singleton(SendEmailTool::class, function () {
return new SendEmailTool();
});
}
测试
使用 Modelcontext Protocol Inspector 测试
要测试 MCP 服务器,请运行以下命令:
php artisan mcp:serve
然后在浏览器中访问 http://localhost:8000
。
配置 Claude Desktop
要在 Claude Desktop 中使用 MCP 服务器,请按照以下步骤操作:
- 打开 Claude Desktop。
- 点击顶部菜单栏中的 File,然后选择 New Connection。
- 在连接设置中输入您的 MCP 服务器地址(例如
http://localhost:8000
)。
- 点击 Connect。
🤝 贡献
如果您有任何问题或建议,请在 GitHub 上提出 Issues 或 Pull Requests。
🔒 安全政策
请参考 安全政策文档 以了解更多信息。
📄 许可证
Laravel MCP 是在 MIT 许可证下发布的。请参考 LICENSE 以获取详细信息。