使用 Laravel 创建你自己的 MCP 服务器
Claude 可以与你的 Laravel 应用协同工作。你无需构建 REST API 或编写自定义客户端。你可以通过 Model Context Protocol (MCP) 来暴露工具。
laravel/mcp 扩展包让这一切变得简单。你可以在一个下午内构建出一个 MCP 服务器。
MCP 服务器为 AI 提供三样东西: • Tools(工具):模型调用的操作,例如搜索订单。 • Resources(资源):模型为了获取上下文而提取的只读数据。 • Prompts(提示词):可重用的模板。
如何构建:
- 设置
通过 Composer 安装扩展包:
composer require laravel/mcp
发布你的路由:
php artisan vendor:publish --tag=ai-routes
- 创建服务器
服务器将你的工具和资源进行分组。使用以下命令生成一个:
php artisan make:mcp-server OrdersServer
在 routes/ai.php 中进行注册。你可以为远程客户端运行 Web 服务器,也可以为像 Claude Code 这样的工具运行本地服务器。
- 创建工具
工具负责执行实际的工作。使用以下命令生成一个工具:
php artisan make:mcp-tool SearchOrdersTool
一个工具需要两个方法: • Schema:定义模型发送的参数。 • Handle:运行逻辑并返回响应。
编写清晰的描述。模型会根据这些描述来决定何时使用你的工具。
使用注解 (Annotations) 使用属性 (Attributes) 来描述工具的行为: • IsReadOnly:工具不会更改数据。 • IsDestructive:工具会更改或删除数据。 • IsIdempotent:运行两次的结果与运行一次相同。
保护你的服务器 Web MCP 服务器是公开的端点。请像对待其他任何 API 一样对待它们。使用中间件进行保护。Laravel Sanctum 或 Passport 非常适合用于身份验证。
测试你的工作 使用 MCP Inspector 手动测试你的服务器:
php artisan mcp:inspector orders
你也可以编写标准的 PHPUnit 测试,以确保你的工具运行正确。
你现在拥有了一个让 AI 与你的应用程序交互的标准接口。你不需要编写任何协议代码。只需添加工具、清晰地描述它们,并使用中间件进行安全防护即可。
你已经将 MCP 服务器连接到了什么?在评论区告诉我吧。
Source: https://dev.to/accreditly/use-laravel-to-create-your-own-mcp-server-251g