Use AI agents to query Fornav reports via the Business Central MCP Server
What’s new
From ForNAV Report Pack 8.2.0.18, Fornav publishes eight Business Central API pages (APIPublisher = ‘fornav’, APIGroup = ‘mcp’, APIVersion = ‘v1.0’) built specifically to be called by an AI agent through Business Central’s built-in MCP (Model Context Protocol) Server — Visual Studio Code with GitHub Copilot, Copilot Studio, Claude, ChatGPT, or any other MCP-compliant client. Business Central auto-generates one callable tool per entity from these pages, so an agent can query them by name without anyone writing integration code.
This works for Business Central online, with the basic setup. It’s also available with Business Central on-premises, but expect considerably more setup work there — you host the MCP endpoint and its authentication yourself, rather than pointing a client at Microsoft’s managed cloud endpoint.
Why this matters
When an environment’s MCP Server is enabled, an agent can already answer questions such as:
- “Which FORNAV reports currently show a health warning?”
- “List the Danish translations for the Sales Invoice report.”
- “Is there a language setup entry for German yet?”
- “What table does the Location field on this report actually relate to?”
No extra setup is required, and read access to all eight pages is on by default the moment the MCP Server is enabled.
What’s exposed
| Entity | API page | What it’s for |
| reports | ForNAV Report API | The Fornav report catalog, with health status — including the new healthDetails field and a runHealthCheck action to (re)run the checks on demand. |
| reportLayouts | ForNAV Report Layout API | Built-in and custom layouts for a report, each with its dataContract JSON and, on request, the raw layout file. |
| reportTranslations | ForNAV Report Translation API | Per-report, per-language translation entries — full CRUD. |
| languages | ForNAV Language API | Registered languages for translation — full CRUD. |
| fieldMetadata | ForNAV Field Metadata API | Field-level schema (data type, length, primary key, obsolete status) for any table in the installation. |
| tableMetadata | ForNAV Table Metadata API | Table-level schema (table type, obsolete status, owning extension) for any table in the installation. |
| tableRelations | ForNAV Table Relations API | The platform’s real TableRelation data for a table’s fields — what a join is actually allowed to be, not just what one report layout happens to do. |
| installedApplications | ForNAV Installed App API | Resolves an app ID or package ID (as seen on fieldMetadata/tableMetadata) to a name, publisher, and version. |
The last four entities are new in version 8.2.0.18, added to close a real gap found while diagnosing a health-check failure that previously could only be confirmed by opening VS Code and reading the AL symbols directly.
Getting started
- Confirm the MCP Server is enabled for the environment (ask your Business Central admin) — if it is, agents already have read-only access to all eight pages above, with nothing further to configure.
- If you need to scope access to just these pages, or allow an agent to write to reportTranslations/languages, create an MCP Server Configuration (page 8351) and add the eight pages by object ID.
- Connect your client (Visual Studio Code, Claude, ChatGPT, Copilot Studio, and so on) using the configuration’s connection string.
You can read full step-by-step instructions, including the exact permission matrix, connection-string examples for each client, and the Entra app registration non-Microsoft clients need, in the AI Agent Setup.
Before an agent calls one of these for the first time
Several of these entities behave differently from an ordinary Business Central API page:
- reportLayouts, fieldMetadata, and tableRelations require a scoping filter (reportId, tableNo, and so on). Omitting it returns a 400 response rather than building a result for the entire database.
- reportTranslations silently returns zero rows, not an error, when listed without both a reportId and a languageCode filter, even if translations exist.
- runHealthCheck only works bound to a single report (reports(6188472)/Microsoft.NAV.runHealthCheck) and, like every bound action on a Business Central API page, returns no body — re-GET the report afterward to see the refreshed healthStatus/healthDetails.
- fieldMetadata.appId and tableMetadata.appId resolve against installedApplications differently (packageId vs. appId respectively) — they are not interchangeable.
You can see the full list of filtering requirements, caveats, and per-entity gotchas, including the same detail written directly into each entity’s EntityCaption/EntitySetCaption so an agent sees it too, in FORNAV MCP API Reference for AI Agents.
Known limitations
- On-premises setup is considerably more involved than online. You host the MCP endpoint and its authentication yourself.
- Read-only by default. Write access to reportTranslations/languages requires an explicit MCP Server Configuration.
- Tool-count limits in some clients. Copilot Studio currently caps agents at 70 explicitly-added tools; turn on Dynamic Tool Mode if you’re exposing many API pages alongside these eight.
Latest news
Latest knowledge base articles
-
Mapping from Business Central documents to ZUGFeRD and XRechnung
-
Using native Business Central ZUGFeRD generation with FORNAV reports
-
Repeater tables and barcodes in the ForNAV Template Editor
-
Controlling report language, format region, copies, and watermark with the Report Settings page
-
Use AI agents to query Fornav reports via the Business Central MCP Server
