MCP là gì? Câu trả lời ngắn
MCP (Model Context Protocol) là một chuẩn mở, mã nguồn mở để kết nối ứng dụng AI với hệ thống bên ngoài: nguồn dữ liệu (tệp, cơ sở dữ liệu), công cụ (tìm kiếm, tính toán, gửi tin) và quy trình làm việc. Thay vì viết một bộ kết nối riêng cho từng cặp “ứng dụng AI – hệ thống”, doanh nghiệp xây một MCP server một lần và mọi ứng dụng AI hỗ trợ MCP đều có thể dùng lại.
Tài liệu chính thức ví MCP như “cổng USB-C cho ứng dụng AI”: một đầu cắm chuẩn thay cho nhiều loại dây riêng. MCP được Anthropic công bố và mở mã nguồn ngày 25/11/2024; từ tháng 12/2025, dự án được chuyển về Agentic AI Foundation (AAIF), một quỹ trực thuộc Linux Foundation. Phiên bản đặc tả mới nhất tại thời điểm viết bài là 2026-07-28.
Với doanh nghiệp, câu hỏi thực tế không phải là có nên “chạy theo” MCP hay không, mà là: có nhiều AI Agent hoặc công cụ AI cần truy cập cùng một dữ liệu, với quyền hạn được kiểm soát hay không. Các phần dưới đây giúp bạn trả lời.
MCP giải quyết vấn đề gì: bài toán tích hợp N×M
Trong bài công bố, Anthropic mô tả vấn đề cốt lõi: ngay cả mô hình mạnh nhất cũng bị giới hạn khi tách khỏi dữ liệu, bị “mắc kẹt” sau các hệ thống riêng lẻ, và mỗi nguồn dữ liệu mới lại cần một bản tích hợp tùy biến. MCP ra đời để thay các tích hợp phân mảnh đó bằng một giao thức duy nhất.
Có thể hình dung bằng phép tính đơn giản: nếu doanh nghiệp có N ứng dụng AI (trợ lý chat nội bộ, công cụ lập trình, AI Agent chăm sóc khách hàng) và M hệ thống (CRM, kho tài liệu, ERP, hệ thống vé hỗ trợ), cách làm truyền thống có thể cần tới N×M bộ kết nối. Với MCP, mỗi hệ thống chỉ cần một MCP server và mỗi ứng dụng AI chỉ cần hỗ trợ MCP client, nên khối lượng tích hợp tiến gần N+M.
- Ví dụ minh họa: một công ty có 3 công cụ AI và 5 hệ thống nội bộ. Tích hợp riêng từng cặp là 15 bộ kết nối phải viết và bảo trì; dùng MCP, công ty xây 5 MCP server và chọn 3 công cụ AI có hỗ trợ MCP.
- Lợi ích phụ: quyền truy cập, ghi log và kiểm soát được đặt tại MCP server, nơi đội kỹ thuật quản lý, thay vì rải rác trong nhiều đoạn mã tích hợp.
Kiến trúc MCP: host, client và server
Đặc tả MCP dùng thông điệp JSON-RPC 2.0 và chia hệ thống thành ba vai trò. Thiết kế này lấy cảm hứng từ Language Server Protocol, chuẩn đã giúp các trình soạn thảo mã hỗ trợ nhiều ngôn ngữ lập trình theo một cách chung.
Host, client, server làm gì
- Host: ứng dụng AI khởi tạo kết nối, ví dụ một ứng dụng chat, IDE hoặc AI Agent do doanh nghiệp tự xây.
- Client: thành phần kết nối nằm bên trong host; mỗi client giao tiếp với một server.
- Server: dịch vụ cung cấp ngữ cảnh và khả năng, ví dụ MCP server cho kho tài liệu, cơ sở dữ liệu, GitHub hay lịch làm việc.
Ba khối chức năng phía server: tools, resources, prompts
Điểm hay bị bỏ qua là mỗi khối do một bên khác nhau điều khiển, và điều này ảnh hưởng trực tiếp tới thiết kế quyền hạn.
- Tools (công cụ): hàm mà mô hình có thể gọi, như tìm chuyến bay, gửi tin nhắn, tạo sự kiện lịch. Tools có thể ghi dữ liệu, gọi API bên ngoài hoặc sửa tệp. Bên điều khiển: mô hình.
- Resources (tài nguyên): nguồn dữ liệu chỉ đọc làm ngữ cảnh, như nội dung tệp, lược đồ cơ sở dữ liệu, tài liệu API; mỗi tài nguyên có URI riêng. Bên điều khiển: ứng dụng.
- Prompts (mẫu lệnh): mẫu hướng dẫn dựng sẵn, như “tóm tắt cuộc họp” hay “soạn email”, người dùng chủ động gọi (thường qua lệnh gạch chéo). Bên điều khiển: người dùng.
Tính năng phía client và tiện ích mở rộng
Phía client có Elicitation: server có thể xin người dùng bổ sung thông tin. Phiên bản 2026-07-28 đã đưa ba tính năng Roots, Sampling và Logging vào trạng thái deprecated; chúng vẫn hoạt động ít nhất mười hai tháng nhưng triển khai mới không nên dùng. Ngoài lõi giao thức còn có các extension tùy chọn như Tasks (tác vụ chạy dài) và MCP Apps (giao diện tương tác hiển thị trong hội thoại).
Transport: stdio và Streamable HTTP
Transport là “đường truyền” mang thông điệp giữa client và server. Đặc tả hiện hành định nghĩa hai transport chuẩn, và ngữ nghĩa giao thức giống hệt nhau trên cả hai.
- stdio: server chạy như một tiến trình con do client khởi động trên cùng máy, trao đổi qua luồng vào/ra chuẩn. Phù hợp công cụ cục bộ, máy trạm lập trình viên.
- Streamable HTTP: mỗi thông điệp là một HTTP POST tới một endpoint MCP; phản hồi là JSON hoặc luồng SSE gắn với từng request. Phù hợp MCP server từ xa phục vụ nhiều người dùng.
- Transport HTTP+SSE cũ đã bị deprecated, cần chuyển sang Streamable HTTP.
Bảo mật MCP: xác thực, quyền tối thiểu và prompt injection
Đặc tả MCP nói thẳng rằng giao thức mở ra khả năng truy cập dữ liệu và thực thi mã tùy ý, và bản thân MCP không thể ép buộc nguyên tắc bảo mật ở tầng giao thức. Trách nhiệm thuộc về bên triển khai, và đây là phần doanh nghiệp cần đầu tư nhiều nhất.
Nguyên tắc bắt buộc từ đặc tả
- Đồng ý và kiểm soát của người dùng: host phải có sự đồng ý rõ ràng trước khi gọi bất kỳ tool nào và trước khi chia sẻ dữ liệu người dùng cho server.
- Tools được xem như thực thi mã tùy ý; mô tả hành vi của tool (annotations) phải coi là không đáng tin, trừ khi đến từ server tin cậy.
- Không được truyền dữ liệu tài nguyên đi nơi khác khi chưa có sự đồng ý.
Xác thực và quyền tối thiểu
- Với MCP server từ xa, dùng luồng ủy quyền theo đặc tả (dựa trên OAuth) thay vì khóa API dùng chung.
- Không “chuyển tiếp token” (token passthrough): MCP server không được chấp nhận token không được cấp riêng cho chính nó. Hướng dẫn bảo mật chính thức xếp đây là mẫu cấm.
- Thiết kế scope tối thiểu, nâng quyền theo từng bước; tránh scope kiểu “*”, “all”, “full-access”.
- Server cục bộ chạy với quyền của client: chạy trong sandbox, giới hạn quyền tệp và mạng, hiển thị đầy đủ lệnh khởi động trước khi người dùng đồng ý.
- Với MCP client chạy trên máy chủ, chặn SSRF: bắt buộc HTTPS, chặn dải IP nội bộ và endpoint metadata đám mây.
Prompt injection qua tool và dữ liệu
Nội dung do tool hoặc resource trả về (email, trang web, phiếu hỗ trợ) có thể chứa chỉ dẫn độc hại khiến mô hình gọi tool khác, ví dụ gửi dữ liệu ra ngoài. Mô tả tool từ server không tin cậy cũng là một kênh tấn công. Vì vậy cần xem mọi đầu ra từ MCP server là dữ liệu không tin cậy, tách tool đọc và tool ghi, và yêu cầu con người duyệt các hành động có hậu quả. Xem chi tiết trong bài Prompt injection là gì: bảo mật AI Agent cho doanh nghiệp và cách thiết kế điểm duyệt trong human-in-the-loop.
MCP khác gì API thông thường và function calling
MCP không thay thế API. Phần lớn MCP server thực chất bọc lại API sẵn có của hệ thống. Function calling (tool use) là khả năng của mô hình đề xuất gọi một hàm; MCP là chuẩn để đóng gói, khám phá và gọi các hàm đó giữa nhiều ứng dụng.
| Tiêu chí | API thông thường (REST/GraphQL) | Function calling của một nhà cung cấp mô hình | MCP |
|---|---|---|---|
| Mục đích | Ứng dụng gọi ứng dụng | Mô hình đề xuất gọi hàm do lập trình viên khai báo | Chuẩn kết nối ứng dụng AI với dữ liệu, công cụ, quy trình |
| Ai quyết định gọi | Mã do lập trình viên viết | Mô hình đề xuất, mã ứng dụng thực thi | Mô hình gọi tools; ứng dụng chọn resources; người dùng chọn prompts |
| Khám phá năng lực | Qua tài liệu, OpenAPI | Khai báo thủ công trong từng request | Tự khám phá qua tools/list, resources/list, prompts/list |
| Tái sử dụng giữa các ứng dụng AI | Phải viết lớp tích hợp cho từng ứng dụng | Định dạng thường gắn với từng nhà cung cấp | Một server dùng cho nhiều host hỗ trợ MCP |
| Kiểm soát bảo mật | Theo thiết kế API | Do ứng dụng tự xây | Nguyên tắc đồng ý, ủy quyền theo đặc tả; vẫn phải tự triển khai |
| Phù hợp khi | Tích hợp hệ thống cố định, không có AI | Một ứng dụng, vài hàm, một mô hình | Nhiều ứng dụng AI, nhiều hệ thống, cần quản trị tập trung |
Khi nào doanh nghiệp cần MCP, khi nào chưa cần
Nên cân nhắc MCP khi
- Bạn có hoặc sắp có từ hai ứng dụng AI trở lên cần dùng chung dữ liệu nội bộ (ví dụ trợ lý chat cho nhân viên và AI Agent xử lý phiếu hỗ trợ).
- Đội ngũ dùng các công cụ AI đã hỗ trợ MCP (tài liệu chính thức liệt kê Claude, ChatGPT, Visual Studio Code, Cursor) và muốn nối chúng vào hệ thống của công ty.
- Bạn muốn đặt quyền hạn, ghi log và phê duyệt tại một lớp trung gian thay vì trong từng ứng dụng.
- Bạn cung cấp phần mềm/SaaS và muốn khách hàng kết nối sản phẩm với AI Agent của họ.
Chưa cần MCP khi
- Chỉ có một ứng dụng, một mô hình và vài hàm đơn giản: function calling trực tiếp thường gọn hơn.
- Quy trình là tự động hóa cố định, không cần mô hình tự chọn công cụ: một luồng tích hợp hoặc workflow thông thường dễ kiểm thử hơn.
- Dữ liệu chưa được phân loại và chưa có quy định quyền truy cập: nên làm quản trị dữ liệu trước.
- Chưa có người chịu trách nhiệm vận hành và bảo mật server: MCP server là phần mềm cần cập nhật, giám sát như mọi dịch vụ khác.
Lưu ý về chi phí ngữ cảnh
Anthropic ghi nhận khi kết nối quá nhiều server, định nghĩa tool và kết quả trung gian có thể chiếm nhiều token trong cửa sổ ngữ cảnh, làm agent chậm và tốn chi phí hơn. Hãy chỉ bật những server và tool thật sự cần cho từng tác vụ.
Checklist triển khai MCP cho doanh nghiệp
Danh sách dưới đây là quy trình EYC đề xuất khi tư vấn tích hợp, dựa trên đặc tả và hướng dẫn bảo mật chính thức. Bạn có thể kết hợp với mô hình vận hành AI Agent để xác định ai duyệt, ai chịu trách nhiệm.
| Bước | Việc cần làm | Câu hỏi kiểm tra |
|---|---|---|
| 1. Chọn use case | Chọn một quy trình đo được, ưu tiên chỉ đọc | Nếu AI trả lời sai, hậu quả là gì? |
| 2. Kiểm kê hệ thống | Liệt kê hệ thống, dữ liệu nhạy cảm, chủ sở hữu | Dữ liệu nào tuyệt đối không được đưa vào ngữ cảnh? |
| 3. Chọn server | Ưu tiên server chính thức từ nhà cung cấp hoặc tự xây; rà soát mã server bên thứ ba | Ai bảo trì, cập nhật bản vá? |
| 4. Thiết kế quyền | Scope tối thiểu, tách tool đọc và ghi, không token passthrough | Token bị lộ thì phạm vi ảnh hưởng tới đâu? |
| 5. Chọn transport | stdio cho cục bộ; Streamable HTTP có ủy quyền cho từ xa | Server có bị lộ ra mạng ngoài không? |
| 6. Điểm duyệt | Bắt người duyệt cho hành động ghi, gửi, xóa, thanh toán | Hành động nào không thể hoàn tác? |
| 7. Chống prompt injection | Coi đầu ra tool là không tin cậy; thử tấn công trước khi chạy thật | Đã thử chèn chỉ dẫn độc hại vào dữ liệu chưa? |
| 8. Ghi log và giám sát | Log mọi lời gọi tool, người gọi, kết quả | Có truy vết được một sự cố không? |
| 9. Thí điểm rồi mở rộng | Chạy với nhóm nhỏ, đo kết quả, rồi mới thêm server | Đã có tiêu chí dừng hoặc thu hồi chưa? |
| 10. Theo dõi phiên bản | Theo dõi changelog đặc tả và chính sách deprecation | Server/SDK đang hỗ trợ phiên bản nào? |
Hiện trạng: phiên bản, quản trị và hệ sinh thái
Đặc tả MCP đánh phiên bản theo ngày. Các bản đã công bố gồm 2024-11-05, 2025-03-26, 2025-06-18, 2025-11-25 và bản hiện hành 2026-07-28. Theo blog chính thức, bản 2026-07-28 đưa lõi giao thức về dạng stateless (bỏ phiên ở tầng giao thức và bước bắt tay initialize), tăng cường ủy quyền, chính thức hóa khung extension và đặt chính sách deprecation với tối thiểu mười hai tháng trước khi gỡ một tính năng.
Về quản trị, ngày 9/12/2025 Anthropic chuyển MCP cho Agentic AI Foundation, quỹ trực thuộc Linux Foundation do Anthropic, Block và OpenAI đồng sáng lập. Theo blog của dự án, MCP vẫn tự chủ về định hướng kỹ thuật; quyết định về giao thức vẫn do nhóm maintainer đưa ra thông qua quy trình đề xuất SEP. Đối với doanh nghiệp, điều này giảm rủi ro phụ thuộc vào một nhà cung cấp duy nhất.
EYC tư vấn và triển khai tích hợp giữa AI Agent với hệ thống doanh nghiệp, gồm thiết kế MCP server, phân quyền và giám sát. Tìm hiểu dịch vụ tư vấn tích hợp hệ thống hoặc tự động hóa bằng AI.
Câu hỏi thường gặp
MCP là viết tắt của gì?
MCP là Model Context Protocol, một chuẩn mở để kết nối ứng dụng AI với nguồn dữ liệu, công cụ và quy trình bên ngoài. Anthropic công bố MCP ngày 25/11/2024; hiện dự án thuộc Agentic AI Foundation dưới Linux Foundation.
MCP server là gì?
MCP server là chương trình đưa năng lực của một hệ thống (kho tài liệu, cơ sở dữ liệu, GitHub, lịch...) tới ứng dụng AI theo chuẩn MCP. Server cung cấp ba khối: tools để mô hình gọi, resources làm ngữ cảnh chỉ đọc và prompts là mẫu lệnh người dùng chủ động chọn.
MCP có thay thế API không?
Không. Phần lớn MCP server bọc lại API sẵn có để ứng dụng AI khám phá và gọi theo một cách thống nhất. API vẫn là nền tảng tích hợp giữa các hệ thống; MCP là lớp chuẩn hóa phía trên dành cho ứng dụng AI.
MCP và function calling khác nhau thế nào?
Function calling là khả năng mô hình đề xuất gọi một hàm do ứng dụng khai báo. MCP là chuẩn để đóng gói và chia sẻ các hàm, dữ liệu và mẫu lệnh đó cho nhiều ứng dụng AI khác nhau, kèm cơ chế khám phá và ủy quyền.
Dùng MCP có an toàn không?
MCP không tự động an toàn. Đặc tả yêu cầu sự đồng ý của người dùng trước khi gọi tool và nêu rõ giao thức không thể ép buộc bảo mật ở tầng giao thức. Doanh nghiệp cần ủy quyền đúng chuẩn, quyền tối thiểu, sandbox cho server cục bộ, chống prompt injection và ghi log.
Phiên bản MCP mới nhất là gì?
Tại thời điểm viết bài (10/2026), phiên bản đặc tả mới nhất là 2026-07-28, công bố ngày 28/7/2026, với lõi giao thức stateless và khung extension chính thức.