0
0
Lập trình
Harry Tran
Harry Tran106580903228332612117

Laravel MCP: Tạo máy chủ Model Context Protocol cho ứng dụng

Đăng vào 7 tháng trước

• 11 phút đọc

Chủ đề:

#ai#api#laravel

Laravel MCP: Tạo máy chủ Model Context Protocol cho ứng dụng

Laravel MCP là một thư viện giúp bạn xây dựng máy chủ Model Context Protocol (MCP) trong các ứng dụng Laravel của bạn. Nó cung cấp một phương pháp có cấu trúc cho các khách hàng AI, chẳng hạn như ChatGPT, Claude và Cursor, để tương tác với các chức năng của ứng dụng của bạn. Bản beta công khai cho Laravel MCP đã được phát hành vào khoảng ngày 18 tháng 9 năm 2025.

Model Context Protocol (MCP) là gì?

Model Context Protocol (MCP) là một tiêu chuẩn mở cho phép các trợ lý AI kết nối an toàn với và sử dụng các công cụ và nguồn dữ liệu bên ngoài. Thay vì tạo các tích hợp tùy chỉnh cho từng mô hình AI, MCP cung cấp một API toàn cầu được thiết kế đặc biệt cho các tác nhân AI.

Laravel MCP hỗ trợ ba phần chính của giao thức:

  • Công cụ: Cho phép các tác nhân AI thực hiện các hành động và thực thi mã. Điều này có thể từ việc gửi email đến tạo hóa đơn trong ứng dụng của bạn.
  • Tài nguyên: Cho phép người dùng chọn và chia sẻ nội dung từ ứng dụng của bạn với một tác nhân AI. Điều này có thể là bất cứ thứ gì từ tài liệu đến hồ sơ người dùng.
  • Lời nhắc: Cung cấp các mẫu có thể tái sử dụng cho việc tương tác với AI, đảm bảo đầu ra nhất quán và đáng tin cậy cho các tác vụ thông thường như kiểm duyệt nội dung hoặc đánh giá mã.

Bắt đầu với Laravel MCP

Yêu cầu

Trước khi cài đặt, hãy đảm bảo môi trường phát triển của bạn đáp ứng các yêu cầu sau:

  • PHP 8.1+
  • Laravel 10, 11 hoặc 12

Cài đặt

Bạn có thể cài đặt Laravel MCP vào dự án của mình bằng cách sử dụng trình quản lý gói Composer:

Copy
composer require laravel/mcp

Sau khi cài đặt xong, bạn cần xuất bản tệp routes/ai.php, nơi bạn sẽ định nghĩa các máy chủ MCP của mình:

Copy
php artisan vendor:publish --tag=ai-routes

Các khái niệm cốt lõi và cách sử dụng

Máy chủ

Máy chủ là điểm giao tiếp chính để phơi bày các khả năng của ứng dụng của bạn cho các khách hàng AI. Bạn có thể tạo một lớp máy chủ mới bằng cách sử dụng lệnh Artisan make:mcp-server.

Laravel MCP hỗ trợ hai loại máy chủ:

  • Máy chủ Web: Có thể truy cập qua HTTP, phù hợp cho các khách hàng AI từ xa. Bạn có thể đăng ký một máy chủ web trong tệp routes/ai.php của bạn bằng cách sử dụng phương thức Mcp::web().
  • Máy chủ Địa phương: Chạy như các lệnh Artisan, lý tưởng cho các tích hợp phát triển địa phương như Laravel Boost. Những máy chủ này được đăng ký bằng phương thức Mcp::local().

Công cụ

Công cụ phơi bày các chức năng của ứng dụng của bạn để các khách hàng AI có thể gọi.

  1. Tạo một Công cụ: Sử dụng lệnh Artisan make:mcp-tool <ToolName>.
  2. Định nghĩa Logic: Trong lớp công cụ được tạo ra, bạn định nghĩa sơ đồ đầu vào, xử lý các yêu cầu đến và trả về phản hồi. Bạn có thể sử dụng các tính năng xác thực và tiêm phụ thuộc của Laravel trong phương thức handle của công cụ.
  3. Đăng ký Công cụ: Thêm lớp công cụ mới của bạn vào mảng $tools trong lớp máy chủ.

Công cụ có thể trả về nhiều loại phản hồi khác nhau, bao gồm văn bản đơn giản, lỗi, nhiều khối nội dung và thậm chí phản hồi luồng cho các tác vụ chạy lâu bằng cách sử dụng PHP generators.

Tài nguyên

Tài nguyên phơi bày dữ liệu và nội dung mà các khách hàng AI có thể sử dụng làm ngữ cảnh.

  1. Tạo một Tài nguyên: Sử dụng lệnh make:mcp-resource <ResourceName>.
  2. Định nghĩa Nội dung: Thực hiện phương thức handle để trả về nội dung của tài nguyên. Tài nguyên được xác định bởi một URI duy nhất và có một loại MIME liên kết (ví dụ: text/plain, application/pdf).
  3. Đăng ký Tài nguyên: Thêm lớp tài nguyên vào mảng $resources trong máy chủ của bạn.

Lời nhắc

Lời nhắc cung cấp các mẫu có thể tái sử dụng cho các tương tác AI phổ biến.

  1. Tạo một Lời nhắc: Sử dụng lệnh make:mcp-prompt <PromptName>.
  2. Định nghĩa Tham số: Bạn có thể định nghĩa các tham số cho phép khách hàng AI tùy chỉnh lời nhắc.
  3. Đăng ký Lời nhắc: Thêm lời nhắc vào mảng $prompts trong lớp máy chủ của bạn.

Xác thực và Ủy quyền

Bạn có thể bảo vệ các máy chủ MCP dựa trên web của mình bằng cách sử dụng middleware. Laravel MCP hỗ trợ hai phương pháp xác thực chính:

  • OAuth 2.1 với Laravel Passport: Đây là phương pháp mạnh mẽ và được hỗ trợ rộng rãi nhất trong số các khách hàng MCP. Nó yêu cầu thiết lập Passport và áp dụng middleware auth:api cho đường dẫn máy chủ của bạn.
  • Dựa trên Token với Laravel Sanctum: Một cách tiếp cận đơn giản hơn, nơi bạn bảo vệ máy chủ của mình bằng middleware auth:sanctum của Sanctum. Khách hàng AI sau đó phải cung cấp một token bearer trong tiêu đề Authorization.

Khi một người dùng được xác thực, bạn có thể thực hiện các kiểm tra ủy quyền trong các công cụ, tài nguyên và lời nhắc của bạn bằng cách truy cập đối tượng người dùng từ yêu cầu ($request->user()).

Kiểm tra Máy chủ MCP của bạn

Laravel MCP cung cấp hai cách để kiểm tra triển khai của bạn:

  • MCP Inspector: Một công cụ tương tác trên dòng lệnh cho phép bạn kết nối với máy chủ của mình, kiểm tra xác thực và tương tác với các công cụ, tài nguyên và lời nhắc của bạn. Bạn có thể chạy nó với php artisan mcp:inspector <server_name_or_uri>.
  • Unit Tests: Bạn có thể viết các bài kiểm tra đơn vị và tính năng cho các phần tử MCP của bạn. Framework cung cấp các phương thức xác nhận để xác minh các phản hồi, kiểm tra lỗi và xác nhận rằng các thông báo đã được gửi. Bạn cũng có thể mô phỏng các yêu cầu từ một người dùng đã xác thực bằng cách sử dụng phương thức actingAs().

Các trường hợp sử dụng chính cho Laravel MCP

Laravel MCP (Model Context Protocol) đóng vai trò như một cầu nối, cho phép các trợ lý AI tương tác một cách an toàn và thông minh với các chức năng và dữ liệu của ứng dụng Laravel của bạn. Các trường hợp sử dụng chính của nó xoay quanh tự động hóa, nâng cao năng suất của nhà phát triển và tạo ra các giải pháp kinh doanh phức tạp do AI điều khiển.

Năng suất của Nhà phát triển và Tương tác với Mã nguồn

Một trong những ứng dụng ngay lập tức của Laravel MCP là nâng cao quy trình phát triển phần mềm. Bằng cách phơi bày các phần của framework Laravel và mã nguồn ứng dụng như là các công cụ, các nhà phát triển có thể sử dụng các trợ lý AI để thực hiện các tác vụ phức tạp bằng các lệnh ngôn ngữ tự nhiên đơn giản.

Các trường hợp sử dụng phổ biến bao gồm:

  • Tạo mã và Scaffolding: Hướng dẫn một AI tạo các bộ điều khiển, mô hình, di chuyển hoặc các thành phần Laravel khác, giúp tăng tốc quy trình phát triển.
  • Quản lý Cơ sở dữ liệu: Cho phép AI chạy các di chuyển cơ sở dữ liệu, truy vấn các bản ghi hoặc tạo báo cáo trực tiếp từ giao diện trò chuyện.
  • Chạy các Lệnh: Kích hoạt các lệnh artisan để quản lý hàng đợi, xóa bộ đệm hoặc thực hiện các tác vụ bảo trì khác mà không cần rời khỏi trình soạn thảo mã hoặc một khách hàng trò chuyện.
  • Kiểm tra Tự động: Sử dụng AI để viết hoặc thực hiện các bài kiểm tra cho các phần cụ thể của ứng dụng, đảm bảo chất lượng và tính toàn vẹn của mã.

Laravel Boost và Laravel Herd là những ví dụ điển hình của điều này, cung cấp một bộ công cụ được xây dựng sẵn để lập trình hỗ trợ AI trong hệ sinh thái Laravel.

Tự động hóa Doanh nghiệp và Quy trình làm việc

Laravel MCP cho phép bạn phơi bày logic kinh doanh cốt lõi của ứng dụng như một tập hợp các công cụ mà một AI có thể sử dụng để thực hiện các hành động thay mặt cho người dùng. Điều này biến một AI trò chuyện thành một người tham gia tích cực trong các quy trình kinh doanh của bạn.

Ví dụ về tự động hóa doanh nghiệp bao gồm:

  • Hóa đơn Tự động: Người dùng có thể yêu cầu một trợ lý AI "tạo một hóa đơn cho khách hàng X với giá 500 đô la," và AI sẽ sử dụng một công cụ MCP để thực hiện chức năng này trong ứng dụng.
  • Quản lý Nội dung: Hướng dẫn một AI tạo, cập nhật hoặc xuất bản nội dung, chẳng hạn như bài viết trên blog hoặc mô tả sản phẩm, trực tiếp vào cơ sở dữ liệu của ứng dụng của bạn.
  • Quản lý Người dùng: Thực hiện các tác vụ quản trị như tạo tài khoản người dùng mới, đặt lại mật khẩu hoặc gán vai trò thông qua giao diện điều khiển do AI điều khiển.
  • Email và Thông báo: Sử dụng AI để soạn thảo và gửi email hoặc kích hoạt thông báo dựa trên các sự kiện cụ thể hoặc yêu cầu của người dùng.

Giải pháp Cấp Doanh nghiệp

Đối với các tổ chức lớn, Laravel MCP cho phép tích hợp AI vào các hệ thống quan trọng, dẫn đến các hoạt động hiệu quả và thông minh hơn.

  • Hỗ trợ Khách hàng Cá nhân hóa: Bằng cách kết nối một AI với hệ thống CRM (như Salesforce hoặc Zendesk) thông qua một máy chủ MCP, AI có thể truy cập lịch sử khách hàng, cung cấp các phản hồi cá nhân hóa và thậm chí tự động cập nhật các vé hỗ trợ. Điều này giảm tải công việc cho các đại lý và cung cấp dịch vụ nhanh hơn.
  • Phát hiện Gian lận: Trong các ứng dụng tài chính, một máy chủ MCP có thể kích hoạt các mô hình phát hiện gian lận tiên tiến theo thời gian thực. Nếu một giao dịch nghi ngờ xảy ra, AI có thể đánh dấu vấn đề, cảnh báo đội ngũ phù hợp và khởi động các biện pháp bảo vệ mà không bị chậm trễ.
  • Bảo trì Dự đoán: Trong các môi trường IoT, MCP có thể kết nối dữ liệu cảm biến với các mô hình bảo trì dự đoán. Khi một cảm biến phát hiện một vấn đề tiềm ẩn với một thiết bị, nó có thể kích hoạt một quy trình làm việc để lên lịch bảo trì, ngăn ngừa thời gian chết và các sửa chữa tốn kém.

Truy cập Dữ liệu và Tích hợp

Ngoài việc thực hiện các hành động, các trợ lý AI có thể sử dụng MCP để truy cập và lấy dữ liệu từ ứng dụng của bạn một cách an toàn, cung cấp cho chúng ngữ cảnh cần thiết để đưa ra thông tin chính xác và liên quan.

  • Lấy Dữ liệu Động: Một AI có thể lấy dữ liệu cụ thể từ ứng dụng của bạn, chẳng hạn như hồ sơ của người dùng, trạng thái của đơn hàng hoặc các cài đặt của ứng dụng, và sử dụng thông tin đó trong phản hồi của nó.
  • Kết nối với các API Bên ngoài: Bạn có thể tạo các công cụ MCP hoạt động như một proxy cho các dịch vụ bên thứ ba. Điều này cho phép một AI tương tác với các API bên ngoài—để xử lý thanh toán hoặc kiểm tra mức tồn kho—thông qua môi trường an toàn và được kiểm soát của ứng dụng Laravel của bạn.
  • Tự động Nhập Dữ liệu: Bằng cách kết hợp MCP với các công nghệ như Nhận diện Ký tự Quang học (OCR), bạn có thể xây dựng các hệ thống nơi một AI có thể đọc tài liệu (như hóa đơn hoặc biên lai) và tự động nhập dữ liệu đó vào ứng dụng của bạn, giảm thiểu nhập liệu thủ công.

Những lưu ý và mẹo thực hành tốt

  • Luôn kiểm tra xem máy chủ MCP của bạn có hoạt động ổn định không thông qua MCP Inspector.
  • Bảo đảm rằng các công cụ và tài nguyên của bạn được thiết kế một cách rõ ràng, dễ hiểu để khách hàng AI có thể sử dụng hiệu quả.
  • Đảm bảo thực hiện xác thực và ủy quyền để bảo vệ dữ liệu và chức năng của ứng dụng.
  • Tối ưu hóa các lệnh và công cụ để đảm bảo hiệu suất tốt nhất cho người dùng cuối.

Những cạm bẫy phổ biến

  • Không xác định rõ các đặc điểm của công cụ và tài nguyên có thể dẫn đến việc AI không hiểu và trả về thông tin sai lệch.
  • Thiếu kiểm tra và xác thực có thể dẫn đến lỗ hổng bảo mật và mất dữ liệu.

Câu hỏi thường gặp (FAQ)

1. Laravel MCP có tương thích với các phiên bản Laravel nào?
Laravel MCP hỗ trợ các phiên bản Laravel 10, 11 và 12.

2. Tôi có thể sử dụng Laravel MCP với các khách hàng AI nào?
Laravel MCP có thể được sử dụng với nhiều khách hàng AI như ChatGPT, Claude và Cursor.

3. Làm thế nào để tôi bảo vệ máy chủ MCP của mình?
Bạn có thể sử dụng middleware như OAuth 2.1 với Laravel Passport hoặc Token-based với Laravel Sanctum để bảo vệ máy chủ của mình.

Kết luận

Laravel MCP là một công cụ mạnh mẽ giúp kết nối các ứng dụng Laravel với các trợ lý AI, mở ra cơ hội cho tự động hóa và cải tiến quy trình làm việc. Hãy khám phá và ứng dụng Laravel MCP vào dự án của bạn để tối ưu hóa hiệu suất và năng suất làm việc. Nếu bạn có bất kỳ câu hỏi nào, hãy tham gia vào cộng đồng Laravel và chia sẻ kinh nghiệm của mình!

Gợi ý câu hỏi phỏng vấn
Không có dữ liệu

Không có dữ liệu

Bài viết được đề xuất
Bài viết cùng tác giả

Bình luận

Chưa có bình luận nào

Chưa có bình luận nào