MCP là gì? Cách Model Context Protocol kết nối AI với công cụ và dữ liệu
Các mô hình AI hiện đại có thể viết nội dung, phân tích câu hỏi và hỗ trợ lập trình. Tuy nhiên, khi cần đọc dữ liệu từ một hệ thống bên ngoài, truy vấn cơ sở dữ liệu hoặc thực hiện hành động thông qua một công cụ, ứng dụng AI cần có cơ chế kết nối phù hợp.
Trước đây, nhà phát triển thường phải xây dựng những phần tích hợp riêng cho từng ứng dụng, dịch vụ hoặc nguồn dữ liệu. Cách làm này có thể khiến hệ thống phức tạp hơn khi số lượng công cụ tăng lên.
Model Context Protocol (MCP) được phát triển để giải quyết bài toán kết nối đó. MCP cung cấp một giao thức chuẩn hóa cách ứng dụng AI khám phá và sử dụng các công cụ, tài nguyên và mẫu hướng dẫn được cung cấp bởi những hệ thống bên ngoài.
Trong bài viết này, MCNA Technology School sẽ giúp bạn hiểu MCP là gì, kiến trúc Client–Server, cách MCP hoạt động, điểm khác biệt so với API truyền thống và những lưu ý khi triển khai trong ứng dụng AI.
1. MCP là gì?
MCP (Model Context Protocol) là một giao thức mở giúp 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.
Có thể hình dung MCP như một chuẩn kết nối chung. Thay vì xây dựng một cơ chế tích hợp hoàn toàn riêng cho từng ứng dụng AI và từng nguồn dữ liệu, nhà phát triển có thể triển khai một MCP server để cung cấp những khả năng được hỗ trợ. Các ứng dụng tương thích có thể kết nối tới server đó thông qua MCP.
Ví dụ, một ứng dụng AI có thể kết nối với:
- Hệ thống quản lý tệp để đọc tài liệu được cho phép.
- Cơ sở dữ liệu để truy vấn thông tin.
- GitHub để truy cập thông tin repository hoặc issue.
- Công cụ nội bộ để tra cứu quy trình doanh nghiệp.
- API của một dịch vụ để lấy dữ liệu hoặc thực hiện hành động.
Khả năng thực tế phụ thuộc vào MCP server được triển khai, quyền truy cập của người dùng và những tính năng mà ứng dụng AI hỗ trợ.
MCP không phải là một mô hình AI mới, cũng không phải cơ sở dữ liệu hay framework agent. MCP là giao thức kết nối giúp các thành phần khác nhau trao đổi thông tin và cung cấp khả năng cho ứng dụng AI.
2. Vì sao MCP ra đời?
Để hiểu giá trị của MCP, hãy xem xét một ứng dụng AI cần làm việc với nhiều nguồn dữ liệu khác nhau.
Giả sử một trợ lý AI cần đọc tài liệu trên Google Drive, kiểm tra công việc trên GitHub, tra cứu dữ liệu trong PostgreSQL và tìm thông tin trong hệ thống nội bộ. Nếu mỗi tích hợp sử dụng một cơ chế hoàn toàn khác nhau, nhà phát triển phải xử lý nhiều cách xác thực, định dạng dữ liệu và phương thức gọi công cụ.
Khi thêm một ứng dụng AI mới, những phần tích hợp này có thể phải được xây dựng hoặc điều chỉnh lại.
MCP đưa ra một giao thức chung cho quá trình kết nối. Một hệ thống có thể cung cấp các khả năng thông qua MCP server, trong khi ứng dụng AI tương thích sử dụng MCP client để kết nối và khám phá những khả năng đó.
| Vấn đề | Khi thiếu chuẩn kết nối chung | Khi sử dụng MCP |
|---|---|---|
| Tích hợp công cụ | Có thể cần cách triển khai riêng cho từng cặp ứng dụng và dịch vụ | Các thành phần tương thích có thể giao tiếp theo giao thức chung |
| Khám phá chức năng | Ứng dụng phải biết trước cách tích hợp từng dịch vụ | Client có thể khám phá các khả năng được server công bố |
| Mở rộng hệ thống | Việc bổ sung nguồn dữ liệu có thể làm tăng công việc tích hợp | Có thể bổ sung MCP server mới mà không cần thiết kế lại toàn bộ giao thức kết nối |
| Tái sử dụng | Logic tích hợp có thể bị lặp giữa nhiều ứng dụng | Một MCP server có thể được sử dụng bởi nhiều client tương thích, tùy cấu hình và quyền truy cập |
MCP không loại bỏ hoàn toàn công việc tích hợp. Nhà phát triển vẫn cần xây dựng server, kết nối API hoặc cơ sở dữ liệu, xử lý lỗi và triển khai bảo mật. Giá trị chính của MCP là chuẩn hóa giao tiếp giữa các thành phần.
3. Kiến trúc MCP gồm những thành phần nào?
MCP sử dụng mô hình kiến trúc Host–Client–Server. Mỗi thành phần có một vai trò riêng trong quá trình kết nối giữa ứng dụng AI và hệ thống bên ngoài.
3.1. MCP Host
MCP Host là ứng dụng AI điều phối quá trình tương tác với mô hình và các kết nối MCP. Host có thể quản lý nhiều client, cung cấp thông tin cho mô hình và kiểm soát cách những công cụ được sử dụng.
Ví dụ về ứng dụng có thể đóng vai trò host là một trợ lý AI trên máy tính, môi trường lập trình có tích hợp AI hoặc ứng dụng AI do doanh nghiệp tự xây dựng.
3.2. MCP Client
MCP Client là thành phần trong host chịu trách nhiệm thiết lập và quản lý kết nối với một MCP server.
Client trao đổi thông điệp theo giao thức MCP, khám phá các khả năng được server cung cấp và gửi yêu cầu tương ứng. Một host có thể quản lý nhiều client để kết nối với nhiều MCP server khác nhau.
3.3. MCP Server
MCP Server cung cấp các khả năng cụ thể thông qua MCP. Server có thể kết nối với API, cơ sở dữ liệu, hệ thống tệp hoặc dịch vụ nội bộ rồi công bố những chức năng được phép sử dụng.
Ví dụ, một MCP server dành cho PostgreSQL có thể cung cấp chức năng xem schema và chạy truy vấn trong phạm vi được cấp quyền. Một server dành cho hệ thống quản lý tài liệu có thể cung cấp chức năng tìm kiếm và đọc tài liệu.
MCP server không nhất thiết phải chạy trên máy chủ từ xa. Nó có thể chạy cục bộ trên máy tính hoặc được triển khai như một dịch vụ từ xa, tùy phương thức kết nối.
3.4. Sơ đồ tổng quan
Người dùng
|
v
MCP Host (ứng dụng AI)
|
v
MCP Client
|
| Giao tiếp theo MCP
v
MCP Server
|
v
API / Database / Files / Business Tools
Trong thực tế, host có thể quản lý nhiều MCP client, mỗi client kết nối tới một server. Khi mô hình cần sử dụng dữ liệu hoặc công cụ, host điều phối yêu cầu qua client tương ứng và đưa kết quả trở lại quy trình xử lý.
4. Ba khả năng quan trọng: Tools, Resources và Prompts
MCP định nghĩa những nhóm khả năng chính để server cung cấp chức năng và thông tin cho ứng dụng AI. Ba khái niệm cơ bản cần hiểu là Tools, Resources và Prompts.
4.1. Tools – Công cụ thực thi
Tools là các chức năng mà ứng dụng AI có thể gọi để thực hiện hành động hoặc lấy dữ liệu. Mỗi tool thường có tên, mô tả và schema xác định các tham số đầu vào.
Ví dụ, một MCP server có thể cung cấp các tool:
search_documents: tìm kiếm tài liệu.get_customer: lấy thông tin khách hàng theo mã.query_sales: truy vấn dữ liệu doanh thu.create_report: tạo báo cáo theo cấu trúc xác định.
Các tên trên chỉ là ví dụ minh họa, không phải danh sách tool mặc định của MCP.
Khi ứng dụng AI quyết định sử dụng một tool, client gửi yêu cầu gọi công cụ tới server. Server xử lý yêu cầu theo logic đã triển khai rồi trả về kết quả. Những công cụ có thể làm thay đổi dữ liệu hoặc gây ra tác động bên ngoài cần được bảo vệ bằng cơ chế phân quyền và xác nhận phù hợp.
4.2. Resources – Tài nguyên cung cấp ngữ cảnh
Resources là những tài nguyên mà server có thể cung cấp cho ứng dụng AI tham chiếu, chẳng hạn nội dung tài liệu, thông tin schema của cơ sở dữ liệu hoặc dữ liệu có cấu trúc.
Ví dụ, MCP server của một cơ sở dữ liệu có thể cung cấp tài nguyên mô tả các bảng, cột và mối quan hệ. Thông tin này giúp ứng dụng AI hiểu cấu trúc dữ liệu trước khi đề xuất hoặc thực hiện truy vấn.
Resources tập trung vào việc cung cấp thông tin. Cách tài nguyên được lựa chọn và đưa vào context phụ thuộc vào host và thiết kế ứng dụng.
4.3. Prompts – Mẫu hướng dẫn tái sử dụng
Prompts là các mẫu hướng dẫn được server cung cấp để hỗ trợ những tác vụ phổ biến.
Ví dụ, một server phục vụ phân tích dữ liệu có thể cung cấp mẫu hướng dẫn để tạo báo cáo kinh doanh, giải thích kết quả truy vấn hoặc xây dựng bản tóm tắt theo định dạng thống nhất.
Thay vì phải viết lại toàn bộ hướng dẫn mỗi lần, ứng dụng có thể sử dụng các prompt template đã được thiết kế sẵn. Việc một prompt có được hiển thị cho người dùng hay được sử dụng theo cách khác phụ thuộc vào ứng dụng triển khai.
| Thành phần | Mục đích | Ví dụ |
|---|---|---|
| Tools | Thực hiện hành động hoặc tính toán | Truy vấn cơ sở dữ liệu, gọi API |
| Resources | Cung cấp dữ liệu để tham chiếu | Tài liệu, schema, bản ghi |
| Prompts | Cung cấp mẫu hướng dẫn có thể tái sử dụng | Mẫu phân tích doanh thu, mẫu tóm tắt tài liệu |
5. MCP hoạt động như thế nào?
Quá trình hoạt động có thể được mô tả qua một chuỗi bước cơ bản. Chi tiết triển khai phụ thuộc vào ứng dụng, MCP server và phiên bản giao thức được hỗ trợ.
Bước 1: Ứng dụng kết nối với MCP server
Host khởi tạo MCP client và thiết lập kết nối với server bằng phương thức truyền tải được hỗ trợ. Trong quá trình này, hai bên trao đổi những thông tin cần thiết để xác định khả năng và phiên bản tương thích.
Bước 2: Client khám phá các khả năng
Client có thể yêu cầu danh sách tool, resource hoặc prompt mà server công bố. Nhờ đó, ứng dụng biết được server hỗ trợ những chức năng nào thay vì phải giả định rằng mọi server đều cung cấp cùng một bộ tính năng.
Bước 3: Mô hình nhận thông tin cần thiết
Host quyết định cách trình bày các công cụ và tài nguyên cho mô hình. Tùy thiết kế, host có thể đưa mô tả tool vào yêu cầu gửi đến LLM hoặc lấy tài nguyên liên quan để bổ sung vào context.
Bước 4: Mô hình đề xuất sử dụng công cụ
Khi nhận được yêu cầu từ người dùng, mô hình có thể xác định rằng cần sử dụng một công cụ để hoàn thành nhiệm vụ. Ví dụ, thay vì đoán doanh thu của tháng vừa qua, mô hình đề xuất gọi tool truy vấn dữ liệu.
Quyết định này không đồng nghĩa với việc mô hình tự thực thi trực tiếp truy vấn. Host và client vẫn cần xử lý lời gọi công cụ theo thiết kế của ứng dụng.
Bước 5: MCP server xử lý yêu cầu
Client gửi yêu cầu tới server. Server kiểm tra tham số, áp dụng quy tắc truy cập và thực hiện chức năng tương ứng. Kết quả được trả lại theo định dạng mà giao thức và server hỗ trợ.
Bước 6: Mô hình sử dụng kết quả
Host đưa kết quả trở lại quy trình xử lý để mô hình tiếp tục phân tích, trả lời người dùng hoặc đề xuất một hành động khác.
Nếu nhiệm vụ gồm nhiều bước, quá trình này có thể lặp lại. Tuy nhiên, MCP chỉ chuẩn hóa việc trao đổi giữa các thành phần; cách lập kế hoạch, quyết định bước tiếp theo và kết thúc nhiệm vụ thuộc về logic của ứng dụng AI.
6. Ví dụ thực tế: Dùng MCP để kết nối AI với cơ sở dữ liệu
Giả sử một doanh nghiệp muốn nhân viên có thể hỏi bằng ngôn ngữ tự nhiên: “Doanh thu theo từng nhóm sản phẩm trong tháng gần nhất là bao nhiêu?”. Dữ liệu đang được lưu trong PostgreSQL.
Một kiến trúc sử dụng MCP có thể gồm:
- AI Host: Ứng dụng mà nhân viên dùng để đặt câu hỏi.
- MCP Client: Thành phần quản lý kết nối đến MCP server dữ liệu.
- MCP Server: Cung cấp các chức năng được phép như xem schema hoặc truy vấn dữ liệu.
- PostgreSQL: Nguồn lưu trữ dữ liệu doanh thu.
- LLM: Hiểu yêu cầu, lựa chọn công cụ và diễn giải kết quả.
Quy trình có thể diễn ra như sau:
- Nhân viên nhập câu hỏi về doanh thu.
- Mô hình xác định cần truy vấn dữ liệu theo thời gian và nhóm sản phẩm.
- Host cho phép mô hình sử dụng tool phù hợp được cung cấp qua MCP.
- MCP server kiểm tra yêu cầu và thực hiện truy vấn trong phạm vi được cấp quyền.
- Kết quả truy vấn được trả về ứng dụng AI.
- Mô hình tổng hợp số liệu thành bảng hoặc phần giải thích dễ hiểu.
Điểm quan trọng là AI không nên được cấp quyền truy cập không giới hạn vào cơ sở dữ liệu sản xuất. Nhà phát triển có thể giới hạn những bảng được truy cập, sử dụng tài khoản chỉ đọc, kiểm tra câu truy vấn và giới hạn số lượng bản ghi trả về.
Đối với những thao tác ghi hoặc thay đổi dữ liệu, hệ thống cần có quy trình kiểm tra và xác nhận phù hợp trước khi thực hiện.
7. MCP khác API truyền thống như thế nào?
MCP và API có liên quan nhưng không phải hai khái niệm thay thế trực tiếp cho nhau.
API là giao diện cho phép các phần mềm giao tiếp. API có thể định nghĩa những endpoint, phương thức và cấu trúc dữ liệu mà một ứng dụng cần sử dụng.
MCP là giao thức chuẩn hóa cách ứng dụng AI kết nối và khám phá những khả năng như tools, resources và prompts. MCP server có thể sử dụng API của dịch vụ bên ngoài ở phía sau để thực hiện chức năng.
| Tiêu chí | API truyền thống | MCP |
|---|---|---|
| Vai trò | Cung cấp giao diện cho phần mềm giao tiếp | Chuẩn hóa cách ứng dụng AI kết nối với khả năng và tài nguyên |
| Cách khám phá chức năng | Thường dựa trên tài liệu API hoặc cơ chế riêng của dịch vụ | Client có thể khám phá các khả năng MCP được server công bố |
| Định nghĩa công cụ cho AI | Nhà phát triển thường phải chuyển API thành định dạng mà ứng dụng AI sử dụng | MCP server có thể công bố tool với mô tả và schema đầu vào |
| Quan hệ với nhau | Có thể là hệ thống được tích hợp | Có thể dùng API ở phía sau để cung cấp chức năng qua MCP |
Ví dụ, một dịch vụ gửi email có thể cung cấp REST API. Nhà phát triển xây dựng MCP server để công bố một tool gửi email, kiểm tra tham số và gọi REST API khi được yêu cầu.
Trong kiến trúc này, API vẫn đảm nhiệm giao tiếp với dịch vụ email, còn MCP cung cấp giao diện thống nhất để ứng dụng AI khám phá và sử dụng chức năng đó.
8. MCP khác Function Calling như thế nào?
Function Calling là cơ chế cho phép mô hình tạo ra lời gọi hàm theo cấu trúc được định nghĩa. Ứng dụng sau đó xử lý lời gọi, thực thi hàm và có thể gửi kết quả trở lại mô hình.
MCP giải quyết một vấn đề khác: chuẩn hóa cách ứng dụng kết nối tới server để khám phá và sử dụng các khả năng được cung cấp.
Hai cơ chế có thể phối hợp với nhau. Chẳng hạn, host lấy danh sách tool từ MCP server, chuyển những mô tả phù hợp thành định dạng tool mà LLM hỗ trợ, sau đó thực hiện lời gọi được mô hình đề xuất thông qua MCP client.
Vì vậy, MCP không loại bỏ nhu cầu về Function Calling. Trong nhiều hệ thống, Function Calling là một phần của cách mô hình tương tác với công cụ, còn MCP là lớp giao tiếp giúp cung cấp những công cụ đó.
9. MCP sử dụng phương thức kết nối nào?
MCP hỗ trợ nhiều cách truyền tải thông điệp giữa client và server. Hai phương thức thường gặp trong các triển khai là STDIO và Streamable HTTP.
9.1. STDIO
STDIO cho phép client giao tiếp với một tiến trình server cục bộ thông qua luồng đầu vào và đầu ra chuẩn.
Phương thức này phù hợp với những trường hợp ứng dụng AI chạy trên máy tính của người dùng và cần khởi chạy một MCP server cục bộ, chẳng hạn một công cụ đọc tệp trong phạm vi được cho phép.
9.2. Streamable HTTP
Streamable HTTP cho phép client kết nối tới MCP server thông qua HTTP, phù hợp với những hệ thống triển khai server như một dịch vụ từ xa.
Phương thức này có thể được sử dụng khi nhiều người dùng hoặc ứng dụng cần kết nối tới một dịch vụ chung. Việc triển khai thực tế cần quan tâm đến xác thực, phân quyền, quản lý thông tin xác thực và cấu hình mạng.
Không nên nhầm lẫn MCP với một công nghệ truyền tải duy nhất. Giao thức định nghĩa cách trao đổi thông điệp và các khả năng; phương thức truyền tải xác định cách những thông điệp đó được chuyển giữa các thành phần.
10. MCP có an toàn không?
MCP giúp chuẩn hóa kết nối, nhưng bản thân việc sử dụng MCP không tự động bảo đảm hệ thống an toàn. Mức độ an toàn phụ thuộc vào cách triển khai server, quyền truy cập, nguồn dữ liệu và cơ chế kiểm soát hành động.
10.1. Chỉ cấp quyền cần thiết
MCP server chỉ nên cung cấp những chức năng mà ứng dụng thực sự cần. Với cơ sở dữ liệu, có thể sử dụng tài khoản chỉ đọc và giới hạn schema hoặc bảng được truy cập. Với hệ thống tệp, cần giới hạn phạm vi thư mục và quyền đọc, ghi.
10.2. Kiểm tra đầu vào và quyền thực thi
Server cần xác thực tham số, kiểm tra dữ liệu đầu vào và áp dụng quy tắc phân quyền trước khi thực thi tool. Không nên tin tưởng tuyệt đối vào lời gọi do mô hình tạo ra.
10.3. Cẩn trọng với dữ liệu không đáng tin cậy
Tài liệu được truy xuất hoặc nội dung từ hệ thống bên ngoài có thể chứa hướng dẫn độc hại hoặc nội dung nhằm đánh lừa mô hình. Ứng dụng cần phân biệt dữ liệu tham khảo với chỉ dẫn có thẩm quyền và có cơ chế giảm thiểu prompt injection.
10.4. Xác nhận các hành động nhạy cảm
Những thao tác như gửi email hàng loạt, xóa dữ liệu, cập nhật hồ sơ hoặc thực hiện giao dịch cần được kiểm soát chặt chẽ. Tùy mức độ rủi ro, hệ thống có thể yêu cầu xác nhận của người dùng trước khi thực thi.
10.5. Bảo vệ thông tin xác thực
API key, access token và thông tin đăng nhập không nên được đưa vào prompt hoặc trả về cho mô hình nếu không cần thiết. Thông tin xác thực cần được lưu trữ và quản lý theo cơ chế bảo mật phù hợp.
Ngoài ra, nên ghi log các hành động quan trọng, theo dõi lỗi, giới hạn tài nguyên và kiểm thử các tình huống truy cập trái phép trước khi triển khai trong môi trường thực tế.
11. Khi nào nên sử dụng MCP?
MCP đặc biệt hữu ích khi ứng dụng AI cần kết nối với nhiều nguồn dữ liệu hoặc công cụ và muốn sử dụng một giao thức chung để quản lý những kết nối đó.
- Trợ lý AI nội bộ: Kết nối với tài liệu, quy trình và hệ thống thông tin của doanh nghiệp.
- AI hỗ trợ lập trình: Cung cấp khả năng truy cập repository, issue, tài liệu kỹ thuật hoặc công cụ phát triển.
- AI phân tích dữ liệu: Kết nối với cơ sở dữ liệu, công cụ tính toán và hệ thống báo cáo.
- Tự động hóa quy trình: Cho phép ứng dụng AI sử dụng các công cụ được cấp quyền trong một quy trình nhiều bước.
- Ứng dụng AI có nhiều tích hợp: Chuẩn hóa giao tiếp giữa host và các hệ thống cung cấp chức năng.
Ngược lại, nếu một ứng dụng chỉ thực hiện một tác vụ đơn giản với một API duy nhất, việc xây dựng MCP server có thể không mang lại lợi ích đủ lớn so với chi phí triển khai và bảo trì.
Nhà phát triển nên đánh giá số lượng tích hợp, nhu cầu tái sử dụng, yêu cầu bảo mật và độ phức tạp vận hành trước khi lựa chọn kiến trúc.
12. Lộ trình bắt đầu học và xây dựng MCP
Nếu đã có nền tảng Python hoặc JavaScript, bạn có thể tiếp cận MCP theo lộ trình sau.
- Nắm vững kiến thức API: Hiểu HTTP, JSON, xác thực và cách ứng dụng giao tiếp với dịch vụ bên ngoài.
- Tìm hiểu kiến trúc MCP: Phân biệt Host, Client, Server, Tools, Resources và Prompts.
- Xây dựng MCP server nhỏ: Bắt đầu với một tool đơn giản như tính toán, đọc dữ liệu mẫu hoặc tra cứu thông tin.
- Kết nối với một MCP host: Cấu hình ứng dụng tương thích để khám phá và gọi tool.
- Thêm nguồn dữ liệu thực tế: Kết nối API hoặc cơ sở dữ liệu với quyền truy cập giới hạn.
- Kiểm thử và bảo mật: Kiểm tra dữ liệu đầu vào, lỗi kết nối, quyền truy cập và những hành động nhạy cảm.
Trong quá trình học, nên bắt đầu bằng dữ liệu thử nghiệm và những công cụ ít rủi ro. Chỉ kết nối tới hệ thống thật sau khi đã hiểu rõ luồng dữ liệu, cơ chế xác thực và cách kiểm soát hành động.
13. Kết luận
Model Context Protocol (MCP) là giao thức mở giúp chuẩn hóa cách ứng dụng AI kết nối với công cụ, tài nguyên và các hệ thống bên ngoài. Thông qua kiến trúc Host–Client–Server cùng các khả năng như Tools, Resources và Prompts, MCP giúp việc tích hợp có cấu trúc rõ ràng và thuận tiện hơn khi mở rộng.
MCP không thay thế LLM, API hay Function Calling. Thay vào đó, nó có thể phối hợp với những thành phần này để xây dựng ứng dụng AI có khả năng truy xuất thông tin và sử dụng công cụ theo cách thống nhất hơn.
Khi triển khai thực tế, nhà phát triển vẫn cần chú trọng phân quyền, kiểm tra đầu vào, bảo vệ thông tin xác thực và kiểm soát các hành động nhạy cảm. Một giao thức kết nối tốt chỉ phát huy giá trị khi được đặt trong kiến trúc có thiết kế và bảo mật phù hợp.
Tài liệu tham khảo
- Model Context Protocol – Trang tài liệu chính thức
- MCP Specification – Đặc tả giao thức
- Model Context Protocol – GitHub Organization
- Anthropic – Model Context Protocol
Tìm hiểu thêm tại MCNA Technology School
Nếu bạn muốn xây dựng nền tảng về xử lý dữ liệu, Python và ứng dụng AI, hãy tham khảo các chương trình học tại MCNA Technology School:

