Giải thích so sánh giữa MCP và API
(norahsakal.com)- MCP (Model Context Protocol) là một giao thức mở mới chuẩn hóa cách các mô hình AI tương tác với công cụ bên ngoài và nguồn dữ liệu
- Giống như cổng USB-C thống nhất cách kết nối nhiều thiết bị, MCP thống nhất cách các hệ thống AI kết nối với nhiều công cụ và nguồn dữ liệu khác nhau
Vì sao nên dùng MCP thay cho API truyền thống
- Tích hợp API truyền thống đòi hỏi phải viết mã riêng, cơ chế xác thực riêng, xử lý lỗi riêng và bảo trì riêng cho từng công cụ và dịch vụ
- API giống như dùng một chiếc chìa khóa riêng cho từng cánh cửa
- Mỗi dịch vụ hoặc công cụ đều cần tích hợp riêng, khiến tài liệu, xác thực, xử lý lỗi và bảo trì trở nên phức tạp
Bối cảnh ra đời của MCP
- MCP là dự án khởi nguồn từ Anthropic, được thiết kế để các mô hình AI như Claude có thể dễ dàng tương tác với công cụ và nguồn dữ liệu
- Hiện tại nó đã được công bố dưới dạng mã nguồn mở và đang được nhiều công ty cùng nhà phát triển áp dụng
- MCP đang dần trở thành một tiêu chuẩn mới cho tương tác của công cụ AI
So sánh MCP với API truyền thống
- Công sức tích hợp: MCP dùng một tiêu chuẩn duy nhất, API truyền thống cần tích hợp riêng lẻ
- Giao tiếp thời gian thực: MCP hỗ trợ, API truyền thống không hỗ trợ
- Khám phá động: MCP có thể, API truyền thống không thể
- Khả năng mở rộng: MCP là plug-and-play, API truyền thống cần tích hợp bổ sung
- Bảo mật và kiểm soát: MCP giữ được tính nhất quán, API truyền thống thì khác nhau
Những điểm khác biệt chính giữa MCP và API truyền thống
- Giao thức duy nhất: Chỉ cần tích hợp MCP một lần là có thể kết nối với nhiều công cụ và dịch vụ
- Khám phá động: Mô hình AI có thể tự động tìm kiếm và tương tác với các công cụ khả dụng mà không cần mã hóa trước
- Giao tiếp hai chiều: Có thể lấy thông tin và thực hiện tác vụ theo thời gian thực (ví dụ: tương tự WebSocket)
Vì sao giao tiếp hai chiều của MCP lại quan trọng
- Lấy dữ liệu: Mô hình AI truy xuất thông tin cần thiết từ máy chủ → ví dụ: kiểm tra lịch
- Thực hiện tác vụ: Mô hình AI gửi lệnh thực hiện tác vụ tới máy chủ → ví dụ: đổi lịch họp, gửi email
Cách MCP hoạt động: kiến trúc
- MCP host: ứng dụng AI như Claude Desktop
- MCP client: duy trì kết nối với máy chủ MCP và trao đổi lệnh cùng dữ liệu
- MCP server: cung cấp các chức năng cụ thể và kết nối với nguồn dữ liệu cục bộ hoặc từ xa
- Nguồn dữ liệu cục bộ: tệp, cơ sở dữ liệu, v.v.
- Dịch vụ từ xa: API bên ngoài và các dịch vụ dựa trên Internet
- MCP không xử lý logic phức tạp mà đóng vai trò điều phối luồng dữ liệu giữa mô hình AI và công cụ
Ví dụ thực tế về MCP client
- Script Python (
client.py) tương tác với Gmail, Slack, ứng dụng lịch và nhiều công cụ khác - Việc dùng một giao thức duy nhất loại bỏ quy trình tích hợp phức tạp và cho phép bổ sung tính năng nhanh chóng
Ví dụ sử dụng MCP
1. Trợ lý lập lịch du lịch
- Dùng API truyền thống: Cần viết mã và xác thực riêng cho Google Calendar, email, API đặt chỗ hãng hàng không, v.v.
- Dùng MCP: Có thể kiểm tra lịch, đặt vé máy bay và gửi email bằng một giao thức MCP duy nhất
2. IDE nâng cao (trình biên tập mã thông minh)
- Dùng API truyền thống: Cần tích hợp riêng cho hệ thống tệp, quản lý phiên bản, trình quản lý gói, v.v.
- Dùng MCP: Tích hợp qua MCP → gợi ý mã và cung cấp ngữ cảnh phong phú hơn
3. Phân tích dữ liệu phức hợp
- Dùng API truyền thống: Kết nối thủ công với từng cơ sở dữ liệu và công cụ trực quan hóa
- Dùng MCP: Một lớp MCP duy nhất có thể tự động tương tác với nhiều nguồn dữ liệu
Lợi ích của việc triển khai MCP
- Đơn giản hóa phát triển: Viết một lần, áp dụng cho nhiều công cụ
- Tính linh hoạt: Không cần tái cấu hình phức tạp khi thay đổi mô hình AI hoặc công cụ
- Khả năng phản hồi thời gian thực: Kết nối MCP luôn hoạt động, cho phép cập nhật và tương tác theo thời gian thực
- Bảo mật và tuân thủ: Duy trì kiểm soát truy cập và bảo mật nhất quán
- Khả năng mở rộng: Khi cần thêm tính năng mới, chỉ cần kết nối thêm máy chủ MCP mới
Khi nào API truyền thống phù hợp hơn
- API truyền thống có lợi thế hơn khi cần tương tác chính xác và có thể dự đoán được
- API truyền thống phù hợp khi cần tối ưu hiệu năng và mức độ kiểm soát cao
Các trường hợp API truyền thống có lợi thế
- Khi cần kiểm soát chi tiết và chức năng giới hạn
- Khi tối ưu hiệu năng là yếu tố quan trọng
- Khi chỉ cần mức tự chủ ngữ cảnh ở mức tối thiểu
Bắt đầu với MCP: các bước chính
- Định nghĩa chức năng: Xác định các chức năng sẽ được cung cấp trên máy chủ MCP
- Triển khai lớp MCP: Phát triển theo đặc tả giao thức MCP
- Chọn phương thức truyền tải: Quyết định dùng cục bộ (Stdio) hay từ xa (Server-Sent Events/WebSockets)
- Tạo tài nguyên/công cụ: Phát triển các nguồn dữ liệu và dịch vụ sẽ được cung cấp
- Thiết lập client: Thiết lập kết nối an toàn giữa máy chủ MCP và client
Tóm tắt
- MCP: Giao diện chuẩn hóa để AI agent tương tác với công cụ bên ngoài và dữ liệu
- API: Cần tích hợp riêng lẻ và đòi hỏi nhiều thao tác thủ công hơn
MCP hỗ trợ các mô hình AI dễ dàng tích hợp công cụ và dữ liệu bên ngoài, đồng thời tương tác theo thời gian thực
Kết luận
- MCP cung cấp một khung tiêu chuẩn thống nhất để các mô hình AI tương tác với công cụ bên ngoài và dữ liệu
- Đây không chỉ là một API đơn thuần mà còn là giải pháp kết nối mạnh mẽ giúp các ứng dụng AI có thể tương tác thông minh hơn, động hơn và lấy ngữ cảnh làm trung tâm
3 bình luận
Tôi thắc mắc liệu MCP có thể trở thành JSON hay không.
Tôi nghĩ MCP không phải là một tiêu chuẩn cho truyền dữ liệu đến mức trở thành JSON, và nó còn quá khó một cách không cần thiết.
Ý kiến trên Hacker News
MCP cho phép thêm công cụ trong thời gian chạy, nhờ đó người dùng có thể bổ sung các chức năng tùy ý vào ứng dụng LLM
Điều quan trọng nhất mà nhà phát triển cần hiểu về MCP là đây là một giao thức để tải động chức năng bổ sung vào ứng dụng AI
Đặt câu hỏi về việc MCP khác gì so với các nỗ lực lớp API trước đây
MCP được Anthropic tạo ra và đang được chấp nhận rộng rãi
Đề xuất một giao thức khác tên là ANP (AgentNetworkProtocol)
Đã tuyển chọn hàng trăm máy chủ MCP để mọi người có thể truy cập và khám phá
MCP gần tương đương với HTML và giải quyết tốt các tính năng như khám phá "công cụ" động
Tất cả các mô hình AI lớn đã có thể viết mã để giao tiếp hoàn hảo với các API quen thuộc, nổi tiếng
Giao thức MCP rất giống với Language Server Protocol (LSP)