Model Context Protocol(MCP)
Chuẩn mở quy định cách một ứng dụng AI kết nối tới công cụ và nguồn dữ liệu bên ngoài, để mỗi tích hợp không phải viết lại từ đầu. Nó là lớp cắm dây, không làm mô hình thông minh hơn.
Định nghĩa
Trước MCP, mỗi lần muốn cho một ứng dụng AI đọc Jira, truy vấn Postgres hay tra Confluence, team phải viết một lớp tích hợp riêng cho từng cặp ứng dụng–hệ thống. Bốn ứng dụng nhân năm hệ thống là hai mươi mẩu code na ná nhau. MCP chuẩn hoá chỗ đó: một bên khai báo công cụ và dữ liệu theo đúng một giao thức, bên kia dùng được ngay.
Ví von hay gặp là "USB-C cho tích hợp AI". Ví von đó đúng ở mức nó chỉ là chuẩn cắm dây, và cũng chỉ nên hiểu tới đó.
Ai đứng sau chuẩn này, và nó phơi ra cái gì
Anthropic công bố MCP tháng 11 năm 2024 dưới dạng chuẩn mở. Tháng 12 năm 2025, chuẩn này được chuyển cho Agentic AI Foundation thuộc Linux Foundation, với sự tham gia của nhiều bên khác trong ngành. Với BA, chuyện ai sở hữu chuẩn ít quan trọng. Quan trọng là nó đã đủ phổ biến để đưa vào hồ sơ kỹ thuật mà không ai hỏi lại "lỡ hãng đó bỏ thì sao".
Một MCP server phơi ra ba loại thứ:
- Tools — hành động gọi được, kèm mô tả tham số. Ví dụ: tạo issue, truy vấn bảng doanh thu.
- Resources — dữ liệu đọc được, như một tài liệu hay một bản ghi.
- Prompts — mẫu chỉ dẫn dựng sẵn cho một tác vụ lặp lại.
Phía ứng dụng AI đóng vai client, đọc danh sách đó rồi quyết định gọi cái gì. Hết. Nó không quyết định thay bạn chuyện quyền hạn, không kiểm tra logic nghiệp vụ, không làm mô hình bớt bịa.
Ví dụ thực tế
Ba tuần, ba nguồn dữ liệu, không một lớp tích hợp nào viết mới. Đó là kết quả của một công ty phần mềm 130 người muốn có trợ lý nội bộ trả lời được mấy câu kiểu "sprint này còn bao nhiêu story chưa có acceptance criteria", "tài liệu tích hợp cổng thanh toán của dự án X nằm ở đâu", "tháng trước team B log bao nhiêu giờ vào dự án Y".
Ba nguồn đó là Jira, Confluence, và một Postgres chứa dữ liệu chấm công. Thay vì viết ba lớp tích hợp riêng rồi phải viết lại khi đổi công cụ AI, họ cắm ba MCP server và trỏ trợ lý vào đó.
Phần việc của BA trong ba tuần ấy, không có dòng code nào:
- Liệt kê chính xác những công cụ được phép gọi, và nhất là những công cụ không được phơi ra. MCP server cho Postgres mặc định có thể chạy truy vấn tuỳ ý — team chốt chỉ phơi ra vài view chỉ đọc, đã lọc sẵn cột lương.
- Chốt trợ lý chạy dưới quyền của ai. Ban đầu định dùng một tài khoản dịch vụ có quyền đọc tất cả cho tiện, và như vậy thì ai hỏi cũng đọc được mọi dự án. Phải đổi sang truyền danh tính người dùng xuống.
- Ghi rõ dữ liệu nào rời khỏi mạng nội bộ khi gọi mô hình đặt bên ngoài, và nhóm dữ liệu nào cấm tuyệt đối.
- Viết quy tắc log: gọi công cụ nào, ai gọi, tham số gì, trả về bao nhiêu bản ghi.
Đừng nhầm MCP với mấy thứ này
| Người ta hay tưởng | Thực tế |
|---|---|
| Một framework để xây agent | Chỉ là giao thức kết nối; vòng lặp quyết định vẫn do ứng dụng làm |
| Một cách thay RAG | Không liên quan; RAG là truy xuất theo ngữ nghĩa, MCP là cách gọi tới nguồn |
| Có sẵn phân quyền và bảo mật | Không; quyền hạn vẫn do bạn thiết kế ở phía server và hệ thống nguồn |
| Làm mô hình trả lời chính xác hơn | Không trực tiếp; nó chỉ giúp mô hình lấy được dữ liệu thật thay vì đoán |
Khi nào chưa cần bận tâm
Nếu hệ thống của bạn chỉ có một tích hợp duy nhất và không có ý định đổi công cụ AI, gọi API trực tiếp vẫn nhanh hơn và ít lớp trừu tượng hơn. MCP có giá trị khi số tích hợp nhân với số ứng dụng bắt đầu lớn, hoặc khi bạn muốn tránh bị khoá vào một hãng.
Còn nếu ai đó đưa vào đề xuất kỹ thuật câu "áp dụng MCP để hệ thống thông minh hơn", đó là chỗ bạn nên hỏi lại: thông minh hơn ở chỗ nào, đo bằng gì.
