Trong quá trình phát triển ứng dụng AI, một vấn đề thường xuyên xuất hiện là làm thế nào để mô hình ngôn ngữ lớn (LLM) có thể truy cập dữ liệu và sử dụng công cụ bên ngoài. Một chatbot có thể trả lời tốt dựa trên dữ liệu đã được huấn luyện, nhưng lại không biết thông tin nội bộ của doanh nghiệp, không đọc được cơ sở dữ liệu thời gian thực và cũng không thể tự thực hiện các hành động như tạo issue, gửi email hay cập nhật hồ sơ khách hàng. Model Context Protocol, viết tắt là MCP, được xây dựng để giải quyết bài toán này.
Mục lục
MCP là gì?
Có thể hình dung MCP như “cổng USB-C cho AI”. USB-C tạo ra một chuẩn kết nối chung giữa máy tính và nhiều loại thiết bị ngoại vi. Tương tự, MCP chuẩn hóa cách ứng dụng AI kết nối với nguồn dữ liệu và công cụ bên ngoài, thay vì phải xây dựng một kiểu tích hợp riêng cho từng mô hình, từng nền tảng và từng dịch vụ. Đây cũng là tinh thần được trình bày trong bài viết tham khảo trên Viblo: MCP tạo ra một lớp giao tiếp thống nhất giúp hệ thống AI dễ mở rộng hơn.
MCP là một giao thức mở cho phép ứng dụng LLM trao đổi ngữ cảnh, dữ liệu và khả năng thực thi với các hệ thống bên ngoài. Theo đặc tả chính thức, MCP sử dụng thông điệp JSON-RPC để kết nối ba thành phần chính: host, client và server. Mục tiêu của giao thức là giúp ứng dụng AI khám phá và sử dụng các khả năng có sẵn theo một chuẩn chung, thay vì phụ thuộc vào những đoạn “glue code” riêng lẻ.
Trước MCP, nếu một công ty muốn kết nối trợ lý AI với GitHub, Google Drive, Slack và PostgreSQL, đội ngũ phát triển thường phải viết nhiều adapter khác nhau. Khi số lượng mô hình và nguồn dữ liệu tăng lên, số lượng tích hợp cũng tăng nhanh, tạo thành bài toán N × M. MCP giúp giảm sự phức tạp này bằng cách chuẩn hóa giao diện kết nối: mỗi ứng dụng AI có thể dùng MCP Client, còn mỗi nguồn dữ liệu chỉ cần cung cấp một MCP Server tương thích.

Kiến trúc Host, Client và Server
MCP gồm ba thành phần cốt lõi.
Host là ứng dụng chứa mô hình AI, chẳng hạn một IDE, chatbot hoặc AI Agent. Host chịu trách nhiệm tiếp nhận yêu cầu của người dùng, quản lý các kết nối và quyết định dữ liệu nào được đưa vào ngữ cảnh.
Client là thành phần nằm bên trong Host. Mỗi Client thường duy trì kết nối một-một với một MCP Server, thực hiện quá trình khởi tạo, khám phá khả năng và chuyển tiếp các yêu cầu giữa Host với Server.
Server là lớp trung gian kết nối MCP với hệ thống thực tế. Một Server có thể bao bọc API của GitHub, cơ sở dữ liệu, thư mục cục bộ hoặc một dịch vụ doanh nghiệp. Server nhận yêu cầu theo chuẩn MCP, chuyển đổi thành thao tác tương ứng trên hệ thống đích rồi trả kết quả về cho Client. Kiến trúc này giúp từng Server tập trung vào một nhóm chức năng cụ thể và có thể kết hợp với nhiều ứng dụng AI khác nhau.

Ba loại khả năng quan trọng
MCP Server thường cung cấp ba nhóm chức năng chính.
Resources là dữ liệu hoặc ngữ cảnh mà AI có thể đọc, chẳng hạn nội dung tài liệu, schema cơ sở dữ liệu, tệp mã nguồn hoặc báo cáo nội bộ. Resources thường phù hợp với các tình huống truy xuất thông tin.
Tools là những hàm cho phép AI thực hiện hành động. Ví dụ, một Tool có thể tìm kiếm repository, tạo pull request, chạy truy vấn SQL hoặc cập nhật một bản ghi CRM. Vì Tools có thể tạo ra tác động thực tế, ứng dụng nên yêu cầu người dùng phê duyệt trước khi thực thi các thao tác nhạy cảm.
Prompts là những mẫu hướng dẫn được chuẩn hóa và tái sử dụng. Thay vì mỗi người dùng phải tự viết một chuỗi hướng dẫn phức tạp, Server có thể cung cấp sẵn quy trình như “phân tích lỗi trong log” hoặc “tóm tắt một pull request”.
Khi kết nối được thiết lập, Client có thể khám phá danh sách Resources, Tools và Prompts mà Server hỗ trợ. Mô hình từ đó lựa chọn khả năng phù hợp với yêu cầu hiện tại.

MCP khác gì API, RAG và Function Calling?
MCP không thay thế hoàn toàn API, RAG hay Function Calling. API là cơ chế giao tiếp cấp thấp giữa các hệ thống, còn MCP cung cấp một chuẩn hướng đến việc để ứng dụng AI khám phá và sử dụng các API đó.
RAG chủ yếu giúp mô hình truy xuất dữ liệu liên quan rồi đưa dữ liệu vào ngữ cảnh. MCP có thể hỗ trợ việc cung cấp dữ liệu, nhưng còn mở rộng thêm khả năng thực thi hành động. Trong khi đó, Function Calling thường phụ thuộc vào định dạng của từng nhà cung cấp mô hình; MCP hướng tới một giao thức chung, giúp cùng một công cụ có thể được sử dụng bởi nhiều Host khác nhau.
Bảo mật là yêu cầu bắt buộc
MCP đem lại khả năng mạnh mẽ nhưng cũng tạo ra rủi ro. Một Server độc hại có thể yêu cầu truy cập dữ liệu nhạy cảm hoặc cung cấp Tool thực hiện hành động nguy hiểm. Vì vậy, người dùng cần biết rõ Server nào đang được kết nối, dữ liệu nào được chia sẻ và Tool nào sắp được gọi.
Đặc tả MCP nhấn mạnh ba nguyên tắc: người dùng phải giữ quyền kiểm soát, dữ liệu chỉ được chia sẻ khi có sự đồng ý rõ ràng và các Tool phải được xem như những đường dẫn có thể thực thi mã. Doanh nghiệp cũng nên áp dụng phân quyền tối thiểu, xác thực, ghi log, sandbox và kiểm tra nguồn gốc của MCP Server.
Nhìn tổng thể, MCP đang trở thành một lớp hạ tầng quan trọng cho thế hệ AI Agent. Nó giúp mô hình không chỉ “biết trả lời” mà còn có thể tiếp cận ngữ cảnh thực tế và phối hợp với các công cụ bên ngoài. Khi được triển khai cùng cơ chế cấp quyền và kiểm soát phù hợp, MCP có thể giúp việc xây dựng ứng dụng AI trở nên linh hoạt, có khả năng tái sử dụng và dễ mở rộng hơn đáng kể.
Hoàng Đức Quang – Giảng viên FPT Jetking


