Bỏ qua đến nội dung chính

Introducing MCP

📖 Nội dung bài học

Tóm tắt

Model Context Protocol (MCP) là một lớp giao tiếp cung cấp ngữ cảnh và tool cho Claude mà không yêu cầu bạn phải viết hàng đống mã tích hợp (integration code) tẻ nhạt. Hãy coi đây là một cách để chuyển bớt gánh nặng định nghĩa và thực thi tool từ server của bạn sang các MCP server chuyên dụng.

Khi mới tiếp cận MCP, bạn sẽ thấy các sơ đồ mô tả kiến trúc cơ bản: một MCP Client (server của bạn) kết nối với các MCP Server chứa các tool, prompt và resource. Mỗi MCP Server đóng vai trò là một giao diện (interface) kết nối với một dịch vụ bên ngoài.

Vấn đề mà MCP giải quyết

Giả sử bạn đang xây dựng một giao diện chat nơi người dùng có thể hỏi Claude về dữ liệu GitHub của họ. Người dùng có thể hỏi: "Có những pull request nào đang mở trong tất cả các repository của tôi?" Để xử lý việc này, Claude cần các tool để truy cập API của GitHub.

GitHub có vô vàn tính năng - repository, pull request, issue, project và nhiều thứ khác. Nếu không có MCP, bạn sẽ cần tạo ra một lượng lớn tool schema và function để xử lý tất cả các tính năng của GitHub.

Điều này đồng nghĩa với việc bạn phải tự viết, kiểm thử và bảo trì toàn bộ mã tích hợp đó. Đó là một nỗ lực rất lớn và là gánh nặng bảo trì liên tục.

MCP hoạt động như thế nào

MCP giải quyết vấn đề này bằng cách chuyển việc định nghĩa và thực thi tool từ server của bạn sang các MCP server chuyên dụng. Thay vì bạn phải tự viết tất cả các tool cho GitHub, một MCP Server cho GitHub sẽ đảm nhận việc đó.

MCP Server đóng gói hàng loạt chức năng xoay quanh GitHub và cung cấp chúng dưới dạng một bộ tool tiêu chuẩn. Ứng dụng của bạn chỉ cần kết nối với MCP server này thay vì phải triển khai mọi thứ từ đầu.

Giải thích về MCP Server

MCP Server cung cấp quyền truy cập vào dữ liệu hoặc chức năng được triển khai bởi các dịch vụ bên ngoài. Chúng hoạt động như các giao diện chuyên biệt giúp hiển thị các tool, prompt và resource theo cách tiêu chuẩn hóa.

Trong ví dụ về GitHub, MCP Server cho GitHub chứa các tool như get_repos() và kết nối trực tiếp với API của GitHub. Server của bạn giao tiếp với MCP server, và MCP server sẽ xử lý tất cả các chi tiết triển khai (implementation) cụ thể của GitHub.

Các câu hỏi thường gặp

Ai là người tạo ra các MCP Server?

Bất kỳ ai cũng có thể tạo một bản triển khai (implementation) MCP server. Thông thường, chính các nhà cung cấp dịch vụ sẽ tạo ra các bản triển khai MCP chính thức của riêng họ. Ví dụ, AWS có thể phát hành một MCP server chính thức với các tool cho các dịch vụ khác nhau của họ.

Điểm khác biệt so với việc gọi API trực tiếp là gì?

Các MCP server cung cấp các tool schema và function đã được định nghĩa sẵn cho bạn. Nếu bạn muốn gọi một API trực tiếp, bạn sẽ phải tự mình viết các định nghĩa tool đó. MCP giúp bạn tiết kiệm công sức triển khai.

Chẳng phải MCP cũng giống như tool use sao?

Đây là một hiểu lầm phổ biến. MCP server và tool use là hai khái niệm bổ trợ cho nhau nhưng khác nhau. MCP server cung cấp các tool schema và function đã được định nghĩa sẵn, trong khi tool use nói về cách Claude thực sự gọi các tool đó. Sự khác biệt chính nằm ở chỗ ai là người thực hiện công việc - với MCP, một người khác đã triển khai các tool đó cho bạn rồi.

Lợi ích đã quá rõ ràng: thay vì tự mình bảo trì một bộ tích hợp phức tạp, bạn có thể tận dụng các MCP server để xử lý những phần việc nặng nhọc khi kết nối với các dịch vụ bên ngoài.

🔁 Bài học liên quan

📚 Nguồn & ghi nhận

Bài học có hữu ích không?

Góp ý / Báo lỗiPhát hiện sai sót hoặc có ý tưởng cải thiện?