mirror of
https://github.com/microsoft/BCQuality.git
synced 2026-10-07 23:56:56 +01:00
66 lines
2.5 KiB
Markdown
66 lines
2.5 KiB
Markdown
---
|
|
bc-version: [all]
|
|
domain: mcp
|
|
keywords: [businesscentral, mcp, production, sandbox, bc-mcp-bridge, psa, invoicing]
|
|
technologies: [al, mcp]
|
|
countries: [w1]
|
|
application-area: [all]
|
|
---
|
|
|
|
# BC MCP Connects to CURABIS Production, Never Confuse It With a Customer Sandbox
|
|
|
|
## Description
|
|
|
|
The `businesscentral` MCP server (`bc-mcp-bridge.js`) connects to CURABIS's
|
|
own Project Management 365 Business Central environment — the system
|
|
CURABIS runs its actual time registration, invoicing, and project tracking
|
|
through. It is production data, full stop, on every project, for every
|
|
developer.
|
|
|
|
This is a categorically different system from the **customer's** BC
|
|
sandbox/test environments that AL development and automated domain tests
|
|
run against. Both may be open in the same session, both may be casually
|
|
called "BC," but they are not the same system and must never be treated as
|
|
interchangeable in stakes or disposability.
|
|
|
|
## Rule
|
|
|
|
An agent must never describe, treat, or retry a `businesscentral` MCP call
|
|
as if it were hitting disposable test data. Reads remain safe to perform
|
|
unprompted (see `bc-mcp-scope-tasks-to-repository` and sibling rules) — this
|
|
rule is about STAKES, not permission: don't casually re-fire a slow or
|
|
failed BC MCP call without first naming that it targets production, and
|
|
never suggest "let's just try it again" the way one might for a sandbox
|
|
call.
|
|
|
|
## Why
|
|
|
|
CURABIS runs its own invoicing and time registration through this system.
|
|
An agent that treats it as "just another read-only API, safe to poll" has
|
|
collapsed two different properties into one: "safe to read" (true) and
|
|
"low-stakes / disposable" (false). Conflating them leads to careless
|
|
behavior — repeated polling, casual retries, treating slowness as a
|
|
shrug-worthy glitch — against a system real invoices depend on.
|
|
|
|
## Anti-Pattern
|
|
|
|
Developer: "That BC MCP call is slow."
|
|
Agent: "Want me to just retry it?"
|
|
|
|
No acknowledgment that "BC" here means CURABIS's own production PM365
|
|
tenant, not the customer sandbox the rest of the session's AL work is
|
|
otherwise happening against.
|
|
|
|
## Compliant
|
|
|
|
Developer: "That BC MCP call is slow."
|
|
Agent: "That's CURABIS's own production PM365 environment — I won't
|
|
just retry it casually. Want me to try once more, or hold off until we
|
|
know why it was slow?"
|
|
|
|
## Scope
|
|
|
|
Applies to every CURABIS project with the `businesscentral` MCP server
|
|
configured. The target environment is identical across all of them
|
|
(CURABIS's own PM365 tenant), regardless of which customer's codebase the
|
|
session is otherwise working in.
|