d365-bc-mcp
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| PORT | No | HTTP mode port | 3010 |
| MCP_API_KEY | No | HTTP mode: require this bearer token | |
| BC_AUTH_MODE | No | Explicit override: device_code | client_credentials | |
| BC_CLIENT_ID | Yes | App registration client ID | |
| BC_TENANT_ID | Yes | Entra tenant GUID | |
| BC_ENVIRONMENT | No | BC environment name | Production |
| BC_TOKEN_CACHE | No | Token cache path (device-code mode) | |
| BC_COMPANY_NAME | No | Working company; auto-selected if the identity sees exactly one | |
| BC_CLIENT_SECRET | No | Setting it switches to client-credentials mode |
Instructions
Guidance the server publishes about itself, which clients place ahead of the tool catalog so the model reads it before choosing anything.
This server publishes no instructions, or was last inspected before Glama recorded them.
Capabilities
Features and capabilities supported by this server
Protocol revision2025-11-25
| Capability | Details |
|---|---|
| tools | {
"listChanged": true
} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| bc_list_companiesA | List the Business Central companies visible to this connection. |
| bc_list_customersA | List customers in the working company. Use |
| bc_get_customerA | Get one customer's full record by customer number (e.g. C00120) or GUID id. |
| bc_list_itemsA | List inventory items in the working company. Use |
| bc_list_vendorsA | List vendors in the working company. Use |
| bc_list_sales_ordersA | List sales orders, optionally filtered by customer number, status (Draft, In Review, Open), or order date range. |
| bc_get_sales_orderA | Get one sales order by order number (e.g. S-ORD101001) or GUID id, including its lines. |
| bc_list_sales_invoicesA | List posted/draft sales invoices, optionally filtered by customer number, status (Draft, In Review, Open, Paid, Canceled, Corrective), invoice date range, or unpaid balance. |
| bc_get_sales_invoiceA | Get one sales invoice by invoice number or GUID id, including its lines. |
| bc_queryA | Read-only escape hatch: GET any Business Central API entity set or record. Covers standard v2.0 entities not exposed as dedicated tools (salesShipments, purchaseOrders, generalLedgerEntries, ...) and custom APIs via api_route (publisher/group/version, e.g. 'contoso/sales/v1.0'). Example: path='salesShipments', params={'$filter': "customerNumber eq 'C00120'"}. |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
No prompts | |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
No resources | |
TDQS
Scored across 10 tools
Each tool targets a distinct resource and action: list vs get for companies, customers, sales orders, and invoices; separate list tools for items and vendors; and a generic query escape hatch. No two tools have overlapping purposes.
All tool names follow a predictable 'bc_<verb>_<resource>' pattern, using snake_case throughout. The verbs are consistently 'list' or 'get', and the singular/plural resource naming is standard (list_customers, get_customer).
With 10 tools, the set is well-scoped for a read-only Business Central connector. The main entities are covered with dedicated tools, plus a generic query tool for edge cases, without unnecessary bloat.
The tool set provides list/get coverage for core entities (customers, sales orders, invoices) and a generic query escape hatch for anything else, but it is entirely read-only. There are no create, update, or delete operations, which is a notable gap for a business management system.