BC Word Layout MCP (Part 1): Get started with AI-assisted Word layouts

Changing a Word report layout often starts with a small request. Add the customer’s reference, move the date, or make the line descriptions wider. The difficult part is keeping the fields, repeating lines, and existing design working while making that change.

My BC Word Layout MCP gives an AI agent tools for that work. You describe the change, and the agent can inspect the layout, edit it, check it, and produce a local preview.

This series is about using it as a developer or functional consultant. You do not need to know how Word stores the document internally.

Updated 25 October 2026: The original introduction accompanied v1.0.0. The setup and practical steps below now use the released v2.0.0.

What you need

  • A Windows machine, on x64 or arm64.
  • An MCP-capable agent, such as GitHub Copilot in VS Code or Claude Code.
  • The .NET 10 SDK for the package-based setup below.
  • A Word layout exported from the report you want to change.

Microsoft Word is useful for producing the PDF preview. Inspection and editing do not require Word, but a PDF needs an available converter. Without one, the server can still produce a merged Word document.

The server works with local files using your permissions. Use a working folder and keep the original layout. It does not connect to your BC environment or upload a replacement layout for you.

Connect the agent

In VS Code, add this server entry to your project’s .vscode/mcp.json. If the file already has other servers, keep them:

{
  "servers": {
    "bc-word-layout": {
      "type": "stdio",
      "command": "dnx",
      "args": ["BcWordLayout.Mcp@2.0.0", "--yes"]
    }
  }
}

Start the server using VS Code’s MCP controls and allow the tool calls you want the agent to make. If you change the package version later, restart the server.

The version is pinned so these examples stay repeatable. The installation guide also covers Claude Code and Windows binaries that do not need the .NET SDK.

Give it one layout and one task

Export a Word layout from Report Layouts in BC and save a working copy as C:\BCLayoutDemo\Quote.docx. Start by asking the agent to inspect it:

Use BC Word Layout MCP to inspect C:\BCLayoutDemo\Quote.docx.
Tell me which report it belongs to and what it currently prints.
Check whether the dataset includes the customer's reference.
Show me the matching field and whether the layout already uses it.
Do not change the file yet.

The inspection tools are get_layout_info and list_dataset_fields. You do not have to call them yourself; the prompt gives the agent a reason to use them before editing.

Review the answer. “Customer’s reference” could mean an external document number, a contact, or something custom. The agent can find available fields, but you still need to confirm which one represents the business requirement.

Then make a specific request:

Add the reference field we agreed on below the document date,
with its dataset caption where one is available.
Keep the existing lines, totals, and branding unchanged.
Run full validation and show me a preview of the changed document.
Summarise what changed and any warnings.

That is a much more useful brief than “improve the report”.

What if the field is missing?

The layout can only print what the report dataset provides. If a required value is absent, an AL developer needs to add it to the report or report extension.

After the dataset changes, build or export a fresh layout for that report. The agent can use refresh_xml_part to update the working layout from the new source and report fields that no longer match.

Do not ask it to invent a dataset field or calculate a missing total inside the Word layout.

Give the agent the right workflow

The project includes companion skills:

  • al-word-layout for inspecting, editing, checking, and previewing.
  • al-word-layout-design for designing a new document.
  • al-word-layout-from-design for turning a finished Word design into a bound layout.
  • al-word-layout-composite for separate body, header/footer, and theme layouts.

The last two are additions in v2.0.0. The installation guide explains how to install them with the plugin or copy them into your agent’s skill folder. They guide the agent; they do not replace your decisions about which data belongs on the document.

When is the change ready?

Use this short loop: inspect, edit, validate, preview, then test in BC.

Validation checks the layout and its field bindings. The preview helps you spot a narrow description column or a misplaced caption. Neither proves that the right business value is in the right place.

Before replacing a production layout, upload the result to a sandbox and print a representative document. Check the reference value, translations, long descriptions, and page breaks.

The next step in the series is building a small quote layout from a BC-produced source. The process is the same: give the agent the right inputs, define the result, and check what actually prints.