# MCP server của Business Central: data query tools và cấu hình mới

[Kennie Pontoppidan](https://homus.dev/speakers/kennie-pontoppidan) · [Microsoft Dynamics 365 Business Central](https://homus.dev/orgs/microsoft-dynamics-365-business-central)

> Bốn data query tool mới cho MCP server của Business Central: agent tự viết, compile và chạy AL query, kèm UX cấu hình và nút bật/tắt MCP server.

Topics: Dev Tools, Agents

Canonical: https://homus.dev/talks/whats-new-mcp-server-2026-release-wave-2

## 1. Hai người trình bày và hai nội dung của bản cập nhật

Video mở đầu bằng lời chào tới 2026 release wave 2 của Business Central. Đây là một video "launch edition" về những gì mới trong MCP server của Business Central (video đăng ngày 08/10/2026).

Người dẫn là Kennie Pontoppidan. Theo lời giới thiệu trong video đăng ngày 08/10/2026, anh là program manager trong Business Central team. Anh nói rất tự hào khi có một đồng nghiệp đứng cùng. Người đồng nghiệp tự giới thiệu là senior engineer trong runtime team của Business Central (theo video đăng ngày 08/10/2026); trên trang này gọi anh là kỹ sư làm demo. Kennie nói anh ấy sẽ cho xem vài demo rất hay ngay sau đây.

![Kennie Pontoppidan và kỹ sư làm demo đứng sau hai bục trong studio, bục trái ghi 2026 release wave 2, bục phải ghi Dynamics 365 Business Central](https://homus.dev/photos/q3xnjJD32kk-0018.jpg)

Hai người trình bày trong studio: Kennie Pontoppidan bên trái, kỹ sư runtime team bên phải. Bục trái ghi "2026 release wave 2", bục phải ghi "Dynamics 365 Business Central" (video đăng ngày 08/10/2026).

Trước khi vào demo, Kennie điểm qua tổng thể. Theo anh (video đăng ngày 08/10/2026), có hai thứ để nói: thứ nhất là một tool mới, mà thật ra là bốn tool mới để chạy query; thứ hai là vài cải tiến dễ chịu cho trải nghiệm người dùng khi setup MCP trong Business Central.

## 2. Query tool, giải thích trong bốn câu

Kennie nói nếu phải giải thích query tool của Business Central trong bốn câu thì nó sẽ như sau (video đăng ngày 08/10/2026). Hãy để MCP host của bạn, dù đó là gì, Copilot Studio, VS Code hay host khác, để các LLM đó dựng query cho bạn. Sau đó nhóm Business Central sẽ compile và chạy các query ấy, trả dữ liệu về cho bạn, và về cơ bản không cần dùng API hay bất cứ thứ gì. Theo Kennie, nó chạy đơn giản như vậy.

![Slide Query tool for MCP Server với bốn dòng: Have your MCP host construct queries, Then we will compile and run them, And get you the data, No APIs needed](https://homus.dev/photos/q3xnjJD32kk-0103.jpg)

Slide "Query tool for MCP Server" ghi bốn dòng: "Have your MCP host construct queries. Then we will compile and run them. And get you the data. No APIs needed." (slide trong video đăng ngày 08/10/2026).

Mô tả của video ghi thêm rằng query tool mới của MCP đang ở bản preview và sẽ tính phí khi lên Generally Available (GA) vào cuối năm nay (mô tả video đăng ngày 08/10/2026).

## 3. Bốn system tool mới

Theo Kennie (video đăng ngày 08/10/2026), nhóm đã thêm bốn system tool mới, và có thể thấy chúng ngay trong trang cấu hình. Khi bật data tool trong phần server features, bạn có một tool tìm bảng (data find tables), một tool cho quan hệ giữa các bảng (table relations), một tool cho schema của bảng (table schema) và một tool chạy query (data query).

![Trang Model Context Protocol (MCP) Server Configuration tên Query tool test, mục Server Features có dòng Data Query Tools (Preview) đang Active, bên phải là danh sách System Tools với bốn tool bc_data](https://homus.dev/photos/q3xnjJD32kk-0123.jpg)

Trang cấu hình MCP server tên "Query tool test" trong video đăng ngày 08/10/2026. Ở mục Server Features, dòng "Data Query Tools (Preview)" đang Active; ô System Tools bên phải liệt kê bốn tool `bc_data_find_tables`, `bc_data_get_table_relations`, `bc_data_get_table_schema` và `bc_data_query`. Tooltip ghi rằng tính năng này thêm các system tool compile và chạy code data query do client gửi lên, để agent tự viết các join và aggregate ad-hoc mà không API query dựng sẵn nào phủ được; API query và API page trong Available APIs vẫn được expose riêng và không bị tính năng này ảnh hưởng.

Rồi Kennie nói nghe anh kể về mấy tool này thì chán lắm, trong khi có thể xem một live demo. Anh mời người đồng nghiệp cho mọi người xem thứ anh ấy đã build.

## 4. Vì sao cần data query tools, và setup của demo

Kỹ sư làm demo bắt đầu bằng ý chính: theo anh (video đăng ngày 08/10/2026), data tools được làm ra để người dùng của nhóm có thể phân tích dữ liệu một cách tổng quát (generic data analysis). Với API, tất nhiên bạn có toàn quyền kiểm soát: bạn định nghĩa các API trong cấu hình và lấy dữ liệu đúng theo những API đã setup. Còn với data query tools, mọi thứ hoàn toàn phụ thuộc vào permission bạn đang có, những bảng bạn được quyền truy cập trong Business Central, và agent của bạn viết AL query giỏi tới đâu.

Trong setup của anh (demo trong video đăng ngày 08/10/2026), anh đã cấu hình Business Central MCP, thấy ở bên trái màn hình, và cấu hình thêm Microsoft Docs MCP. Theo anh, Docs MCP cũng rất tốt cho agent để học cách viết AL query cho tốt.

![VS Code mở file mcp.json với hai server businesscentral và microsoftdocs/mcp, bên phải là danh sách session chat](https://homus.dev/photos/q3xnjJD32kk-0225.jpg)

File `mcp.json` trong VS Code (demo trong video đăng ngày 08/10/2026): server `businesscentral` trỏ tới `mcp.businesscentral.dynamics.com` với các header TenantId, EnvironmentName (giá trị đã bị che trong video), Company và ConfigurationName; server `microsoftdocs/mcp` trỏ tới `learn.microsoft.com/api/mcp`. Bên phải là các session chat, session đang chọn là "Customer orders and lines query".

Nội dung file trên màn hình (hai giá trị TenantId và EnvironmentName để trống ở đây vì video đã che chúng):

```
{
"servers": {
"businesscentral": {
"url": "https://mcp.businesscentral.dynamics.com",
"type": "http",
"headers": {
"TenantId": "",
"EnvironmentName": "",
"Company": "CRONUS USA, Inc.",
"ConfigurationName": "QnA Toolset"
}
},
"microsoftdocs/mcp": {
"type": "http",
"url": "https://learn.microsoft.com/api/mcp",
"gallery": "https://api.mcp.github.com",
"version": "1.0.0"
}
},
"inputs": []
}
```

## 5. Demo: hỏi agent xem khách hàng đang mua gì

Làm ví dụ, anh hỏi agent một câu rất đơn giản (demo trong video đăng ngày 08/10/2026): lấy cho anh tất cả khách hàng và đơn hàng của họ, với mỗi đơn lấy luôn các dòng (line), rồi phân tích xem mọi người thật sự đang mua gì. Câu anh gõ trong khung chat của VS Code:

```
/business-central-query Get me all my customers and their orders. and for each order, also get the lines. I want to analyze what is it that people are buying
```

Agent làm việc một lúc. Anh nói nó đi 30 bước và mất hai phút; trên màn hình ghi "Completed 30 steps in 2m 42s" (demo trong video đăng ngày 08/10/2026). Theo anh, đây là một ví dụ tốt về long-running agent.

![Khung chat VS Code với câu hỏi /business-central-query và kết quả: 5 customers, 20 open sales orders, 34 order lines, 17 distinct items, 398 units, bảng Customer Summary](https://homus.dev/photos/q3xnjJD32kk-0150.jpg)

Kết quả của agent trong demo (video đăng ngày 08/10/2026): "Completed 30 steps in 2m 42s", tập dữ liệu gồm 5 customers, 20 open sales orders, 34 order lines, 17 distinct items, 398 units, tổng 133,157.70 chưa gồm VAT, chưa dòng nào được ship hay invoice; bên dưới là bảng Customer Summary theo số đơn, số dòng và giá trị.

Theo anh (demo trong video đăng ngày 08/10/2026), agent đưa ra một bản phân tích rất tốt: một bản tóm tắt theo khách hàng về những gì họ đang mua và số dòng trong các đơn của họ. Phía dưới còn có vài nhận xét hay, ví dụ ATLANTA Whiteboard chiếm khoảng 46.2% giá trị các đơn đang mở.

![Kết quả cuộn xuống tới bảng What People Are Ordering, dòng đầu là 1996-S ATLANTA Whiteboard, base, Qty 44, line amount 61,481.20](https://homus.dev/photos/q3xnjJD32kk-0303.jpg)

Bảng "What People Are Ordering" trong kết quả demo (video đăng ngày 08/10/2026): dòng đầu là "1996-S ATLANTA Whiteboard, base" với Qty 44, 4 order lines, line amount 61,481.20, tiếp theo là "ANTWERP Conference Table".

## 6. Agent đã làm gì, từng bước

Sau đó anh mở lại từng bước agent đã làm để xem cách mọi thứ chạy (demo trong video đăng ngày 08/10/2026). Agent bắt đầu bằng việc tìm các bảng của Business Central: nó đưa vào một đoạn search text và nhận lại một tập bảng có trong Business Central. Rồi nó tìm trong tài liệu, về cơ bản là tìm cách viết AL query cho tốt; anh chỉ ra agent đang tìm những cụm như "Business Central AL query object", "nested data items" và vài cụm khác.

![Các bước của agent trong VS Code: Ran Find Business Central Tables, Ran Microsoft Docs Search, Ran Microsoft Code Sample Search, rồi ba lần Ran Get Business Central Table Schema](https://homus.dev/photos/q3xnjJD32kk-0320.jpg)

Nhật ký các bước trong demo (video đăng ngày 08/10/2026): agent viết rằng điểm mơ hồ chính là "orders" ứng với current sales order, posted sales invoice hay cả hai; rồi lần lượt gọi Find Business Central Tables (server businesscentral), Microsoft Docs Search và Microsoft Code Sample Search (server microsoftdocs/mcp), và Get Business Central Table Schema.

Input của lần gọi tool tìm bảng, mở ra trên màn hình (demo trong video đăng ngày 08/10/2026):

```
{
"searchText": "customer, sales header, sales line, sales invoice header, sales invoice line",
"searchMode": "keyword",
"top": 30
}
```

Tới đây Kennie chen vào hỏi để chắc mình hiểu đúng: MCP host không gửi câu hỏi đó của người dùng tới MCP server của nhóm, đúng không? Kỹ sư làm demo đáp "Exactly", và nói đó là một MCP server bổ sung của Microsoft, bạn được tự do dùng nó. Nhưng đồng thời, theo anh (video đăng ngày 08/10/2026), nhóm thấy các model mới hơn thật ra viết AL query khá giỏi, nên rốt cuộc chúng không dùng tới nó nhiều.

Tiếp theo, agent bắt đầu khám phá các bảng của Business Central, và theo anh (demo trong video đăng ngày 08/10/2026) đó là việc của tool get Business Central table schema: tìm bảng, rồi xem trên mỗi bảng có những field nào. Xong bước đó, agent hỏi anh vài câu, như anh muốn phân tích trong khoảng thời gian nào và bản phân tích cần bao gồm những gì.

![Agent hỏi hai câu: Which records should represent customer orders for this analysis, và What date range should the line-level analysis cover, kèm câu trả lời đã chọn](https://homus.dev/photos/q3xnjJD32kk-0423.jpg)

Hai câu agent hỏi trong demo (video đăng ngày 08/10/2026): "Which records should represent customer orders for this analysis?" với câu trả lời "Open/current sales orders", và "What date range should the line-level analysis cover?" với câu trả lời "All available history". Bên dưới là hai lần gọi Get Business Central Table Relations.

Cuối cùng agent còn xem table relations, về cơ bản là hiểu một bảng nối với các bảng khác trong Business Central ra sao. Theo anh (video đăng ngày 08/10/2026), đó là cách bạn viết được join query tốt trong Business Central. Xong phần đó, agent bắt đầu viết các AL query, thấy ở phía dưới màn hình.

Agent bắt đầu bằng việc compile query. Theo anh (demo trong video đăng ngày 08/10/2026), nếu compile một query mà thất bại thì thông báo compile mà agent nhận được đến thẳng từ compiler của nhóm. Vì vậy agent thường tự sửa được: nó nhận ra "đây là lỗi mình mắc, đây là cách mình cần sửa".

![Agent ghi rằng lần compile aggregate gặp một quy tắc AL: cột Count phải bỏ field source, nó chỉ sửa cột đó rồi compile lại; bên dưới là input queryText của query 50101 OpenOrderProductDemand](https://homus.dev/photos/q3xnjJD32kk-0503.jpg)

Một vòng tự sửa trong demo (video đăng ngày 08/10/2026): agent ghi rằng lần compile aggregate gặp một quy tắc AL, cột `Count` phải bỏ field source, nên nó chỉ sửa cột đó rồi compile lại; sau đó product aggregation compile được và chạy. Bên dưới là input `queryText` của query `50101 OpenOrderProductDemand`.

Rồi agent chạy những query cuối cùng đã compile xong, và bạn nhận được output. Anh nói agent có thể truy cập bất cứ thứ gì, và theo anh (video đăng ngày 08/10/2026) đây là một tính năng rất mạnh cho việc phân tích dữ liệu tổng quát từ Business Central.

## 7. Sức mạnh và giới hạn của query

Kennie khen đây là một demo tuyệt vời và cảm ơn người đồng nghiệp. Rồi anh giải thích thêm một điều (video đăng ngày 08/10/2026): vì tool này dựa trên query, nó có sức mạnh của query và cũng có giới hạn của query. Bất cứ thứ gì bạn diễn đạt được bằng một AL query thì giờ agent đều dùng được.

Theo Kennie (video đăng ngày 08/10/2026), nếu câu hỏi dữ liệu của bạn dẫn tới một query mà cú pháp query không hỗ trợ, hoặc không tối ưu, thì tất nhiên nó sẽ không chạy được. Query trong Business Central cũng có giới hạn về lượng dữ liệu được trả về và thời gian query được phép chạy.

Dù vậy, Kennie nghĩ tính năng này sẽ cực kỳ hữu ích cho phân tích ad hoc, ở những chỗ chưa có sẵn object nào join dữ liệu theo cách đó (video đăng ngày 08/10/2026).

Hai mặt của data query tool theo Kennie Pontoppidan (video đăng ngày 08/10/2026): tool có sức mạnh của query và cả giới hạn của query trong Business Central.

## 8. UX cấu hình MCP mới và nút bật/tắt MCP server

Kennie chuyển sang phần UX mà nhóm làm cho việc cấu hình, cùng một tính năng bảo mật cho trường hợp bạn muốn toàn quyền quyết định tính năng MCP server có được dùng hay không (video đăng ngày 08/10/2026).

![Slide Updated MCP configurations với hai dòng: Updated UX to show system tools, Turn MCP server on/off](https://homus.dev/photos/q3xnjJD32kk-0618.jpg)

Slide "Updated MCP configurations" ghi hai dòng: "Updated UX to show system tools." và "Turn MCP server on/off" (slide trong video đăng ngày 08/10/2026).

Theo Kennie (video đăng ngày 08/10/2026), đây là UX mới cho cấu hình MCP: nhóm đã thêm một ô mới tên server features. Giờ nhóm tách bạch giữa các server feature, như data tool, và các API nằm ở phía dưới. Với mỗi server feature, ô bên phải cho thấy feature đó mở ra những tool nào. Anh nói chính xác thì ô đó hiện tổ hợp: nếu bạn bật vài server feature, ô system tools sẽ hiện tất cả tool mà các server feature ấy mở ra.

Còn phần bảo mật, theo Kennie (video đăng ngày 08/10/2026), giờ có một toggle mới trong trang Copilot & agent capabilities, nơi bạn có thể activate hoặc deactivate chính MCP server.

![Trang Copilot & agent capabilities, dòng Model Context Protocol (MCP) server đang Active, menu Actions mở ra với lựa chọn Deactivate](https://homus.dev/photos/q3xnjJD32kk-0717.jpg)

Trang "Copilot & agent capabilities" trong video đăng ngày 08/10/2026: dòng "Model Context Protocol (MCP) server" có status Active, publisher Microsoft, billing type "Not Billed", và menu Actions đang mở với lựa chọn Deactivate.

Kennie nói còn một điều nữa: nếu muốn tìm hiểu thêm về MCP server của Business Central nói chung, nhóm có một landing page tại aka.ms/bcMCP (video đăng ngày 08/10/2026). Anh khép lại launch edition video về MCP server, và cuối video có một lời cảm ơn.

![Slide Want to learn more? với địa chỉ aka.ms/bcMCP và ảnh trang Model Context Protocol (MCP) in Business Central overview](https://homus.dev/photos/q3xnjJD32kk-0743.jpg)

Slide "Want to learn more?" ghi aka.ms/bcMCP, kèm ảnh trang tài liệu "Model Context Protocol (MCP) in Business Central overview" (slide trong video đăng ngày 08/10/2026).

## Nguồn và liên kết

- Tên gốc: What's new: MCP Server (2026 release wave 2)
- Sự kiện: [YouTube](https://homus.dev/events/youtube)
- Video gốc: [https://www.youtube.com/watch?v=q3xnjJD32kk](https://www.youtube.com/watch?v=q3xnjJD32kk)

- Kênh YouTube Microsoft Dynamics 365 Business Central (Kennie Pontoppidan): [youtube.com/channel/UCLErzd6kpQ0DAJSGsGjtxbA](https://www.youtube.com/channel/UCLErzd6kpQ0DAJSGsGjtxbA)

- Configure Business Central MCP Server, trang Microsoft Learn mà aka.ms/bcMCP dẫn tới (đọc ngày 06/11/2026; trang mô tả mục Server Features, Data Query Tools (Preview) và bảng các tool `bc_data_*`): [learn.microsoft.com/…/ai/configure-mcp-server](https://learn.microsoft.com/en-us/dynamics365/business-central/dev-itpro/ai/configure-mcp-server)

- Hồ sơ diễn giả của Kennie Nybo Pontoppidan trên Sessionize, ghi anh là program manager trong Dynamics 365 Business Central team (đọc ngày 06/11/2026): [sessionize.com/kennie-pontoppidan](https://sessionize.com/kennie-pontoppidan/)

Nguồn: https://homus.dev/talks/whats-new-mcp-server-2026-release-wave-2 · cập nhật 2026-11-06
