top of page

Model Context Protocol (MCP) là gì? Cách AI Agent kết nối Power BI và Microsoft Fabric

3 ngày trước
10 phút đọc
Sơ đồ MCP kết nối AI Agent với Power BI và Microsoft Fabric

Model Context Protocol (MCP) là giao thức mở do Anthropic giới thiệu [1], quy định một cách chung để AI Agent (tác tử AI) và mô hình ngôn ngữ lớn (LLM) gọi công cụ và đọc dữ liệu bên ngoài, như semantic model trong Power BI hay Microsoft Fabric.


Hiểu nhầm phổ biến nhất là coi MCP như một ứng dụng hoặc một mô hình AI mới. Thực tế nó là lớp quy ước nằm giữa agent và hệ thống dữ liệu, giống một cổng chuẩn để nhiều thiết bị cùng cắm vào. Semantic model (lớp ngữ nghĩa, nơi định nghĩa bảng, quan hệ và measure) chính là thứ agent cần "chạm" tới để trả lời đúng số liệu. Bài này đi qua cách MCP vận hành, một ví dụ trên Power BI và Fabric, và những điểm cần chú ý khi đưa MCP vào công việc phân tích hằng ngày.


Mục lục



I. Model Context Protocol (MCP) là gì?


Anthropic giới thiệu MCP vào tháng 11/2024 [1]. Trước đó, mỗi ứng dụng AI muốn đọc dữ liệu hay gọi một công cụ đều phải tự viết đoạn code kết nối riêng. Có 5 ứng dụng AI và 10 hệ thống dữ liệu thì bạn có thể phải viết tới 50 đoạn kết nối, mỗi đoạn một kiểu. MCP đổi cách làm này: hệ thống dữ liệu được bọc một lần thành MCP server (chương trình mở công cụ và dữ liệu theo chuẩn MCP), còn phía agent chỉ cần nói chuẩn MCP là dùng được.


Cộng đồng đón nhận khá nhanh. Trong vài tháng đầu, hàng trăm MCP server do cộng đồng xây dựng đã xuất hiện trên GitHub và MCP registry [1]. Bài này không trích số liệu về mức độ áp dụng MCP riêng trong Power BI hay Fabric, vì chưa có nguồn có ghi năm để kiểm chứng.


Infographic so sánh kết nối tự viết riêng lẻ và kết nối chuẩn qua MCP

Với người làm BI, hình dung đơn giản nhất là thế này. MCP server đứng trước semantic model của bạn. Agent hỏi server "có những bảng và measure nào?", rồi nhờ server chạy truy vấn thay mình. Agent không cần biết bạn dùng Power BI hay Fabric ở bên dưới, miễn là server nói đúng chuẩn.


Trong chương trình Agentic AI Analytics của MDA, MCP là giao thức để các AI Agent chuyên biệt (xử lý dữ liệu, dashboard, governance) làm việc trên hệ sinh thái Microsoft Fabric và Power BI, luôn có con người kiểm soát ở các chốt chặn.


II. Đặc điểm cốt lõi của MCP


MCP xây trên JSON-RPC 2.0, với 3 primitive (Tools, Resources, Prompts) và 2 transport (stdio, streamable-http) [1]. JSON-RPC 2.0 là chuẩn gọi hàm từ xa, trong đó yêu cầu và phản hồi đều được gói bằng JSON. Nhờ nền này, một MCP client (ứng dụng chứa agent, ví dụ trợ lý AI trên máy bạn) và một MCP server viết bằng hai ngôn ngữ khác nhau vẫn hiểu nhau.


Độ tin cậy của các mô tả kiến trúc cũng đáng nói. Nghiên cứu trong nguồn [1] phân tích 15 server, gồm 5 server production của nền tảng ANSYR voice AI (Celabe) và 10 server công khai từ MCP registry chính thức [1]. Celabe vận hành 5 server production này từ cuối 2024 [1]. Từ đó, nhóm tác giả mô tả 5 mẫu kiến trúc và 4 anti-pattern [1]. Độ tin cậy phân loại giữa hai LLM rater trên 54 server held-out đạt Cohen's κ = 0,76 [1].


1. Tools, Resources, Prompts: ba thành phần chính


Ba primitive này là cách MCP chia việc mà một server có thể cung cấp cho agent [1]. Khi gắn vào tác vụ phân tích dữ liệu, mỗi loại có vai trò khá rõ:


  • Tools: hành động agent có thể gọi. Ví dụ chạy một truy vấn DAX lên semantic model, truy vấn SQL trên lakehouse, hoặc kích hoạt làm mới dữ liệu.

  • Resources: dữ liệu chỉ để đọc. Ví dụ schema các bảng, danh sách measure kèm mô tả, data dictionary, định nghĩa KPI.

  • Prompts: mẫu yêu cầu dùng lại được. Ví dụ một mẫu "phân tích biến động doanh thu theo KPI Tree" mà cả team dùng chung, thay vì mỗi người tự gõ một kiểu.


Điểm đáng nhớ: Resources quyết định agent "hiểu" dữ liệu của bạn tới đâu. Mô tả measure càng rõ, agent càng ít phải đoán.


Ba thành phần Tools, Resources, Prompts của MCP trong phân tích dữ liệu

2. stdio và streamable-http: chọn transport nào?


Transport là đường truyền giữa client và server. Với stdio, server chạy ngay trên máy của client và hai bên trao đổi qua luồng vào/ra chuẩn. Với streamable-http, giao tiếp đi qua HTTP nên server có thể nằm ở máy khác.


Đo trên loopback (cùng máy), stdio có độ trễ 0,01 ms p50, còn streamable-http là 0,39 ms p50 [1]. Khi đi giữa hai máy khác nhau, mô hình hóa trong nghiên cứu cho thấy khoảng 30 ms p50 baseline, cộng thêm overhead của giao thức [1]. Chênh lệch 0,38 ms giữa hai transport trên loopback [1] rất nhỏ so với thời gian LLM suy nghĩ và thời gian truy vấn chạy.


Vì vậy bạn nên chọn theo cách triển khai chứ không theo tốc độ. stdio hợp khi bạn thử nghiệm cá nhân trên máy mình. streamable-http hợp khi nhiều người cùng dùng một server, cần đặt server ở nơi tập trung để quản lý quyền truy cập và nhật ký.


Biểu đồ độ trễ p50 của stdio và streamable-http trong MCP

III. Ví dụ thực tế: hỏi đáp dữ liệu với MCP trên Power BI và Fabric


Đây là tình huống minh hoạ, không phải số liệu thật. Bạn là analyst của một chuỗi bán lẻ tại Việt Nam, sáng thứ Hai được trưởng phòng hỏi: "Doanh thu tháng 9/2026 khu vực miền Nam giảm so với tháng 8, vì đâu?". Dữ liệu nằm trong một semantic model trên Fabric, có MCP server đứng trước.

Luồng xử lý của agent diễn ra theo thứ tự sau:


  • Agent đọc Resources để biết model có những bảng, quan hệ và measure nào. Nếu model đã khai báo synonyms (ví dụ "doanh thu", "Net Sales", "DT thuần" cùng trỏ về một measure), agent chọn đúng measure ngay.

  • Agent bám cấu trúc KPI Tree bạn đã định nghĩa: doanh thu = số đơn × giá trị đơn trung bình, rồi tách theo cửa hàng, nhóm sản phẩm.

  • Agent gọi Tool chạy truy vấn DAX cho từng nhánh, so sánh hai tháng.

  • Agent trả kết quả kèm câu DAX đã dùng. Bạn xem lại truy vấn trước khi đưa kết luận cho trưởng phòng.


Luồng agent hỏi đáp dữ liệu qua MCP server tới semantic model Power BI

Bước cuối quan trọng nhất. MCP giúp agent lấy số từ nguồn thay vì đoán, nhưng người đọc kết quả vẫn là bạn. Đó là lý do hệ thống đa agent trong Agentic AI Analytics Program luôn có chốt chặn duyệt của con người trước khi kết quả đi tiếp.


IV. Ứng dụng MCP trong công việc của người làm dữ liệu


MCP không thay bạn nghĩ bài toán. Nó giảm phần việc lặp lại giữa bài toán và kết quả. Một số chỗ mà người làm BI thường thấy hiệu quả ngay:


  • Hỏi đáp nhanh trên dữ liệu có sẵn. Thay vì mở Power BI Desktop, kéo visual chỉ để kiểm tra một con số, bạn hỏi agent và xem câu truy vấn nó chạy.

  • Viết và rà soát DAX/SQL. Agent đọc schema qua Resources nên đề xuất câu truy vấn đúng tên bảng, tên cột. Bạn vẫn là người duyệt logic.

  • Tài liệu hoá semantic model. Viết mô tả cho hàng chục measure là việc nhàm chán. Agent soạn bản nháp từ định nghĩa hiện có, bạn chỉnh lại.

  • Kiểm tra chất lượng dữ liệu. Agent quét các cột có giá trị rỗng, trùng khoá, hoặc tên danh mục không thống nhất, rồi báo lại trước khi báo cáo được phát hành.

  • Dựng khung báo cáo. Từ KPI Tree và danh sách measure, agent đề xuất bố cục trang, bạn hoàn thiện thiết kế.


Thời gian tiết kiệm được nằm ở các việc kiểu này, không phải ở chuyện "bấm một nút ra dashboard". Bài này không đưa con số phần trăm thời gian tiết kiệm vì chưa có nguồn đo lường có ghi năm.


Ma trận ứng dụng MCP trong công việc của người làm BI và phân tích dữ liệu

1. Triển khai MCP từng bước và chọn số lượng tool cho agent


Nếu bạn muốn thử trong công việc, đi theo thứ tự sau sẽ ít rủi ro hơn:


  • Bước 1, chốt bài toán trước. Dùng TOSCAR và KPI Tree để xác định câu hỏi kinh doanh. Công cụ chỉ đến sau.

  • Bước 2, làm sạch semantic model. Đặt tên measure rõ nghĩa, viết mô tả, thêm synonyms. Agent chỉ hiểu đúng khi model nói rõ.

  • Bước 3, chọn transport. stdio cho thử nghiệm trên máy bạn, streamable-http khi cả nhóm dùng chung.

  • Bước 4, giới hạn tool. Chỉ mở những tool agent cần cho nhiệm vụ đó.

  • Bước 5, phân quyền. Cấp cho agent đúng quyền của người dùng đang hỏi, giữ RLS (row-level security, bảo mật theo dòng: mỗi người chỉ thấy các dòng dữ liệu được phép) để agent không đọc vượt phạm vi.

  • Bước 6, giữ người duyệt và nhật ký. Lưu lại câu truy vấn agent đã chạy, đặt chốt duyệt trước các hành động ghi hoặc làm mới dữ liệu.


Quy trình sáu bước triển khai MCP server cho AI Agent phân tích dữ liệu

Về số lượng tool, nghiên cứu cho thấy độ chính xác chọn tool giảm xuống dưới 90% khi có 10 đến 15 tool mỗi context với Claude Haiku 4.5, và 20 đến 30 tool với Sonnet 4 [1]. Ngưỡng phụ thuộc vào mô hình, nhưng quy luật chung rõ: càng nhiều tool, agent càng dễ chọn nhầm. Cách làm an toàn là giữ dưới 10 tool cho mỗi agent, rồi tách việc ra nhiều agent chuyên biệt (một agent xử lý dữ liệu, một agent dashboard, một agent governance) thay vì nhồi tất cả vào một agent. Con số "dưới 10" là khuyến nghị thực hành để có biên an toàn, không phải kết quả đo từ nguồn.


V. So sánh MCP với API, function calling và connector BI cũ

Bốn thứ này hay bị gộp làm một, nhưng chúng giải quyết các vấn đề khác nhau. Bảng dưới đây so sánh theo tiêu chí bạn gặp khi làm việc thực tế.

Tiêu chí

MCP

API trực tiếp

Function calling

Connector BI cũ

Mục đích chính

Chuẩn chung để agent dùng công cụ và dữ liệu

Giao tiếp giữa phần mềm với phần mềm

Cách LLM trả về lệnh gọi hàm có cấu trúc

Kéo dữ liệu từ nguồn vào công cụ BI

Ai gọi

Agent qua MCP client

Code của ứng dụng

Ứng dụng thực thi hàm do LLM chọn

Công cụ BI theo lịch hoặc theo thao tác

Dùng lại giữa nhiều agent

Cao: một server, nhiều client

Thấp: mỗi ứng dụng tự viết lớp gọi

Trung bình: định nghĩa hàm nằm trong từng ứng dụng

Không áp dụng

Agent tự biết có gì

Có, qua danh sách tool và resource

Không, phải đọc tài liệu

Chỉ biết các hàm ứng dụng khai báo

Không

Phù hợp khi

Nhiều agent, nhiều hệ thống dữ liệu

Tích hợp cố định, ít thay đổi

Ứng dụng nhỏ, vài hàm

Nạp dữ liệu định kỳ cho báo cáo


Bảng so sánh MCP, API, function calling và connector BI truyền thống

Điểm cần nhớ là MCP không loại bỏ ba thứ còn lại. Bên trong, một MCP server thường vẫn gọi API của hệ thống dữ liệu. Phía agent, tool trong MCP thường được đưa cho LLM dưới dạng function calling. Connector BI vẫn cần cho việc nạp dữ liệu định kỳ. MCP là lớp chuẩn hoá ở giữa, để bạn không phải viết lại phần nối cho từng agent.


VI. Câu hỏi thường gặp về MCP


1. MCP do ai tạo ra và ra mắt khi nào?

Anthropic giới thiệu MCP vào tháng 11/2024 [1].


2. MCP khác function calling ở điểm nào?

Function calling là cách LLM trả về lệnh gọi hàm có cấu trúc, còn việc định nghĩa và chạy hàm do từng ứng dụng tự lo. MCP chuẩn hoá lớp phía sau: server mô tả tool, client khám phá và gọi, nên một server dùng lại được cho nhiều ứng dụng.


3. MCP gồm những thành phần nào?

MCP chạy trên JSON-RPC 2.0, có 3 primitive là Tools, Resources và Prompts, cùng 2 transport là stdio và streamable-http [1].


4. Nên dùng stdio hay streamable-http?

Chênh lệch độ trễ trên loopback chỉ là 0,01 ms so với 0,39 ms p50 [1], nên hãy chọn theo cách triển khai. stdio hợp với thử nghiệm cá nhân trên một máy. streamable-http hợp khi nhiều người dùng chung server và cần quản lý tập trung.


5. Một agent nên gắn bao nhiêu tool?

Độ chính xác chọn tool giảm xuống dưới 90% khi có 10 đến 15 tool mỗi context với Claude Haiku 4.5, và 20 đến 30 tool với Sonnet 4 [1]. Thực tế, bạn nên giữ dưới 10 tool cho mỗi agent và tách việc ra nhiều agent chuyên biệt.


6. Có MCP rồi thì AI hết "ảo giác" số liệu không?

Không tự động hết. MCP giúp agent lấy số từ nguồn thay vì đoán, nhưng nếu semantic model đặt tên mơ hồ hoặc thiếu synonyms, agent vẫn có thể chọn sai measure. Cần làm sạch semantic model và giữ chốt duyệt của con người.


7. Có cần biết lập trình để dùng MCP không?

Để dùng một MCP server có sẵn từ một ứng dụng hỗ trợ MCP, bạn chủ yếu cấu hình kết nối. Để tự xây server riêng cho hệ thống dữ liệu của công ty, bạn cần biết lập trình và hiểu rõ phân quyền dữ liệu.


VII. Kết luận


MCP là giao thức mở giúp AI Agent kết nối với dữ liệu và công cụ theo một chuẩn chung. Nó chạy trên JSON-RPC 2.0, có ba primitive (Tools, Resources, Prompts) và hai transport (stdio, streamable-http) [1]. Với người làm BI, giá trị thực tế nằm ở việc agent đọc được semantic model, chạy truy vấn có kiểm soát và trả về kết quả bạn duyệt được. Hai việc giữ cho hệ thống đáng tin là giữ số tool ở mức vừa phải và phân quyền chặt, kể cả RLS.


Lộ trình hợp lý là đi từ trong ra ngoài: nắm bài toán kinh doanh với TOSCAR và KPI Tree, xây semantic model sạch, rồi mới gắn MCP và agent. Đây cũng là thứ tự của chương trình Agentic AI Analytics tại MDA, kéo dài 20 buổi từ nền tảng tư duy, data pipeline, đến dashboard và điều phối agent. Nếu muốn đọc thêm các bài về Power BI, Fabric và Agentic AI, bạn có thể xem Blog Mastering Data Analytics.


Lộ trình học Agentic AI Analytics từ tư duy phân tích đến điều phối MCP

Lưu ý: phần dưới đây giới thiệu chương trình đào tạo của Mastering Data Analytics.


📚 Bắt đầu sự nghiệp Analytics vững vàng trong kỷ nguyên AI


Mastering Data Analytics (MDA) là một trong những đơn vị đào tạo phân tích dữ liệu tại Việt Nam, mang chương trình Agentic AI Analytics đến với người học. Sau hơn 6 năm đào tạo phân tích dữ liệu, MDA đã đồng hành cùng 3.000+ học viên và 250+ doanh nghiệp lớn như Heineken, Prudential, P&G, AEON, BIDV, Coca-Cola, Unilever.Điểm khác biệt của MDA không nằm ở những lời hứa kiểu '5 phút phân tích data với ChatGPT' hay 'vibe coding dashboard'. Chúng tôi rèn đúng bộ ba tạo nên lợi thế cạnh tranh thật sự thời AI: tư duy phân tích hệ thống, chuyên môn vững chắc và năng lực điều phối AI Agents.

Nguồn tham khảo

[1] MCP Server Architecture Patterns for LLM-Integrated Applications. https://arxiv.org/pdf/2606.30317

Bình luận


bottom of page