Xây dựng AI agent với Model Context Protocol (MCP): Hướng dẫn thực tế cho đội production
MCP là giao thức tích hợp, không phải framework agent: tách truy xuất, hành động và kiểm duyệt, ghi log mọi lần gọi công cụ, biết khi nào tự xây MCP server.

Xây dựng AI agent với Model Context Protocol (MCP) là tạo ra một cách có kiểm soát để agent kết nối với công cụ, dịch vụ và dữ liệu bên ngoài. MCP tách phần suy luận của mô hình khỏi các hệ thống mà nó cần truy cập, nhưng để chạy tốt trên production, bạn vẫn cần quyền hạn hẹp, logging, đánh giá, khôi phục lỗi và kiểm duyệt của con người.
Vấn đề thực tế là agent chỉ dựa vào prompt thì có thể trả lời câu hỏi, còn một agent production hữu ích cần lấy dữ liệu từ data warehouse, xem log, tạo ticket hoặc kích hoạt quy trình. Mỗi năng lực mới cũng mở ra một kiểu lỗi mới. Nếu đội đang tìm hiểu phát triển AI agent, câu hỏi không chỉ là kết nối công cụ, mà là hành động nào được phép, khi nào cần kiểm duyệt và khôi phục sự cố ra sao.
Bối cảnh công cụ và độ phù hợp
Đừng đánh giá MCP một cách tách rời. Hãy so sánh LangGraph, LangChain, CrewAI, function calling gốc của mô hình và MCP dựa trên nhu cầu về workflow, orchestration và kiểm soát runtime.
Điểm chính
- MCP là giao thức tích hợp, không phải framework agent hoàn chỉnh.
- Quy trình an toàn tách riêng truy xuất, hành động và kiểm duyệt.
- Ghi mọi lần gọi công cụ, input, output, quyết định của mô hình, quyết định kiểm duyệt và hành động khôi phục.
- Dùng SDK hoặc framework khi chúng giảm bớt công sức orchestration; xây MCP server tùy chỉnh khi cần ranh giới ổn định, lâu dài với hệ thống nội bộ.
- Kiểm duyệt của con người quan trọng nhất với các hành động khó hoàn tác, tốn kém, khách hàng nhìn thấy được, nhạy cảm về tuân thủ hoặc có độ tin cậy thấp.
Xây dựng AI agent với Model Context Protocol (MCP) là gì?
MCP cho agent một cách chuẩn để khám phá và sử dụng các năng lực bên ngoài thông qua MCP client và server. Tài liệu MCP chính thức mô tả đây là một giao thức chung để kết nối ứng dụng AI với công cụ và dữ liệu.
Thay vì hard-code mọi tra cứu database, API, đọc file hay bước tự động hóa, đội ngũ đưa các năng lực đó vào MCP server. Ví dụ, một trợ lý dữ liệu nội bộ có thể lấy trạng thái job, đọc log liên quan, tóm tắt nguyên nhân khả dĩ và chuyển cho người kiểm duyệt khi độ tin cậy thấp.
Các khối thành phần cốt lõi
- Ứng dụng agent: nhận yêu cầu, gọi mô hình, quản lý trạng thái và trả phản hồi.
- MCP client: kết nối ứng dụng agent với MCP server.
- MCP server: cung cấp tool, resource hoặc prompt.
- Tool: hành động như truy vấn bảng, kiểm tra log, tạo ticket hoặc gọi API nội bộ.
- Resource: ngữ cảnh như tài liệu, schema, file, log hoặc bản ghi.
- Transport: cách client và server trao đổi dữ liệu.
Vì sao MCP quan trọng với quy trình AI agent
Nhiều agent có khả năng suy luận nhưng không thể truy cập an toàn vào những hệ thống nơi công việc thực sự diễn ra. MCP giúp ranh giới tích hợp rõ ràng hơn: agent được đọc gì, hành động nào được tự động thực hiện, tool nào cần phê duyệt, lời gọi chạy ở đâu, cần ghi log những gì và khôi phục lỗi ra sao.
Một agent production tốt không được đánh giá bằng số tool nó có thể gọi, mà bằng khả năng tạo ra kết quả hữu ích một cách ổn định, với rủi ro dễ hiểu.
MCP hoạt động thế nào: kiến trúc production thực tế
Hình 1. MCP tách riêng suy luận, quyền truy cập công cụ, thực thi trên hệ thống và kiểm duyệt.
flowchart LR
A[Yêu cầu người dùng] --> B[Ứng dụng agent]
B --> C[Suy luận model]
C --> D[MCP client]
D --> E[MCP server]
E --> F[Công cụ, nguồn dữ liệu hoặc dịch vụ]
F --> E
E --> D
D --> C
C --> G{Kiểm tra rủi ro}
G -->|Rủi ro thấp| H[Phản hồi cuối]
G -->|Cần kiểm duyệt| I[Hàng đợi kiểm duyệt]
I --> J[Phê duyệt, sửa, từ chối hoặc chuyển cấp]
Tài liệu MCP của OpenAI Agents SDK và hướng dẫn Azure MCP là tài liệu hữu ích về tích hợp SDK và triển khai trên cloud. Câu hỏi vận hành là: lời gọi chạy ở đâu, ai được phê duyệt, kiểm tra lại sau này bằng cách nào và điều gì xảy ra khi nó lỗi?
| Thành phần | Vai trò | Câu hỏi vận hành | Lỗi chính | Checkpoint | | -------------- | -------------------------------- | ------------------------------------------- | ------------------------------ | --------------------------- | | Ứng dụng agent | Quản lý workflow và gọi mô hình | Nó áp dụng state và chính sách nào? | Hành động ngoài luồng dự kiến | Rà soát chính sách workflow | | MCP client | Kết nối server | Server nào được phép? | Cho phép nhầm tool hoặc server | Allowlist kết nối | | MCP server | Cung cấp tool và resource | Bộ năng lực an toàn nhỏ nhất là gì? | Truy cập nội bộ quá rộng | Rà soát phạm vi tool | | Tool | Thực hiện hành động hoặc tra cứu | Chỉ đọc, có thể hoàn tác hay tác động lớn? | Input xấu gây kết quả sai | Phê duyệt theo rủi ro | | Resource | Cung cấp ngữ cảnh | Dữ liệu hiện tại, được phép và liên quan? | Dùng ngữ cảnh cũ hoặc nhạy cảm | Rà soát truy cập dữ liệu | | Transport | Chuyển thông điệp | Ranh giới mạng, hosting nào áp dụng? | Dịch vụ không truy cập được hoặc bị lộ | Rà soát triển khai | | Log | Ghi thực thi | Có tái dựng quyết định được không? | Không gỡ lỗi được sự cố | Rà soát observability |
Cách bắt đầu xây MCP agent
Hình 2. Một MCP agent đáng tin cậy bắt đầu từ workflow và kết thúc bằng kiểm thử lỗi.
1. Xác định workflow và hành động được phép
Mô tả công việc bằng ngôn ngữ vận hành: kiểm tra job import hằng ngày, lấy đoạn log, tóm tắt nguyên nhân và tạo bản nháp incident. Phân loại hành động thành: chỉ đọc, chỉ soạn nháp, nội bộ có thể hoàn tác, nội bộ không thể hoàn tác, khách hàng nhìn thấy được và nhạy cảm về tuân thủ. Xem hướng dẫn AI agent với kiểm duyệt của con người để đặt checkpoint từ đầu.
2. Chọn ranh giới nguồn dữ liệu hoặc hệ thống
Chỉ cấp quyền truy cập mà agent thực sự cần. Một agent hỗ trợ pipeline thường cần trạng thái, log, schema và lịch sử incident, chứ không cần quyền ghi vào job production. Với ngữ cảnh gần thời gian thực, kiến trúc dữ liệu bên dưới phải đảm bảo dữ liệu đủ mới và đầy đủ. Xem kiến trúc hướng sự kiện với message queue.
3. Chọn cách xây dựng
| Cách tiếp cận | Phù hợp nhất | Điểm mạnh | Hạn chế | | -------------------------- | ------------------------------------ | ---------------------------- | ---------------------------- | | Tích hợp SDK nền tảng | Đội đã xây trên nền tảng AI cụ thể | Khởi động nhanh | Nền tảng định hình kiến trúc | | Framework agent | Cần orchestration, memory, routing | Giảm code workflow tùy chỉnh | Có thể che khuất điểm lỗi | | MCP server tùy chỉnh | Hệ thống nội bộ cần ranh giới nghiêm | Kiểm soát truy cập rõ | Tốn công kỹ thuật ban đầu | | Stack managed của nhà cung cấp | Ưu tiên tốc độ và hỗ trợ | Hosting, vận hành trọn gói | Ít kiểm soát nội bộ |
Framework như mcp-agent của lastmile-ai có ích khi orchestration là phần khó, nhưng không thay thế được các quyết định về quyền truy cập, kiểm duyệt và trách nhiệm.
4. Chỉ cung cấp bộ tool nhỏ nhất hữu ích
Tool nên có tên rõ ràng, input hẹp và output dễ dự đoán. Với trợ lý pipeline, hãy bắt đầu bằng get_pipeline_status, get_recent_failed_runs, fetch_log_excerpt và create_incident_draft. Tránh run_sql_anywhere, call_internal_api hoặc modify_pipeline_config khi chưa có phân quyền và checkpoint chặt chẽ.
5. Thêm logging, quyền và kiểm duyệt
Ghi lại yêu cầu người dùng, tool được chọn, input, output, tóm tắt quyết định, phản hồi cuối, quyết định của người kiểm duyệt và hành động khôi phục. Đặt ngân sách token cho mỗi lượt chạy, timeout, fallback và đường escalation.
6. Kiểm thử yêu cầu bình thường, mơ hồ và không an toàn
Kiểm thử các trường hợp thiếu ngày, không có bản ghi, log chứa dữ liệu nhạy cảm, mô hình gọi tool ghi dữ liệu trước khi được kiểm duyệt, các nguồn mâu thuẫn nhau và dịch vụ bị timeout. Mục tiêu là lỗi phải dễ phát hiện, được cô lập và có thể khôi phục.
Thực hành tốt khi xây AI agent với MCP
Giữ phạm vi tool hẹp
lookup_customer_contract_status an toàn hơn query_crm vì nó mô tả một nghiệp vụ cụ thể thay vì để mô hình tự ứng biến.
Tách truy xuất, hành động và kiểm duyệt
Hãy tách riêng ngữ cảnh, quyết định và hành động. Tự động hóa web có thể đọc trang, trích xuất dữ liệu và soạn đề xuất; còn các thay đổi khách hàng nhìn thấy được, việc gửi form hoặc gửi tin nhắn phải được phê duyệt. Xem dự án giám sát người theo dõi Twitter/X, với nhật ký kiểm tra cho từng tài khoản và từng phiên trên hơn 30.000 hồ sơ mỗi ngày.
Coi MCP server là một điểm tích hợp production
Khi kết nối vào hệ thống nội bộ, MCP server cần versioning, phân quyền, người chịu trách nhiệm triển khai, giám sát và rollback giống như một API nội bộ. Hãy xác định service account, môi trường, dữ liệu được trả về và cách xử lý các thay đổi gây breaking change.
Đánh giá bằng trường hợp workflow thật
| Khu vực đánh giá | Cần kiểm tra | Tín hiệu vận hành | | ----------------- | ----------------------------- | ----------------------------------- | | Hoàn thành tác vụ | Agent có kết thúc workflow? | Kết quả đúng hoặc escalation rõ | | Chọn tool | Có chọn đúng MCP tool? | Không có hành động thừa | | Dùng ngữ cảnh | Có dựa trên dữ liệu đúng? | Tóm tắt chính xác, có nguồn | | An toàn | Có tránh hành động trái phép? | Kích hoạt kiểm duyệt khi cần | | Chi phí | Có dùng ngữ cảnh hiệu quả? | Không gọi tool thừa, prompt không phình to | | Độ trễ | Workflow có dùng được? | Timeout và fallback dễ dự đoán | | Khôi phục | Lỗi có được cô lập? | Có retry, rollback hoặc escalation |
Thiết kế theo khối lượng kiểm duyệt
Hình 3. Checkpoint kiểm duyệt tăng dần theo mức tác động, khả năng hoàn tác và mức độ hiển thị của hành động.
Kiểm duyệt theo mức rủi ro là điểm cân bằng thực tế: kiểm duyệt các hành động khó hoàn tác, thay đổi mà khách hàng nhìn thấy, câu trả lời có độ tin cậy thấp và output chứa dữ liệu nhạy cảm; cho phép các bản tóm tắt chỉ đọc, rủi ro thấp đi thẳng khi đã đạt ngưỡng đánh giá.
Mẫu artifact triển khai thực tế
def run_reviewed_step(state, tool):
if state.risk == "high":
return {"status": "needs_review", "reason": "risk gate"}
result = tool(**state.allowed_args)
if not result.get("evidence"):
return {"status": "needs_review", "reason": "missing evidence"}
return {"status": "ready", "result": result}
Artifact này giúp đội kỹ thuật, đội vận hành và người chịu trách nhiệm kiểm duyệt thống nhất ranh giới trước khi xây server.
Các lỗi thường gặp cần tránh
Đừng coi MCP là một framework agent hoàn chỉnh, mở quá nhiều tool quá sớm hoặc bỏ qua ranh giới quyền hạn chỉ vì bản prototype đã chạy được. Hãy xác định rõ nơi thực thi, vì nó ảnh hưởng đến độ trễ, secret, mạng, log và ứng phó sự cố. Đừng đưa ra khẳng định về độ chính xác, hiệu quả hay chi phí trước khi đo bằng dữ liệu workflow thực.
Kết luận
MCP là cách thực tế để kết nối agent với tool và dữ liệu cần thiết, nhưng giao thức chỉ là một phần của việc sẵn sàng cho production. Hãy bắt đầu với một workflow, xác định các hành động được phép, xây tập MCP tool nhỏ nhất mà vẫn hữu ích, bổ sung observability trước khi ra mắt, kiểm thử cả trường hợp bình thường lẫn không an toàn và đặt kiểm duyệt ở những chỗ rủi ro cao.
Van Data Team hỗ trợ guardrail và escalation cho agent, tích hợp dữ liệu, thiết kế quy trình kiểm duyệt và lập kế hoạch triển khai. Xem Strategy Sprint và các hình thức hợp tác khi bạn sẵn sàng xác định phạm vi cho use case đầu tiên.

Nhà sáng lập Van Data Team, trực tiếp xây dựng Vanaxity và điều hành kỹ thuật dữ liệu, AI Agent cho các đội ngũ doanh nghiệp.
Về tác giảCâu hỏi thường gặp
Những câu hỏi người đọc thường đặt ra tiếp theo.
Các câu trả lời ngắn này làm rõ những câu hỏi thực tế thường xuất hiện sau khi đọc bài viết.
Bạn cần một hệ thống tương tự?
Nếu bài viết này phản ánh một quy trình đội ngũ bạn đang vận hành, bước tiếp theo thường là rà soát có phạm vi về hệ thống, ràng buộc và lộ trình triển khai.
Tư vấn
Xác định phạm vi cho quy trình AI tiếp theo.
Chia sẻ hệ thống và điểm nghẽn. Chúng tôi sẽ cùng làm rõ mức độ phù hợp, khoảng trống và bước tiếp theo.








