Sử dụng Laravel để tạo MCP server của riêng bạn
Claude có thể làm việc với ứng dụng Laravel của bạn. Bạn không cần phải xây dựng một REST API hay viết một client tùy chỉnh. Bạn có thể cung cấp các công cụ (tools) thông qua Model Context Protocol (MCP).
Gói laravel/mcp giúp việc này trở nên dễ dàng. Bạn có thể xây dựng một MCP server chỉ trong một buổi chiều.
Một MCP server cung cấp ba thứ cho AI: • Tools: Các hành động mà mô hình gọi, chẳng hạn như tìm kiếm đơn hàng. • Resources: Dữ liệu chỉ đọc mà mô hình lấy để làm ngữ cảnh. • Prompts: Các mẫu (template) có thể tái sử dụng.
Cách xây dựng:
- Thiết lập
Cài đặt gói qua Composer:
composer require laravel/mcp
Xuất các route của bạn:
php artisan vendor:publish --tag=ai-routes
- Tạo một Server
Một server nhóm các công cụ và tài nguyên của bạn lại. Tạo một server bằng lệnh:
php artisan make:mcp-server OrdersServer
Đăng ký nó trong routes/ai.php. Bạn có thể chạy một web server cho các client từ xa hoặc một server cục bộ cho các công cụ như Claude Code.
- Tạo Tools
Tools thực hiện công việc thực tế. Tạo một tool bằng lệnh:
php artisan make:mcp-tool SearchOrdersTool
Một tool cần hai phương thức: • Schema: Định nghĩa các đối số mà mô hình gửi đi. • Handle: Chạy logic và trả về phản hồi.
Hãy viết mô tả rõ ràng. Mô hình sẽ sử dụng các mô tả này để quyết định khi nào nên sử dụng tool của bạn.
Sử dụng Annotations Sử dụng các attribute để mô tả hành vi của tool: • IsReadOnly: Tool không thay đổi dữ liệu. • IsDestructive: Tool thay đổi hoặc xóa dữ liệu. • IsIdempotent: Chạy hai lần cho kết quả giống như chạy một lần.
Bảo mật Server của bạn Các web MCP server là các endpoint công khai. Hãy đối xử với chúng như bất kỳ API nào khác. Sử dụng middleware để bảo vệ chúng. Laravel Sanctum hoặc Passport hoạt động rất tốt cho việc xác thực.
Kiểm tra công việc của bạn Sử dụng MCP Inspector để kiểm tra server của bạn một cách thủ công:
php artisan mcp:inspector orders
Bạn cũng có thể viết các bài kiểm tra PHPUnit tiêu chuẩn để đảm bảo các tool của mình hoạt động chính xác.
Giờ đây bạn đã có một giao diện tiêu chuẩn để AI tương tác với ứng dụng của mình. Bạn không cần phải viết bất kỳ mã giao thức nào. Chỉ cần thêm các tool, mô tả chúng rõ ràng và bảo mật chúng bằng middleware.
Bạn đã kết nối MCP server với cái gì rồi? Hãy cho tôi biết dưới phần bình luận nhé.
Nguồn: https://dev.to/accreditly/use-laravel-to-create-your-own-mcp-server-251g