- MCP là giao thức chuẩn hóa kênh giao tiếp giữa AI Client (Claude) và các nguồn dữ liệu ngoài qua MCP Server.
- Giải quyết triệt để bài toán bảo trì tích hợp API bằng cách chuyển dịch định nghĩa tool và thực thi từ client sang server chuyên biệt.
- Giúp lập trình viên tái sử dụng các MCP Server có sẵn thay vì tự viết hàng chục tool schema và function wrapper thủ công.
TL;DR — Model Context Protocol (MCP) là giao thức chuẩn hóa kết nối do Anthropic phát triển. Nó hoạt động như một "USB-C cho AI", giúp tách biệt tầng ứng dụng (MCP Client) và tầng kết nối dịch vụ (MCP Server). Thay vì tự code API wrapper thủ công cho từng hệ thống, lập trình viên chỉ việc cắm Client vào các MCP Server để cấp công cụ và dữ liệu cho Claude.
1. Bài toán tích hợp API thủ công và gánh nặng bảo trì (The Problem)
Dưới góc nhìn quản lý dự án (Delivery Manager), việc tích hợp AI vào các hệ thống doanh nghiệp (như GitHub, Slack, Jira, Database...) luôn đi kèm với rủi ro lớn về mặt chi phí bảo trì (maintenance cost) và năng suất của team:
- Cơn ác mộng Glue Code: Để Claude có thể truy vấn dữ liệu từ GitHub (ví dụ: lấy danh sách Pull Requests), bạn phải tự viết hàng chục Tool Schema bằng định dạng JSON Schema, kèm theo đó là code thực thi (API wrapper) để gọi API của GitHub.
- Sự phình to của mã nguồn: GitHub có hàng nghìn endpoint. Nếu muốn mở rộng tính năng (Issues, Projects, Actions...), lượng code tích hợp bạn phải viết, test và bảo hành sẽ phình to nhanh chóng.
- Rủi ro từ bên thứ ba (Third-party API changes): Bất cứ khi nào bên thứ ba thay đổi cấu trúc API hoặc deprecate endpoint cũ, tích hợp của bạn sẽ bị lỗi. Team dev phải liên tục túc trực để sửa lỗi và cập nhật schema.
2. Model Context Protocol (MCP) giải quyết như thế nào? (How MCP Works)
MCP thay đổi hoàn toàn cách chúng ta tiếp cận việc tích hợp bằng nguyên lý Phân tách trách nhiệm (Separation of Concerns).
Thay vì bắt máy chủ ứng dụng của bạn gánh toàn bộ định nghĩa công cụ và thực thi logic, MCP chuyển dịch gánh nặng này sang các MCP Server chuyên biệt (dedicated MCP servers).
┌──────────────┐ Giao thức MCP ┌──────────────┐ API riêng ┌───────────────┐
│ Our Server │ <──────────────────────────> │ MCP Server │ <──────────────────────> │ Outside │
│ (MCP Client) │ Standardized communication │ (e.g. GitHub)│ Specific protocols │ Service │
└──────────────┘ └──────────────┘ └───────────────┘
- MCP Client (Ứng dụng của bạn): Đóng vai trò là Client kết nối với mô hình Claude. Nó không cần biết chi tiết GitHub hoạt động ra sao, chỉ cần duy trì kết nối MCP đến Server.
- MCP Server (Tác nhân trung gian): Là một ứng dụng gọn nhẹ chạy độc lập, đóng gói toàn bộ logic gọi API và tự khai báo (expose) các công cụ dưới dạng một bộ schema chuẩn hóa.
- Outside Service (Dịch vụ bên ngoài): GitHub, AWS, Google Calendar, Postgres Database...
Ví dụ thực tế: Thay vì bạn tự viết schema cho hàm get_repos(), GitHub MCP Server đã dựng sẵn nó. Ứng dụng của bạn (MCP Client) chỉ cần kết nối tới Server này. Khi Claude cần tìm repo, nó sẽ gửi lệnh qua Client $\rightarrow$ MCP Server thực thi và lấy dữ liệu trực tiếp từ GitHub trả về cho Claude.
3. Các câu hỏi cốt lõi để chuẩn bị cho kỳ thi CCA-F
Ai là người phát triển các MCP Server?
Bất kỳ ai cũng có thể xây dựng MCP Server. Xu hướng tối ưu nhất là chính nhà cung cấp dịch vụ (service providers) hoặc cộng đồng sẽ viết và duy trì các MCP Server này (ví dụ: AWS phát hành MCP Server cho các dịch vụ Cloud của họ). Lập trình viên chỉ cần tải về và sử dụng, không cần tự viết lại.
MCP khác gì so với việc gọi API trực tiếp?
- Gọi API trực tiếp: Bạn tự viết định nghĩa tool schema, tự viết logic gọi API, tự quản lý xác thực và cấu trúc dữ liệu trả về cho Claude.
- MCP: Server đã định nghĩa sẵn tool schema và cách thực thi. Bạn chỉ kết nối Client vào là xong, tiết kiệm tối đa thời gian phát triển.
MCP có phải là Tool Use (Gọi hàm) không?
Đây là điểm cực kỳ dễ nhầm lẫn trong phòng thi:
- MCP và Tool Use là hai khái niệm bổ trợ nhau nhưng hoàn toàn khác biệt.
- MCP (Model Context Protocol): Là giao thức kết nối (ai xây dựng và thực thi các tool đó). MCP giúp di chuyển phần triển khai code ra ngoài ứng dụng chính.
- Tool Use (Function Calling): Là năng lực suy luận của mô hình (Claude chọn tool nào, truyền tham số gì dựa trên prompt của user).
- Tóm lại: MCP là hạ tầng cung cấp công cụ, còn Tool Use là cách Claude sử dụng các công cụ đó.
4. Từ khoá cần thuộc
- 🔴 Core:
- Model Context Protocol (MCP): Giao thức chuẩn hóa kết nối AI với các nguồn dữ liệu/công cụ ngoài.
- MCP Client: Phía ứng dụng kết nối với Claude, chịu trách nhiệm nhận yêu cầu và điều hướng đến MCP Server.
- MCP Server: Ứng dụng độc lập định nghĩa sẵn và thực thi các công cụ, prompts, tài nguyên.
- 🟡 Important:
- Separation of Concerns (Phân tách trách nhiệm): Nguyên lý cốt lõi tách biệt logic ứng dụng AI và logic tích hợp hệ thống.
- Introspection (Tự dò): Cơ chế giúp Client tự động hiểu các công cụ mà Server cung cấp mà không cần khai báo cứng trong code.
- 🟢 Good-to-know:
- Outside Service: Các dịch vụ bên thứ ba (Slack, Linear, GitHub...) được tích hợp qua MCP.
Muốn tự kiểm tra? Làm đề thi thử ở tab "Đề thi thử".