Công cụ MCP là gì và mô hình AI sử dụng chúng như thế nào?
Tìm hiểu công cụ MCP là gì, cách mô hình AI tìm và gọi chúng thông qua máy chủ MCP, cũng như cách sử dụng chúng một cách an toàn.

Công cụ MCP là các hàm mà mô hình AI có thể gọi để thực hiện một tác vụ bên ngoài cuộc trò chuyện, chẳng hạn như tìm kiếm trong ghi chú của bạn hoặc truy vấn cơ sở dữ liệu. Mỗi công cụ nằm trên một máy chủ MCP (Model Context Protocol), có tên và một đoạn mô tả ngắn giúp mô hình quyết định khi nào nên sử dụng công cụ đó.
Thuật ngữ "công cụ MCP" cũng được dùng theo những cách khác. Trong cách nói hằng ngày, mọi người nói "công cụ MCP" khi thực ra muốn nói đến máy chủ MCP (các ứng dụng cung cấp công cụ) hoặc các danh mục liệt kê những máy chủ đó. MCP Tools cũng là tên của một chương trình dòng lệnh dùng để liệt kê và gọi các công cụ trên máy chủ MCP.
Hướng dẫn này nói về các hàm của giao thức, không phải máy chủ, danh mục hay dòng lệnh. Bài viết giải thích một công cụ gồm những gì, các loại công cụ mà máy chủ cung cấp, và công cụ khác với tài nguyên, lời nhắc và gọi hàm như thế nào. Sau đó, bài viết lần lượt trình bày các bước mà mô hình thực hiện để sử dụng một công cụ, và kết thúc bằng những vấn đề phổ biến nhất khi sử dụng công cụ.
Công cụ MCP là gì?
Công cụ MCP là một hàm cho phép mô hình AI hoàn thành tác vụ với các ứng dụng phần mềm khác. Chẳng hạn, chỉ xin kể vài ví dụ, các tác nhân AI và quy trình làm việc của tôi sử dụng công cụ MCP để soạn email nháp trong Gmail (create_draft), tạo thẻ Trello (trelloWriteCard) và lấy kết quả tìm kiếm trực tiếp từ DataForSEO (serp_organic_live_advanced).
Các ứng dụng phần mềm thường cung cấp nhiều công cụ MCP trên máy chủ MCP của mình. Ví dụ, máy chủ MCP của Trello hiện có 14 công cụ MCP cho phép mô hình AI đọc và cập nhật bảng, danh sách, danh sách kiểm tra, thẻ và nhiều thứ khác.
Và vì MCP chuẩn hóa cách mô tả và cung cấp công cụ, bất kỳ ứng dụng AI nào hỗ trợ giao thức này đều có thể sử dụng cùng một công cụ MCP.
Một công cụ MCP bao gồm những gì
Mỗi công cụ MCP đều có ba thành phần:
- Tên: Một mã định danh ngắn mà mô hình sử dụng khi gọi công cụ (ví dụ:
get_eventtrong Google Calendar). - Mô tả: Phần giải thích bằng ngôn ngữ dễ hiểu về chức năng của công cụ và khi nào công cụ hữu ích. Mô hình ngôn ngữ lớn (LLM) đọc phần này để quyết định công cụ có phù hợp với yêu cầu của bạn hay không (ví dụ: "
Returns a single event on the given calendar."). - Đầu vào: Thông tin mà công cụ cần để chạy, chẳng hạn như tên khách hàng và ngày tháng cho một lượt tìm kiếm ghi chú. Phần này được viết bằng JSON, và các nhà phát triển gọi nó là lược đồ đầu vào (input schema) vì nó quy định dạng thức cho từng đầu vào (văn bản, số hoặc danh sách).
Một số công cụ có thêm siêu dữ liệu: tên hiển thị, mô tả về kết quả mà công cụ trả về (lược đồ đầu ra) và các chú thích về cách công cụ hoạt động.
Mô hình AI không bao giờ nhìn thấy mã nguồn đằng sau một công cụ. Mô hình làm việc dựa trên những gì công cụ tự mô tả về mình, vì vậy một cái tên hoặc phần mô tả mơ hồ sẽ khiến mô hình chọn sai công cụ.
Có những loại công cụ MCP nào
Công cụ MCP được chia thành bốn nhóm theo chức năng:
- Công cụ tìm kiếm và tra cứu: Tìm hoặc truy xuất thông tin (ví dụ: tìm kiếm ghi chú, đọc tệp hoặc truy vấn cơ sở dữ liệu).
- Công cụ hành động: Tạo hoặc thay đổi nội dung trong một ứng dụng khác (ví dụ: thêm tác vụ, tạo sự kiện lịch, mở phiếu hỗ trợ hoặc gửi email).
- Công cụ xử lý dữ liệu: Chuyển đổi hoặc phân tích dữ liệu (ví dụ: phân tích tệp bảng tính hoặc thực hiện phép tính).
- Công cụ hệ thống: Tương tác với hệ thống cục bộ (ví dụ: thực thi lệnh trong terminal).
Công cụ MCP so với tài nguyên & lời nhắc
Ngoài công cụ MCP, máy chủ MCP có thể cung cấp hai loại khối xây dựng khác, mà giao thức gọi là thành phần nguyên thủy (primitive): tài nguyên và lời nhắc.
Ví dụ, máy chủ MCP chính thức của GitHub cung cấp:
- Một công cụ có tên
issue_writedùng để tạo hoặc cập nhật issue, - Một tài nguyên có tên
repository_contentcung cấp quyền truy cập vào các tệp trong kho lưu trữ, - Một lời nhắc có tên
issue_to_fix_workflowthiết lập các bước để báo cáo sự cố dưới dạng issue và yêu cầu tác nhân lập trình Copilot của GitHub tạo pull request để khắc phục sự cố đó.
Điểm khác biệt nằm ở chức năng của từng loại và ai là người quyết định khi nào sử dụng: bạn, ứng dụng AI mà bạn đang làm việc (ví dụ: Perplexity), hay mô hình AI chạy bên trong ứng dụng đó.
- Công cụ MCP thực hiện hành động hoặc tra cứu thông tin. Mô hình AI tự quyết định khi nào gọi công cụ, và ứng dụng AI của bạn chuyển lệnh gọi đó đến máy chủ. Mô hình AI của bạn chọn công cụ; ứng dụng AI của bạn nên hiển thị cho bạn từng lệnh gọi và cho phép bạn từ chối.
- Tài nguyên là nội dung có sẵn trên máy chủ MCP, chẳng hạn như một tệp hoặc một tập hợp bản ghi, mỗi nội dung có địa chỉ riêng (URI). Ứng dụng AI của bạn hỏi máy chủ xem có những tài nguyên nào, đọc tài nguyên cần thiết theo địa chỉ của nó và thêm nội dung đó vào cuộc trò chuyện làm ngữ cảnh.
- Lời nhắc là mẫu tin nhắn soạn sẵn do máy chủ cung cấp, đôi khi có những chỗ trống để bạn điền vào. Ứng dụng AI của bạn hiển thị các lời nhắc có sẵn và bạn chọn một lời nhắc, thường dưới dạng lệnh gạch chéo (slash command).
Cách mô hình AI sử dụng công cụ MCP
Mô hình AI sử dụng công cụ MCP qua năm bước: khám phá, chọn công cụ, gọi công cụ, nhận kết quả và xử lý lỗi. Ứng dụng AI của bạn chuyển mọi thông tin qua lại giữa mô hình và máy chủ.
Giả sử bạn yêu cầu ứng dụng AI kiểm tra danh sách "Tuần này" trên Trello của bạn và soạn email nháp gửi biên tập viên để cập nhật tình hình. Dưới đây là toàn bộ quá trình diễn ra từ đầu đến cuối:
- Khám phá: Khi ứng dụng AI của bạn kết nối với máy chủ MCP thông qua máy khách MCP, ứng dụng sẽ yêu cầu danh sách các công cụ có sẵn của máy chủ (một yêu cầu có tên
tools/list). LLM chỉ thấy những gì ứng dụng chuyển tiếp: tên, mô tả và đầu vào của từng công cụ. - Chọn công cụ: Mô hình AI so sánh yêu cầu của bạn với các phần mô tả đó và chọn những công cụ phù hợp. Ở đây, đó là
trelloReadListcủa Trello để đọc danh sách vàcreate_draftcủa Gmail để soạn email. Mô hình cũng điền các đầu vào, chẳng hạn như cần đọc danh sách nào. - Gọi công cụ: Mô hình phản hồi bằng một yêu cầu có cấu trúc để chạy công cụ (bước này gọi là "gọi hàm"). Ứng dụng AI của bạn gửi yêu cầu đó đến đúng máy chủ (một yêu cầu
tools/call). Ứng dụng cũng nên hiển thị lệnh gọi cho bạn và cho phép bạn từ chối. - Kết quả: Máy chủ chạy hàm và gửi lại
result(kết quả), trong trường hợp này là các thẻ trong danh sách của bạn. Ứng dụng AI của bạn thêm kết quả vào cuộc trò chuyện, và mô hình quyết định bước tiếp theo: trả lời bạn hoặc gọi một công cụ khác, chẳng hạn nhưcreate_draftvới một email dựa trên các thẻ đó. - Xử lý lỗi: Nếu công cụ chạy nhưng thất bại, chẳng hạn vì danh sách không tồn tại, lỗi sẽ được trả về như một phần của kết quả. Mô hình có thể đọc lỗi đó và thử lại với đầu vào khác. Nếu bản thân yêu cầu bị lỗi, chẳng hạn vì gọi một công cụ mà máy chủ không có, thì ứng dụng sẽ nhận được lỗi giao thức. Khi đó, mô hình khó tự khắc phục hơn.
Điểm mấu chốt là mô hình chọn công cụ chỉ dựa trên phần mô tả của chúng, còn ứng dụng AI của bạn đảm nhận toàn bộ việc giao tiếp với máy chủ.
Các vấn đề thường gặp với công cụ MCP và cách tránh
Các vấn đề với công cụ MCP quy về bốn yếu tố: có bao nhiêu công cụ được kết nối, công cụ được đặt tên và mô tả như thế nào, công cụ trả về bao nhiêu dữ liệu, và công cụ đến từ những máy chủ nào.
Dưới đây là biểu hiện của từng vấn đề và cách khắc phục:
Vấn đề | Biểu hiện | Cách khắc phục |
Kết nối quá nhiều công cụ | Mọi định nghĩa công cụ đều nằm sẵn trong cửa sổ ngữ cảnh của mô hình trước khi bạn hỏi bất cứ điều gì, và việc chọn công cụ trở nên kém chính xác hơn khi danh sách dài thêm. | Chỉ kết nối những máy chủ mà tác vụ cần, và tắt các công cụ không dùng đến nếu ứng dụng AI của bạn cho phép. Ví dụ: máy chủ MCP của GitHub cho phép bạn chỉ bật những nhóm công cụ (toolset) mà bạn cần. |
Mô tả mơ hồ hoặc trùng lặp | Mô hình gọi sai công cụ, hoặc gọi đúng công cụ nhưng với đầu vào sai, vì hai phần mô tả nghe giống nhau hoặc một phần mô tả quá sơ sài. | Cung cấp tên và mô tả rõ ràng, cụ thể, lý tưởng nhất là kèm ví dụ về thời điểm nên dùng công cụ. Nếu các công cụ của một máy chủ liên tục hoạt động sai, MCP Inspector, công cụ kiểm thử chính thức, sẽ cho thấy chính xác những gì mỗi công cụ tự mô tả về mình. |
Cùng một tên công cụ trên hai máy chủ | Hai máy chủ đều cung cấp một công cụ có tên | Thêm tên máy chủ làm tiền tố cho tên công cụ. Ví dụ: máy chủ của Trello ( |
Kết quả quá lớn | Công cụ trả về nhiều hơn mức tác vụ cần, chẳng hạn như toàn bộ một chuỗi email kèm định dạng, khiến ngữ cảnh của mô hình bị quá tải. | Sử dụng các công cụ có định dạng gọn nhẹ. Ví dụ: phần mô tả của công cụ |
Máy chủ không đáng tin cậy | Một máy chủ cẩu thả hoặc độc hại có thể dùng lệnh gọi công cụ để lấy dữ liệu ra khỏi cuộc trò chuyện của bạn. | Chỉ kết nối máy chủ từ những nguồn bạn tin cậy, và luôn bật yêu cầu phê duyệt cho các công cụ làm thay đổi dữ liệu hoặc gửi dữ liệu ra ngoài. |
Tại sao công cụ MCP cần bạn phê duyệt?
Công cụ MCP cần bạn phê duyệt vì nếu không, mô hình AI có thể thực hiện những thay đổi ngoài ý muốn của bạn hoặc chia sẻ dữ liệu nhạy cảm với một máy chủ mà bạn không kiểm soát.
Một yêu cầu bị hiểu sai hoặc một công cụ được mô tả mơ hồ có thể kích hoạt hành động sai. Mỗi lệnh gọi cũng gửi một phần thông tin của bạn đến máy chủ.
Đó là lý do giao thức kỳ vọng các ứng dụng AI luôn có con người tham gia giám sát, với khả năng từ chối bất kỳ lệnh gọi công cụ nào.
Dưới đây là một cách thực tế để phân loại công cụ theo mức độ cần kiểm tra:
- Hành động chỉ đọc: Tra cứu thông tin, chẳng hạn như đọc danh sách bằng
trelloReadListcủa Trello, không làm thay đổi gì cả. Các lệnh gọi này có thể chạy mà không cần hỏi trước, miễn là ứng dụng AI của bạn cho biết công cụ nào đã chạy và công cụ đó đã tra cứu những gì. - Hành động có thể hoàn tác: Tạo email nháp bằng
create_draftcủa Gmail hoặc thêm thẻ Trello sẽ thay đổi một thứ mà bạn có thể đảo ngược. Hãy kiểm tra đầu vào trước khi lệnh gọi chạy. - Hành động không thể hoàn tác: Gửi email bằng
send_messagecủa Gmail, xóa bản ghi, hoặc bất cứ điều gì liên quan đến thanh toán hay dữ liệu nhạy cảm đều không thể đảo ngược. Hãy cấp quyền rõ ràng cho các hành động này mỗi lần thực hiện.
Sử dụng công cụ MCP trong Perplexity
Perplexity làm việc với công cụ MCP theo cả hai chiều: Perplexity có thể sử dụng công cụ từ các máy chủ MCP mà bạn kết nối, đồng thời cung cấp công cụ của riêng mình cho các ứng dụng AI khác.
- Kết nối máy chủ MCP với Perplexity: Với các gói Pro, Max và Enterprise, bạn có thể kết nối Perplexity với bất kỳ công cụ hoặc nguồn dữ liệu bên ngoài nào có máy chủ MCP và sử dụng chúng trong câu trả lời cũng như trong các quy trình làm việc dạng tác nhân của Perplexity Computer. Trên ứng dụng Mac, bạn cũng có thể kết nối các máy chủ MCP chạy trên máy tính của mình
- Sử dụng công cụ của Perplexity trong các ứng dụng AI khác: Máy chủ MCP của Perplexity cung cấp bốn công cụ (
perplexity_search,perplexity_ask,perplexity_researchvàperplexity_reason) cho bất kỳ ứng dụng AI nào hỗ trợ máy chủ MCP từ xa, chẳng hạn như Claude Code. Một máy chủ riêng biệt cho phép các ứng dụng AI khác giao các tác vụ nhiều bước cho Perplexity Computer.
Câu hỏi thường gặp về công cụ MCP
MCP có phải chỉ là gọi công cụ?
Không, MCP không chỉ là gọi công cụ. Gọi công cụ là cách mô hình yêu cầu một công cụ, còn MCP là cách ứng dụng AI tìm công cụ và định tuyến từng lệnh gọi đến máy chủ chạy công cụ đó.
Gọi công cụ (còn gọi là gọi hàm) là phần việc của mô hình AI: mô hình xem danh sách công cụ và phản hồi bằng một yêu cầu chạy một công cụ trong số đó. Nếu chỉ có gọi công cụ, mỗi ứng dụng AI phải tự định nghĩa và chạy mọi công cụ.
MCP cho phép công cụ nằm trên máy chủ, nhờ đó bất kỳ ứng dụng AI nào hỗ trợ MCP đều có thể cung cấp các công cụ đó cho mô hình của mình và gửi yêu cầu của mô hình đến đúng máy chủ.
MCP có thay thế API không?
Không, MCP sẽ không thay thế API, vì MCP và API hoạt động cùng nhau. Công cụ MCP thường được xây dựng dựa trên các API sẵn có, và khi mô hình gọi một công cụ, máy chủ MCP thường sẽ gửi một yêu cầu API.
Những ứng dụng AI nào hỗ trợ công cụ MCP?
Công cụ MCP hoạt động trong các trợ lý AI như Claude, ChatGPT và Perplexity, cũng như trong các công cụ phát triển như Visual Studio Code và Cursor. Tài liệu MCP nêu tên các ứng dụng này và lưu ý rằng nhiều ứng dụng khác cũng hỗ trợ.
Bản thân mô hình AI có cần hỗ trợ MCP không?
Không. Mô hình AI không cần hỗ trợ MCP vì ứng dụng AI của bạn xử lý giao thức. Ứng dụng kết nối với máy chủ, chuyển công cụ của máy chủ cho mô hình và gửi các yêu cầu dùng công cụ của mô hình trở lại đúng máy chủ. Mô hình chỉ cần hỗ trợ gọi hàm.
MCP có đang trở nên lỗi thời không?
Không, MCP vẫn đang được tích cực phát triển. Các nhà duy trì MCP đã phát hành phiên bản mới của đặc tả MCP vào tháng 7 năm 2026 và công bố lộ trình đã cập nhật vào tháng 8 năm 2026, trong đó có hạng mục cho phép máy chủ hiển thị dần các công cụ khi cuộc trò chuyện thu hẹp phạm vi.