Plur-e
MCP servers

Business Central tools

The Business Central MCP tool catalogue lives in the mobile flows guide — 16 section tools over the 262 Plur-e Mobile ProcessMethods, plus 9 platform tools for skills, barcodes, capture and printing.

Quick answer

The Business Central server's tool catalogue is the 16 section tools (bc_setup, bc_sales, bc_wms_receipts, …) over the 262 ProcessMethod calls Plur-e Mobile makes, plus 9 platform tools for skills, barcode decoding, capture and printing — documented in full in Business Central mobile flows, the source of truth for this catalogue. The server's own tools/list is authoritative above both pages.

Where to look

  • Business Central mobile flows — the 16 section tools, how each maps to a Plur-e Mobile module, and the skill that documents its methods.
  • MCP roles — Read / Write / Post per section, the default role and how a denied call answers.
  • Security model — identity, audit and data handling.
  • Product page — commercial overview, requirements and an example conversation.

bc_query

bc_query is a read-only query tool for analysis. It is not one of the 16 section tools and calls no ProcessMethod: it reads Business Central through its standard API and, where installed, through an analysis API. Your AI assistant picks an entity from a closed list by name — it never builds a URL — and every entity has its own role line, checked before Business Central is called.

ArgumentTypeRequiredRule
entitytextyesOne of the entities listed below (case is ignored). Anything else answers bc_query_invalid and lists the allowed names
filtertextnoOData $filter, for example postingDate ge 2026-01-01 and vendorNumber eq 'V0001'. Up to 1000 characters, without line breaks. It can only use properties of the entity itself: no navigation paths (customer/name) and no any / all
selecttextnoComma-separated property names, for example number,vendorName,totalAmountIncludingTax. Always pass it: it keeps results small
orderBytextnoProperty names, each optionally followed by asc or desc, for example postingDate desc,number asc
pageSizenumbernoRows per page, from 1 to 200 (50 by default); values outside the range are adjusted
cursortextnoThe nextCursor of the previous call on the same entity. filter, select and orderBy are ignored when a cursor is given
counttrue / falsenotrue adds totalCount, the number of rows that match the filter

The answer is a page: items, nextCursor (empty on the last page), totalCount (only with count) and an optional note. To relate two entities — an invoice and its vendor, an item and its group — run two queries and join the results.

Entities

There are 35 entities in two groups.

Standard (16) — available in every Business Central environment:

  • Purchasing: purchaseInvoices, purchaseCreditMemos, purchaseReceipts
  • Sales: salesInvoices, salesCreditMemos, salesShipments
  • Ledgers and balances: generalLedgerEntries, itemLedgerEntries, agedAccountsReceivables, agedAccountsPayables
  • Master data: customers, vendors, items, locations
  • Sales tax: taxAreas, taxGroups

The standard API has no customer or vendor ledger entries; those are only readable through the analysis entities.

Analysis (19) — their names start with mcp. They exist only where the analysis app is installed in the Business Central environment; where it is not, a call answers bc_source_unavailable and the standard entities remain available.

  • Master data: mcpCustomers, mcpVendors, mcpItems, mcpLocations, mcpGLAccounts
  • Posting groups and setup: mcpGeneralPostingSetups, mcpGenBusPostingGroups, mcpGenProdPostingGroups, mcpCustomerPostingGroups, mcpVendorPostingGroups, mcpInventoryPostingGroups, mcpInventoryPostingSetups, mcpBankAccountPostingGroups
  • Ledger entries: mcpGLEntries, mcpCustomerLedgerEntries, mcpVendorLedgerEntries, mcpItemLedgerEntries, mcpValueEntries, mcpDimensionSetEntries

Enum values come back as Business Central encodes them: a space becomes _x0020_, so Credit Memo is Credit_x0020_Memo and an empty value is _x0020_. Use the same form in filter.

Roles and permissions

Each entity has its own role line, query.<entity> (for example query.purchaseInvoices), and bc_query needs Read on it. To grant all of them at once, open the role, press Add entities, and add the Business Central · Analytics (read) bundle from the Bundles tab.

Not part of Default access

The query.<entity> lines and the Business Central · Analytics (read) bundle are not seeded into the Default access role: ledgers, balances and posting setups are sensitive, so an administrator grants them on purpose, to the roles that need analysis. See MCP roles.

Errors

CodeWhenWhat to do
bc_query_invalidAn argument breaks a rule above, the entity is not found in the environment, or Business Central rejects the filter (400)Fix the argument using the message; it names the rule or the Business Central error
bc_cursor_invalidThe cursor is not one returned by a previous call, or belongs to another companyRestart the query without cursor
bc_source_unavailableAn analysis entity was requested and the analysis app is not installed in the environmentInstall the analysis app, or use the standard entities
bc_api_unauthorizedBusiness Central rejected the Plur-e application token (401)A Business Central administrator must register the Plur-e application in Microsoft Entra Applications in Business Central and grant consent
bc_api_forbiddenThe Plur-e application user has no permission to read the entity (403)In Business Central, assign read permission sets to the Plur-e application: the standard read set and, for the analysis entities, the read set of the analysis app
bc_throttledBusiness Central is throttling requests (429) and two retries did not helpRetry in a minute
bc_timeoutBusiness Central did not answer within the time limit of the callNarrow the query with filter and select, or ask for fewer rows per page
bc_query_too_largeThe response is larger than 16 MBNarrow the query with filter and select, or ask for fewer rows per page

A call that your role does not allow is denied before it reaches Business Central, with the usual message described in MCP roles.

Fallbacks of the generic tools

The generic read tools (search_customers, get_availability, list_sales_documents, get_posted_document, list_customer_ledger, list_item_ledger) call a ProcessMethod that not every Business Central environment ships. When the method does not exist, the tool no longer fails: it answers from another source and says so. The decision is remembered for an hour per environment, so later calls go straight to the fallback.

Every fallback returns a note that says which source answered and what is missing, for example "Served by … because … is not available in this Business Central." Cite it to the user.

ToolServed instead byLimitsRole lines needed
search_customersA paged customer list, filtered on the server by the text of query (No., name, search name)Looks through at most 2000 customers; refine the query if the customer is not listedcustomers Read
get_availabilityStock per locationOnly stock on hand per location: projected availability is not available, and the note says so. A row with an empty location is stock without a location, not a totalitems Read
list_sales_documentsThe list of the requested type: order, invoice, credit memo or return order. customerNo and status are filtered on the serverLooks through the first 500 documents of the type; quotes are not supported and answer bc_fallback_unsupportedsales Read
get_posted_documentInvoice: the posted sales invoice method of the section. Shipment, credit memo and receipt: the standard API (salesShipments, salesCreditMemos, purchaseReceipts)Shipment, credit memo and receipt return the header only, without linesdocuments Read; for shipment, credit memo and receipt also query.<entity> Read
list_customer_ledgerThe analysis entity mcpCustomerLedgerEntriesOnly where the analysis app is installed; otherwise bc_source_unavailable, because the standard API has no customer ledger entriescustomers Read and query.mcpCustomerLedgerEntries Read
list_item_ledgerThe standard entity itemLedgerEntriesEnum values such as entryType come as Business Central encodes themitems Read and query.itemLedgerEntries Read

A fallback that needs a query.<entity> line is denied, before any call to Business Central, when the role does not have it, even if the tool's own area is allowed.

run_report_summary

run_report_summary builds a summary report from Business Central data, using the same entities and role lines as bc_query. It needs Read on the reports area and on the query.<entity> line of each entity the report reads.

ArgumentTypeRequiredRule
reporttextyespurchases, sales or receivables
fromDate, toDatedate yyyy-MM-ddnoPeriod of purchases and sales. By default, from the first day of the month 11 months back to today (UTC). fromDate must be on or before toDate
asOfDatedate yyyy-MM-ddnoCut-off date of receivables (today, UTC, by default)
groupBytextnopurchases only: buyFrom (default) or payTo vendor; any other value answers invalid_arguments
formattextnotext (default) or html. Any other value answers invalid_arguments

The three reports:

  • purchases: purchase invoices minus credit memos, by month, per vendor. Reads purchaseInvoices and purchaseCreditMemos; drafts are excluded.
  • sales: sales invoices minus credit memos, by month, per customer. Reads salesInvoices and salesCreditMemos; drafts are excluded.
  • receivables: open customer entries aged by days past due (current, 1–30, 31–60, 61–90, over 90), with unapplied credits in a separate column. Reads mcpCustomerLedgerEntries, so it needs the analysis app. It reflects the entries that are open today; an earlier asOfDate only shifts the aging buckets, it does not reopen entries settled since then.

Amounts are without tax. purchases and sales add up each document in its own currency, without conversion; when the documents are in more than one currency, the report warns and lists how many documents there are in each. receivables uses amounts in local currency. The current month is marked partial. Each report reads up to 25 pages of 200 rows per entity; when more remain, the report is marked Partial.

Format. With format = text (the default) the answer is plain text: a JSON summary (report, format, period or cut-off date, total, rows, partial) and the report in Markdown — title, period or cut-off date, partial flag and tables. The Markdown shows at most 50 rows and adds the rest in an Others (n) row with the same totals. With format = html the answer is the same summary plus an embedded visual report (text/html, self-contained, with a chart and every row, no scripts). Ask for html only when you want a visual report to open or share; for reading in the conversation, text is the right choice.

Data Auditor agent

Data Auditor is a system AI agent, a child of the Business Central agent, that audits a company's data without changing anything. It reads with bc_query and the generic read tools, and has no tool that can write or post. See AI agents and Agent Studio for how system agents work.

What it checks:

  • Go-live configuration: general, customer, vendor and inventory posting setup, sales tax setup on customers and items, and blocked or duplicated master data.
  • Item and location anomalies: items with no price or an odd cost, and locations that are inactive, closed by name or have placeholder names.
  • Stock: negative stock, stock with no value, and mismatches between the item card, availability and the item ledger.

Checks that have no data source — for example sales tax details and jurisdictions — are reported as manual checks with low confidence, never guessed. When one anomaly affects more than 90% of the records, it reports a single finding with the count and 20 examples.

The report is plain text with Markdown tables: a summary table of checks (check, status, findings, severity), the top 20 findings overall, and the findings grouped by rule. It states the cut-off date and how much of the data each check covered, and its low-confidence findings are candidates for a person to confirm. It never proposes deleting or merging records; the action is for a consultant to block or correct the record in Business Central.

How it runs. On demand: select it, or have the Business Central agent hand off to it (see AI agents). Scheduled: an administrator adds a weekly trigger to the agent in Agent Studio — for example Mondays at 06:00 UTC — with Writes set to Deny.

What it needs. A read-only role for the Business Central connection that includes the Business Central · Analytics (read) bundle and Read on the sections the agent uses. Without the analysis app installed, the checks that depend on the analysis entities are reported as not available in the environment.

Related: Business Central mobile flows · MCP roles · Security model · Product page

Last updated on

Edit on GitHub
Was this page helpful?

On this page