Skip the install. Get this working in under 2 minutes.
Start a free trial on cloud.anythingmcp.com, add the Microsoft Dynamics 365 Business Central in one click, then point your AI client (Claude, ChatGPT, Copilot or Cursor) at the generated MCP endpoint. No Docker, no git clone, zero engineering experience required.
Summary
Let your AI work in Business Central: look up customers, vendors and items, read sales quotes, orders and invoices, purchase invoices, the general ledger, chart of accounts and dimensions, and create customers and draft quotes and orders. Business Central online through the standard API v2.0, signed in with your Microsoft account.
Try asking
Example prompts for Microsoft Dynamics 365 Business Central
Click any prompt to copy it. Paste into Claude, ChatGPT, Cursor, Gemini, Copilot or OpenClaw to run it against this connector.
Claude is AI and can make mistakes. Please double-check responses.
💡 No install? Use cloud.anythingmcp.com directly. Sign in, click Connectors → Microsoft Dynamics 365 Business Central, paste your credentials, mint an MCP API key and you're done. No Docker, no
git clone, no local server.
Dynamics 365 Business Central + Cursor
Let your AI work in Business Central: look up customers, vendors and items, read sales quotes, orders and invoices, purchase invoices, the general ledger, chart of accounts and dimensions, and create customers and draft quotes and orders. Business Central online through the standard API v2.0, signed in with your Microsoft account.
Prerequisites
See the full setup instructions baked into the connector (visible in the in-app store when you select the connector). The required environment variables for this connector are:
MICROSOFT_CLIENT_ID, MICROSOFT_CLIENT_SECRET, MICROSOFT_TENANT_ID, BC_ENVIRONMENT
Step 1 — Get credentials
- Open the Microsoft Entra admin center at
https://entra.microsoft.com→ Applications → App registrations → New registration, or reuse the app you created for the Outlook, OneDrive or SharePoint connector. Accounts in this organizational directory only is the usual choice. - Add a redirect URI with the platform Web:
https://cloud.anythingmcp.com/api/mcp-oauth/callback(if you host AnythingMCP yourself:<your AnythingMCP URL>/api/mcp-oauth/callback). It has to match exactly, or Microsoft answersAADSTS50011. - Under API permissions → Add a permission → Dynamics 365 Business Central → Delegated permissions, tick
Financials.ReadWrite.All(anduser_impersonation). Click Grant admin consent if your organisation does not let users consent themselves. - Under Certificates & secrets → New client secret, copy the secret Value. It is shown once; the Secret ID is not what you need.
- Fill in
MICROSOFT_CLIENT_ID(the Application (client) ID),MICROSOFT_CLIENT_SECRET,MICROSOFT_TENANT_IDandBC_ENVIRONMENT, then install the connector. - Click Authorize with Provider and sign in with a Business Central user. Access tokens are renewed automatically.
- Run
bc_list_companies. Every other tool works inside one company and takes its id.
Tenant and environment: MICROSOFT_TENANT_ID is your Directory (tenant) ID or a domain such as contoso.onmicrosoft.com. common and organizations do not work here, because the tenant is part of the Business Central address. BC_ENVIRONMENT is the environment name exactly as the Business Central admin center lists it: Production for most live tenants, Sandbox or your own name for a test environment. bc_list_environments shows the names. Try the connector in a sandbox first: in Production, the customers and documents it creates are real.
Same permissions as the user: every call runs as the user who signed in, with that user's Business Central licence and permission sets. The AI sees and changes exactly what that user may.
What it reads and writes: customers, vendors, items, sales quotes, orders and invoices, purchase invoices, general ledger entries, the chart of accounts, dimensions and employees, plus any other standard API v2.0 resource through bc_query, such as contacts, purchase orders, credit memos, aged receivables and payables or the trial balance. It creates customers and sales quotes and orders with their lines, and updates customers. Documents stay open drafts: nothing is released, shipped, invoiced or posted. The AI confirms customer, items, quantities and prices with you before it creates a document.
Switched off at install: bc_delete_customer, bc_make_order_from_quote, bc_delete_sales_quote and bc_delete_sales_order. Deleting a record or turning a quote into an order cannot be undone, so switch these on per tool only if you need them.
Limits: Business Central allows about 6,000 API calls per user in 5 minutes; beyond that it asks the connector to wait.
Common errors: 401 means the authorization was revoked or the client secret expired: paste a new secret if needed and authorize again. 403: the user lacks a licence or permission set, or admin consent is missing. 404 NoEnvironment: BC_ENVIRONMENT or MICROSOFT_TENANT_ID is wrong. 412: someone changed the record since it was read, so the AI reads it again.
Business Central online only: on-premises installations are not covered, and older NAV installations have their own Dynamics NAV connector. Custom APIs published by extensions are not reached.
Step 2 — Install the adapter
curl -fsSL https://raw.githubusercontent.com/HelpCode-ai/anythingmcp/main/docker-compose.quickstart.yml -o docker-compose.yml
printf 'JWT_SECRET=%s\nENCRYPTION_KEY=%s\n' "$(openssl rand -hex 32)" "$(openssl rand -hex 32)" > .env
docker compose up -d
Step 3 — Add the connector in Cursor
Your server URL: in AnythingMCP, open MCP Servers → the server this connector is on, and copy its URL (
https://cloud.anythingmcp.com/mcp/…). Use it wherever this guide showsYOUR_SERVER_ID.
Cursor reads MCP servers from ~/.cursor/mcp.json. Add this entry:
{
"mcpServers": {
"anythingmcp": {
"url": "https://cloud.anythingmcp.com/mcp/YOUR_SERVER_ID",
"headers": { "X-API-Key": "YOUR_MCP_API_KEY" }
}
}
}
- Create an MCP API key in AnythingMCP under MCP Servers → your server → API keys, and paste it in place of
YOUR_MCP_API_KEY. - Save the file and restart Cursor.
- Open Cursor → Settings → MCP and check that
anythingmcpis listed and connected. - Start chatting: the agent can now call the
Dynamics 365 Business Centraltools.
Available tools
| Tool | What it does |
|---|---|
bc_list_environments | List the Business Central environments of the tenant: name, type (Production or Sandbox), country and web client URL |
bc_list_companies | List the companies in the connected environment with their id, name and display name |
bc_list_customers | List or search customers: number, name, address, phone, email, balance, credit limit, currency, blocked state |
bc_get_customer | Read one customer with every field, including its @odata.etag for updates |
bc_create_customer | Create a customer |
bc_update_customer | Change fields of one customer; fields left out keep their values |
bc_delete_customer | Delete one customer |
bc_list_vendors | List or search vendors (suppliers): number, name, address, phone, email, balance, currency, blocked state |
bc_get_vendor | Read one vendor with every field: address, contact details, balance, payment terms and its @odata.etag |
bc_list_items | List or search items: number, name, type (Inventory, Service, Non-Inventory), category, inventory on hand, unit price, unit cost, base unit… |
bc_get_item | Read one item with every field: prices, cost, inventory, units of measure, GTIN, category |
bc_list_sales_quotes | List sales quotes: number, customer, dates, status (Draft, Sent, Accepted, Expired), amounts |
bc_get_sales_quote | Read one sales quote with every header field; expand=salesQuoteLines adds the lines |
bc_create_sales_quote | Create a sales quote for a customer, optionally with its lines in the same call |
bc_add_sales_quote_line | Add one line to an open sales quote: an item with quantity and optionally price and discount, a G/L account, a resource or a comment |
bc_make_order_from_quote | Turn a sales quote into a sales order (Business Central's Make Order) |
bc_delete_sales_quote | Delete one sales quote with its lines |
bc_list_sales_orders | List sales orders: number, customer, order and delivery dates, status (Draft, In Review, Open), fully shipped flag, amounts |
bc_get_sales_order | Read one sales order with every header field; expand=salesOrderLines adds the lines with shipped and invoiced quantities |
bc_create_sales_order | Create a sales order for a customer, optionally with its lines in the same call |
bc_add_sales_order_line | Add one line to an open sales order: an item with quantity and optionally price and discount, a G/L account, a resource or a comment |
bc_delete_sales_order | Delete one open sales order with its lines |
bc_list_sales_invoices | List sales invoices: number, customer, invoice and due dates, status (Draft, In Review, Open, Paid, Canceled, Corrective), total and… |
bc_get_sales_invoice | Read one sales invoice with every header field; expand=salesInvoiceLines adds the lines |
bc_list_purchase_invoices | List purchase invoices (vendor bills): number, vendor, vendor invoice number, invoice and due dates, status (Draft, In Review, Open, Paid… |
bc_get_purchase_invoice | Read one purchase invoice with every header field; expand=purchaseInvoiceLines adds the lines |
bc_list_general_ledger_entries | List posted general ledger entries: entry number, posting date, document type and number, G/L account, description, debit and credit amount |
bc_list_accounts | List the chart of accounts (G/L accounts): number, name, category (Assets, Liabilities, Equity, Income, Cost of Goods Sold, Expense)… |
bc_list_dimensions | List the dimensions (for example DEPARTMENT, PROJECT, AREA) with their codes. bc_list_dimension_values lists the values of one |
bc_list_dimension_values | List the values of one dimension, e.g. the departments of DEPARTMENT, with code and name |
bc_list_employees | List employees: number, name, job title, email, phone, status (Active, Inactive, Terminated), employment date |
bc_query | Read any other API v2.0 resource of a company that has no dedicated tool, e.g. contacts, purchaseOrders, salesCreditMemos, salesShipments… |
Example prompts
- "Which customers have overdue invoices, and what is the total per customer?"
- "Show this month's sales orders that are not fully shipped yet."
- "Create a sales quote for Adatum Corporation with 10 units of item 1896-S, and show it to me before you save it."
- "What did we post on the revenue accounts in September, by department?"
FAQ
Does Cursor support custom MCP servers on the free tier? Yes, MCP is available on Hobby, Pro and Business plans.
Next steps
Was this guide helpful?