MCP → REST Pattern: Giải Pháp Mới Giúp Kết Nối AI Với Hệ Thống REST API Hiện Có
<toc />
Mở Đầu
<callout>
Trong thời đại AI phát triển nhanh chóng, việc tích hợp các hệ thống hiện có với trí tuệ nhân tạo trở thành thách thức đáng kể.
</callout>
Vài tuần trước, một bài đăng trên LinkedIn của tôi về cách kết nối AI với hệ thống REST API truyền thống đã gây được sự chú ý và mở ra một cuộc thảo luận sôi nổi. Từ đó, tôi phát triển một thử nghiệm nguyên mẫu (POC) để kiểm chứng ý tưởng về một MCP Adapter — một thành phần trung gian giúp chuyển đổi giao thức Model Context Protocol (MCP) sang REST API mà không cần tái xây dựng hệ thống backend. Bài viết này sẽ chia sẻ chi tiết về phát hiện cũng như các bước xây dựng giải pháp.
Chúng ta sẽ cùng khám phá cách thức hoạt động, lợi ích và ví dụ thực tế của MCP → REST Pattern, một phương pháp đơn giản nhưng hiệu quả giúp AI dễ dàng truy cập và sử dụng dịch vụ REST API đã có sẵn.
Vấn Đề Bắt Đầu Mọi Chuyện
Sau khi nghiên cứu giao thức Model Context Protocol (MCP), tôi nhận thấy nhiều người đang tập trung vào việc xây dựng "MCP server" hoàn toàn mới từ đầu. Nhưng điều mà tôi trăn trở là:
Có phải MCP server đơn giản chỉ là một microservice được bọc thêm một lớp giao thức bên ngoài?
Nếu đúng, tại sao chúng ta phải xây mới toàn bộ hệ thống?
<callout>
Ý tưởng trọng tâm: **Biến các dịch vụ REST hiện có thành MCP-compatible thông qua một giao diện chuyển đổi, không cần sửa đổi backend.**
</callout>
Vấn Đề Chúng Ta Đang Giải Quyết
Thay vì hỏi:
"Làm thế nào để xây MCP server?"
Câu hỏi quan trọng hơn là:
"Làm thế nào để khiến hệ thống hiện có tương thích với MCP?"
Nghĩa là tận dụng lại tài sản sẵn có, không tốn công xây dựng lại từ đầu.
So Sánh Thực Tế Các Kiểu Kiến Trúc
| |
---|
Không có MCP (Truyền thống) | AI Agent → Custom Integration Code → REST API → Công cụ |
Có MCP (Cách làm hiện tại) | AI Agent → MCP Client → MCP Server → Công cụ |
MCP → REST Pattern (Cách làm của tôi) | AI Agent → MCP Client → MCP Adapter → REST API hiện có → Microservices |
<callout>
<mark>Điểm nhấn:</mark> MCP Server thường chỉ là một lớp bọc giao thức quanh microservice REST.
</callout>
MCP → REST Pattern: Điều Tôi Đã Xây Dựng
Kiến Trúc Giải Pháp
Như bạn thấy, MCP Adapter đóng vai trò là bộ chuyển đổi giao thức hai chiều, giúp AI Agent (giao tiếp qua MCP/JSON-RPC) và các microservice hiện tại (REST/HTTP) có thể trao đổi dữ liệu một cách liền mạch.
Luồng Giao Tiếp Liên Tiến Trình
Mỗi tiến trình hoạt động độc lập, dùng HTTP chuẩn để giao tiếp. MCP Adapter làm nhiệm vụ dịch sang lại hai giao thức mà không cần liên kết chặt chẽ giữa các thành phần.
Ví Dụ Luồng Yêu Cầu Thực Tế
Giả sử người dùng gửi câu hỏi:
"Hiển thị tất cả đơn hàng của khách hàng John Doe và trạng thái vận chuyển của các đơn hàng"
Quá trình thực hiện như sau:
- Tự động phát hiện dịch vụ (Auto-Discovery): Adapter tự động nhận diện các REST API và xây dựng công cụ tương ứng.
- Thực thi công cụ tuần tự do AI Agent điều phối:
- Gọi tìm khách hàng John Doe → GET /customers/search?name=John+Doe → Trả về customer_id "cust-456"
- Gọi lấy đơn hàng của khách hàng → GET /orders?customer_id=cust-456 → Trả về danh sách đơn hàng
- Gọi lấy trạng thái vận chuyển → GET /orders/shipping?ids=... → Trả về trạng thái từng đơn
- Tổng hợp kết quả và trả lời người dùng
- Không cần thay đổi backend: Các dịch vụ REST vẫn hoạt động như cũ, MCP Adapter đứng giữa làm nhiệm vụ chuyển đổi.
<callout>
<mark>Điều kỳ diệu:</mark> Bạn không cần sửa đổi bất kỳ microservice nào.
</callout>
Thử Nghiệm Với Lệnh Curl Thực Tế
Ví dụ gọi danh sách khách hàng qua MCP Adapter:
Adapter tự động chuyển yêu cầu MCP thành lệnh GET /customers tới dịch vụ khách hàng hiện có, kết quả được đóng gói lại theo chuẩn MCP trả về cho AI.
Những Bài Học Quan Trọng
<callout>
MCP Adapter là một thành phần có mục đích rõ ràng:
✅ Chức năng: Chuyển đổi giao thức giữa MCP và REST.
❌ Không chịu trách nhiệm: Xử lý logic nghiệp vụ, lưu trữ dữ liệu, xác thực hay mạng dịch vụ.
</callout>
Tập trung này giúp giải pháp hoạt động hiệu quả, đơn giản và dễ bảo trì.
Tận Dụng Hạ Tầng Sẵn Có Của Doanh Nghiệp
Các doanh nghiệp hầu như đã có đầy đủ:
- Logic nghiệp vụ được đóng gói trong các microservice
- Hệ thống bảo mật (AuthN/AuthZ)
MCP → REST Pattern tận dụng tất cả thay vì xây lại từ đầu.
MCP Adapter: Một Microservice Thông Thường
Bạn có thể vận hành MCP Adapter như bất kỳ microservice khác:
- Đóng gói trong Docker, Kubernetes
- Giám sát bằng Prometheus, Grafana
- Mở rộng quy mô horizontal
- Áp dụng chính sách bảo mật hiện hữu
Đội ngũ vận hành đã quen xử lý những tài nguyên này mà không cần đào tạo thêm.
<callout>
<mark>Điều này giúp giảm thiểu rào cản khi triển khai tích hợp AI với backend hiện hữu.</mark>
</callout>
Xem Mã Nguồn
POC này đã được mở mã trên GitHub:
https://github.com/deepwissen/mcp_rest_adapter
Tại đây bạn có thể tải về, thử nghiệm và đóng góp để phát triển mẫu kiến trúc này.
Hướng Đi Tiếp Theo
MCP → REST Pattern chỉ mới bắt đầu. Khi cộng đồng áp dụng và phản hồi, mô hình sẽ tiếp tục được hoàn thiện, mở rộng cho nhiều kịch bản mới.
Cùng nhau, chúng ta có thể định hình cách tích hợp AI và hệ thống doanh nghiệp trở nên dễ dàng, linh hoạt hơn.
Tổng Kết
- MCP Server thường là một lớp bọc giao thức quanh REST API hiện có.
- MCP Adapter giúp tiếp cận AI nhanh chóng mà không cần xây dựng lại backend.
- Đây là giải pháp lý tưởng với các hệ thống đã có nền tảng vững chắc.
- Không phù hợp với các workflow AI thuần túy hoặc yêu cầu dữ liệu vector độ trễ thấp.
- Hãy thử nghiệm và đóng góp để cùng phát triển mô hình.
<callout>
<mark>Lời kết:</mark> Hãy trao đổi ý tưởng và chia sẻ trải nghiệm của bạn về việc tích hợp AI với hệ thống hiện có. Đây là cơ hội để cộng đồng chúng ta cùng tiến bước!</callout>
Tham Khảo
- RESTful API Design Best Practices — Fielding, Roy Thomas, 2000.
- "Making AI Accessible to Enterprises" — Industry whitepapers, 2023.