Skip to main content
Glama

Red by Big Red Cloud

Server Details

Secure MCP access to Big Red Cloud accounting data, workflows, help and training.

If you are the author of this connector, you can claim ownership with GitHub, an HTTP challenge, or a DNS record. Claimed connector authors can inspect health checks, view analytics, and manage their listing.
Status
Healthy
Last Tested
Transport
Streamable HTTP
URL
Repository
BigRedCloud/red-mcp-server
GitHub Stars
0
Server Listing
Red MCP Server

Available Tools

159 tools
brc_batch_cash_paymentsBatch Cash PaymentsA
Destructive
Inspect

Processes cash payments in supplier-ledger, bank-lodgement or analysed-expense mode. Results are reported per submitted item and partial success is possible. Requires a valid routeToken issued for the matching action workflow. The token remains valid through lookup, preview and the permitted transaction. Placeholder tokens are invalid. A routeToken does not bypass preview or explicit-confirmation requirements. A call without confirmWrite: true returns confirmation_required and a payload preview. confirmWrite: true applies the previewed change after explicit confirmation. Passing preflight is not confirmation. Requires confirmCounterpartyExplicit: true; confirmation is scoped to the counterparty selected for the current preview.

ParametersJSON Schema
NameRequiredDescriptionDefault
itemsYesBatch items to process. Maximum 20 items per request.
routeTokenYesOpaque routeToken from brc_route_request for this action workflow. Required for transactional tools. Routing permission only — does not replace preview-before-posting or confirmWrite.
companyNameYesCompany context name, for example YOUR-COMPANY-NAME.
confirmWriteNoMust be true only after a plain-English preview before posting has been shown in the current conversation and the user explicitly confirmed posting (for example yes, create it / post it now / confirm). Never set true on the first call or because the user initially asked to create something. Nothing is written to Big Red Cloud until you confirm.
connectionRefNoOpaque Red connection reference returned by brc_confirm_company_connection. Pass this exact value on every later tool call when the MCP client rotates session ids (for example Vibe/Mistral). Keep reusing the same connectionRef after successful tool calls — do not start a new connection because a lookup returned empty or partial data. It is not an API key and does not contain credentials.
confirmCounterpartyExplicitNoMust be true only after the user explicitly named or confirmed the customer, supplier, or other counterparty in the current conversation. Never set true because a customer or supplier appeared in an earlier preview, was inferred from context, or was filled in without the user's explicit choice in this conversation.

TDQS

A3.9/5.0
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

The description goes far beyond the annotations (readOnlyHint: false, destructiveHint: true), disclosing partial success per item, the routeToken validity window, that placeholder tokens are invalid, that routeToken does not bypass preview/confirmation, that a call without confirmWrite returns confirmation_required with a preview, that preflight passage is not confirmation, and the counterparty-confirmation scoping. This level of behavioral disclosure — especially the stateful token lifecycle and confirmation semantics — is exactly what an agent needs to avoid misfiring a destructive write.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is long but every sentence carries operational weight: modes, partial success, token lifecycle, preview/confirmation gating, and counterparty scoping, all front-loaded after the primary action. There is minor redundancy — 'A routeToken does not bypass preview or explicit-confirmation requirements' and 'Passing preflight is not confirmation' overlap in spirit — but each restatement reinforces a different failure mode. No filler or marketing language.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a complex transactional tool with no output schema, the description covers the critical workflow: token requirements, preview returns, confirmation application, per-item partial success, and counterparty confirmation. The rich input schema covers parameters fully, and the destructiveHint annotation alerts to side effects. The main gap is the absence of detail on the per-item result structure or final success response — 'Results are reported per submitted item' is asserted but the shape of those results is not described, and with no output schema the description bears that burden.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100% and the schema itself is unusually rich, documenting the three item variants, the confirmWrite gating rule, routeToken semantics, connectionRef reuse, and confirmCounterpartyExplicit conditions. The description reinforces confirmWrite and confirmCounterpartyExplicit behavior in prose but adds little that the schema descriptions do not already state. Baseline 3 applies because the schema carries the parameter-semantics burden effectively.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description opens with a specific verb and resource — 'Processes cash payments' — and narrows scope with the three modes: 'supplier-ledger, bank-lodgement or analysed-expense mode'. 'Results are reported per submitted item and partial success is possible' signals batch behavior that separates it from the single-item sibling brc_create_cash_payment. However, it never names a sibling or explicitly states 'use this for multiple cash payments in one call', so differentiation from brc_batch_payments and brc_create_cash_payment is left mostly to the tool name.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description implies the usage context — a routeToken-gated, preview-then-confirm transactional workflow — but never explicitly says when to choose this over brc_create_cash_payment or another batch tool. It states preconditions ('Requires a valid routeToken issued for the matching action workflow', 'Requires confirmCounterpartyExplicit: true') and the two-phase call pattern, which is practical guidance. No alternatives are named and no exclusion conditions are given, so when-to-use vs alternatives is only implied.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

brc_batch_cash_receiptsBatch Cash ReceiptsA
Destructive
Inspect

Processes a batch of BRC cash receipts. Maximum 20 items per batch request. Requires a valid routeToken issued for the matching action workflow. The token remains valid through lookup, preview and the permitted transaction. Placeholder tokens are invalid. A routeToken does not bypass preview or explicit-confirmation requirements. A call without confirmWrite: true returns confirmation_required and a payload preview. confirmWrite: true applies the previewed change after explicit confirmation. Passing preflight is not confirmation. Requires confirmCounterpartyExplicit: true; confirmation is scoped to the counterparty selected for the current preview.

ParametersJSON Schema
NameRequiredDescriptionDefault
itemsYesBatch items to process. Maximum 20 items per request.
routeTokenYesOpaque routeToken from brc_route_request for this action workflow. Required for transactional tools. Routing permission only — does not replace preview-before-posting or confirmWrite.
companyNameYesCompany context name, for example YOUR-COMPANY-NAME.
confirmWriteNoMust be true only after a plain-English preview before posting has been shown in the current conversation and the user explicitly confirmed posting (for example yes, create it / post it now / confirm). Never set true on the first call or because the user initially asked to create something. Nothing is written to Big Red Cloud until you confirm.
connectionRefNoOpaque Red connection reference returned by brc_confirm_company_connection. Pass this exact value on every later tool call when the MCP client rotates session ids (for example Vibe/Mistral). Keep reusing the same connectionRef after successful tool calls — do not start a new connection because a lookup returned empty or partial data. It is not an API key and does not contain credentials.
confirmCounterpartyExplicitNoMust be true only after the user explicitly named or confirmed the customer, supplier, or other counterparty in the current conversation. Never set true because a customer or supplier appeared in an earlier preview, was inferred from context, or was filled in without the user's explicit choice in this conversation.

TDQS

A3.9/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already mark destructiveHint=true and readOnlyHint=false, so the write nature is known. The description adds real behavioral detail: the first call without confirmWrite returns confirmation_required and a payload preview, confirmWrite applies the previewed change only after explicit confirmation, and confirmation is scoped to the counterparty in the current preview. This two-phase flow is not inferable from annotations and is critical for safe invocation.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Every sentence earns its place: batch limit, token validity, placeholder invalidity, no-bypass behavior, confirmation response, confirmWrite semantics, and counterparty scoping. The structure is front-loaded with the most important constraints, and the sentence-per-line layout makes the dense information reasonably scannable. Some grouping into bullets would improve scanability, but there is no bloat.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Even without an output schema, the description tells an agent what to expect on the first call (confirmation_required and payload preview) and what confirmWrite: true does. Combined with a rich schema covering connectionRef, items constraints, and date formats, the core execution flow and prerequisites are adequately disclosed. It doesn't detail the exact preview payload shape or error conditions, but the essential transactional behavior is well covered.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schea description coverage is 100%, so the baseline is 3. The description does add interpretive context for routeToken, confirmWrite, and confirmCounterpartyExplicit, particularly the token's permission-only nature and the confirmation scoping. However, most of these meanings already exist in the schema parameter descriptions, so the marginal value added by the description is moderate rather than substantial.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description opens with 'Processes a batch of BRC cash receipts,' which is a specific verb plus resource and clearly indicates this is a batch operation. The resource name and 'cash receipts' phrasing distinguish it from batch cash payments or other BRC batch tools, though it doesn't explicitly name a sibling for contrast.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides concrete operational guidance: maximum 20 items per request, valid routeToken required, placeholder tokens invalid, and confirmation flags must only be true after explicit user confirmation. It clearly states when confirmWrite and confirmCounterpartyExplicit should be set, and that preflight alone is not confirmation. It doesn't explicitly discuss when to use the batch form versus a single-create sibling, but the usage constraints are concrete and actionable.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

brc_batch_customersBatch CustomersA
Destructive
Inspect

Processes a batch of customers using explicit identity, VAT classification, and optional contact fields. Maximum 20 items per batch request. Requires a valid routeToken issued for the matching action workflow. The token remains valid through lookup, preview and the permitted transaction. Placeholder tokens are invalid. A routeToken does not bypass preview or explicit-confirmation requirements. A call without confirmWrite: true returns confirmation_required and a payload preview. confirmWrite: true applies the previewed change after explicit confirmation. Passing preflight is not confirmation.

ParametersJSON Schema
NameRequiredDescriptionDefault
itemsYesBatch items to process. Maximum 20 items per request.
routeTokenYesOpaque routeToken from brc_route_request for this action workflow. Required for transactional tools. Routing permission only — does not replace preview-before-posting or confirmWrite.
companyNameYesCompany context name, for example YOUR-COMPANY-NAME.
confirmWriteNoMust be true only after a plain-English preview before posting has been shown in the current conversation and the user explicitly confirmed posting (for example yes, create it / post it now / confirm). Never set true on the first call or because the user initially asked to create something. Nothing is written to Big Red Cloud until you confirm.
connectionRefNoOpaque Red connection reference returned by brc_confirm_company_connection. Pass this exact value on every later tool call when the MCP client rotates session ids (for example Vibe/Mistral). Keep reusing the same connectionRef after successful tool calls — do not start a new connection because a lookup returned empty or partial data. It is not an API key and does not contain credentials.

TDQS

A4.3/5.0
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already mark this as a write and destructive, and the description adds substantial behavior beyond that: token validity lifecycle, placeholder token invalidity, preflight returning confirmation_required with a payload preview, confirmWrite:true applying the previewed change only after explicit confirmation, and the warning that passing preflight is not confirmation. This is exactly the kind of high-risk behavioral context an agent needs.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is dense but efficient: it front-loads purpose and batch size, then covers token validity, preview requirement, and explicit confirmation semantics in five tight sentences. Every sentence carries a constraint or behavior necessary for safe invocation, with no filler.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given a complex transactional tool with nested items and no output schema, the description covers the critical workflow: token requirements, preview behavior, confirmWrite semantics, and max batch size. The schema supplies complete parameter documentation. It does not describe success/error response shapes in natural language, but the preview/confirmation flow is adequately disclosed.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100%, so the baseline is 3. The description adds meaningful parameter-level context beyond the schema, especially for routeToken (valid through lookup, preview, and permitted transaction; placeholder tokens invalid) and confirmWrite (preflight behavior and the distinction between preview and confirmation). This goes beyond the schema's own descriptions.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description states a specific action ('Processes') and resource ('a batch of customers') and adds scope ('Maximum 20 items per batch request'). It is clear enough to distinguish from non-customer batch tools, though 'Processes' is less precise than 'Creates' — the create semantics are only fully visible through the schema's opCode const 1.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description gives concrete invocation context: a valid routeToken from the matching workflow is required, placeholder tokens are invalid, and the preview/confirmWrite contract is spelled out. It does not explicitly state when to prefer this over single-entity siblings like brc_create_customer, but the batch-specific context is clear and actionable.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

brc_batch_paymentsBatch PaymentsA
Destructive
Inspect

Processes supplier or analysed bank payments in a batch. Results are reported per submitted item and partial success is possible. Requires a valid routeToken issued for the matching action workflow. The token remains valid through lookup, preview and the permitted transaction. Placeholder tokens are invalid. A routeToken does not bypass preview or explicit-confirmation requirements. A call without confirmWrite: true returns confirmation_required and a payload preview. confirmWrite: true applies the previewed change after explicit confirmation. Passing preflight is not confirmation. Requires confirmCounterpartyExplicit: true; confirmation is scoped to the counterparty selected for the current preview.

ParametersJSON Schema
NameRequiredDescriptionDefault
itemsYesBatch items to process. Maximum 20 items per request.
routeTokenYesOpaque routeToken from brc_route_request for this action workflow. Required for transactional tools. Routing permission only — does not replace preview-before-posting or confirmWrite.
companyNameYesCompany context name, for example YOUR-COMPANY-NAME.
confirmWriteNoMust be true only after a plain-English preview before posting has been shown in the current conversation and the user explicitly confirmed posting (for example yes, create it / post it now / confirm). Never set true on the first call or because the user initially asked to create something. Nothing is written to Big Red Cloud until you confirm.
connectionRefNoOpaque Red connection reference returned by brc_confirm_company_connection. Pass this exact value on every later tool call when the MCP client rotates session ids (for example Vibe/Mistral). Keep reusing the same connectionRef after successful tool calls — do not start a new connection because a lookup returned empty or partial data. It is not an API key and does not contain credentials.
confirmCounterpartyExplicitNoMust be true only after the user explicitly named or confirmed the customer, supplier, or other counterparty in the current conversation. Never set true because a customer or supplier appeared in an earlier preview, was inferred from context, or was filled in without the user's explicit choice in this conversation.

TDQS

A4.3/5.0
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations declare readOnlyHint=false and destructiveHint=true, and the description expands substantially: per-item partial success, two-phase confirmWrite behavior, confirmation_required + preview payload without confirmWrite, passing preflight is not confirmation, placeholder tokens invalid, and routeToken not bypassing preview. This is precisely the behavioral nuance that prevents incorrect calls. No contradiction with annotations.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is long but dense: each sentence carries a distinct correctness constraint (token validity, preview non-bypass, preflight semantics, counterparty scoping). It is front-loaded with purpose and then operational rules. Minor redundancy exists with the confirmWrite schema description, which keeps it from a 5.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Despite having no output schema, the description sets expectations for both phases (confirmation_required and payload preview on first call; per-item results and partial success after confirmation). Parameters, safety profile (destructiveHint), and the two-phase confirmation protocol are all covered. Remaining gaps are minor: no explicit sibling routing and no return schema, but the call flow is well documented.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100% — every parameter (items, routeToken, companyName, confirmWrite, connectionRef, confirmCounterpartyExplicit) already has a thorough schema description, including confirmWrite's explicit 'never true on the first call' rule. The description reinforces the flow (preflight-not-confirmation, token validity scope) but adds little per-parameter meaning, so the baseline 3 applies.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb+resource+scope: 'Processes supplier or analysed bank payments in a batch.' This distinguishes it from single-item payment tools like brc_create_payment and, via 'supplier or analysed', from sibling batch tools such as brc_batch_cash_payments. The per-item results and partial-success clause also sharpen the batch semantics.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Gives clear preconditions and workflow context: requires a routeToken from brc_route_request for the matching action workflow, remains valid through lookup/preview, and spells out the explicit-confirmation requirements (confirmWrite, confirmCounterpartyExplicit). An agent can infer the orchestration sequence from this. It does not explicitly name alternatives or exclusions among the batch/create siblings, so it falls short of a 5.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

brc_batch_productsBatch ProductsA
Destructive
Inspect

Processes a batch of products using explicit product type, VAT classification, price, and description fields. Maximum 20 items per batch request. Requires a valid routeToken issued for the matching action workflow. The token remains valid through lookup, preview and the permitted transaction. Placeholder tokens are invalid. A routeToken does not bypass preview or explicit-confirmation requirements. A call without confirmWrite: true returns confirmation_required and a payload preview. confirmWrite: true applies the previewed change after explicit confirmation. Passing preflight is not confirmation.

ParametersJSON Schema
NameRequiredDescriptionDefault
itemsYesBatch items to process. Maximum 20 items per request.
routeTokenYesOpaque routeToken from brc_route_request for this action workflow. Required for transactional tools. Routing permission only — does not replace preview-before-posting or confirmWrite.
companyNameYesCompany context name, for example YOUR-COMPANY-NAME.
confirmWriteNoMust be true only after a plain-English preview before posting has been shown in the current conversation and the user explicitly confirmed posting (for example yes, create it / post it now / confirm). Never set true on the first call or because the user initially asked to create something. Nothing is written to Big Red Cloud until you confirm.
connectionRefNoOpaque Red connection reference returned by brc_confirm_company_connection. Pass this exact value on every later tool call when the MCP client rotates session ids (for example Vibe/Mistral). Keep reusing the same connectionRef after successful tool calls — do not start a new connection because a lookup returned empty or partial data. It is not an API key and does not contain credentials.

TDQS

A3.9/5.0
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations only declare destructiveHint=true and readOnlyHint=false, so the description carries the burden — and it excels. It discloses the routeToken lifecycle, that tokens do not bypass preview or explicit confirmation, that a call without confirmWrite returns confirmation_required with a payload preview, and that passing preflight is not confirmation. This goes far beyond the bare annotation and is essential for a destructive write tool.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is dense and front-loaded, opening with the core action and batch limit before covering token and confirmation requirements. Each sentence adds important risk or workflow context. It is longer than strictly necessary, and somewhat repeats the confirmWrite semantics already described in the schema, but for a destructive batch tool the length is justifiable.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

The description covers the prerequisite routeToken, the 20-item batching constraint, the preview-before-confirm control flow, and the confirmation_required response path. There is no output schema, so a bit more clarity on the success response after confirmWrite=true or error cases would help, but the current description is largely complete for safely invoking this complex transactional tool.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100%, with every property already well documented (opCode const 1, companyName example, routeToken purpose, confirmWrite policy, item details, etc.). The description reinforces routeToken and confirmWrite semantics but does not need to add new parameter-level meaning because the schema already carries it.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description states it 'Processes a batch of products' with explicit product type, VAT, price, and description fields, and notes the 20-item cap. It clearly identifies the resource as products, which helps separate it from sibling batch tools for payments, invoices, customers, etc. However, the verb 'processes' is more generic than 'creates' or 'updates', and the description does not explicitly name its single-product alternative (brc_create_product).

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description gives strong operational conditions: valid routeToken, maximum 20 items, placeholder tokens invalid, and the confirmWrite/preview requirement. It does not, however, explicitly contrast this with brc_create_product or explain when the batch tool should be preferred over the single-record variants. The usage context is clear but alternatives are not named.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

brc_batch_purchasesBatch PurchasesA
Destructive
Inspect

Processes purchases in a batch using structured generated-reference purchase items. Results are reported per submitted item and partial success is possible. Requires a valid routeToken issued for the matching action workflow. The token remains valid through lookup, preview and the permitted transaction. Placeholder tokens are invalid. A routeToken does not bypass preview or explicit-confirmation requirements. A call without confirmWrite: true returns confirmation_required and a payload preview. confirmWrite: true applies the previewed change after explicit confirmation. Passing preflight is not confirmation. Requires confirmCounterpartyExplicit: true; confirmation is scoped to the counterparty selected for the current preview.

ParametersJSON Schema
NameRequiredDescriptionDefault
itemsYesBatch items to process. Maximum 20 items per request.
priceBasisNoApplies to every sales invoice/credit note item in this batch. Required when Gross Price Entry is enabled. Use `gross` when unit prices are VAT-inclusive/gross. Use `net` when unit prices are VAT-exclusive/net.
routeTokenYesOpaque routeToken from brc_route_request for this action workflow. Required for transactional tools. Routing permission only — does not replace preview-before-posting or confirmWrite.
companyNameYesCompany context name, for example YOUR-COMPANY-NAME.
confirmWriteNoMust be true only after a plain-English preview before posting has been shown in the current conversation and the user explicitly confirmed posting (for example yes, create it / post it now / confirm). Never set true on the first call or because the user initially asked to create something. Nothing is written to Big Red Cloud until you confirm.
connectionRefNoOpaque Red connection reference returned by brc_confirm_company_connection. Pass this exact value on every later tool call when the MCP client rotates session ids (for example Vibe/Mistral). Keep reusing the same connectionRef after successful tool calls — do not start a new connection because a lookup returned empty or partial data. It is not an API key and does not contain credentials.
confirmCrAnalysisCategoryNoApplies to every sales document item in this batch. Set true only after the user confirms a CR (customer) sales analysis account code is intentional for these product lines.
confirmCounterpartyExplicitNoMust be true only after the user explicitly named or confirmed the customer, supplier, or other counterparty in the current conversation. Never set true because a customer or supplier appeared in an earlier preview, was inferred from context, or was filled in without the user's explicit choice in this conversation.

TDQS

A4.5/5.0
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Beyond the annotations (readOnlyHint=false, destructiveHint=true), the description discloses partial success, result-per-item reporting, routeToken validity and limitations, preview requirements, confirmation semantics, and the fact that preflight is not confirmation. This is substantial behavioral context that annotations alone do not provide.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is long but every sentence carries a distinct behavioral constraint; there is no filler. It is front-loaded with the core purpose and then systematically explains token, preview, confirmation, and counterparty requirements. Could be slightly tightened, but the density is justified by the complex confirmation flow.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

There is no output schema, so the description must cover return behavior. It does: results are per item, partial success is possible, and a call without confirmWrite returns confirmation_required with a payload preview. Given the complexity of this transactional tool, this is a reasonably complete picture, though an explicit note on error structure for failed items would make it fully comprehensive.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100%, so the baseline is 3. The description adds meaningful extra semantics for confirmWrite and confirmCounterpartyExplicit, explaining when they may be true and that preflight does not count as confirmation. This goes beyond the schema-level descriptions and helps an agent avoid critical mistakes.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description opens with a specific verb and resource: 'Processes purchases in a batch using structured generated-reference purchase items.' It further distinguishes itself from single-purchase tools by noting per-item results and partial success, so an agent can tell it apart from brc_create_purchase and sibling batch tools.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description clearly defines the required workflow: a valid routeToken for the matching action workflow is needed, placeholder tokens are invalid, and confirmWrite must only be true after explicit preview and confirmation. This gives strong when-to-use and sequencing guidance, though it does not explicitly name alternative tools or state when not to use the batch endpoint.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

brc_batch_quotesBatch QuotesA
Destructive
Inspect

Processes a batch of quotes using either verified flat creator fields or a complete nested BRC Quote payload. Maximum 20 items per batch request. Requires a valid routeToken issued for the matching action workflow. The token remains valid through lookup, preview and the permitted transaction. Placeholder tokens are invalid. A routeToken does not bypass preview or explicit-confirmation requirements. A call without confirmWrite: true returns confirmation_required and a payload preview. confirmWrite: true applies the previewed change after explicit confirmation. Passing preflight is not confirmation. Requires confirmCounterpartyExplicit: true; confirmation is scoped to the counterparty selected for the current preview.

ParametersJSON Schema
NameRequiredDescriptionDefault
itemsYesBatch items to process. Maximum 20 items per request.
routeTokenYesOpaque routeToken from brc_route_request for this action workflow. Required for transactional tools. Routing permission only — does not replace preview-before-posting or confirmWrite.
companyNameYesCompany context name, for example YOUR-COMPANY-NAME.
confirmWriteNoMust be true only after a plain-English preview before posting has been shown in the current conversation and the user explicitly confirmed posting (for example yes, create it / post it now / confirm). Never set true on the first call or because the user initially asked to create something. Nothing is written to Big Red Cloud until you confirm.
connectionRefNoOpaque Red connection reference returned by brc_confirm_company_connection. Pass this exact value on every later tool call when the MCP client rotates session ids (for example Vibe/Mistral). Keep reusing the same connectionRef after successful tool calls — do not start a new connection because a lookup returned empty or partial data. It is not an API key and does not contain credentials.
confirmCrAnalysisCategoryNoApplies to every sales document item in this batch. Set true only after the user confirms a CR (customer) sales analysis account code is intentional for these product lines.
confirmCounterpartyExplicitNoMust be true only after the user explicitly named or confirmed the customer, supplier, or other counterparty in the current conversation. Never set true because a customer or supplier appeared in an earlier preview, was inferred from context, or was filled in without the user's explicit choice in this conversation.

TDQS

A4.4/5.0
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations declare destructiveHint=true and readOnlyHint=false, and the description goes well beyond those annotations by explaining token lifetime, placeholder-token invalidity, preview-and-confirm flow, preflight-not-confirmation, and counterparty-explicit confirmation scope. This is high-value behavioral context. There is no contradiction between description and annotations, so behavioral transparency is strong.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a compact paragraph that front-loads the core action, then covers the token, preview, and confirmation rules without redundancy. It packs a lot of information into a dense block but each sentence contributes important constraints. A slightly more structured layout might help, but it is appropriately sized and not padded.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a destructive, high-stakes transactional tool with no output schema, the description covers the confirmation protocol, token lifetime, and batch limit. It does not explicitly mention connectionRef reuse or CR analysis category confirmation, but those are documented in the schema. It also does not describe return values beyond confirmation_required and payload preview, which is sufficient because no output schema exists but the key response behavior is stated. Overall it is complete enough for an agent to call correctly.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100%, so the schema already documents every parameter including the elaborate nested quote structures. The description adds semantics for routeToken, confirmWrite, and confirmCounterpartyExplicit—namely token validity, preview-before-confirm, and explicit counterparty confirmation—which are not fully captured by the schema descriptions. It does not describe every nested field, but the schema carries that load. Given 100% coverage and rich schema descriptions, a 4 is appropriate since the description adds the operational semantics.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool processes a batch of quotes via two payload forms and sets the 20-item limit, so the verb and resource are specific enough to distinguish it from single-quote create tools and other batch tools. It doesn't explicitly name a sibling like brc_create_quote, but the batch name and scope are evident.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description strongly implies when to use this tool with routeToken requirements, the need for confirmWrite true and confirmCounterpartyExplicit true, and the fact that preflight is not confirmation. It even warns placeholder tokens are invalid and describes the confirmation flow, effectively guiding the agent through the correct call sequence. It doesn't name alternative tools explicitly, but the workflow rules are otherwise explicit. Since explicit when/when-not guidance is present through the confirmation-flow rules, this earns a 5.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

brc_batch_sales_credit_notesBatch Sales Credit NotesA
Destructive
Inspect

Processes sales credit notes in a batch using reconciled product, VAT and Sales-analysis lines. Results are reported per submitted item and partial success is possible. Requires a valid routeToken issued for the matching action workflow. The token remains valid through lookup, preview and the permitted transaction. Placeholder tokens are invalid. A routeToken does not bypass preview or explicit-confirmation requirements. A call without confirmWrite: true returns confirmation_required and a payload preview. confirmWrite: true applies the previewed change after explicit confirmation. Passing preflight is not confirmation. Requires confirmCounterpartyExplicit: true; confirmation is scoped to the counterparty selected for the current preview.

ParametersJSON Schema
NameRequiredDescriptionDefault
itemsYesBatch items to process. Maximum 20 items per request.
priceBasisNoApplies to every sales invoice/credit note item in this batch. Required when Gross Price Entry is enabled. Use `gross` when unit prices are VAT-inclusive/gross. Use `net` when unit prices are VAT-exclusive/net.
routeTokenYesOpaque routeToken from brc_route_request for this action workflow. Required for transactional tools. Routing permission only — does not replace preview-before-posting or confirmWrite.
companyNameYesCompany context name, for example YOUR-COMPANY-NAME.
confirmWriteNoMust be true only after a plain-English preview before posting has been shown in the current conversation and the user explicitly confirmed posting (for example yes, create it / post it now / confirm). Never set true on the first call or because the user initially asked to create something. Nothing is written to Big Red Cloud until you confirm.
connectionRefNoOpaque Red connection reference returned by brc_confirm_company_connection. Pass this exact value on every later tool call when the MCP client rotates session ids (for example Vibe/Mistral). Keep reusing the same connectionRef after successful tool calls — do not start a new connection because a lookup returned empty or partial data. It is not an API key and does not contain credentials.
confirmCrAnalysisCategoryNoApplies to every sales document item in this batch. Set true only after the user confirms a CR (customer) sales analysis account code is intentional for these product lines.
confirmCounterpartyExplicitNoMust be true only after the user explicitly named or confirmed the customer, supplier, or other counterparty in the current conversation. Never set true because a customer or supplier appeared in an earlier preview, was inferred from context, or was filled in without the user's explicit choice in this conversation.

TDQS

A4.5/5.0
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations only say readOnlyHint=false and destructiveHint=true; the description carries the real burden and succeeds fully. It discloses partial success with per-item results, the token validity window, that tokens never bypass preview/confirmation, the two-phase confirmWrite flow, and that passing preflight is not confirmation. This is exemplary disclosure for a destructive batch tool.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is long — nine sentences — but it is front-loaded with the core purpose and every sentence carries a distinct operational fact. There is mild overlap between 'does not bypass preview or explicit-confirmation' and 'passing preflight is not confirmation'. For a high-stakes destructive batch tool, the density is justified.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

With no output schema, the description gives a useful-level statement of results (per-item reporting, partial success possible) without overpromising. The safety protocol — preview, explicit confirmation, counterparty confirmation, token requirements — is thoroughly covered. Minor gap: the 20-item batch cap lives only in the schema, and detailed return structure is absent, but the description does its job.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so the baseline is 3, but the description adds meaning beyond the schema. It explains routeToken lifecycle (valid through lookup, preview, transaction; placeholders invalid), the confirmWrite two-step semantics, and counterparty-confirmation scoping. This enriches the short schema field descriptions.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb and resource — 'Processes sales credit notes' — and immediately scopes it as a batch operation, distinguishing it from single-document siblings like brc_create_sales_credit_note. The mention of reconciled product, VAT and Sales-analysis lines adds precision about what the batch consumes. The purpose is unambiguous and differentiated.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Gives very clear workflow context: a first call returns confirmation_required plus a payload preview, and confirmWrite: true may only follow explicit user confirmation. It also pins down prerequisites — a valid routeToken for the matching action workflow and confirmCounterpartyExplicit: true. It names no alternative tool or explicit exclusion, so it stops just short of full when-to-use-vs-sibling guidance.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

brc_batch_sales_entriesBatch Sales EntriesA
Destructive
Inspect

Processes a batch of sales entries using verified structured creator fields. Maximum 20 items per batch request. Requires a valid routeToken issued for the matching action workflow. The token remains valid through lookup, preview and the permitted transaction. Placeholder tokens are invalid. A routeToken does not bypass preview or explicit-confirmation requirements. A call without confirmWrite: true returns confirmation_required and a payload preview. confirmWrite: true applies the previewed change after explicit confirmation. Passing preflight is not confirmation. Requires confirmCounterpartyExplicit: true; confirmation is scoped to the counterparty selected for the current preview.

ParametersJSON Schema
NameRequiredDescriptionDefault
itemsYesBatch items to process. Maximum 20 items per request.
routeTokenYesOpaque routeToken from brc_route_request for this action workflow. Required for transactional tools. Routing permission only — does not replace preview-before-posting or confirmWrite.
companyNameYesCompany context name, for example YOUR-COMPANY-NAME.
confirmWriteNoMust be true only after a plain-English preview before posting has been shown in the current conversation and the user explicitly confirmed posting (for example yes, create it / post it now / confirm). Never set true on the first call or because the user initially asked to create something. Nothing is written to Big Red Cloud until you confirm.
connectionRefNoOpaque Red connection reference returned by brc_confirm_company_connection. Pass this exact value on every later tool call when the MCP client rotates session ids (for example Vibe/Mistral). Keep reusing the same connectionRef after successful tool calls — do not start a new connection because a lookup returned empty or partial data. It is not an API key and does not contain credentials.
confirmCrAnalysisCategoryNoApplies to every sales document item in this batch. Set true only after the user confirms a CR (customer) sales analysis account code is intentional for these product lines.
confirmCounterpartyExplicitNoMust be true only after the user explicitly named or confirmed the customer, supplier, or other counterparty in the current conversation. Never set true because a customer or supplier appeared in an earlier preview, was inferred from context, or was filled in without the user's explicit choice in this conversation.

TDQS

A4.2/5.0
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With destructiveHint: true and readOnlyHint: false, annotations already signal mutation, but the description adds substantial behavioral context beyond that: routeToken lifecycle and invalidity of placeholders, the token's non-bypass of preview/confirmation requirements, the exact two-phase response behavior (confirmation_required plus payload preview), the 'passing preflight is not confirmation' nuance, and counterparty-confirmation scoping. This meaningfully exceeds what annotations provide and does not contradict them.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is dense (~9 sentences) but every sentence earns its place for a destructive batch tool: purpose, item cap, token requirement, token lifecycle, placeholder invalidity, no-bypass guarantee, two-phase response behavior, preflight caveat, and counterparty confirmation. The core purpose is front-loaded. It is on the longer side, but security-critical confirmation semantics justify the length; minor restructuring into explicit phases could improve scannability.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a complex destructive batch tool with 7 parameters and no output schema, the description covers the essential operational ground: the confirmation protocol, token requirements, and preview behavior. The schema documents all parameters at 100% coverage, including confirmCrAnalysisCategory and connectionRef. Remaining minor gaps are the lack of an explicit single-vs-batch routing statement and no mention of what a successful final response returns, though these are partly compensated by schema and sibling names.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100%, so the baseline is 3. The description goes beyond the schema by explaining workflow semantics for key parameters: how confirmWrite triggers the two-phase flow (without it, confirmation_required + preview; with it, the previewed change is applied), routeToken validity through lookup/preview/transaction, and the scoping of confirmCounterpartyExplicit to the currently previewed counterparty. This adds real meaning beyond the field-level schema text.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb and resource — 'Processes a batch of sales entries' — and the batching scope is clear (max 20 items). The title and name distinguish it from single-entry siblings like brc_create_sales_entry and from other batch resources (invoices, credit notes). The verb 'processes' is slightly generic (create vs. post vs. validate is not stated directly), but the opCode schema constraint and confirmation-flow language make the core purpose understandable.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Provides strong invocation guidance for the two-phase workflow: call without confirmWrite to get a confirmation_required response and preview, then confirmWrite: true to apply the change; explicitly states that preflight is not confirmation and that confirmCounterpartyExplicit must be true. However, it gives no explicit guidance on when to choose this batch tool over brc_create_sales_entry or alternative batch tools, leaving the selection to inference from the name.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

brc_batch_sales_invoicesBatch Sales InvoicesA
Destructive
Inspect

Processes sales invoices in a batch using reconciled product, VAT and Sales-analysis lines. Results are reported per submitted item and partial success is possible. Requires a valid routeToken issued for the matching action workflow. The token remains valid through lookup, preview and the permitted transaction. Placeholder tokens are invalid. A routeToken does not bypass preview or explicit-confirmation requirements. A call without confirmWrite: true returns confirmation_required and a payload preview. confirmWrite: true applies the previewed change after explicit confirmation. Passing preflight is not confirmation. Requires confirmCounterpartyExplicit: true; confirmation is scoped to the counterparty selected for the current preview.

ParametersJSON Schema
NameRequiredDescriptionDefault
itemsYesBatch items to process. Maximum 20 items per request.
priceBasisNoApplies to every sales invoice/credit note item in this batch. Required when Gross Price Entry is enabled. Use `gross` when unit prices are VAT-inclusive/gross. Use `net` when unit prices are VAT-exclusive/net.
routeTokenYesOpaque routeToken from brc_route_request for this action workflow. Required for transactional tools. Routing permission only — does not replace preview-before-posting or confirmWrite.
companyNameYesCompany context name, for example YOUR-COMPANY-NAME.
confirmWriteNoMust be true only after a plain-English preview before posting has been shown in the current conversation and the user explicitly confirmed posting (for example yes, create it / post it now / confirm). Never set true on the first call or because the user initially asked to create something. Nothing is written to Big Red Cloud until you confirm.
connectionRefNoOpaque Red connection reference returned by brc_confirm_company_connection. Pass this exact value on every later tool call when the MCP client rotates session ids (for example Vibe/Mistral). Keep reusing the same connectionRef after successful tool calls — do not start a new connection because a lookup returned empty or partial data. It is not an API key and does not contain credentials.
confirmCrAnalysisCategoryNoApplies to every sales document item in this batch. Set true only after the user confirms a CR (customer) sales analysis account code is intentional for these product lines.
confirmCounterpartyExplicitNoMust be true only after the user explicitly named or confirmed the customer, supplier, or other counterparty in the current conversation. Never set true because a customer or supplier appeared in an earlier preview, was inferred from context, or was filled in without the user's explicit choice in this conversation.

TDQS

A4.8/5.0
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

The description thoroughly discloses behavioral traits beyond the annotations: partial success is possible, results are per submitted item, placeholder tokens are invalid, routeToken does not bypass preview/confirmation, a call without confirmWrite returns confirmation_required plus a payload preview, and preflight is not confirmation. This adds significant value beyond the annotations.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is compact and front-loaded with the core processing purpose before moving into the token/confirmation constraints. Every sentence contributes a distinct point (batch behavior, token validity, preview semantics, confirmation rules). It is slightly dense in the middle but still efficient; no filler or repetition.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool's complexity (batch, transactional, requires routeToken and explicit confirmation), the description covers all essential operational facts: partial success, per-item results, routeToken lifecycle, preview/confirmation flow, and the counterparty confirmation requirement. The absence of an output schema is compensated by the description explicitly stating what kind of response is returned (confirmation_required with payload preview).

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so the baseline is 3. The description adds crucial semantics for routeToken, confirmWrite, confirmCounterpartyExplicit, and priceBasis, which are not fully explained by the schema alone. It also enriches understanding of items with the note about matching brc_create_sales_invoice_gen_ref. A small deduction because the description doesn't elaborate on companyName or connectionRef beyond what the schema already says.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description states a specific verb ('processes') and resource ('sales invoices in a batch using reconciled product, VAT and Sales-analysis lines'), which clearly identifies what the tool does. It also explicitly notes partial success and per-item reporting, distinguishing it from single-invoice creation tools like brc_create_sales_invoice.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides explicit when-to-use guidance, including the requirement for a valid routeToken issued for the matching action workflow, the behavior without confirmWrite: true, and the mandatory confirmCounterpartyExplicit: true setting. It also clarifies that confirmWrite must only be set after explicit user confirmation, which effectively distinguishes this from preview-only or read-only tools.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

brc_batch_sales_repsBatch Sales RepresentativesA
Destructive
Inspect

Processes a batch of sales representatives using explicit code and name fields. Maximum 20 items per batch request. Requires a valid routeToken issued for the matching action workflow. The token remains valid through lookup, preview and the permitted transaction. Placeholder tokens are invalid. A routeToken does not bypass preview or explicit-confirmation requirements. A call without confirmWrite: true returns confirmation_required and a payload preview. confirmWrite: true applies the previewed change after explicit confirmation. Passing preflight is not confirmation.

ParametersJSON Schema
NameRequiredDescriptionDefault
itemsYesBatch items to process. Maximum 20 items per request.
routeTokenYesOpaque routeToken from brc_route_request for this action workflow. Required for transactional tools. Routing permission only — does not replace preview-before-posting or confirmWrite.
companyNameYesCompany context name, for example YOUR-COMPANY-NAME.
confirmWriteNoMust be true only after a plain-English preview before posting has been shown in the current conversation and the user explicitly confirmed posting (for example yes, create it / post it now / confirm). Never set true on the first call or because the user initially asked to create something. Nothing is written to Big Red Cloud until you confirm.
connectionRefNoOpaque Red connection reference returned by brc_confirm_company_connection. Pass this exact value on every later tool call when the MCP client rotates session ids (for example Vibe/Mistral). Keep reusing the same connectionRef after successful tool calls — do not start a new connection because a lookup returned empty or partial data. It is not an API key and does not contain credentials.

TDQS

A4.4/5.0
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

The description goes well beyond the destructiveHint annotation: placeholder tokens are invalid, routeToken doesn't bypass preview/confirmation, no confirmWrite returns confirmation_required with a payload preview, and passing preflight is not confirmation. This fully discloses the transactional write behavior an agent needs before invoking.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is dense yet compact, front-loading the core operation and limits before the token/confirmation rules. Every sentence contributes a distinct constraint or behavior; there is no filler.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a transactional write tool with no output schema, the description covers the necessary invocation sequence: required token, batch limit, confirmation_required response, and what confirmWrite: true does. Combined with fully-described parameters and annotations, an agent has enough to call it correctly.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so the parameter baseline is already high. The description adds operational meaning to routeToken and confirmWrite (token validity period, preflight not being confirmation) and restates the 20-item batch limit, which is useful but partly redundant with the schema.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description identifies a specific resource ('sales representatives'), the batch mode, and the fields used ('explicit code and name fields'), which sets it apart from single-record siblings like brc_create_sales_rep. It stops short of a 5 because 'Processes' is a generic verb; the schema's opCode const 1 is needed to confirm this is a batch create rather than an update or delete.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

It clearly frames the tool for batch processing ('Maximum 20 items per batch request') and gives operational prerequisites such as a valid routeToken and confirmWrite flow. It does not explicitly name sibling alternatives or list when-not-to-use scenarios, but the intended context is clear.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

brc_batch_suppliersBatch SuppliersA
Destructive
Inspect

Processes a batch of suppliers using explicit identity, VAT classification, and optional contact fields. Maximum 20 items per batch request. Requires a valid routeToken issued for the matching action workflow. The token remains valid through lookup, preview and the permitted transaction. Placeholder tokens are invalid. A routeToken does not bypass preview or explicit-confirmation requirements. A call without confirmWrite: true returns confirmation_required and a payload preview. confirmWrite: true applies the previewed change after explicit confirmation. Passing preflight is not confirmation.

ParametersJSON Schema
NameRequiredDescriptionDefault
itemsYesBatch items to process. Maximum 20 items per request.
routeTokenYesOpaque routeToken from brc_route_request for this action workflow. Required for transactional tools. Routing permission only — does not replace preview-before-posting or confirmWrite.
companyNameYesCompany context name, for example YOUR-COMPANY-NAME.
confirmWriteNoMust be true only after a plain-English preview before posting has been shown in the current conversation and the user explicitly confirmed posting (for example yes, create it / post it now / confirm). Never set true on the first call or because the user initially asked to create something. Nothing is written to Big Red Cloud until you confirm.
connectionRefNoOpaque Red connection reference returned by brc_confirm_company_connection. Pass this exact value on every later tool call when the MCP client rotates session ids (for example Vibe/Mistral). Keep reusing the same connectionRef after successful tool calls — do not start a new connection because a lookup returned empty or partial data. It is not an API key and does not contain credentials.

TDQS

A4/5.0
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already mark this as destructive and non-read-only, and the description adds substantial context: token validity through lookup/preview, placeholder token invalidity, no bypass of preview/confirmation, confirmation_required return without confirmWrite, and 'preflight is not confirmation'. This gives an agent a realistic picture of the tool's safety behavior and is fully consistent with the annotations.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is dense and well-structured: action, batch limit, auth requirement, token lifecycle, and confirmation behavior are all covered in seven sentences. Minor redundancy with the schema's confirmWrite and routeToken descriptions keeps it from being a 5.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a write tool with no output schema, the description sufficiently explains invocation preconditions, authentication, and the no-confirm return path. It does not describe the success response after confirmWrite, error cases beyond invalid tokens, or clarify what 'explicit identity' means, but the rich input schema compensates for most gaps.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so the baseline is 3. The description adds value by explaining routeToken lifecycle details and the confirmWrite/confirmation_required behavior in operational terms rather than just schema constraints. It does not add new meaning for companyName, items, or connectionRef beyond what the schema already provides.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description states a clear batch operation on suppliers with a 20-item cap, so the resource and scope are identifiable. However, it says 'Processes' rather than explicitly 'creates' — the create semantics only appear in the schema's opCode — and it does not explicitly differentiate from brc_create_supplier or other batch siblings.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides clear operational context: batch requests, maximum 20 items, required routeToken, and the preview/confirmation flow. It does not explicitly state when to prefer this tool over brc_create_supplier or when not to use it, so alternative selection is left to inference from the name and schema.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

brc_check_transaction_settingsCheck Transaction SettingsA
Read-only
Inspect

Returns processing-setting warnings for one specified transaction workflow. It does not provide an overall company-readiness score.

ParametersJSON Schema
NameRequiredDescriptionDefault
workflowYesThe workflow to check against the company processing settings.
companyNameYesCompany context name, for example YOUR-COMPANY-NAME.
connectionRefNoOpaque Red connection reference returned by brc_confirm_company_connection. Pass this exact value on every later tool call when the MCP client rotates session ids (for example Vibe/Mistral). Keep reusing the same connectionRef after successful tool calls — do not start a new connection because a lookup returned empty or partial data. It is not an API key and does not contain credentials.

TDQS

A3.6/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint=true, destructiveHint=false, and openWorldHint=false, so the safety profile is covered. The description adds that it returns warnings and does not provide an overall score, which helps set expectations. It does not reveal whether the result is a list of warnings, a status object, or whether some workflows can return empty results, but the read-only nature is already well covered by annotations.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Single sentence plus a short clarifying clause. Every word earns its place, the scope is front-loaded, and the negative clarification prevents an agent from over-interpreting the tool's purpose.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given that this is a read-only, single-workflow check with a fully documented schema and no output schema, the description is almost complete. The only slight gap is that the return value's shape is not described, but since there is no output schema, a brief note on what the warnings look like would have been helpful. Still, the negative scope note and read-only annotations make the context adequately complete.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The schema description coverage is 100%, so the schema already documents all three parameters well. The description does not add parameter-specific guidance beyond what the schema contains. The connectionRef parameter has extensive guidance within the schema itself, so the description does not need to repeat it. Baseline 3 is appropriate.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description states a specific verb ('Returns'), a specific resource ('processing-setting warnings for one specified transaction workflow'), and usefully distinguishes itself by noting it does not provide an overall company-readiness score. It is clear and actionable, though it does not explicitly name sibling tools like brc_company_readiness_check in the text.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description implies when to use it: when you need warnings for a single workflow, and it explicitly says it is not for overall company-readiness scoring. However, it does not explicitly say 'use brc_company_readiness_check for the overall score' or list exclusions against other siblings, so the usage guidance is adequate but not fully explicit.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

brc_clear_all_company_api_keysClear All Company API KeysA
Destructive
Inspect

Clears all connection credentials for all company contexts from MCP server memory.

ParametersJSON Schema
NameRequiredDescriptionDefault
connectionRefNoOpaque Red connection reference returned by brc_confirm_company_connection. Pass this exact value on every later tool call when the MCP client rotates session ids (for example Vibe/Mistral). Keep reusing the same connectionRef after successful tool calls — do not start a new connection because a lookup returned empty or partial data. It is not an API key and does not contain credentials.

TDQS

A3.5/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

The annotations already mark destructiveHint=true, and the description adds the important scope that this clears all company contexts from MCP server memory. However, it does not disclose the after-effects, such as requiring re-authentication or invalidating all existing connectionRefs beyond the immediate deletion.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is one sentence with no filler or redundant restatement of the title. It front-loads the core behavior and scope immediately and earns its place without extra noise.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a destructive, global operation, the description is minimally sufficient but lacks important operational context: no mention of irreversibility, re-authentication requirements, what the success response looks like, or explicit contrast with the single-company clearing tool. The lack of an output schema makes the missing return/effect guidance more noticeable.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The schema provides 100% coverage: the single optional connectionRef parameter has a detailed explanation. The description adds no parameter-level meaning beyond that. Since the schema does the heavy lifting, the baseline score of 3 is appropriate.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description states a precise action and scope: 'Clears all connection credentials for all company contexts from MCP server memory.' It clearly distinguishes this from the singular sibling tool brc_clear_company_api_key by emphasizing 'all company contexts' and 'memory,' so an agent can identify the global variant.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No guidance is given about when to use this tool vs. brc_clear_company_api_key, and there is no warning that it should only be used when a full global reset is intended. The context is implicit from the name and description, but the description never explicitly states 'use this only when you need to clear every company context's credentials.'

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

brc_clear_audit_logClear Audit LogA
Destructive
Inspect

Clear the Red audit log for this MCP server session. A call without confirmWrite: true returns confirmation_required and a payload preview. confirmWrite: true applies the previewed change after explicit confirmation. Passing preflight is not confirmation.

ParametersJSON Schema
NameRequiredDescriptionDefault
confirmClearNoMust be true to confirm that the session audit log should be cleared.
confirmWriteNoMust be true only after a plain-English preview before posting has been shown in the current conversation and the user explicitly confirmed posting (for example yes, create it / post it now / confirm). Never set true on the first call or because the user initially asked to create something. Nothing is written to Big Red Cloud until you confirm.
connectionRefNoOpaque Red connection reference returned by brc_confirm_company_connection. Pass this exact value on every later tool call when the MCP client rotates session ids (for example Vibe/Mistral). Keep reusing the same connectionRef after successful tool calls — do not start a new connection because a lookup returned empty or partial data. It is not an API key and does not contain credentials.

TDQS

A3.9/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already carry destructiveHint=true and readOnlyHint=false, and the description adds materially richer safety context: unconfirmed calls return confirmation_required with a payload preview, confirmWrite: true only applies after explicit user confirmation, and preflight is not confirmation. It also narrows the blast radius by scoping the action to the MCP server session.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Three sentences, no wasted words: the core action and scope are front-loaded, then the unconfirmed path, the confirmed path, and the preflight caveat each get one earned sentence. Nothing duplicates the schema or annotations.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a destructive gated tool with no output schema, it discloses the unconfirmed response (confirmation_required plus payload preview) but not the confirmed/success response. More importantly, it never mentions confirmClear — the parameter literally named for this action — so an agent cannot be certain of the full confirmation protocol.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so the baseline is 3 and the description need not restate parameter docs. It adds flow-level meaning around confirmWrite, but it never clarifies the relationship between confirmClear and confirmWrite, leaving an agent unsure whether one or both booleans must be true.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description names a specific verb, resource, and scope: 'Clear the Red audit log for this MCP server session.' It distinguishes cleanly from the viewing sibling brc_list_audit_log and from the brc_clear_company_api_key / brc_clear_all_company_api_keys tools, which target a different resource.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description explains how the confirmation flow works but never states when to choose this tool versus alternatives; brc_list_audit_log is not named as the viewing counterpart, nor are the other clear-* siblings excluded. Usage is implied by the name and scope rather than explicitly routed.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

brc_clear_company_api_keyClear Company API KeyA
Destructive
Inspect

Clears the API key for a named company context from MCP server memory.

ParametersJSON Schema
NameRequiredDescriptionDefault
companyNameYesCompany context name, for example YOUR-COMPANY-NAME.
connectionRefNoOpaque Red connection reference returned by brc_confirm_company_connection. Pass this exact value on every later tool call when the MCP client rotates session ids (for example Vibe/Mistral). Keep reusing the same connectionRef after successful tool calls — do not start a new connection because a lookup returned empty or partial data. It is not an API key and does not contain credentials.

TDQS

A3.8/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare destructiveHint=true and readOnlyHint=false, so the safety profile is known. The description adds 'from MCP server memory', which clarifies the scope of the effect, but it does not state consequences such as irreversibility, whether the key is immediately invalidated, or what happens on subsequent calls.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is one short, focused sentence that states the action, target, and memory location. There is no redundant wording or irrelevant detail.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a simple destructive tool with fully documented parameters and clear annotations, the description is nearly complete. It could be slightly richer by explicitly pointing to brc_clear_all_company_api_keys as the multi-company alternative or noting practical consequences, but nothing critical is missing for invoking it correctly.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so the parameters are already fully documented in the schema. The tool description adds no additional parameter-level meaning beyond the 'named company context' phrase, so the baseline of 3 is appropriate.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description uses a specific verb ('Clears') and a precise resource ('API key for a named company context from MCP server memory'). It clearly indicates this is a targeted, per-company destructive action and is distinguishable from the sibling brc_clear_all_company_api_keys.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The phrase 'for a named company context' implies this tool is for clearing one company's key rather than all keys, and the sibling brc_clear_all_company_api_keys shows the alternative. However, the description does not explicitly state when to prefer this tool over the all-variant or when not to use it.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

brc_close_quoteClose QuoteAInspect

Closes a BRC quote. Requires a valid routeToken issued for the matching action workflow. The token remains valid through lookup, preview and the permitted transaction. Placeholder tokens are invalid. A routeToken does not bypass preview or explicit-confirmation requirements. A call without confirmWrite: true returns confirmation_required and a payload preview. confirmWrite: true applies the previewed change after explicit confirmation. Passing preflight is not confirmation.

ParametersJSON Schema
NameRequiredDescriptionDefault
idYesQuote id.
routeTokenYesOpaque routeToken from brc_route_request for this action workflow. Required for transactional tools. Routing permission only — does not replace preview-before-posting or confirmWrite.
companyNameYesCompany context name, for example YOUR-COMPANY-NAME.
confirmWriteNoMust be true only after a plain-English preview before posting has been shown in the current conversation and the user explicitly confirmed posting (for example yes, create it / post it now / confirm). Never set true on the first call or because the user initially asked to create something. Nothing is written to Big Red Cloud until you confirm.
connectionRefNoOpaque Red connection reference returned by brc_confirm_company_connection. Pass this exact value on every later tool call when the MCP client rotates session ids (for example Vibe/Mistral). Keep reusing the same connectionRef after successful tool calls — do not start a new connection because a lookup returned empty or partial data. It is not an API key and does not contain credentials.

TDQS

A4.3/5.0
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

The description discloses important behavioral traits beyond the annotations: routeToken validity through lookup/preview/transaction, placeholder tokens being invalid, no bypass of preview/confirmation, confirmation_required with payload preview when confirmWrite is absent, and the rule that preflight is not confirmation. This is exactly the kind of behavioral nuance an agent needs.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is compact, front-loaded with the core purpose, and every sentence conveys necessary behavioral or workflow information. There is no filler or repetition of schema details beyond reinforcing critical confirmation semantics.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a transactional tool with no output schema and sparse annotations, the description covers the critical confirmation workflow, token requirements, and expected intermediate response. It does not describe the success response shape or error cases in detail, but the essential invocation protocol is well covered.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so the schema already documents all parameters. The description adds meaningful semantics for routeToken (lifecycle, placeholder invalidity) and confirmWrite (preflight not confirmation, previewed change application), going beyond the schema's parameter descriptions.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description opens with a specific verb and resource: 'Closes a BRC quote.' This clearly identifies the operation. It does not explicitly differentiate from related siblings like brc_reopen_quote, brc_update_quote, or brc_delete_quote, so it stops short of full sibling differentiation.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description gives clear operational context: a valid routeToken is required, placeholder tokens are invalid, and confirmWrite must only be true after explicit confirmation. It explains the two-phase confirmation flow well. However, it does not explicitly state when to choose this tool over alternatives such as update_quote or delete_quote.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

brc_company_readiness_checkCheck Company ReadinessB
Read-only
Inspect

Returns overall company readiness across connection, financial year, reference data, VAT, analysis categories and settings.

ParametersJSON Schema
NameRequiredDescriptionDefault
companyNameYesCompany context name, for example YOUR-COMPANY-NAME.
connectionRefNoOpaque Red connection reference returned by brc_confirm_company_connection. Pass this exact value on every later tool call when the MCP client rotates session ids (for example Vibe/Mistral). Keep reusing the same connectionRef after successful tool calls — do not start a new connection because a lookup returned empty or partial data. It is not an API key and does not contain credentials.

TDQS

B3.4/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint=true and destructiveHint=false, so the safety profile is covered. The description adds useful scope context by listing the specific readiness areas checked, but it does not disclose what 'readiness' means, what the output contains, or any failure behavior. This does not contradict the annotations.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single concise sentence with front-loaded verb and resource, followed by a compact list of readiness areas. There is no filler or repeated information from the schema or title.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a simple read-only tool with well-documented parameters and safety annotations, the description covers the main purpose and scope. However, there is no output schema and the description does not indicate the shape or granularity of the returned readiness result, which would make the tool slightly more complete.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, and the schema already documents both companyName and connectionRef, including the important connectionRef reuse guidance. The description adds no additional parameter semantics beyond the schema, so the baseline of 3 is appropriate.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states a specific verb ('Returns') and resource ('overall company readiness') and enumerates the readiness domains: connection, financial year, reference data, VAT, analysis categories, and settings. It is distinguishable from most sibling batch/get/create tools, though it does not explicitly distinguish itself from closely related tools like brc_check_transaction_settings or brc_get_company_setup_config.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description implies this tool is used to check overall readiness, but it gives no explicit guidance on when to prefer it over alternatives or when not to use it. There are many sibling tools covering settings and transaction checks, and the description does not clarify which one an agent should choose based on the situation.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

brc_confirm_company_connectionConfirm Company ConnectionAInspect

Confirms a short-lived company-connection code and returns the connected companies plus a reusable opaque connection reference. Connection credentials are not returned.

ParametersJSON Schema
NameRequiredDescriptionDefault
codeYesThe connection code from the secure Red connection page success message.
connectionRefNoOpaque Red connection reference returned by brc_confirm_company_connection. Pass this exact value on every later tool call when the MCP client rotates session ids (for example Vibe/Mistral). Keep reusing the same connectionRef after successful tool calls — do not start a new connection because a lookup returned empty or partial data. It is not an API key and does not contain credentials.

TDQS

A4.2/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations provide only that this is not read-only and not destructive, leaving the description to explain side effects and data handling. The description adds behavioral value by noting the code is short-lived, that connection credentials are not returned, and that the returned reference is reusable and opaque. It does not mention that the code is single-use, but the transparency provided is solid.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two concise sentences front-load the core purpose and immediately state the most important behavioral caveat ('Connection credentials are not returned'). Every sentence adds necessary information with no filler.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a two-parameter tool with no output schema, the description covers what is confirmed, what is returned, and what is not returned. It is adequate for an agent to invoke correctly, though it could explicitly mention that the code is consumed or single-use.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100% and both parameters have detailed descriptions, so the description does not need to compensate. It adds conceptual context about the connection reference being reusable and credential-free, but the schema already carries most of the parameter-level meaning.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description names a specific verb ('confirms'), a precise resource ('short-lived company-connection code'), and the expected result ('connected companies plus a reusable opaque connection reference'). It clearly differentiates this from brc_start_company_connection by describing the confirmation step rather than the initiation step.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The phrase 'short-lived' and the schema's note that the code comes from the Red connection page success message make the invocation context clear. It does not explicitly name alternative tools, but the confirmation-vs-start distinction is strongly implied and adequate for an agent.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

brc_create_accrualCreate AccrualA
Destructive
Inspect

Creates an accrual after returning an unconfirmed payload preview. Requires a valid routeToken issued for the matching action workflow. The token remains valid through lookup, preview and the permitted transaction. Placeholder tokens are invalid. A routeToken does not bypass preview or explicit-confirmation requirements. A call without confirmWrite: true returns confirmation_required and a payload preview. confirmWrite: true applies the previewed change after explicit confirmation. Passing preflight is not confirmation.

ParametersJSON Schema
NameRequiredDescriptionDefault
totalYesAccrual total amount.
acCodeYesNominal account code, for example 4000.
procDateYesProcessing date, for example 2024-03-15T00:00:00.
entryDateYesEntry date, for example 2024-03-01T00:00:00.
referenceYesAccrual reference, for example ACC0001.
routeTokenYesOpaque routeToken from brc_route_request for this action workflow. Required for transactional tools. Routing permission only — does not replace preview-before-posting or confirmWrite.
companyNameYesCompany context name, for example YOUR-COMPANY-NAME.
firstDetailNoFirst detail text.
confirmWriteNoMust be true only after the user explicitly confirms creating this accrual.
secondDetailNoSecond detail text.
connectionRefNoOpaque Red connection reference returned by brc_confirm_company_connection. Pass this exact value on every later tool call when the MCP client rotates session ids (for example Vibe/Mistral). Keep reusing the same connectionRef after successful tool calls — do not start a new connection because a lookup returned empty or partial data. It is not an API key and does not contain credentials.

TDQS

A4.5/5.0
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations only provide destructiveHint: true. The description goes well beyond that by disclosing the confirmation workflow: calls without confirmWrite return confirmation_required and a payload preview, confirmWrite applies the previewed change, placeholder tokens are invalid, and routeToken does not bypass preview or confirmation requirements.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is dense and front-loaded with the core action. Every sentence contributes something useful, though there is slight redundancy between 'returns an unconfirmed payload preview' and the later explanation of the preview/confirm flow.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For an 11-parameter creation tool with no output schema, it explains the essential confirmation protocol, routeToken lifecycle, and the meaning of confirmWrite. A minor gap is that it does not describe what the final successful response after confirmWrite: true looks like.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100%, so the baseline is 3. The description adds meaningful semantics for confirmWrite and routeToken beyond the schema: no-confirm returns a preview, confirmWrite applies the previewed change, and the token remains valid through lookup/preview/transaction. This gives the agent concrete decision guidance for those parameters.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description states a specific verb and resource ('Creates an accrual') and immediately adds the distinguishing two-phase preview-then-confirm behavior. This clearly separates it from the update/get/delete accrual siblings even without comparing them explicitly.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

It gives strong operational guidance: a routeToken is required, confirmWrite: true must only follow explicit user confirmation, and preflight does not count as confirmation. It does not explicitly name sibling alternatives or state when not to use this tool, so it stops short of a 5.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

brc_create_bank_accountCreate Bank AccountAInspect

Creates a bank account after an unconfirmed preview. confirmCreate applies the previewed creation. Requires a valid routeToken issued for the matching action workflow. The token remains valid through lookup, preview and the permitted transaction. Placeholder tokens are invalid. A routeToken does not bypass preview or explicit-confirmation requirements.

ParametersJSON Schema
NameRequiredDescriptionDefault
acCodeNoBank account code, for example 1603.
addressNo
balanceNoOpening/current starting balance.
detailsNoBank account description/name.
lastChqNoLast cheque number, for example 000001.
payloadNoOptional raw bank account payload.
sortCodeNo
categoryIdNoBank Payments category type id from brc_list_category_types.
routeTokenYesOpaque routeToken from brc_route_request for this action workflow. Required for transactional tools. Routing permission only — does not replace preview-before-posting or confirmWrite.
accountNameNo
companyNameYesCompany context name, for example YOUR-COMPANY-NAME.
accountNumberNo
confirmCreateNoMust be true only after the user explicitly confirms creation.
connectionRefNoOpaque Red connection reference returned by brc_confirm_company_connection. Pass this exact value on every later tool call when the MCP client rotates session ids (for example Vibe/Mistral). Keep reusing the same connectionRef after successful tool calls — do not start a new connection because a lookup returned empty or partial data. It is not an API key and does not contain credentials.
isDefaultBankNo
nominalAcCodeNoExisting linked nominal account code. This must already exist in Big Red Cloud and will be sent to the API as account.acCode.
creditorSchemeNo
bankFeedsSourceNo
businessIdentifierCodeNo
internationalBankAccountNumberNo

TDQS

A3.8/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations only indicate readOnlyHint=false and destructiveHint=false, so the description carries the burden of explaining that this is a mutation tool. It goes beyond the schema by stating that placeholder tokens are invalid, that the routeToken does not bypass preview or confirmation, and that the token remains valid across lookup, preview, and the permitted transaction. These are important behavioral constraints that prevent misuse and are not captured by annotations.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is compact at two sentences and gets to the point quickly. The key constraint (requires an unconfirmed preview and explicit confirmation) is front-loaded. Some could argue the phrase 'unconfirmed preview' is slightly jargon-heavy, but overall it is efficient and free of fluff.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a tool with 20 parameters and no output schema, the description is too thin. It does not describe the preview step (how to obtain the preview), what the tool returns, or any side effects beyond the confirmation. An agent would need to inspect the schema and possibly related tools (like brc_route_request) to fully understand the workflow. This is a significant gap given the complexity of the operation.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The schema has 55% description coverage (11 of 20 parameters have descriptions). The tool description does not add any parameter-level meaning; it only references routeToken and confirmCreate, which are already well-described in the schema. For the many parameters lacking descriptions (e.g., acCode, address, balance, sortCode, accountName, etc.), the description provides no clarification, so it does not compensate for the coverage gap.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool creates a bank account and explicitly differentiates it from other create tools by tying it to a preview/confirmation workflow. It names the specific resource (bank account) and the required confirmation mechanism, so an agent can distinguish it from brc_update_bank_account or other creation tools without ambiguity.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides workflow context: it must be used after an unconfirmed preview, requires a valid routeToken from brc_route_request, and confirmCreate must be true only upon explicit user confirmation. It does not explicitly list alternative tools or say when not to use it, but the preview-and-confirm guidance gives a clear sense of the correct invocation sequence, which is enough for most agents.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

brc_create_cash_paymentCreate Cash PaymentA
Destructive
Inspect

Creates a cash payment in supplier-ledger, bank-lodgement or analysed-expense mode. Requires a valid routeToken issued for the matching action workflow. The token remains valid through lookup, preview and the permitted transaction. Placeholder tokens are invalid. A routeToken does not bypass preview or explicit-confirmation requirements. A call without confirmWrite: true returns confirmation_required and a payload preview. confirmWrite: true applies the previewed change after explicit confirmation. Passing preflight is not confirmation. Requires confirmCounterpartyExplicit: true; confirmation is scoped to the counterparty selected for the current preview.

ParametersJSON Schema
NameRequiredDescriptionDefault
noteYes
totalYes
acCodeNoSupplier account code for ledger payments.
ledgerNoLedger amount; must equal total for supplier payments.
discountNo
procDateNoProcessing date in ISO format. Defaults to entryDate.
entryDateNoEntry date in ISO format. Defaults to today.
lodgementNoLodgement amount; must equal total when lodging to bank.
routeTokenYesOpaque routeToken from brc_route_request for this action workflow. Required for transactional tools. Routing permission only — does not replace preview-before-posting or confirmWrite.
supplierIdNoSupplier id for ledger payments.
accountCodeNoAnalysis account code matching analysisCategoryId, for example CP01.
companyNameYesCompany context name, for example YOUR-COMPANY-NAME.
descriptionNoAnalysis line description.
confirmWriteNoMust be true only after a plain-English preview before posting has been shown in the current conversation and the user explicitly confirmed posting (for example yes, create it / post it now / confirm). Never set true on the first call or because the user initially asked to create something. Nothing is written to Big Red Cloud until you confirm.
bankAccountIdNoBank account id for lodgements.
connectionRefNoOpaque Red connection reference returned by brc_confirm_company_connection. Pass this exact value on every later tool call when the MCP client rotates session ids (for example Vibe/Mistral). Keep reusing the same connectionRef after successful tool calls — do not start a new connection because a lookup returned empty or partial data. It is not an API key and does not contain credentials.
bookTranTypeIdNoCash Payment book transaction type id.
bankAccountCodeNoBank account code for lodgements.
analysisCategoryIdNoCash Payments analysis category id (categoryTypeId 1391170).
confirmCounterpartyExplicitNoMust be true only after the user explicitly named or confirmed the customer, supplier, or other counterparty in the current conversation. Never set true because a customer or supplier appeared in an earlier preview, was inferred from context, or was filled in without the user's explicit choice in this conversation.

TDQS

A4.6/5.0
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already mark this as destructive and read-write, and the description adds substantial behavioral nuance: routeToken validity, placeholder token invalidity, the confirmation_required response without confirmWrite, preflight not being confirmation, and the scoping of counterparty confirmation. It also makes the destructive character concrete by explaining that nothing is written until confirmWrite is true.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is dense but every sentence contributes critical workflow information. It front-loads the core purpose, then explains the routeToken lifecycle and the confirmation requirements in a logical order. No fluff or redundancy prevents it from being appropriately sized for a complex transactional tool.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given 20 parameters, no output schema, and a two-phase write workflow, the description covers the most critical invocation semantics, including what happens without confirmWrite. It does not enumerate all mode-to-parameter mappings, but the schema covers those details, so the description is largely sufficient for correct invocation.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 85%, so the schema already documents most parameters. The description complements it by explaining the workflow semantics around routeToken, confirmWrite, and confirmCounterpartyExplicit, including the preflight response. This goes beyond the schema's per-parameter descriptions.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description uses a precise verb and resource: 'Creates a cash payment' and immediately names the three supported modes (supplier-ledger, bank-lodgement or analysed-expense). This clearly distinguishes it from sibling tools like brc_create_cash_receipt, brc_create_payment, and brc_update_cash_payment.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description clearly explains the operational context: it requires a routeToken from a matching action workflow and describes the preview/confirmation flow. It does not explicitly name alternative tools or state when not to use this tool, but the mode list and resource type give an agent clear context for selecting it.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

brc_create_cash_receiptCreate Cash ReceiptA
Destructive
Inspect

Creates a BRC cash receipt. Accepts either a raw payload object or common flat fields. entryDate/procDate default to today. VAT rate fields are only sent when the company's VAT on Cash Receipt setting is enabled. Requires a valid routeToken issued for the matching action workflow. The token remains valid through lookup, preview and the permitted transaction. Placeholder tokens are invalid. A routeToken does not bypass preview or explicit-confirmation requirements. A call without confirmWrite: true returns confirmation_required and a payload preview. confirmWrite: true applies the previewed change after explicit confirmation. Passing preflight is not confirmation. Requires confirmCounterpartyExplicit: true; confirmation is scoped to the counterparty selected for the current preview.

ParametersJSON Schema
NameRequiredDescriptionDefault
noteNo
totalNo
acCodeNo
ledgerNo
detailsNo
payloadNo
discountNo
procDateNo
totalNetNo
totalVATNo
totalVatNo
acEntriesNo
entryDateNo
referenceNo
vatRateIdNo
vatTypeIdNo
customerIdNo
percentageNo
routeTokenYesOpaque routeToken from brc_route_request for this action workflow. Required for transactional tools. Routing permission only — does not replace preview-before-posting or confirmWrite.
vatEntriesNo
accountCodeNo
companyNameYesCompany context name, for example YOUR-COMPANY-NAME.
descriptionNo
unallocatedNo
confirmWriteNoMust be true only after a plain-English preview before posting has been shown in the current conversation and the user explicitly confirmed posting (for example yes, create it / post it now / confirm). Never set true on the first call or because the user initially asked to create something. Nothing is written to Big Red Cloud until you confirm.
customFieldsNo
connectionRefNoOpaque Red connection reference returned by brc_confirm_company_connection. Pass this exact value on every later tool call when the MCP client rotates session ids (for example Vibe/Mistral). Keep reusing the same connectionRef after successful tool calls — do not start a new connection because a lookup returned empty or partial data. It is not an API key and does not contain credentials.
vatPercentageNo
bookTranTypeIdNo
detailCollectionNo
analysisCategoryIdNo
confirmCounterpartyExplicitNoMust be true only after the user explicitly named or confirmed the customer, supplier, or other counterparty in the current conversation. Never set true because a customer or supplier appeared in an earlier preview, was inferred from context, or was filled in without the user's explicit choice in this conversation.

TDQS

A4.5/5.0
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint=false and destructiveHint=true, and the description goes far beyond them: it discloses the two-phase confirm/apply flow, the confirmation_required preview return, routeToken lifecycle and validity scope, entryDate/procDate defaults, conditional VAT field sending, and counterparty-confirmation scoping. No contradiction with annotations; the prose substantially enriches the safety profile.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Eight dense sentences, front-loaded with the purpose line, and each following sentence covers a distinct safety- or behavior-critical point. There is mild redundancy among the confirmation warnings ('does not bypass preview', 'preflight is not confirmation'), but for a destructive two-phase write that repetition is justified. Length is proportionate to the transactional complexity.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a destructive tool with no output schema, the description covers the phase-one return (confirmation_required plus payload preview), all prerequisites, token handling, and the confirmation scoping. The success-path response shape is undisclosed and no alternative-routing guidance exists, but every constraint an agent must respect before posting is stated.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

With 32 parameters and only 16% schema description coverage, most fields are undocumented, and the description cannot fully compensate. However, it adds real meaning by explaining the dual calling convention (raw payload object vs common flat fields), the date defaults, and the conditional VAT behavior. The three flow-critical params (routeToken, confirmWrite, confirmCounterpartyExplicit) are also restated in prose, though slightly redundant with their schema descriptions.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The opening sentence 'Creates a BRC cash receipt' states a specific verb and resource, immediately differentiating the tool from the update/get/delete/list cash receipt siblings and from create_cash_payment. The singular 'a' also separates it from brc_batch_cash_receipts without requiring schema inspection.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description gives exceptionally clear procedural context: routeToken must come from the matching brc_route_request workflow, confirmWrite:false returns a preview, confirmWrite:true applies only after explicit confirmation, preflight is not confirmation, and confirmCounterpartyExplicit must be true. What is missing is any explicit mention of alternatives — e.g., use brc_batch_cash_receipts for multiple receipts or brc_create_cash_payment for payments — so there are no exclusions or alternative routing.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

brc_create_customerCreate CustomerAInspect

Creates a BRC customer from explicit code and name fields. Optional address, contact, credit and VAT fields are omitted when absent. Opening-balance fields are not posted. Requires a valid routeToken issued for the matching action workflow. The token remains valid through lookup, preview and the permitted transaction. Placeholder tokens are invalid. A routeToken does not bypass preview or explicit-confirmation requirements. A call without confirmWrite: true returns confirmation_required and a payload preview. confirmWrite: true applies the previewed change after explicit confirmation. Passing preflight is not confirmation.

ParametersJSON Schema
NameRequiredDescriptionDefault
payloadYesRaw BRC-compatible payload for this endpoint.
routeTokenYesOpaque routeToken from brc_route_request for this action workflow. Required for transactional tools. Routing permission only — does not replace preview-before-posting or confirmWrite.
companyNameYesCompany context name, for example YOUR-COMPANY-NAME.
confirmWriteNoMust be true only after a plain-English preview before posting has been shown in the current conversation and the user explicitly confirmed posting (for example yes, create it / post it now / confirm). Never set true on the first call or because the user initially asked to create something. Nothing is written to Big Red Cloud until you confirm.
connectionRefNoOpaque Red connection reference returned by brc_confirm_company_connection. Pass this exact value on every later tool call when the MCP client rotates session ids (for example Vibe/Mistral). Keep reusing the same connectionRef after successful tool calls — do not start a new connection because a lookup returned empty or partial data. It is not an API key and does not contain credentials.

TDQS

A4.7/5.0
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Beyond annotations, it discloses routeToken lifecycle, invalid placeholder tokens, no bypass of preview requirements, the confirmation_required first-call behavior, that confirmWrite applies the previewed change, and that opening-balance fields are not posted. There are no contradictions with the annotations.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Dense but well-organized: function first, then prerequisites and the confirmation workflow. Each sentence adds a distinct behavioral fact with no filler or redundant surface-level detail.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Very complete for a complex transactional tool with no output schema: covers routeToken, preview, confirmWrite, and the confirmation_required return case. It does not describe the final success response or explicitly route to batch/update siblings, but the essential invocation contract is present.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters5/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Although schema coverage is 100%, the description adds crucial meaning for the opaque payload parameter: explicit code and name fields, optional fields omitted when absent, and opening-balance fields not posted. It also reinforces routeToken and confirmWrite semantics, materially improving call correctness.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific action and resource: creates a BRC customer. It narrows the operation by noting explicit code and name fields and that opening-balance fields are not posted, clearly separating creation from update or batch alternatives.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Provides strong operational context: requires a routeToken from the matching workflow, preview before posting, confirmWrite behavior, and no write until explicit confirmation. It does not explicitly name alternative tools or exclusion conditions, so it is clear context without full sibling routing.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

brc_create_nominal_journal_batchCreate Nominal Journal BatchA
Destructive
Inspect

Creates a nominal journal batch after returning an unconfirmed payload preview. Requires a valid routeToken issued for the matching action workflow. The token remains valid through lookup, preview and the permitted transaction. Placeholder tokens are invalid. A routeToken does not bypass preview or explicit-confirmation requirements. A call without confirmWrite: true returns confirmation_required and a payload preview. confirmWrite: true applies the previewed change after explicit confirmation. Passing preflight is not confirmation.

ParametersJSON Schema
NameRequiredDescriptionDefault
totalYesTotal journal amount.
procDateYesProcessing date, for example 2024-01-15T00:00:00.
entryDateYesEntry date, for example 2024-01-15T00:00:00.
routeTokenYesOpaque routeToken from brc_route_request for this action workflow. Required for transactional tools. Routing permission only — does not replace preview-before-posting or confirmWrite.
companyNameYesCompany context name, for example YOUR-COMPANY-NAME.
confirmWriteNoMust be true only after the user explicitly confirms creating this Nominal Journal Batch.
connectionRefNoOpaque Red connection reference returned by brc_confirm_company_connection. Pass this exact value on every later tool call when the MCP client rotates session ids (for example Vibe/Mistral). Keep reusing the same connectionRef after successful tool calls — do not start a new connection because a lookup returned empty or partial data. It is not an API key and does not contain credentials.
bookTranTypeIdNoBook transaction type id. Nominal Journal Batch is usually 7.
accountTransactionsYesNominal journal account transaction lines. Debits and credits should balance.

TDQS

A4.6/5.0
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations only say destructiveHint=true and readOnlyHint=false; the description adds the critical two-phase confirmation behavior, routeToken lifecycle, invalidity of placeholder tokens, and the fact that preflight is not confirmation. This is exactly the kind of behavioral context an agent needs before invoking a mutating tool.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Every sentence contributes a distinct constraint or behavior. The description is about seven sentences long for a complex transactional workflow and does not waste words on obvious boilerplate. The key purpose and confirmation model are front-loaded.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a mutating tool with no output schema, the description covers the non-obvious workflow fully: token requirements, preview semantics, confirmation, and what cla call without confirmWrite returns. Minor gaps: it does not explicitly mention the balance requirement or the effect of accountTransactions validation, but the schema already documents those. Overall sufficient for an agent to safely call the tool.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The schema already covers all 9 parameters (100%), so the baseline is 3. The description adds value by explaining parameter interplay: routeToken remains valid through the workflow, confirmWrite toggles preview vs apply, and placeholder tokens are invalid. This goes beyond individual field descriptions.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

Starts with a specific verb and resource ('Creates a nominal journal batch') and adds the distinguishing behavior: it returns an unconfirmed payload preview before committing. This is unique among the substantial sibling list and an agent can clearly separate it from list/update/delete nominal-journal tools.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Provides clear execution conditions: a valid routeToken from the matching action workflow, a preview step, and an explicit confirmWrite: true before persisting. It does not name alternative tools explicitly, but the usage workflow is specific enough that an agent knows where it fits among create/update/delete siblings.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

brc_create_paymentCreate PaymentA
Destructive
Inspect

Creates a bank payment in supplier or analysed-account mode. Requires a valid routeToken issued for the matching action workflow. The token remains valid through lookup, preview and the permitted transaction. Placeholder tokens are invalid. A routeToken does not bypass preview or explicit-confirmation requirements. A call without confirmWrite: true returns confirmation_required and a payload preview. confirmWrite: true applies the previewed change after explicit confirmation. Passing preflight is not confirmation. Requires confirmCounterpartyExplicit: true; confirmation is scoped to the counterparty selected for the current preview.

ParametersJSON Schema
NameRequiredDescriptionDefault
noteYes
totalYes
acCodeNoSupplier account code for supplier payments.
discountNo
procDateNoProcessing date in ISO format. Defaults to entryDate.
entryDateNoEntry date in ISO format. Defaults to today.
referenceNo
routeTokenYesOpaque routeToken from brc_route_request for this action workflow. Required for transactional tools. Routing permission only — does not replace preview-before-posting or confirmWrite.
supplierIdNoSupplier id for supplier payments.
accountCodeNoAnalysis account code matching analysisCategoryId, for example BP01.
companyNameYesCompany context name, for example YOUR-COMPANY-NAME.
descriptionNoAnalysis line description.
confirmWriteNoMust be true only after a plain-English preview before posting has been shown in the current conversation and the user explicitly confirmed posting (for example yes, create it / post it now / confirm). Never set true on the first call or because the user initially asked to create something. Nothing is written to Big Red Cloud until you confirm.
bankAccountIdYes
connectionRefNoOpaque Red connection reference returned by brc_confirm_company_connection. Pass this exact value on every later tool call when the MCP client rotates session ids (for example Vibe/Mistral). Keep reusing the same connectionRef after successful tool calls — do not start a new connection because a lookup returned empty or partial data. It is not an API key and does not contain credentials.
bookTranTypeIdNoCheques Entry / Payments book transaction type id.
bankAccountCodeYes
analysisCategoryIdNoPayments book analysis category id for the selected bank.
confirmCounterpartyExplicitNoMust be true only after the user explicitly named or confirmed the customer, supplier, or other counterparty in the current conversation. Never set true because a customer or supplier appeared in an earlier preview, was inferred from context, or was filled in without the user's explicit choice in this conversation.

TDQS

A4.5/5.0
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already mark destructiveHint=true and readOnlyHint=false, and the description goes well beyond that by explaining token validity, placeholder-token invalidity, the confirmation_required response, the role of confirmWrite, the meaning of preflight, and the scoping of counterparty confirmation. This is rich behavioral context that annotations alone would not provide.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is front-loaded with its core purpose and then builds into the confirmation workflow. It is longer than average, but nearly every sentence carries operative information about token handling or confirmation semantics. A small amount of redundancy exists between 'routeToken does not bypass' and 'passing preflight is not confirmation.'

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool's complexity and lack of an output schema, the description covers the most critical operational facts: required routeToken, confirmation_required return behavior, confirmWrite semantics, and counterparty confirmation. It does not fully describe return payloads after successful confirmation or map all mode-specific parameters, so it is not perfect, but it is strong enough for an agent to invoke the tool safely.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 68%, and the description adds meaningful semantics for the most safety-critical parameters: routeToken, confirmWrite, and confirmCounterpartyExplicit. It explains what happens when confirmWrite is absent, and that a routeToken does not bypass preview. Some parameters like acCode, accountCode, and supplierId are not mapped in the description, but their schema descriptions cover the basic intent.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description opens with a specific verb and resource: 'Creates a bank payment' and further clarifies two distinct modes: supplier or analysed-account. This cleanly separates the tool from sibling create-payment tools like brc_create_cash_payment and brc_create_purchase.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

It clearly states the prerequisite routeToken requirement and the confirmation flow. However, it does not explicitly name alternatives (e.g., 'use brc_create_cash_payment for cash payments'), so the when-not-to-use guidance is mostly implied by the word 'bank payment.'

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

brc_create_prepaymentCreate PrepaymentA
Destructive
Inspect

Creates a prepayment after returning an unconfirmed payload preview. Requires a valid routeToken issued for the matching action workflow. The token remains valid through lookup, preview and the permitted transaction. Placeholder tokens are invalid. A routeToken does not bypass preview or explicit-confirmation requirements. A call without confirmWrite: true returns confirmation_required and a payload preview. confirmWrite: true applies the previewed change after explicit confirmation. Passing preflight is not confirmation.

ParametersJSON Schema
NameRequiredDescriptionDefault
totalYesPrepayment total amount.
acCodeYesNominal account code, for example 4000.
procDateYesProcessing date, for example 2024-03-15T00:00:00.
entryDateYesEntry date, for example 2024-03-01T00:00:00.
referenceYesPrepayment reference, for example PRE0001.
routeTokenYesOpaque routeToken from brc_route_request for this action workflow. Required for transactional tools. Routing permission only — does not replace preview-before-posting or confirmWrite.
companyNameYesCompany context name, for example YOUR-COMPANY-NAME.
firstDetailNoFirst detail text.
confirmWriteNoMust be true only after the user explicitly confirms creating this prepayment.
secondDetailNoSecond detail text.
connectionRefNoOpaque Red connection reference returned by brc_confirm_company_connection. Pass this exact value on every later tool call when the MCP client rotates session ids (for example Vibe/Mistral). Keep reusing the same connectionRef after successful tool calls — do not start a new connection because a lookup returned empty or partial data. It is not an API key and does not contain credentials.

TDQS

A4.8/5.0
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

The description substantially discloses behavior beyond annotations: token lifecycle through lookup/preview/transaction, placeholder token invalidity, no bypassing of preview or confirmation, confirmation_required response without confirmWrite true, and preflight not being confirmation. This is rich, accurate behavioral context that annotations alone do not provide.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Every sentence of the description earns its place: it leads with the main purpose, then covers token validity, confirmation behavior, and the preflight pitfall. There is no filler or repetition, and the most important caveats are front-loaded.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a complex, destructive write operation with 11 parameters and no output schema, the description is unusually complete. It explains the required workflow, the exact behavior when confirmWrite is missing, and the special constraints on routeToken and preflight. An agent has enough to invoke the tool correctly without additional inference.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters5/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so the baseline is 3, but the description goes further by clarifying the two most subtle parameters. It explains that routeToken is routing permission only, remains valid through the workflow, and does not replace confirmWrite; and that confirmWrite true applies the previewed change only after explicit confirmation. This adds genuine semantic value beyond the schema.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states a specific action and resource: 'Creates a prepayment' after returning a payload preview. It distinguishes this create operation from related prepayment tools like get, update, and delete by naming the exact resource and workflow. The verb and scope are unambiguous.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides clear context for when to call this tool: a valid routeToken must be present, and an explicit confirmWrite true step is required. It also warns against placeholder tokens and preflight-as-confirmation, so an agent knows the prerequisites. It does not explicitly name sibling alternatives such as update_prepayment, but the create-vs-update distinction is implicit and clear.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

brc_create_productCreate ProductAInspect

Creates a BRC product using a raw BRC payload. Requires a valid routeToken issued for the matching action workflow. The token remains valid through lookup, preview and the permitted transaction. Placeholder tokens are invalid. A routeToken does not bypass preview or explicit-confirmation requirements. A call without confirmWrite: true returns confirmation_required and a payload preview. confirmWrite: true applies the previewed change after explicit confirmation. Passing preflight is not confirmation.

ParametersJSON Schema
NameRequiredDescriptionDefault
payloadYesRaw BRC-compatible payload for this endpoint.
routeTokenYesOpaque routeToken from brc_route_request for this action workflow. Required for transactional tools. Routing permission only — does not replace preview-before-posting or confirmWrite.
companyNameYesCompany context name, for example YOUR-COMPANY-NAME.
confirmWriteNoMust be true only after a plain-English preview before posting has been shown in the current conversation and the user explicitly confirmed posting (for example yes, create it / post it now / confirm). Never set true on the first call or because the user initially asked to create something. Nothing is written to Big Red Cloud until you confirm.
connectionRefNoOpaque Red connection reference returned by brc_confirm_company_connection. Pass this exact value on every later tool call when the MCP client rotates session ids (for example Vibe/Mistral). Keep reusing the same connectionRef after successful tool calls — do not start a new connection because a lookup returned empty or partial data. It is not an API key and does not contain credentials.

TDQS

A4.3/5.0
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations only indicate non-read-only and non-destructive. The description adds substantial behavior: routeToken lifecycle, no bypass of preview or confirmation, confirmation_required behavior without confirmWrite, and the distinction between preflight and confirmation. It discloses the mutation semantics clearly and contradicts nothing.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is front-loaded with the core purpose and then communicates distinct operational rules with no filler. Every sentence adds information about token validity, preview, confirmation, or preflight, so the length is justified.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a complex transactional tool with no output schema, the description covers the crucial confirmation workflow, token prerequisite, and non-bypass guarantees. It does not describe the success response shape or how connectionRef interacts with the call, but those are partially covered by the schema and are less critical than the confirmation semantics.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100%, so parameters are already documented. The description goes beyond by explaining routeToken validity and matching-workflow requirements, placeholder-token invalidity, and the precise confirmation semantics of confirmWrite. It does not elaborate the iaw payload inner structure, but the schema covers the parameter itself.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description opens with a specific verb and resource: 'Creates a BRC product using a raw BRC payload.' It clearly states what the tool does, but it does not explicitly distinguish it from sibling tools like brc_batch_products or brc_update_product, so it misses the full sibling-differentiation bar.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description gives explicit workflow guidance: a valid routeToken from brc_route_request is required, tokens remain valid through lookup/preview/transaction, placeholder tokens are invalid, and confirmWrite must follow explicit user confirmation. It does not explicitly name alternatives or exclusions, such as using a batch tool for multiple products, so it stops short of a 5.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

brc_create_purchaseCreate PurchaseA
Destructive
Inspect

Creates a purchase with a caller-supplied reference when manual purchase references are configured. Requires a valid routeToken issued for the matching action workflow. The token remains valid through lookup, preview and the permitted transaction. Placeholder tokens are invalid. A routeToken does not bypass preview or explicit-confirmation requirements. A call without confirmWrite: true returns confirmation_required and a payload preview. confirmWrite: true applies the previewed change after explicit confirmation. Passing preflight is not confirmation. Requires confirmCounterpartyExplicit: true; confirmation is scoped to the counterparty selected for the current preview.

ParametersJSON Schema
NameRequiredDescriptionDefault
noteYesPurchase note.
acCodeYesSupplier account code, for example SUP001.
procDateYesProcessing date in ISO format.
entryDateYesEntry date in ISO format.
netAmountYesNet amount before VAT.
referenceNoRequired when the company is configured for manual purchase references.
vatRateIdYesVAT rate id.
routeTokenYesOpaque routeToken from brc_route_request for this action workflow. Required for transactional tools. Routing permission only — does not replace preview-before-posting or confirmWrite.
supplierIdYesSupplier id, for example 26180406.
accountCodeYesNominal/account code.
companyNameYesCompany context name, for example YOUR-COMPANY-NAME.
descriptionYesAnalysis line description.
confirmWriteNoMust be true only after a plain-English preview before posting has been shown in the current conversation and the user explicitly confirmed posting (for example yes, create it / post it now / confirm). Never set true on the first call or because the user initially asked to create something. Nothing is written to Big Red Cloud until you confirm.
connectionRefNoOpaque Red connection reference returned by brc_confirm_company_connection. Pass this exact value on every later tool call when the MCP client rotates session ids (for example Vibe/Mistral). Keep reusing the same connectionRef after successful tool calls — do not start a new connection because a lookup returned empty or partial data. It is not an API key and does not contain credentials.
vatPercentageYesVAT percentage.
bookTranTypeIdYesPurchase book transaction type id.
analysisCategoryIdYesPurchases analysis category id.
confirmCounterpartyExplicitNoMust be true only after the user explicitly named or confirmed the customer, supplier, or other counterparty in the current conversation. Never set true because a customer or supplier appeared in an earlier preview, was inferred from context, or was filled in without the user's explicit choice in this conversation.

TDQS

A4.7/5.0
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations only say destructiveHint=true and readOnly=false; the description adds crucial behavioral detail: without confirmWrite:true the call returns confirmation_required and a preview, preflight is not confirmation, placeholder tokens are invalid, and 'Nothing is written to Big Red Cloud until you confirm.' This is substantial transparency beyond the structured annotations.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Every sentence serves a purpose: purpose, token requirement, confirmation semantics, and counterparty scoping. It is longer than average, but the tool is high-risk and complex; there is no redundancy or filler.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a complex 18-parameter destructive tool with no output schema, the description covers the full decision flow: what happens without confirmWrite, what confirmWrite does, what preflight does not do, token validity, and counterparty confirmation requirements. Combined with the fully-described schema, an agent has enough context to invoke the tool correctly.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100%, so the baseline is 3. The description adds meaningful semantics for the most safety-critical parameters: confirmWrite must follow a plain-English preview plus explicit confirmation, confirmCounterpartyExplicit must be tied to the currently selected counterparty, and routeToken grants routing permission only. This is valuable nuance beyond the schema fields.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description opens with a specific verb and resource: 'Creates a purchase' and immediately distinguishes the caller-supplied reference mode from the likely auto-reference sibling brc_create_purchase_gen_ref by tying it to 'manual purchase references are configured.' An agent can identify what this tool does and why it differs from nearby create-purchase tools.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description gives clear conditions: caller-supplied reference only when manual references are configured, a valid routeToken is required, and confirmWrite/confirmCounterpartyExplicit must follow explicit user confirmation. It does not explicitly name brc_create_purchase_gen_ref as the alternative for automatic references, but the manual-configuration condition makes the appropriate usage sufficiently clear.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

brc_create_purchase_gen_refCreate Purchase with Generated ReferenceA
Destructive
Inspect

Creates a purchase using the company's generated-reference configuration. Requires a valid routeToken issued for the matching action workflow. The token remains valid through lookup, preview and the permitted transaction. Placeholder tokens are invalid. A routeToken does not bypass preview or explicit-confirmation requirements. A call without confirmWrite: true returns confirmation_required and a payload preview. confirmWrite: true applies the previewed change after explicit confirmation. Passing preflight is not confirmation. Requires confirmCounterpartyExplicit: true; confirmation is scoped to the counterparty selected for the current preview.

ParametersJSON Schema
NameRequiredDescriptionDefault
noteYes
acCodeYes
procDateYes
entryDateYes
netAmountYes
vatRateIdYes
routeTokenYesOpaque routeToken from brc_route_request for this action workflow. Required for transactional tools. Routing permission only — does not replace preview-before-posting or confirmWrite.
supplierIdYes
accountCodeYes
companyNameYesCompany context name, for example YOUR-COMPANY-NAME.
descriptionYes
confirmWriteNoMust be true only after a plain-English preview before posting has been shown in the current conversation and the user explicitly confirmed posting (for example yes, create it / post it now / confirm). Never set true on the first call or because the user initially asked to create something. Nothing is written to Big Red Cloud until you confirm.
connectionRefNoOpaque Red connection reference returned by brc_confirm_company_connection. Pass this exact value on every later tool call when the MCP client rotates session ids (for example Vibe/Mistral). Keep reusing the same connectionRef after successful tool calls — do not start a new connection because a lookup returned empty or partial data. It is not an API key and does not contain credentials.
vatPercentageYes
bookTranTypeIdYes
analysisCategoryIdYes
confirmCounterpartyExplicitNoMust be true only after the user explicitly named or confirmed the customer, supplier, or other counterparty in the current conversation. Never set true because a customer or supplier appeared in an earlier preview, was inferred from context, or was filled in without the user's explicit choice in this conversation.

TDQS

A4.1/5.0
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Beyond annotations, it discloses the mutation guardrail: no write until confirmWrite:true after explicit confirmation, first call returns confirmation_required with a preview, and confirmation is scoped to the selected counterparty. This is exactly the behavioral context needed for a destructive write tool.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is seven dense, load-bearing sentences: purpose first, then token requirements, then confirmation behavior. No filler, no repetition of schema properties, and every sentence adds safety-relevant guidance.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

The description covers the highest-risk aspects completely: token validity, preview, explicit confirmation, counterparty scoping, and preflight caveat. It does not describe the return shape after confirmWrite or the remaining field semantics, but the transaction flow is the main hazard and is well specified.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

It adds meaningful semantics for routeToken, confirmWrite, and confirmCounterpartyExplicit, but those are also documented in the schema. With only 29% schema coverage, many required fields such as acCode, procDate, bookTranTypeId, and analysisCategoryId are left to name-based inference, so the description only partially compensates.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description states a clear action ('Creates a purchase') and the specific mode ('using the company's generated-reference configuration'), which distinguishes it from brc_create_purchase without naming it. It does not explicitly call out the sibling alternative, so it stops short of full differentiation.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

It provides strong operational context: a valid routeToken for the matching workflow, token validity scope, and the confirmWrite two-step process. It also explicitly excludes shortcuts ('does not bypass preview or explicit-confirmation', 'Passing preflight is not confirmation'), but it does not state when to pick this tool over the plain purchase or other create variants.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

brc_create_quoteCreate QuoteAInspect

Creates a quote with a caller-supplied reference and reconciled product, VAT and Sales-analysis lines. Requires a valid routeToken issued for the matching action workflow. The token remains valid through lookup, preview and the permitted transaction. Placeholder tokens are invalid. A routeToken does not bypass preview or explicit-confirmation requirements. A call without confirmWrite: true returns confirmation_required and a payload preview. confirmWrite: true applies the previewed change after explicit confirmation. Passing preflight is not confirmation. Requires confirmCounterpartyExplicit: true; confirmation is scoped to the counterparty selected for the current preview.

ParametersJSON Schema
NameRequiredDescriptionDefault
acCodeYes
commentsYes
ddNumberNo
poNumberNo
procDateYes
quantityYes
tranNoteYes
companyIdYesRequired BRC company id for the quote payload. Use the connected company's id from existing records such as customers, products, or sales reps. Do not omit this field.
entryDateYes
productIdYes
referenceNoOptional manual quote reference, max 6 characters. Required when quote references are manual, or when the quote reference setting is unknown. Quote reference must be 6 characters or fewer because Big Red Cloud truncates longer references.
saleRepIdYesSales rep id from brc_list_sales_reps.
unitPriceYes
vatRateIdYes
vatTypeIdNo
layoutTypeNo
routeTokenYesOpaque routeToken from brc_route_request for this action workflow. Required for transactional tools. Routing permission only — does not replace preview-before-posting or confirmWrite.
accountCodeYesSales Analysis account code for the quote product line, for example SA01.
companyNameYesCompany context name, for example YOUR-COMPANY-NAME.
productCodeYes
saleRepCodeYesSales rep code from brc_list_sales_reps.
confirmWriteNoMust be true only after a plain-English preview before posting has been shown in the current conversation and the user explicitly confirmed posting (for example yes, create it / post it now / confirm). Never set true on the first call or because the user initially asked to create something. Nothing is written to Big Red Cloud until you confirm.
connectionRefNoOpaque Red connection reference returned by brc_confirm_company_connection. Pass this exact value on every later tool call when the MCP client rotates session ids (for example Vibe/Mistral). Keep reusing the same connectionRef after successful tool calls — do not start a new connection because a lookup returned empty or partial data. It is not an API key and does not contain credentials.
vatPercentageYes
customerOwnerIdYes
customerOwnerNameYes
analysisCategoryIdYes
confirmCrAnalysisCategoryNoSet true only after the user confirms a CR sales analysis account code is intentional for this product line.
confirmCounterpartyExplicitNoMust be true only after the user explicitly named or confirmed the customer, supplier, or other counterparty in the current conversation. Never set true because a customer or supplier appeared in an earlier preview, was inferred from context, or was filled in without the user's explicit choice in this conversation.
confirmQuotesAutoGenerateInBrcNoSet true only after the user confirms quotes are auto-generated in Big Red Cloud. Required for brc_create_quote_gen_ref when Quotes reference setting is Unknown.

TDQS

A4.1/5.0
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

The description goes well beyond the annotations by disclosing that a call without confirmWrite:true returns confirmation_required with a payload preview, that preflight is not confirmation, and that a routeToken does not bypass preview or explicit-confirmation requirements. It also clarifies the scope of confirmCounterpartyExplicit, which is highly non-obvious behavior.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is front-loaded with the purpose and then logically progresses through token requirements, preview behavior, and confirmation constraints. It is dense but focused; slight redundancy with schema-level descriptions is acceptable given the transactional complexity.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a 30-parameter transactional tool with no output schema and sparse schema coverage, the description covers the highest-risk operational aspects: routeToken validity, preview-before-posting, explicit confirmation, and counterparty confirmation scoping. It does leave gaps in how the many required fields interrelate and what a successful response looks like, but the core call sequence is well specified.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is only 40%, so the description must compensate, but it only partially does. It groups product, VAT, and Sales-analysis fields into reconciled lines and explains routeToken/confirmWrite semantics, yet most required parameters such as customerOwnerId, acCode, entryDate, procDate, saleRepId, and similar fields receive no meaningful descriptive help beyond their raw names.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The opening sentence names the exact operation ('Creates a quote') and specifies a 'caller-supplied reference' and 'reconciled product, VAT and Sales-analysis lines.' This clearly distinguishes the tool from its auto-reference sibling brc_create_quote_gen_ref and from other create_* tools.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides clear invocation context: a valid routeToken for the matching action workflow is required, and the two-phase preview/confirmWrite flow is explained. It does not explicitly name alternatives or exclusions, but the caller-supplied reference trait implies when this tool, rather than the generated-reference variant, is appropriate.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

brc_create_quote_gen_refCreate Quote with Generated ReferenceAInspect

Creates a quote using generated references and reconciled product, VAT and Sales-analysis lines. Requires a valid routeToken issued for the matching action workflow. The token remains valid through lookup, preview and the permitted transaction. Placeholder tokens are invalid. A routeToken does not bypass preview or explicit-confirmation requirements. A call without confirmWrite: true returns confirmation_required and a payload preview. confirmWrite: true applies the previewed change after explicit confirmation. Passing preflight is not confirmation. Requires confirmCounterpartyExplicit: true; confirmation is scoped to the counterparty selected for the current preview.

ParametersJSON Schema
NameRequiredDescriptionDefault
acCodeYes
commentsYes
ddNumberNo
poNumberNo
procDateYes
quantityYes
tranNoteYes
companyIdYesRequired BRC company id for the quote payload. Use the connected company's id from existing records such as customers, products, or sales reps. Do not omit this field.
entryDateYes
productIdYes
referenceNoOptional manual quote reference, max 6 characters. Required when quote references are manual, or when the quote reference setting is unknown. Quote reference must be 6 characters or fewer because Big Red Cloud truncates longer references.
saleRepIdYesSales rep id from brc_list_sales_reps.
unitPriceYes
vatRateIdYes
vatTypeIdNo
layoutTypeNo
routeTokenYesOpaque routeToken from brc_route_request for this action workflow. Required for transactional tools. Routing permission only — does not replace preview-before-posting or confirmWrite.
accountCodeYesSales Analysis account code for the quote product line, for example SA01.
companyNameYesCompany context name, for example YOUR-COMPANY-NAME.
productCodeYes
saleRepCodeYesSales rep code from brc_list_sales_reps.
confirmWriteNoMust be true only after a plain-English preview before posting has been shown in the current conversation and the user explicitly confirmed posting (for example yes, create it / post it now / confirm). Never set true on the first call or because the user initially asked to create something. Nothing is written to Big Red Cloud until you confirm.
connectionRefNoOpaque Red connection reference returned by brc_confirm_company_connection. Pass this exact value on every later tool call when the MCP client rotates session ids (for example Vibe/Mistral). Keep reusing the same connectionRef after successful tool calls — do not start a new connection because a lookup returned empty or partial data. It is not an API key and does not contain credentials.
vatPercentageYes
customerOwnerIdYes
customerOwnerNameYes
analysisCategoryIdYes
confirmCrAnalysisCategoryNoSet true only after the user confirms a CR sales analysis account code is intentional for this product line.
confirmCounterpartyExplicitNoMust be true only after the user explicitly named or confirmed the customer, supplier, or other counterparty in the current conversation. Never set true because a customer or supplier appeared in an earlier preview, was inferred from context, or was filled in without the user's explicit choice in this conversation.
confirmQuotesAutoGenerateInBrcNoSet true only after the user confirms quotes are auto-generated in Big Red Cloud. Required for brc_create_quote_gen_ref when Quotes reference setting is Unknown.

TDQS

A4.2/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations only say readOnlyHint=false, openWorldHint=false, destructiveHint=false. The description adds critical behavioral context: token validity scope, placeholder token invalidity, the two-phase confirmWrite semantics, and that the token does not bypass preview/confirmation. It doesn't fully disclose error cases or idempotency, but given the annotations are minimal, the description carries the burden well. Minor deduction for not explaining what happens to reconciled lines if a parameter is invalid.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a dense single paragraph covering purpose, token requirements, confirmation semantics, and counterparty confirmation. It front-loads the primary purpose and then details the workflow guards. Slightly verbose in places (repeated emphasis on explicit confirmation), but every sentence adds operational value.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a high-complexity transactional tool with 30 params and no output schema, the description covers the essential workflow, token, and confirmation semantics. It doesn't describe the output/return payload (confirmation_required is mentioned but full response shape is not), and it doesn't enumerate prerequisites like company connection. However, given the schema covers many params and the description addresses the riskiest aspects, it is reasonably complete.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is only 40%, so the description must compensate. The description explains the routeToken semantics (routing permission only), the confirmWrite semantics, confirmCounterpartyExplicit, and confirmQuotesAutoGenerateInBrc's purpose. It does not walk through all 30 params, but the critical workflow-guarding params are well explained. The description adds real meaning beyond the schema for the confirmation-related parameters.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description states it creates a quote with generated references and reconciled product/VAT/Sales-analysis lines, distinguishing it from brc_create_quote (manual reference) and siblings with _gen_ref suffix. It clearly identifies the resource (quote) and the action (create). It could be sharper about why this tool vs brc_create_purchase_gen_ref or brc_create_sales_invoice_gen_ref, but the verb+resource is clear.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description explicitly states the workflow prerequisites: requires a valid routeToken from brc_route_request, requires confirmWrite: true only after explicit confirmation, requires confirmCounterpartyExplicit: true, and explains that passing preflight is not confirmation. It also explains the confirmation_required response path. This gives an agent clear when-to-use and when-to-confirm guidance.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

brc_create_sales_credit_noteCreate Sales Credit NoteB
Destructive
Inspect

Creates a sales credit note with a caller-supplied reference and reconciled negative document amounts. Requires a valid routeToken issued for the matching action workflow. The token remains valid through lookup, preview and the permitted transaction. Placeholder tokens are invalid. A routeToken does not bypass preview or explicit-confirmation requirements. A call without confirmWrite: true returns confirmation_required and a payload preview. confirmWrite: true applies the previewed change after explicit confirmation. Passing preflight is not confirmation. Requires confirmCounterpartyExplicit: true; confirmation is scoped to the counterparty selected for the current preview.

ParametersJSON Schema
NameRequiredDescriptionDefault
noteYes
acCodeYes
procDateYes
quantityYes
entryDateYes
netAmountYes
productIdYes
referenceNo
saleRepIdYesSales rep id from brc_list_sales_reps.
unitPriceYes
vatRateIdYes
customerIdYes
routeTokenYesOpaque routeToken from brc_route_request for this action workflow. Required for transactional tools. Routing permission only — does not replace preview-before-posting or confirmWrite.
accountCodeYes
companyNameYesCompany context name, for example YOUR-COMPANY-NAME.
descriptionYes
productCodeYes
saleRepCodeYesSales rep code from brc_list_sales_reps.
confirmWriteNoMust be true only after a plain-English preview before posting has been shown in the current conversation and the user explicitly confirmed posting (for example yes, create it / post it now / confirm). Never set true on the first call or because the user initially asked to create something. Nothing is written to Big Red Cloud until you confirm.
connectionRefNoOpaque Red connection reference returned by brc_confirm_company_connection. Pass this exact value on every later tool call when the MCP client rotates session ids (for example Vibe/Mistral). Keep reusing the same connectionRef after successful tool calls — do not start a new connection because a lookup returned empty or partial data. It is not an API key and does not contain credentials.
vatPercentageYes
bookTranTypeIdYes
analysisCategoryIdYes
confirmCrAnalysisCategoryNoSet true only after the user confirms a CR sales analysis account code is intentional for this product line.
confirmCounterpartyExplicitNoMust be true only after the user explicitly named or confirmed the customer, supplier, or other counterparty in the current conversation. Never set true because a customer or supplier appeared in an earlier preview, was inferred from context, or was filled in without the user's explicit choice in this conversation.

TDQS

B3.4/5.0
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

The description extensively discloses behavioral requirements beyond the annotations: the routeToken flow, its validity, that it does not bypass preview/confirmation, the confirmWrite semantics, and the confirmCounterpartyExplicit requirement. It also clarifies that passing preflight is not confirmation and that nothing is written until confirmWrite. This is rich, non-obvious context that greatly helps the agent.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is detailed but well-structured, front-loading the core purpose and then logically progressing through token, preview, and confirmation requirements. Each sentence adds meaningful information; it is not padded. It could be slightly more compact, but given the complexity of the workflow, the length is justified.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given 25 parameters, 20 required, and no output schema, the description covers the critical confirmation workflow and routeToken handling well. However, it does not describe the success response format, error scenarios beyond confirmation_required, or date/format constraints. An agent may still be uncertain about what a successful confirmWrite returns or how to handle validation errors, leaving incomplete guidance for a complex mutation.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is only 32%, and the description does not compensate by explaining most parameters. It mentions 'caller-supplied reference' and 'negative document amounts' at a high level, but does not describe key fields like companyName, customerId, acCode, dates, product, etc. The description adds little semantic value beyond what the schema already provides for the few covered parameters.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the action (creates a sales credit note) and adds specific characteristics (caller-supplied reference, reconciled negative document amounts). It does not explicitly mention sibling alternatives like brc_create_sales_credit_note_gen_ref or brc_update_sales_credit_note, so it lacks explicit differentiation, but the verb and resource are unambiguous.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

There is no explicit guidance on when to use this tool versus alternatives such as batch creation or gen_ref tools. It discusses prerequisites (routeToken, confirmation) but not the situational context for choosing this tool over others. An agent would have to infer that this is the single-document create path.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

brc_create_sales_credit_note_gen_refCreate Sales Credit Note with Generated ReferenceA
Destructive
Inspect

Creates a sales credit note using generated references and reconciled negative document amounts. Requires a valid routeToken issued for the matching action workflow. The token remains valid through lookup, preview and the permitted transaction. Placeholder tokens are invalid. A routeToken does not bypass preview or explicit-confirmation requirements. A call without confirmWrite: true returns confirmation_required and a payload preview. confirmWrite: true applies the previewed change after explicit confirmation. Passing preflight is not confirmation. Requires confirmCounterpartyExplicit: true; confirmation is scoped to the counterparty selected for the current preview.

ParametersJSON Schema
NameRequiredDescriptionDefault
payloadYes
routeTokenYesOpaque routeToken from brc_route_request for this action workflow. Required for transactional tools. Routing permission only — does not replace preview-before-posting or confirmWrite.
companyNameYesCompany context name, for example YOUR-COMPANY-NAME.
confirmWriteNoMust be true only after a plain-English preview before posting has been shown in the current conversation and the user explicitly confirmed posting (for example yes, create it / post it now / confirm). Never set true on the first call or because the user initially asked to create something. Nothing is written to Big Red Cloud until you confirm.
connectionRefNoOpaque Red connection reference returned by brc_confirm_company_connection. Pass this exact value on every later tool call when the MCP client rotates session ids (for example Vibe/Mistral). Keep reusing the same connectionRef after successful tool calls — do not start a new connection because a lookup returned empty or partial data. It is not an API key and does not contain credentials.
confirmCrAnalysisCategoryNoSet true only after the user confirms a CR sales analysis account code is intentional for this product line.
confirmCounterpartyExplicitNoMust be true only after the user explicitly named or confirmed the customer, supplier, or other counterparty in the current conversation. Never set true because a customer or supplier appeared in an earlier preview, was inferred from context, or was filled in without the user's explicit choice in this conversation.

TDQS

A4.5/5.0
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations only say destructive/non-read-only; the description adds the routeToken lifecycle, placeholder invalidity, confirmation_required return behavior, preview application semantics, and the rule that preflight is not confirmation. This significantly exceeds annotation coverage and contains no contradiction.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Seven sentences, all substantive and front-loaded with purpose then token and confirmation behavior. It is dense but appropriately so for a destructive transactional tool; a little tightening of repeated confirmation concepts would push it higher.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a complex transactional tool with nested payload and no output schema, it covers token lifecycle, write barier, confirmation flow, and counterparty scoping unusually well. It does not explain payload construction or the success return shape, but the routeToken workflow implies the payload comes from earlier stages, so the gap is tolerable.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is high (86%) and the schema already documents routeToken, confirmWrite, connectionRef, and confirmCounterpartyExplicit in detail. The description adds workflow-level meaning by tying these parameters to stages (lookup, preview, transaction) and clarifying confirmation_required outputs, which is valuable but not a full replacement for per-parameter detail.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

Names a specific verb ('creates') and resource ('sales credit note'), and adds the distinguishing traits 'generated references' and 'reconciled negative document amounts.' This makes it identifiable against sibling tools like brc_create_sales_credit_note even though that sibling isn't explicitly referenced.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Provides an explicit operational workflow: valid routeToken required, preview and explicit confirmation not bypassable, confirmWrite true semantics, preflight-vs-confirmation distinction, and confirmCounterpartyExplicit. It does not name the alternative non-gen_ref credit note tool or state when to choose it, so it stops short of full exclusions.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

brc_create_sales_entryCreate Sales EntryA
Destructive
Inspect

Creates a BRC sales entry using structured MCP fields. Requires a valid routeToken issued for the matching action workflow. The token remains valid through lookup, preview and the permitted transaction. Placeholder tokens are invalid. A routeToken does not bypass preview or explicit-confirmation requirements. A call without confirmWrite: true returns confirmation_required and a payload preview. confirmWrite: true applies the previewed change after explicit confirmation. Passing preflight is not confirmation. Requires confirmCounterpartyExplicit: true; confirmation is scoped to the counterparty selected for the current preview.

ParametersJSON Schema
NameRequiredDescriptionDefault
noteYes
acCodeYes
procDateYes
entryDateYes
netAmountYes
vatRateIdYes
customerIdYes
routeTokenYesOpaque routeToken from brc_route_request for this action workflow. Required for transactional tools. Routing permission only — does not replace preview-before-posting or confirmWrite.
accountCodeYes
companyNameYesCompany context name, for example YOUR-COMPANY-NAME.
descriptionYes
confirmWriteNoMust be true only after a plain-English preview before posting has been shown in the current conversation and the user explicitly confirmed posting (for example yes, create it / post it now / confirm). Never set true on the first call or because the user initially asked to create something. Nothing is written to Big Red Cloud until you confirm.
connectionRefNoOpaque Red connection reference returned by brc_confirm_company_connection. Pass this exact value on every later tool call when the MCP client rotates session ids (for example Vibe/Mistral). Keep reusing the same connectionRef after successful tool calls — do not start a new connection because a lookup returned empty or partial data. It is not an API key and does not contain credentials.
vatPercentageYes
bookTranTypeIdYes
analysisCategoryIdYes
confirmCounterpartyExplicitNoMust be true only after the user explicitly named or confirmed the customer, supplier, or other counterparty in the current conversation. Never set true because a customer or supplier appeared in an earlier preview, was inferred from context, or was filled in without the user's explicit choice in this conversation.

TDQS

A3.9/5.0
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

The description richly discloses behavior beyond the annotations: routeToken validity and placeholder-token rejection, the confirmation_required preview path, the exact meaning of confirmWrite: true, the fact that preflight is not confirmation, and scoping of counterparty confirmation. This is exactly the kind of non-obvious confirmation behavior an agent needs.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is dense and front-loaded with the purpose, followed by critical routing and confirmation constraints. Every sentence contributes a real behavioral rule, so there is no filler. It could be more scannable as bullets, but it is appropriately sized for a tool with this confirmation complexity.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a 17-parameter tool with no output schema, the description covers the trap-prone part of the workflow well: routeToken requirements, preview/confirmation, and counterparty-confirmation scoping. It does not describe the successful post-confirm response or field-level formats for dates/codes, which leaves some gaps for an agent, but the core invocation flow is complete.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The description adds meaningful semantics for routeToken, confirmWrite, and confirmCounterpartyExplicit, including validity windows and explicit-confirmation rules. But schema description coverage is only 29% and the remaining 14 required params (entryDate, procDate, acCode, accountCode, netAmount, vatRateId, etc.) get no explanation beyond their names and types, so the description only partially compensates for the low schema coverage.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description opens with a specific verb and resource: 'Creates a BRC sales entry'. This clearly separates the tool from get/update/delete sales-entry tools, and the sales-entry resource is distinct from sales-invoice or credit-note. It does not explicitly contrast with brc_batch_sales_entries or brc_create_sales_invoice, so sibling differentiation is incomplete.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides clear workflow context: you need a valid routeToken from the matching action workflow, must preview first, and must set confirmCounterpartyExplicit/confirmWrite only after explicit user confirmation. However, it never states when to choose this tool instead of brc_batch_sales_entries or brc_reate_sales_invoice, so it relies on the agent to infer the boundary.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

brc_create_sales_invoiceCreate Sales InvoiceA
Destructive
Inspect

Creates a sales invoice with a caller-supplied reference and reconciled product, VAT and Sales-analysis lines. Missing customer contact values remain absent. Requires a valid routeToken issued for the matching action workflow. The token remains valid through lookup, preview and the permitted transaction. Placeholder tokens are invalid. A routeToken does not bypass preview or explicit-confirmation requirements. A call without confirmWrite: true returns confirmation_required and a payload preview. confirmWrite: true applies the previewed change after explicit confirmation. Passing preflight is not confirmation. Requires confirmCounterpartyExplicit: true; confirmation is scoped to the counterparty selected for the current preview.

ParametersJSON Schema
NameRequiredDescriptionDefault
noteNoOptional. BRC "Note" field on the sales document (JSON field `note`). Leave blank to default it to the customer name (BRC customer "Name" / JSON `name`). Do not use the product name as the note. Only set this when the user explicitly provides a note.
acCodeYes
procDateYes
quantityYes
entryDateYes
netAmountYes
productIdYesproductCode is the BRC product "Code" (JSON `productCode`); productId is the BRC product "Id" (JSON `productId`) from brc_list_products. The product name is not a payload field — do not place it in the BRC "Note" field (JSON `note`).
referenceNoOptional. BRC "Reference" field (JSON field `reference`). BRC "Our Ref" (JSON `ourReference`) and BRC "Your Ref" (JSON `yourReference`) default to this value when not supplied separately.
saleRepIdYesSales rep id from brc_list_sales_reps.
unitPriceYes
vatRateIdYes
customerIdYes
deliveryToNoOptional. BRC "Delivery To" address (JSON field `deliveryTo`). Leave blank unless the user explicitly provides a delivery address. Do not invent or default a delivery address (for example "MCP Test").
priceBasisNoRequired when Gross Price Entry is enabled. Use `gross` when unit prices are VAT-inclusive/gross. Use `net` when unit prices are VAT-exclusive/net.
routeTokenYesOpaque routeToken from brc_route_request for this action workflow. Required for transactional tools. Routing permission only — does not replace preview-before-posting or confirmWrite.
accountCodeYes
companyNameYesCompany context name, for example YOUR-COMPANY-NAME.
descriptionYesProduct line description shown on the document line (BRC product line description / JSON `tranNotes`, also used on the line's analysis entry description). This is the line narrative, not the BRC "Note" field.
productCodeYesproductCode is the BRC product "Code" (JSON `productCode`); productId is the BRC product "Id" (JSON `productId`) from brc_list_products. The product name is not a payload field — do not place it in the BRC "Note" field (JSON `note`).
saleRepCodeYesSales rep code from brc_list_sales_reps.
confirmWriteNoMust be true only after a plain-English preview before posting has been shown in the current conversation and the user explicitly confirmed posting (for example yes, create it / post it now / confirm). Never set true on the first call or because the user initially asked to create something. Nothing is written to Big Red Cloud until you confirm.
customerNameNoOptional. The selected customer's name (BRC customer "Name" / JSON `name`). Used as the default sales document note (BRC "Note" / JSON `note`) when no explicit note is given.
connectionRefNoOpaque Red connection reference returned by brc_confirm_company_connection. Pass this exact value on every later tool call when the MCP client rotates session ids (for example Vibe/Mistral). Keep reusing the same connectionRef after successful tool calls — do not start a new connection because a lookup returned empty or partial data. It is not an API key and does not contain credentials.
vatPercentageYes
bookTranTypeIdYes
analysisCategoryIdYes
confirmCrAnalysisCategoryNoSet true only after the user confirms a CR sales analysis account code is intentional for this product line.
confirmCounterpartyExplicitNoMust be true only after the user explicitly named or confirmed the customer, supplier, or other counterparty in the current conversation. Never set true because a customer or supplier appeared in an earlier preview, was inferred from context, or was filled in without the user's explicit choice in this conversation.

TDQS

A4.3/5.0
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare destructiveHint=true and readOnlyHint=false; the description goes far beyond them by disclosing token validity windows, placeholder token invalidity, the fact that a routeToken does not bypass preview or confirmation, that a call without confirmWrite returns confirmation_required plus a payload preview, that passing preflight is not confirmation, and that counterparty confirmation is scoped to the current preview. No contradiction with the annotations exists.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is dense (~130 words) and front-loaded with the core action before moving into the confirmation protocol. Every sentence carries operational weight; the mild redundancy between 'A routeToken does not bypass preview or explicit-confirmation requirements' and 'Passing preflight is not confirmation' is acceptable given the financial impact of misconfirmation.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a 28-parameter, no-output-schema tool, the description covers the critical return behavior of the pre-confirmation call (confirmation_required plus payload preview) and the full token/preview/confirm lifecycle. It does not describe the final success response shape or the concrete preview payload contents, and several required accounting params remain unexplained; however, the workflow hazards most likely to cause agent errors (invalid tokens, premature confirmation, unconirmed counterparties) are thoroughly addressed.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 57%, so the description must partially compensate. It adds meaning for reference ('caller-supplied reference'), customer contact behavior ('Missing customer contact values remain absent'), and the token/confirmation flags, but it says nothing about the undocumented accounting fields (acCode, entryDate, procDate, bookTranTypeId, analysisCategoryId, accountCode, customerId, vatPercentage), which remain semantically empty in both the schema and the description.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description opens with a specific verb and resource: 'Creates a sales invoice with a caller-supplied reference and reconciled product, VAT and Sales-analysis lines.' This precisely distinguishes it from sibling create tools like brc_create_sales_entry and brc_create_sales_credit_note, and from brc_create_sales_invoice_gen_ref which only generates a reference rather than creating the invoice.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description establishes a clear workflow context: a routeToken from brc_route_request that remains valid through lookup, preview and the permitted transaction, plus an explicit two-phase confirmation protocol (confirmWrite: true only after preview and explicit confirmation; confirmCounterpartyExplicit required). However, it never names sibling alternatives such as brc_batch_sales_invoices or brc_generate_sales_invoice_from_quote, so tool-selection among create-variants is left to inference rather than explicit routing.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

brc_create_sales_invoice_gen_refCreate Sales Invoice with Generated ReferenceA
Destructive
Inspect

Creates a sales invoice using generated references and reconciled product, VAT and Sales-analysis lines. Missing customer contact values remain absent. Requires a valid routeToken issued for the matching action workflow. The token remains valid through lookup, preview and the permitted transaction. Placeholder tokens are invalid. A routeToken does not bypass preview or explicit-confirmation requirements. A call without confirmWrite: true returns confirmation_required and a payload preview. confirmWrite: true applies the previewed change after explicit confirmation. Passing preflight is not confirmation. Requires confirmCounterpartyExplicit: true; confirmation is scoped to the counterparty selected for the current preview.

ParametersJSON Schema
NameRequiredDescriptionDefault
payloadYesRaw BRC payloads for multi-line sales invoices must use `productTrans[]` (one object per product line). Each product line must include its own nested `acEntries[]` for Sales analysis posting — do not send a top-level `acEntries` array on the invoice. Required header fields include customerId, acCode, entryDate, procDate, saleRepId, saleRepCode, bookTranTypeId, totalNet, totalVAT, total, and unpaid. Red validates line amounts, nested analysis values, qty × unit price (using useTaxInclusiveUnitPrice), and header totals before posting, and returns all validation issues together when the payload does not reconcile. Preview-before-posting still shows what Red will post and waits for confirmation before anything is written to Big Red Cloud.
priceBasisNoRequired when Gross Price Entry is enabled. Use `gross` when unit prices are VAT-inclusive/gross. Use `net` when unit prices are VAT-exclusive/net.
routeTokenYesOpaque routeToken from brc_route_request for this action workflow. Required for transactional tools. Routing permission only — does not replace preview-before-posting or confirmWrite.
companyNameYesCompany context name, for example YOUR-COMPANY-NAME.
confirmWriteNoMust be true only after a plain-English preview before posting has been shown in the current conversation and the user explicitly confirmed posting (for example yes, create it / post it now / confirm). Never set true on the first call or because the user initially asked to create something. Nothing is written to Big Red Cloud until you confirm.
connectionRefNoOpaque Red connection reference returned by brc_confirm_company_connection. Pass this exact value on every later tool call when the MCP client rotates session ids (for example Vibe/Mistral). Keep reusing the same connectionRef after successful tool calls — do not start a new connection because a lookup returned empty or partial data. It is not an API key and does not contain credentials.
confirmCrAnalysisCategoryNoSet true only after the user confirms a CR sales analysis account code is intentional for this product line.
confirmCounterpartyExplicitNoMust be true only after the user explicitly named or confirmed the customer, supplier, or other counterparty in the current conversation. Never set true because a customer or supplier appeared in an earlier preview, was inferred from context, or was filled in without the user's explicit choice in this conversation.

TDQS

A3.9/5.0
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations only expose destructiveHint=true/readOnlyHint=false, so the description carries the burden and carries it exceptionally well: it discloses token validity scope, that placeholder tokens are invalid, that a token does not bypass preview/confirmation, the exact two-phase confirmWrite behavior, that preflight is not confirmation, and the counterparty-confirmation scoping. It also reveals the side effect that missing customer contact values remain absent. No contradiction with annotations.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a dense single paragraph but well ordered: purpose first, then token lifecycle, then preview/confirm protocol, then counterparty scoping. Nearly every sentence earns its place. Minor redundancy exists with the schema's routeToken and confirmWrite parameter text, but the description stands alone appropriately for a tool this complex.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

This is a complex transactional tool (8 parameters, deep nested payload, destructive, confirmation-gated) with no output schema, so the description must cover the operational protocol — and it does, thoroughly: token requirements, the non-confirmed return shape, the preflight caveat, and counterparty confirmation scoping. The one gap is that the success-path return (what confirmWrite true ultimately yields, e.g. the created invoice identifier) is never stated.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so the baseline is 3. The description mostly reinforces what the schema already states about routeToken, confirmWrite, and confirmCounterpartyExplicit rather than adding new per-parameter meaning. It does add one behavioral detail — that a non-confirmed call returns confirmation_required with a payload preview — but does not elaborate on formats, dates, or success-path outputs.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The opening sentence states a specific verb and resource: 'Creates a sales invoice using generated references and reconciled product, VAT and Sales-analysis lines.' The 'generated references' qualifier captures the distinguishing trait of the gen_ref variant. However, it never names or contrasts the siblings brc_create_sales_invoice (non-generated reference) or brc_generate_sales_invoice_from_quote, leaving the agent to infer the difference.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

There is dense operational guidance: a valid routeToken is required, calls without confirmWrite true return confirmation_required plus a preview, preflight is not confirmation, and confirmCounterpartyExplicit must be true. But the description gives zero guidance on when to choose this tool over brc_create_sales_invoice or brc_generate_sales_invoice_from_quote, which are the key selection decisions an agent faces.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

brc_create_sales_repCreate Sales RepresentativeAInspect

Creates a BRC sales rep using structured MCP fields. Requires a valid routeToken issued for the matching action workflow. The token remains valid through lookup, preview and the permitted transaction. Placeholder tokens are invalid. A routeToken does not bypass preview or explicit-confirmation requirements. A call without confirmWrite: true returns confirmation_required and a payload preview. confirmWrite: true applies the previewed change after explicit confirmation. Passing preflight is not confirmation.

ParametersJSON Schema
NameRequiredDescriptionDefault
codeYesSales rep code.
nameYesSales rep name.
routeTokenYesOpaque routeToken from brc_route_request for this action workflow. Required for transactional tools. Routing permission only — does not replace preview-before-posting or confirmWrite.
companyNameYesCompany context name, for example YOUR-COMPANY-NAME.
confirmWriteNoMust be true only after a plain-English preview before posting has been shown in the current conversation and the user explicitly confirmed posting (for example yes, create it / post it now / confirm). Never set true on the first call or because the user initially asked to create something. Nothing is written to Big Red Cloud until you confirm.
connectionRefNoOpaque Red connection reference returned by brc_confirm_company_connection. Pass this exact value on every later tool call when the MCP client rotates session ids (for example Vibe/Mistral). Keep reusing the same connectionRef after successful tool calls — do not start a new connection because a lookup returned empty or partial data. It is not an API key and does not contain credentials.

TDQS

A4.6/5.0
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Goes well beyond the annotations by detailing the routeToken lifecycle, invalid placeholder tokens, preview-only behavior without confirmWrite, and the requirement that confirmWrite:true must follow explicit user confirmation. The warning that 'passing preflight is not confirmation' adds important safety context. This is substantial behavioral disclosure.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The first sentence states purpose immediately, followed by logically ordered constraints on routeToken and confirmWrite. Every sentence carries operational information with no filler. The density is justified for a transactional tool with confirmation requirements.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Covers the essential invocation context: prerequisite routeToken, confirmation gate, preview behavior, and first-call semantics. The input schema handles individual parameter details well. It does not describe the success response payload, and there is no output schema, but the critical safety and workflow context is present.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100% with already-detailed parameter descriptions, so the baseline is 3. The description adds workflow-level semantics for confirmWrite and routeToken validity, including invalid placeholders and the relationship between preview and confirmation. It supplements rather than merely repeats the schema.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a precise verb and resource — 'Creates a BRC sales rep' — which clearly distinguishes it from the update, delete, list, and batch sales rep sibling tools. The title reinforces the same action. There is no ambiguity about what entity is created.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Provides explicit prerequisites: a valid routeToken issued for the matching action workflow and sourced from brc_route_request. It also explains the confirmWrite workflow and preview requirement. It does not explicitly name alternatives or conditions for when not to use this tool in favor of brc_update_sales_rep or brc_batch_sales_reps, so it falls short of a 5.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

brc_create_supplierCreate SupplierAInspect

Creates a BRC supplier using a raw BRC payload. Does not create or update opening balance transactions. Opening-balance fields are not posted by this tool; supplier opening balances are entered directly in Big Red Cloud. Requires a valid routeToken issued for the matching action workflow. The token remains valid through lookup, preview and the permitted transaction. Placeholder tokens are invalid. A routeToken does not bypass preview or explicit-confirmation requirements. A call without confirmWrite: true returns confirmation_required and a payload preview. confirmWrite: true applies the previewed change after explicit confirmation. Passing preflight is not confirmation.

ParametersJSON Schema
NameRequiredDescriptionDefault
payloadYesRaw BRC-compatible payload for this endpoint.
routeTokenYesOpaque routeToken from brc_route_request for this action workflow. Required for transactional tools. Routing permission only — does not replace preview-before-posting or confirmWrite.
companyNameYesCompany context name, for example YOUR-COMPANY-NAME.
confirmWriteNoMust be true only after a plain-English preview before posting has been shown in the current conversation and the user explicitly confirmed posting (for example yes, create it / post it now / confirm). Never set true on the first call or because the user initially asked to create something. Nothing is written to Big Red Cloud until you confirm.
connectionRefNoOpaque Red connection reference returned by brc_confirm_company_connection. Pass this exact value on every later tool call when the MCP client rotates session ids (for example Vibe/Mistral). Keep reusing the same connectionRef after successful tool calls — do not start a new connection because a lookup returned empty or partial data. It is not an API key and does not contain credentials.

TDQS

A4.6/5.0
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations only indicate readOnly=false and destructive=false. The description goes far beyond that by explaining the two-phase write flow: without confirmWrite, the call returns confirmation_required and a payload preview; confirmWrite applies the previewed change only after explicit confirmation. It also warns that placeholder tokens are invalid, routeToken does not bypass preview, and preflight is not confirmation.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is front-loaded with the core action and packed with dense, useful caveats. Every sentence contributes value, though there is slight redundancy between 'Does not create or update opening balance transactions' and 'Opening-balanace fields are not possted by this tool', which prevents a perfect score.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a mutation tool with no output schema, the description covers the entire call flow: routeToken provenance and validity, placeholder invalidity, the preview/confirmation contract, the response to an unconfirmed call, and the opening-balanace exclusion. The schema already covers companyName and connectionRef, so nothing essential is missing.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so the baseline is 3, but the description adds meaning beyond the schema by explaining routeToken validity through lookup, preview, and the permitted transaction, and by clarifying that passing preflight is not the same as user confirmation. These nuances enrich the semantics of confirmWrite and routeToken beyond their schema descriptions.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description opens with a specific verb and resource ('Creates a BRC supplier using a raw BRC payload'), making the tool's core function unmistakable. It also explicitly distinguishes itself from opening-balanace tools by stating that opening-balanace fields are not possted by this tool, removing ambiguity against sibling get/list supplier opening-balanace tools.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description gives clear usage context: it creates a single supplier, does not handle opening balances, and requires a routeToken with the full preview/confirmation workflow. It does not name a specific alternative tool like brc_batch_suppliers, but the opening-balanace exclusion and the explicit preconditions are sufficient guidance for an agent.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

brc_delete_accrualDelete AccrualA
Destructive
Inspect

Deletes an accrual using its current concurrency timestamp. Requires a valid routeToken issued for the matching action workflow. The token remains valid through lookup, preview and the permitted transaction. Placeholder tokens are invalid. A routeToken does not bypass preview or explicit-confirmation requirements. A call without confirmWrite: true returns confirmation_required and a payload preview. confirmWrite: true applies the previewed change after explicit confirmation. Passing preflight is not confirmation.

ParametersJSON Schema
NameRequiredDescriptionDefault
idYesParent accrual id.
timestampYesBase64 timestamp returned by the accrual, for example K94UQIbL3gg=.
routeTokenYesOpaque routeToken from brc_route_request for this action workflow. Required for transactional tools. Routing permission only — does not replace preview-before-posting or confirmWrite.
companyNameYesCompany context name, for example YOUR-COMPANY-NAME.
confirmWriteNoMust be true only after the user explicitly confirms deleting this accrual.
connectionRefNoOpaque Red connection reference returned by brc_confirm_company_connection. Pass this exact value on every later tool call when the MCP client rotates session ids (for example Vibe/Mistral). Keep reusing the same connectionRef after successful tool calls — do not start a new connection because a lookup returned empty or partial data. It is not an API key and does not contain credentials.

TDQS

A4.6/5.0
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

The description richly discloses behavior beyond the annotations: routeToken validity scope, placeholder token invalidity, the non-bypass of preview/confirmation, and the exact confirmation_required + preview response when confirmWrite is omitted. This is especially valuable because the tool is destructive and the description clarifies the safety flow.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is front-loaded with the primary purpose and then provides sequenced workflow details. It is somewhat dense and repeats the confirmation theme a couple of times, but overall each sentence contributes meaningful information for a destructive transactional tool.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given six parameters, no output schema, and a destructive operation, this description covers the essential workflow: obtaining/using a routeToken, previewing, explicit confirmation via confirmWrite, and the consequence of not passing it. The remaining details, such as connectionRef, are adequately documented in the schema.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so the baseline is 3. The description adds meaning to the timestamp (concurrency constraint), routeToken (workflow scoping and invalidity of placeholders), and confirmWrite (explicit-confirmation semantics). This goes beyond the raw schema descriptions, though it does not deeply explain every parameter.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description opens with a concrete verb and resource: 'Deletes an accrual using its current concurrency timestamp.' This clearly identifies the operation and its distinguishing requirement. It is not a tautology and is easily differentiated from get/update/list accrual tools.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description gives strong contextual usage guidance: it requires a routeToken, a confirmWrite: true after explicit user confirmation, and explains that preflight is not confirmation. It does not explicitly name alternative tools or say when not to use this tool, but the transactional workflow is clear.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

brc_delete_allocation_resolverDelete Allocation ResolverA
Destructive
Inspect

Reverses or deletes the specified allocation after returning an unconfirmed preview. Requires a valid routeToken issued for the matching action workflow. The token remains valid through lookup, preview and the permitted transaction. Placeholder tokens are invalid. A routeToken does not bypass preview or explicit-confirmation requirements. A call without confirmWrite: true returns confirmation_required and a payload preview. confirmWrite: true applies the previewed change after explicit confirmation. Passing preflight is not confirmation.

ParametersJSON Schema
NameRequiredDescriptionDefault
idYesAllocation resolver id to reverse/delete.
routeTokenYesOpaque routeToken from brc_route_request for this action workflow. Required for transactional tools. Routing permission only — does not replace preview-before-posting or confirmWrite.
companyNameYesCompany context name, for example YOUR-COMPANY-NAME.
confirmWriteNoMust be true only after the user explicitly confirms reversing/deleting this allocation.
connectionRefNoOpaque Red connection reference returned by brc_confirm_company_connection. Pass this exact value on every later tool call when the MCP client rotates session ids (for example Vibe/Mistral). Keep reusing the same connectionRef after successful tool calls — do not start a new connection because a lookup returned empty or partial data. It is not an API key and does not contain credentials.

TDQS

A4.6/5.0
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already indicate destructiveHint=true, and the description goes well beyond that by explaining the two-step behavior: without confirmWrite: true the call returns confirmation_required and a preview; with confirmWrite: true it applies the previewed change after explicit confirmation. It also discloses that routeToken does not bypass preview or confirmation, placeholder tokens are invalid, and preflight is not confirmation. This gives a thorough behavioral contract for a destructive tool.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is compact and front-loaded with the core operation, then efficiently adds token validity, placeholder-token caveat, preview/confirmation flow, and the preflight distinction. Each sentence contributes a distinct fact needed for safe invocation, with no repetition or filler.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given there is no output schema, the description covers the most important runtime behavior: the unconfirmed preview, confirmation_required response, and the effect of confirmWrite: true. It also addresses token lifecycle and connection context implicitly through the routeToken requirements. It does not spell out the exact success/error shape after confirmWrite: true, but the preview/confirm cycle is sufficiently described for an agent to invoke the tool correctly.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100%, so the schema already documents every parameter. The description adds meaningful semantics for two key parameters by explaining how confirmWrite controls preview vs. application, and how routeToken relates to the action workflow and does not replace preview/confirmation. This enriches the parameter model beyond the schema descriptions without needing to repeat id or companyName.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description opens with a specific verb and resource: 'Reverses or deletes the specified allocation after returning an unconfirmed preview.' This clearly identifies the operation as a delete/reverse action on an allocation resolver, which distinguishes it from the many other delete_* sibling tools. The preview/confirmation workflow further differentiates it from simpler delete tools in the same family.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Gives clear workflow context: a valid routeToken is required, the token remains valid through lookup, preview and the permitted transaction, and confirmWrite: true is needed only after explicit confirmation. It does not explicitly name alternative tools or state when-not-to-use, but the delete-via-preview workflow is unambiguous enough for an agent to follow.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

brc_delete_bank_accountDelete Bank AccountA
Destructive
Inspect

Deletes the specified bank account after explicit confirmation. Requires a valid routeToken issued for the matching action workflow. The token remains valid through lookup, preview and the permitted transaction. Placeholder tokens are invalid. A routeToken does not bypass preview or explicit-confirmation requirements. A call without confirmWrite: true returns confirmation_required and a payload preview. confirmWrite: true applies the previewed change after explicit confirmation. Passing preflight is not confirmation.

ParametersJSON Schema
NameRequiredDescriptionDefault
idYesbank account id.
routeTokenYesOpaque routeToken from brc_route_request for this action workflow. Required for transactional tools. Routing permission only — does not replace preview-before-posting or confirmWrite.
companyNameYesCompany context name, for example YOUR-COMPANY-NAME.
confirmWriteNoMust be true only after a plain-English preview before posting has been shown in the current conversation and the user explicitly confirmed posting (for example yes, create it / post it now / confirm). Never set true on the first call or because the user initially asked to create something. Nothing is written to Big Red Cloud until you confirm.
confirmDeleteNo
connectionRefNoOpaque Red connection reference returned by brc_confirm_company_connection. Pass this exact value on every later tool call when the MCP client rotates session ids (for example Vibe/Mistral). Keep reusing the same connectionRef after successful tool calls — do not start a new connection because a lookup returned empty or partial data. It is not an API key and does not contain credentials.

TDQS

A4.1/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already mark destructiveHint: true and readOnlyHint: false, and the description aligns by stating deletion. Beyond the annotations, it discloses the routeToken validity window (valid through lookup, preview, and the permitted transaction), that placeholder tokens are invalid, that the token does not bypass preview or confirmation, and that preflight is not confirmation. This is rich behavioral disclosure. The only gap is that the confirmDelete parameter appears in the schema but is never explained in the description, leaving ambiguity about which flag actually triggers the deletion.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is front-loaded with the purpose and every subsequent sentence carries safety or workflow information relevant to a destructive transactional call. There is mild redundancy (placeholder-token invalidity restates the valid-token requirement, and confirmation is reiterated several times), but the repetition is justified for a tool where the confirmation requirement is the critical property an agent must not miss.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

With no output schema and a 6-parameter destructive operation, the description carries the burden of explaining behavior, and it covers the critical path well: preconditions (routeToken), the two-phase preview/confirmation flow, and one return case (confirmation_required with preview). It falls short of complete because it never describes the success-path response and leaves confirmDelete undefined, but the safety-critical aspects an agent needs to avoid an unintended deletion are thoroughly covered.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 83%, so the baseline is 3 and the schema already documents routeToken, companyName, confirmWrite, and connectionRef well. The description adds genuine value by explaining the confirmWrite mechanism (confirmation_required response, preview payload, preflight caveat) and the token's validity window. However, confirmDelete has no schema description and gets zero mention in the tool description, so its interaction with confirmWrite remains unclear — a meaningful gap the description does not compensate for.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The opening sentence, 'Deletes the specified bank account after explicit confirmation,' names a specific verb and resource and adds a distinctive qualifier (explicit confirmation) that sets this apart from plain lookup or update tools. Among the many delete_* siblings, it is unambiguously the bank-account deleter, clearly distinguishable by resource and by the transactional confirmation workflow it describes.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description gives strong when-to-use guidance through the workflow it prescribes: a valid routeToken is required, a call without confirmWrite: true returns confirmation_required with a payload preview, and confirmWrite: true applies the change only after explicit confirmation. It also warns that preflight is not confirmation. It does not explicitly name alternative tools or exclusion conditions, so it stops short of a 5, but the context for correct usage is clearly established.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

brc_delete_cash_paymentDelete Cash PaymentA
Destructive
Inspect

Deletes a BRC cash payment by id. Requires a valid routeToken issued for the matching action workflow. The token remains valid through lookup, preview and the permitted transaction. Placeholder tokens are invalid. A routeToken does not bypass preview or explicit-confirmation requirements. A call without confirmWrite: true returns confirmation_required and a payload preview. confirmWrite: true applies the previewed change after explicit confirmation. Passing preflight is not confirmation.

ParametersJSON Schema
NameRequiredDescriptionDefault
idYescash payment id.
routeTokenYesOpaque routeToken from brc_route_request for this action workflow. Required for transactional tools. Routing permission only — does not replace preview-before-posting or confirmWrite.
companyNameYesCompany context name, for example YOUR-COMPANY-NAME.
confirmWriteNoMust be true only after a plain-English preview before posting has been shown in the current conversation and the user explicitly confirmed posting (for example yes, create it / post it now / confirm). Never set true on the first call or because the user initially asked to create something. Nothing is written to Big Red Cloud until you confirm.
confirmDeleteNo
connectionRefNoOpaque Red connection reference returned by brc_confirm_company_connection. Pass this exact value on every later tool call when the MCP client rotates session ids (for example Vibe/Mistral). Keep reusing the same connectionRef after successful tool calls — do not start a new connection because a lookup returned empty or partial data. It is not an API key and does not contain credentials.

TDQS

A4.3/5.0
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Beyond the annotations (destructiveHint=true, readOnlyHint=false), the description reveals the full two-phase behavior: a call without confirmWrite:true returns confirmation_required with a payload preview, confirmWrite:true applies the previewed change only after explicit confirmation, passing preflight is not confirmation, and tokens stay valid through lookup/preview/transaction. This is exactly the kind of behavioral nuance annotations cannot convey.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Seven sentences, every one carrying information — core action first, then token lifecycle, then the confirmation gate. Dense but warranted for a destructive transactional tool with a preview-before-posting workflow; zero filler.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a destructive tool with no output schema, the description covers the essential operational context: token requirements, invalidity conditions, preview obligation, and the confirmation semantics. The one real hole is confirmDelete, a parameter present in the schema with only a default and no explanation in either schema or description.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is high (83%), and the description adds real semantic value on top for the two most critical parameters: routeToken (placeholder tokens invalid, validity window across the workflow) and confirmWrite (what happens with and without true). The notable gap is confirmDelete, which has no schema description and is never mentioned in the tool description, leaving its relationship to confirmWrite ambiguous.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The opening sentence states a specific verb, resource, and key ('Deletes a BRC cash payment by id'), making the core action unambiguous. However, it never explicitly differentiates from sibling delete tools such as brc_delete_cash_receipt or brc_delete_payment; the resource name 'BRC cash payment' does that work only implicitly.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description gives clear conditions for valid use: a valid routeToken issued for the matching action workflow, placeholder tokens rejected, and confirmation after a plain-English preview. It stops short of naming alternatives or stating exclusions ('use X instead when...'), but the prerequisite context is concrete and actionable.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

brc_delete_cash_receiptDelete Cash ReceiptA
Destructive
Inspect

Deletes a BRC cash receipt by id. Requires a valid routeToken issued for the matching action workflow. The token remains valid through lookup, preview and the permitted transaction. Placeholder tokens are invalid. A routeToken does not bypass preview or explicit-confirmation requirements. A call without confirmWrite: true returns confirmation_required and a payload preview. confirmWrite: true applies the previewed change after explicit confirmation. Passing preflight is not confirmation.

ParametersJSON Schema
NameRequiredDescriptionDefault
idYescash receipt id.
routeTokenYesOpaque routeToken from brc_route_request for this action workflow. Required for transactional tools. Routing permission only — does not replace preview-before-posting or confirmWrite.
companyNameYesCompany context name, for example YOUR-COMPANY-NAME.
confirmWriteNoMust be true only after a plain-English preview before posting has been shown in the current conversation and the user explicitly confirmed posting (for example yes, create it / post it now / confirm). Never set true on the first call or because the user initially asked to create something. Nothing is written to Big Red Cloud until you confirm.
confirmDeleteNo
connectionRefNoOpaque Red connection reference returned by brc_confirm_company_connection. Pass this exact value on every later tool call when the MCP client rotates session ids (for example Vibe/Mistral). Keep reusing the same connectionRef after successful tool calls — do not start a new connection because a lookup returned empty or partial data. It is not an API key and does not contain credentials.

TDQS

A4.4/5.0
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already mark the tool destructive, and the description adds substantial behavioral detail: token validity through lookup/preview/transaction, placeholder-token invalidity, no bypass of preview or explicit confirmation, the confirmation_required response pattern, and the fact that preflight does not count as confirmation.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is front-loaded with the core action and then packs only essential caveats into six dense sentences. There is no filler; each sentence contributes either prerequisite, token behavior, or confirmation semantics.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a destructive transaction tool with no output schema, the description covers the essential workflow: routeToken requirement, preview, confirmation_required response, and confirmed execution. The main gap is that confirmDelete is left unexplained and the successful-deletion response is not described.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is high at 83%, so the baseline is 3. The description adds useful meaning for routeToken and confirmWrite, but the confirmDelete parameter has no schema description and is never mentioned in the description, leaving an important destructive-confirmation flag ambiguous.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description opens with 'Deletes a BRC cash receipt by id,' which names a specific verb, resource, and key selector. This is enough to distinguish it from sibling tools like brc_delete_cash_payment or brc_update_cash_receipt.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description gives clear operational prerequisites: a routeToken from brc_route_request is required, preflight is not confirmation, and confirmWrite controls whether the previewed change is applied. It does not explicitly name alternatives or when not to use the tool, but the conditions for correct use are clear.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

brc_delete_customerDelete CustomerA
Destructive
Inspect

Deletes a BRC customer by id. Requires a valid routeToken issued for the matching action workflow. The token remains valid through lookup, preview and the permitted transaction. Placeholder tokens are invalid. A routeToken does not bypass preview or explicit-confirmation requirements. A call without confirmWrite: true returns confirmation_required and a payload preview. confirmWrite: true applies the previewed change after explicit confirmation. Passing preflight is not confirmation.

ParametersJSON Schema
NameRequiredDescriptionDefault
idYescustomer id.
routeTokenYesOpaque routeToken from brc_route_request for this action workflow. Required for transactional tools. Routing permission only — does not replace preview-before-posting or confirmWrite.
companyNameYesCompany context name, for example YOUR-COMPANY-NAME.
confirmWriteNoMust be true only after a plain-English preview before posting has been shown in the current conversation and the user explicitly confirmed posting (for example yes, create it / post it now / confirm). Never set true on the first call or because the user initially asked to create something. Nothing is written to Big Red Cloud until you confirm.
confirmDeleteNo
connectionRefNoOpaque Red connection reference returned by brc_confirm_company_connection. Pass this exact value on every later tool call when the MCP client rotates session ids (for example Vibe/Mistral). Keep reusing the same connectionRef after successful tool calls — do not start a new connection because a lookup returned empty or partial data. It is not an API key and does not contain credentials.

TDQS

A4.7/5.0
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already mark destructiveHint=true and readOnlyHint=false, but the description goes well beyond by explaining token validity, placeholder invalidity, that routeToken does not bypass preview/confirmation, the confirmation_required response, and that preflight is not confirmation. No contradiction with annotations.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Six dense sentences, each carrying essential information. The main action is front-loaded, and every sentence explains a required nuance without wasting words.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a destructive transactional tool with no output schema, the description covers prerequisites (routeToken, confirmWrite), the confirmation flow, the non-confirmation nature of preflight, and the expected response (confirmation_required with payload preview). Nothing critical is missing.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 83%, so the schema already documents most parameters. The description adds crucial behavioral meaning for routeToken and confirmWrite, explaining their interplay and the exact confirmation requirement — value not present in the schema.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description opens with 'Deletes a BRC customer by id' — a specific verb, resource, and mechanism. This clearly distinguishes it from the many other brc_delete_* tools in the sibling list, which target different entities.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description gives explicit conditions for use: requires a valid routeToken, the token's lifecycle, the invalidity of placeholders, and the exact confirmWrite semantics. It does not explicitly name alternatives or when not to use the tool, but for a delete transaction the workflow guidance is unusually precise.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

brc_delete_nominal_journal_batchDelete Nominal Journal BatchA
Destructive
Inspect

Deletes a nominal journal batch using its current concurrency timestamp. Requires a valid routeToken issued for the matching action workflow. The token remains valid through lookup, preview and the permitted transaction. Placeholder tokens are invalid. A routeToken does not bypass preview or explicit-confirmation requirements. A call without confirmWrite: true returns confirmation_required and a payload preview. confirmWrite: true applies the previewed change after explicit confirmation. Passing preflight is not confirmation.

ParametersJSON Schema
NameRequiredDescriptionDefault
idYesNominal Journal Batch id.
timestampYesBase64 timestamp returned by the Nominal Journal Batch, for example 7aIZQIbL3gg=.
routeTokenYesOpaque routeToken from brc_route_request for this action workflow. Required for transactional tools. Routing permission only — does not replace preview-before-posting or confirmWrite.
companyNameYesCompany context name, for example YOUR-COMPANY-NAME.
confirmWriteNoMust be true only after the user explicitly confirms deleting this Nominal Journal Batch.
connectionRefNoOpaque Red connection reference returned by brc_confirm_company_connection. Pass this exact value on every later tool call when the MCP client rotates session ids (for example Vibe/Mistral). Keep reusing the same connectionRef after successful tool calls — do not start a new connection because a lookup returned empty or partial data. It is not an API key and does not contain credentials.

TDQS

A4.7/5.0
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already mark the tool as destructive, but the description adds substantial behavioral detail: token validity through lookup/preview/transaction, placeholder token invalidity, the confirmation_required response without confirmWrite, the meaning of confirmWrite: true, and that preflight is not confirmation. This goes well beyond the annotations.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is front-loaded with the core action and then delivers dense, non-redundant sentences about prerequisites and confirmation behavior. Every sentence adds operational value, and nothing is wasted.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a destructive transactional tool with no output schema, the description explains the required routeToken workflow, the confirmation flow, the meaning of missing confirmWrite, and the fact that preflight is not confirmation. This is sufficient for an agent to understand how to call the tool correctly and what to expect.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100%, so parameters are already documented. The description adds important semantics for routeToken and confirmWrite, explaining the token lifecycle and the confirmation contract, which is not fully captured by the schema property descriptions alone.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description opens with a specific verb and resource: 'Deletes a nominal journal batch using its current concurrency timestamp.' This clearly distinguishes the tool from the many sibling create/get/update/list operations for nominal journal batches and other entities.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides clear usage context: a valid routeToken from brc_route_request is required, confirmWrite must be set to true only after explicit user confirmation, and preflight is not confirmation. It does not explicitly name alternatives or state when not to use this tool, but the workflow guidance is strong enough for correct invocation.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

brc_delete_paymentDelete PaymentA
Destructive
Inspect

Deletes a BRC payment by id. Requires a valid routeToken issued for the matching action workflow. The token remains valid through lookup, preview and the permitted transaction. Placeholder tokens are invalid. A routeToken does not bypass preview or explicit-confirmation requirements. A call without confirmWrite: true returns confirmation_required and a payload preview. confirmWrite: true applies the previewed change after explicit confirmation. Passing preflight is not confirmation.

ParametersJSON Schema
NameRequiredDescriptionDefault
idYespayment id.
routeTokenYesOpaque routeToken from brc_route_request for this action workflow. Required for transactional tools. Routing permission only — does not replace preview-before-posting or confirmWrite.
companyNameYesCompany context name, for example YOUR-COMPANY-NAME.
confirmWriteNoMust be true only after a plain-English preview before posting has been shown in the current conversation and the user explicitly confirmed posting (for example yes, create it / post it now / confirm). Never set true on the first call or because the user initially asked to create something. Nothing is written to Big Red Cloud until you confirm.
confirmDeleteNo
connectionRefNoOpaque Red connection reference returned by brc_confirm_company_connection. Pass this exact value on every later tool call when the MCP client rotates session ids (for example Vibe/Mistral). Keep reusing the same connectionRef after successful tool calls — do not start a new connection because a lookup returned empty or partial data. It is not an API key and does not contain credentials.

TDQS

A4.6/5.0
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already mark destructiveHint=true, and the description goes well beyond that by disclosing the two-phase confirmation behavior: a call without confirmWrite returns confirmation_required and a preview, while confirmWrite applies the change only after explicit confirmation. It also clarifies routeToken validity and cautions that preflight is not confirmation, which is valuable behavioral context.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Seven sentences, all information-dense: purpose first, then auth, token validity, preview, confirmation, and explicit exclusion. There is no filler or repetition of annotations, and each sentence earns its place.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a destructive, transactional tool with no output schema, the description covers auth requirements, preview, explicit confirmation, and the unconfirmed-call response behavior. It still leaves confirmDelete unclear and does not describe success responses, so it is strong but not fully complete.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

With 83% schema description coverage, the schema handles most parameter meaning; the description adds routeToken lifecycle details and confirmation semantics beyond the raw schema. The notable gap is confirmDelete, the one parameter with no schema description and no mention in the description, which prevents a perfect score.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description opens with the exact action and resource: 'Deletes a BRC payment by id.' This is a specific verb+resource statement that clearly distinguishes it from read, update, list, and other delete tools. The rest of the description reinforces the operational nature without obscuring the core purpose.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description gives strong usage conditions: a valid routeToken for the matching action workflow, placeholder tokens invalid, preview/explicit-confirmation required, and 'Passing preflight is not confirmation.' It does not explicitly name alternative tools such as brc_delete_cash_payment, so it earns a 4 rather than a 5.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

brc_delete_prepaymentDelete PrepaymentA
Destructive
Inspect

Deletes a prepayment using its current concurrency timestamp. Requires a valid routeToken issued for the matching action workflow. The token remains valid through lookup, preview and the permitted transaction. Placeholder tokens are invalid. A routeToken does not bypass preview or explicit-confirmation requirements. A call without confirmWrite: true returns confirmation_required and a payload preview. confirmWrite: true applies the previewed change after explicit confirmation. Passing preflight is not confirmation.

ParametersJSON Schema
NameRequiredDescriptionDefault
idYesParent prepayment id.
timestampYesBase64 timestamp returned by the prepayment, for example bgUcQIbL3gg=.
routeTokenYesOpaque routeToken from brc_route_request for this action workflow. Required for transactional tools. Routing permission only — does not replace preview-before-posting or confirmWrite.
companyNameYesCompany context name, for example YOUR-COMPANY-NAME.
confirmWriteNoMust be true only after the user explicitly confirms deleting this prepayment.
connectionRefNoOpaque Red connection reference returned by brc_confirm_company_connection. Pass this exact value on every later tool call when the MCP client rotates session ids (for example Vibe/Mistral). Keep reusing the same connectionRef after successful tool calls — do not start a new connection because a lookup returned empty or partial data. It is not an API key and does not contain credentials.

TDQS

A4.7/5.0
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already mark it destructive and non-read-only; the description adds the token lifecycle (remains valid through lookup, preview, permitted transaction), invalid placeholder tokens, and the two-call confirmWrite protocol. It also states preflight is not confirmation, which prevents a dangerous mis-invocation. This fully exceeds annotation coverage.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Six dense sentences, no fluff; purpose, prerequisites, and invocation protocol are front-loaded. Each sentence carries distinct information, and the length is justified by the destructive workflow described.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Despite no output schema, the description explains the non-confirmation return behavior and the confirmation flow, plus routeToken prerequisites and validity. For a destructive transactional tool this is sufficient for an agent to call it safely and interpret the required next step.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema covers 100% of parameters with descriptions. The tool description adds workflow-level semantics that the schema alone doesn't convey: without confirmWrite: true the call returns confirmation_required with a preview, and confirmWrite true applies the previewed change only after explicit confirmation. This supplements the schema's property-level explanations.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a clear verb and resource: 'Deletes a prepayment using its current concurrency timestamp.' This distinguishes it from sibling delete_* tools by naming prepayments as the target and from create/update prepayment tools. The title is consistent and there is no ambiguity about operation or resource.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Describes the required workflow: a routeToken from the matching action workflow, confirmWrite required, preflight not confirmation. It does not explicitly name alternative tools or state when not to use it, but the context tells the agent how to execute correctly. However, no explicit alternative routing, so not 5.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

brc_delete_productDelete ProductA
Destructive
Inspect

Deletes a BRC product by id. Requires a valid routeToken issued for the matching action workflow. The token remains valid through lookup, preview and the permitted transaction. Placeholder tokens are invalid. A routeToken does not bypass preview or explicit-confirmation requirements. A call without confirmWrite: true returns confirmation_required and a payload preview. confirmWrite: true applies the previewed change after explicit confirmation. Passing preflight is not confirmation.

ParametersJSON Schema
NameRequiredDescriptionDefault
idYesproduct id.
routeTokenYesOpaque routeToken from brc_route_request for this action workflow. Required for transactional tools. Routing permission only — does not replace preview-before-posting or confirmWrite.
companyNameYesCompany context name, for example YOUR-COMPANY-NAME.
confirmWriteNoMust be true only after a plain-English preview before posting has been shown in the current conversation and the user explicitly confirmed posting (for example yes, create it / post it now / confirm). Never set true on the first call or because the user initially asked to create something. Nothing is written to Big Red Cloud until you confirm.
confirmDeleteNo
connectionRefNoOpaque Red connection reference returned by brc_confirm_company_connection. Pass this exact value on every later tool call when the MCP client rotates session ids (for example Vibe/Mistral). Keep reusing the same connectionRef after successful tool calls — do not start a new connection because a lookup returned empty or partial data. It is not an API key and does not contain credentials.

TDQS

A4.5/5.0
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Goes well beyond the destructiveHint=true/readOnlyHint=false annotations by disclosing the full transactional behavior: token validity window, placeholder token invalidity, that routeToken does not bypass preview/confirmation requirements, the confirmation_required return path, and that preflight is not confirmation. This is exactly the kind of behavioral context an agent needs to drive a destructive two-phase workflow safely.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Seven sentences, and each one earns its place — the purpose is front-loaded, followed by tightly packed token and confirmation workflow details with no filler. Slightly long, but the density of new behavioral information justifies the length for a destructive transactional tool.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a destructive 6-parameter tool with no output schema, the description covers the essential ground: prerequisites, two-phase confirmation behavior, and the non-confirmed return case. Remaining gaps are minor — confirmDelete is never explained, and the post-delete outcome is not described — but the agent has enough to invoke the tool safely and correctly.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 83%, so the baseline is 3, but the description adds real meaning to the two critical params: it explains routeToken's lifecycle ('remains valid through lookup, preview and the permitted transaction') and confirmWrite's exact behavior across calls. Minor gap: confirmDelete has no schema description and is never mentioned in the description, leaving its semantics undocumented everywhere.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

Leads with the specific verb+resource: 'Deletes a BRC product by id.' This unambiguously identifies the action and target, and naturally distinguishes it from the many sibling delete tools (delete_customer, delete_supplier, etc.). Nothing about the purpose is left to inference.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Provides clear, explicit workflow context: a valid routeToken from the matching action workflow is a stated prerequisite, and the description spells out when to call without confirmWrite (returns confirmation_required + preview) versus with confirmWrite (applies the previewed change). It does not name alternatives or exclusions among siblings, but the operational context for correct invocation is unambiguous.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

brc_delete_purchaseDelete PurchaseA
Destructive
Inspect

Deletes a BRC purchase by id using timestamp confirmation. Historical purchases are not automatically blocked because they belong to an earlier financial year. The BRC endpoint determines whether the historical deletion is supported. Requires a valid routeToken issued for the matching action workflow. The token remains valid through lookup, preview and the permitted transaction. Placeholder tokens are invalid. A routeToken does not bypass preview or explicit-confirmation requirements. A call without confirmWrite: true returns confirmation_required and a payload preview. confirmWrite: true applies the previewed change after explicit confirmation. Passing preflight is not confirmation.

ParametersJSON Schema
NameRequiredDescriptionDefault
idYesPurchase id.
routeTokenYesOpaque routeToken from brc_route_request for this action workflow. Required for transactional tools. Routing permission only — does not replace preview-before-posting or confirmWrite.
companyNameYesCompany context name, for example YOUR-COMPANY-NAME.
confirmWriteNoMust be true only after a plain-English preview before posting has been shown in the current conversation and the user explicitly confirmed posting (for example yes, create it / post it now / confirm). Never set true on the first call or because the user initially asked to create something. Nothing is written to Big Red Cloud until you confirm.
confirmDeleteNo
connectionRefNoOpaque Red connection reference returned by brc_confirm_company_connection. Pass this exact value on every later tool call when the MCP client rotates session ids (for example Vibe/Mistral). Keep reusing the same connectionRef after successful tool calls — do not start a new connection because a lookup returned empty or partial data. It is not an API key and does not contain credentials.

TDQS

A4.4/5.0
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Even with destructiveHint=true and readOnlyHint=false, the description adds substantial behavioral detail: the token remains valid through lookup/preview/permitted transaction, placeholder tokens are invalid, a call without confirmWrite returns confirmation_required and a payload preview, and preflight does not equal confirmation. This goes well beyond the annotations and clearly outlines the two-call destructive workflow.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is front-loaded with the core action and then covers historical nuances, token validity, and confirmation requirements in a tight sequence. Every sentence contributes unique, necessary information for safely invoking this destructive tool without redundancy.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a transactional delete with no output schema, the description explains the required prerequisite (routeToken), the two-step confirmation behavior, and the historical-deletion edge case. It does not mention the undocumented confirmDelete parameter or what a successful deletion response looks like, but the core agent-relevant workflow is well covered.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 83%, so the baseline is 3. The description does not add per-parameter meaning beyond the schema; it references routeToken and confirmWrite in context but the schema already documents them thoroughly. The undocumented confirmDelete parameter is not addressed in either the schema or the description, so no compensation for that gap occurs.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description opens with 'Deletes a BRC purchase by id using timestamp confirmation', stating a specific verb, resource, and method. Among the many delete_* sibling tools, this clearly identifies the target as a purchase, making it unambiguous.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides clear context on when deletion may proceed, especially the nuance that historical purchases are not automatically blocked and that the BRC endpoint determines support. It does not explicitly name alternative tools or state 'use this instead of X', but the guidance on confirmation flow and historical behavior gives usable context.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

brc_delete_quoteDelete QuoteA
Destructive
Inspect

Deletes a BRC quote by id using timestamp confirmation. Loads the quote once to obtain its timestamp and to preview id, reference, customer, total, open or closed state, any linked sales invoice, and timestamp before asking for confirmation. A successful delete is the result; if a later lookup by quote id returns an unexpected error, treat that check as inconclusive rather than as a failed delete. Confirm remaining quotes from the quote list by quote id — quote references are not necessarily unique. Requires a valid routeToken issued for the matching action workflow. The token remains valid through lookup, preview and the permitted transaction. Placeholder tokens are invalid. A routeToken does not bypass preview or explicit-confirmation requirements. A call without confirmWrite: true returns confirmation_required and a payload preview. confirmWrite: true applies the previewed change after explicit confirmation. Passing preflight is not confirmation.

ParametersJSON Schema
NameRequiredDescriptionDefault
idYesQuote id.
routeTokenYesOpaque routeToken from brc_route_request for this action workflow. Required for transactional tools. Routing permission only — does not replace preview-before-posting or confirmWrite.
companyNameYesCompany context name, for example YOUR-COMPANY-NAME.
confirmWriteNoMust be true only after a plain-English preview before posting has been shown in the current conversation and the user explicitly confirmed posting (for example yes, create it / post it now / confirm). Never set true on the first call or because the user initially asked to create something. Nothing is written to Big Red Cloud until you confirm.
confirmDeleteNo
connectionRefNoOpaque Red connection reference returned by brc_confirm_company_connection. Pass this exact value on every later tool call when the MCP client rotates session ids (for example Vibe/Mistral). Keep reusing the same connectionRef after successful tool calls — do not start a new connection because a lookup returned empty or partial data. It is not an API key and does not contain credentials.

TDQS

A4.5/5.0
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations only flag destructiveHint=true and readOnlyHint=false; the description carries the real burden and does so thoroughly. It discloses the two-phase confirmation behavior, preview payload on non-confirmed calls, routeToken lifecycle and invalidity rules, the preflight-is-not-confirmation caveat, and the nuanced guidance to treat a later lookup error as inconclusive rather than a failed delete. No contradictions with annotations.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is long but every sentence earns its place for a destructive transactional tool; purpose is front-loaded and the density is justified. Minor redundancy exists (token rules and confirmation requirements are restated in slightly different phrasings), so it is not maximally tight.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given no output schema, destructive complexity, and an ambient set of similar delete tools, the description covers the two-phase response behavior, verification nuance, and token constraints well. Remaining gaps are the undocumentd confirmDelete parameter and the absence of a pointer to close_quote for open-quote handling. Still, most of what an agent needs to call correctly is present.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 83%, so the baseline is 3; the description adds genuine value by explaining the confirmWrite mechanics ('returns confirmation_required and a payload preview'), the token validity window, and the placeholder-token rule. However, the confirmDelete parameter has virtually no schema documentation (only a default of false) and is never mentioned in the description — a meaningful gap for a delete tool with two confirmation-style booleans, since an agent may conflate them.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

Opens with a specific verb+resource+mechanism: 'Deletes a BRC quote by id using timestamp confirmation.' This clearly distinguishes it from the many sibling delete_* tools (which target other resources) and from brc_close_quote, whose semantics are different. The preview workflow described next makes the scope unmistakable.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Provides rich procedural guidance: load-then-preview-then-confirm flow, the two-phase confirmWrite contract, token requirements, and the caution to confirm quotes by id rather than reference. However, it never explicitly contrasts with alternatives such as brc_close_quote or brc_update_quote, or states when deletion should NOT be used, leaving sibling differentiation mostly to inference.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

brc_delete_sales_credit_noteDelete Sales Credit NoteA
Destructive
Inspect

Deletes a BRC sales credit note by id using timestamp confirmation. Requires a valid routeToken issued for the matching action workflow. The token remains valid through lookup, preview and the permitted transaction. Placeholder tokens are invalid. A routeToken does not bypass preview or explicit-confirmation requirements. A call without confirmWrite: true returns confirmation_required and a payload preview. confirmWrite: true applies the previewed change after explicit confirmation. Passing preflight is not confirmation.

ParametersJSON Schema
NameRequiredDescriptionDefault
idYesSales credit note id.
routeTokenYesOpaque routeToken from brc_route_request for this action workflow. Required for transactional tools. Routing permission only — does not replace preview-before-posting or confirmWrite.
companyNameYesCompany context name, for example YOUR-COMPANY-NAME.
confirmWriteNoMust be true only after a plain-English preview before posting has been shown in the current conversation and the user explicitly confirmed posting (for example yes, create it / post it now / confirm). Never set true on the first call or because the user initially asked to create something. Nothing is written to Big Red Cloud until you confirm.
confirmDeleteNo
connectionRefNoOpaque Red connection reference returned by brc_confirm_company_connection. Pass this exact value on every later tool call when the MCP client rotates session ids (for example Vibe/Mistral). Keep reusing the same connectionRef after successful tool calls — do not start a new connection because a lookup returned empty or partial data. It is not an API key and does not contain credentials.

TDQS

A4.5/5.0
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Even though destructiveHint: true is annotated, the description adds substantial behavioral detail: routeToken validity scope, placeholder token invalidity, no bypass of preview/confirmation, preflight not being confirmation, and the exact behavior with and without confirmWrite: true. This goes far beyond the annotation.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is dense but well-organized, front-loading the core action and then explaining the token and confirmation flow. Slight redundancy around preview/confirmation exists, and 'timestamp confirmation' is unclear, but every sentence contributes to the workflow.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a destructive transactional tool with no output schema, the description gives essential flow details: token requirements, preview behavior, confirmation semantics, and what happens on an unconfirmed call. The only notable gap is the undocumented confirmDelete parameter, which is not addressed in the description.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 83%, and the description adds meaningful semantics around routeToken and confirmWrite that reinforce and extend the schema descriptions. It does not mention confirmDelete, but the schema already covers most parameters and the description contributes beyond the structured fields.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description uses a specific verb ('Deletes') and resource ('BRC sales credit note') with the by-id scope. This clearly distinguishes it from create/update/get/list/batch siblings without requiring schema inspection.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description clearly explains the required workflow: a valid routeToken from the matching action workflow, then preview, then confirmWrite: true after explicit confirmation. It does not explicitly name alternatives or when-not-to-use cases, but the usage context is strong and actionable.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

brc_delete_sales_entryDelete Sales EntryA
Destructive
Inspect

Deletes a BRC sales entry by id using timestamp confirmation. Requires a valid routeToken issued for the matching action workflow. The token remains valid through lookup, preview and the permitted transaction. Placeholder tokens are invalid. A routeToken does not bypass preview or explicit-confirmation requirements. A call without confirmWrite: true returns confirmation_required and a payload preview. confirmWrite: true applies the previewed change after explicit confirmation. Passing preflight is not confirmation.

ParametersJSON Schema
NameRequiredDescriptionDefault
idYesSales entry id.
routeTokenYesOpaque routeToken from brc_route_request for this action workflow. Required for transactional tools. Routing permission only — does not replace preview-before-posting or confirmWrite.
companyNameYesCompany context name, for example YOUR-COMPANY-NAME.
confirmWriteNoMust be true only after a plain-English preview before posting has been shown in the current conversation and the user explicitly confirmed posting (for example yes, create it / post it now / confirm). Never set true on the first call or because the user initially asked to create something. Nothing is written to Big Red Cloud until you confirm.
confirmDeleteNo
connectionRefNoOpaque Red connection reference returned by brc_confirm_company_connection. Pass this exact value on every later tool call when the MCP client rotates session ids (for example Vibe/Mistral). Keep reusing the same connectionRef after successful tool calls — do not start a new connection because a lookup returned empty or partial data. It is not an API key and does not contain credentials.

TDQS

A4.2/5.0
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Beyond the destructiveHint annotation, the description reveals important behavior: placeholder tokens are invalid, routeToken does not bypass preview or confirmation, unconfirmed calls return confirmation_required, and preflight is not confirmation. This removes ambiguity about the two-phase delete flow.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is front-loaded with the core action and then covers routeToken prerequisites and confirmation behavior in a logical order. It is somewhat dense, but each sentence contributes to preventing incorrect deletes or misunderstood confirmations.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

The description does a good job explaining routeToken and confirmWrite behavior, including the response when confirmation is absent. However, there is no output schema, the phrase 'timestamp confirmation' is left vague, and the confirmDelete parameter is never addressed. An agent may still be unsure exactly how to complete a deletion.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The schema already describes most parameters in detail, so the description adds limited new parameter-level meaning. It reinforces confirmWrite semantics and routeToken restrictions, but it is completely silent on the confirmDelete parameter, which has no schema description and is not explained anywhere else.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description opens with a specific verb and resource: 'Deletes a BRC sales entry by id'. This clearly distinguishes it from sibling delete tools such as brc_delete_sales_invoice and brc_delete_sales_credit_note, while also signaling the deletion target and required identifier.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description gives strong workflow guidance: a valid routeToken from brc_route_request is required, preview must precede confirmWrite, and the first call should omit confirmWrite to receive a payload preview. It does not explicitly name an alternative tool for this action, so it stops short of a full 5.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

brc_delete_sales_invoiceDelete Sales InvoiceA
Destructive
Inspect

Deletes a BRC sales invoice by id using timestamp confirmation. Requires a valid routeToken issued for the matching action workflow. The token remains valid through lookup, preview and the permitted transaction. Placeholder tokens are invalid. A routeToken does not bypass preview or explicit-confirmation requirements. A call without confirmWrite: true returns confirmation_required and a payload preview. confirmWrite: true applies the previewed change after explicit confirmation. Passing preflight is not confirmation.

ParametersJSON Schema
NameRequiredDescriptionDefault
idYesSales invoice id.
routeTokenYesOpaque routeToken from brc_route_request for this action workflow. Required for transactional tools. Routing permission only — does not replace preview-before-posting or confirmWrite.
companyNameYesCompany context name, for example YOUR-COMPANY-NAME.
confirmWriteNoMust be true only after a plain-English preview before posting has been shown in the current conversation and the user explicitly confirmed posting (for example yes, create it / post it now / confirm). Never set true on the first call or because the user initially asked to create something. Nothing is written to Big Red Cloud until you confirm.
confirmDeleteNo
connectionRefNoOpaque Red connection reference returned by brc_confirm_company_connection. Pass this exact value on every later tool call when the MCP client rotates session ids (for example Vibe/Mistral). Keep reusing the same connectionRef after successful tool calls — do not start a new connection because a lookup returned empty or partial data. It is not an API key and does not contain credentials.

TDQS

A4.2/5.0
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations only say the tool is destructive and read-write. The description adds substantial behavioral detail: token lifecycle, invalid placeholder tokens, preview-before-posting requirements, the confirmation_required response without confirmWrite, and the fact that preflight is not confirmation. This is exactly the kind of context an agent needs before invoking a destructive operation.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is compact and front-loaded with the core action before diving into workflow requirements. Almost every sentence adds value, though the phrase 'using timestamp confirmation' is ambiguous and never tied to a schema parameter, which slightly undermines the otherwise efficient structure.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

The description covers authentication and the confirmation workflow well, but it omits the confirmDelete parameter entirely and does not describe what happens after a successful confirmed deletion. With no output schema, an agent is left guessing about part of the deletion contract, even though the main workflow is well explained.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 83%, so the schema already documents most parameters, including detailed semantics for confirmWrite and routeToken. The description adds some token-lifecycle nuance, but it mostly reframes schema content and never addresses the undocumented confirmDelete boolean, leaving that parameter's role unclear.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description opens with a specific verb and resource: 'Deletes a BRC sales invoice by id.' This clearly separates it from the many sibling tools for creating, updating, getting, or listing sales invoices, and from the other delete_* tools that target different resources.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description gives clear operating conditions: a valid routeToken from the matching action workflow is required, placeholder tokens are invalid, and routeToken does not bypass preview or confirmation. It also tells the agent when not to confirm ('Passing preflight is not confirmation') and what happens without confirmWrite: true. It does not explicitly contrast this tool with alternatives, but the resource is unambiguous.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

brc_delete_sales_repDelete Sales RepresentativeA
Destructive
Inspect

Deletes a BRC sales rep by id using timestamp confirmation. Requires a valid routeToken issued for the matching action workflow. The token remains valid through lookup, preview and the permitted transaction. Placeholder tokens are invalid. A routeToken does not bypass preview or explicit-confirmation requirements. A call without confirmWrite: true returns confirmation_required and a payload preview. confirmWrite: true applies the previewed change after explicit confirmation. Passing preflight is not confirmation.

ParametersJSON Schema
NameRequiredDescriptionDefault
idYesSales rep id.
routeTokenYesOpaque routeToken from brc_route_request for this action workflow. Required for transactional tools. Routing permission only — does not replace preview-before-posting or confirmWrite.
companyNameYesCompany context name, for example YOUR-COMPANY-NAME.
confirmWriteNoMust be true only after a plain-English preview before posting has been shown in the current conversation and the user explicitly confirmed posting (for example yes, create it / post it now / confirm). Never set true on the first call or because the user initially asked to create something. Nothing is written to Big Red Cloud until you confirm.
confirmDeleteNo
connectionRefNoOpaque Red connection reference returned by brc_confirm_company_connection. Pass this exact value on every later tool call when the MCP client rotates session ids (for example Vibe/Mistral). Keep reusing the same connectionRef after successful tool calls — do not start a new connection because a lookup returned empty or partial data. It is not an API key and does not contain credentials.

TDQS

A4.5/5.0
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Goes well beyond the destructiveHint annotation by explaining token lifecycle, invalid placeholder tokens, preview-before-posting, confirmWrite semantics, and that passing preflight is not confirmation. This gives the agent a precise model of the tool's safety behavior.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is dense but not bloated. Each sentence contributes to the confirmation model or token invariants, though a shorter phrasing for the confirmation workflow could improve readability without losing information.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a destructive transactional tool with a confirmation requirement, the description is largely complete: it covers token validity, failure mode without confirmWrite, and the explicit-confirmation rule. It lacks a clear statement about the successful return value, and confirmDelete semantics are unexplained, but the core invocation contract is well covered.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The description adds meaningful semantics beyond the schema for routeToken and confirmWrite, clarifying that routeToken does not bypass confirmation and that confirmWrite applies only the previewed change. However, the confirmDelete parameter is present in the schema but never explained in the description, leaving a minor semantic gap.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description uses a specific verb and resource: 'Deletes a BRC sales rep by id'. This clearly distinguishes it from update/create/list siblings and states the primary action and target.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Provides explicit workflow guidance: requires a valid routeToken, is allowed only after preview and explicit confirmation, and confirmWrite must be true only after user confirmation. It does not explicitly compare to alternative deletion/update siblings, but the conditions for using this tool and its confirmation flow are clearly stated.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

brc_delete_supplierDelete SupplierA
Destructive
Inspect

Deletes a BRC supplier by id. Requires a valid routeToken issued for the matching action workflow. The token remains valid through lookup, preview and the permitted transaction. Placeholder tokens are invalid. A routeToken does not bypass preview or explicit-confirmation requirements. A call without confirmWrite: true returns confirmation_required and a payload preview. confirmWrite: true applies the previewed change after explicit confirmation. Passing preflight is not confirmation.

ParametersJSON Schema
NameRequiredDescriptionDefault
idYessupplier id.
routeTokenYesOpaque routeToken from brc_route_request for this action workflow. Required for transactional tools. Routing permission only — does not replace preview-before-posting or confirmWrite.
companyNameYesCompany context name, for example YOUR-COMPANY-NAME.
confirmWriteNoMust be true only after a plain-English preview before posting has been shown in the current conversation and the user explicitly confirmed posting (for example yes, create it / post it now / confirm). Never set true on the first call or because the user initially asked to create something. Nothing is written to Big Red Cloud until you confirm.
confirmDeleteNo
connectionRefNoOpaque Red connection reference returned by brc_confirm_company_connection. Pass this exact value on every later tool call when the MCP client rotates session ids (for example Vibe/Mistral). Keep reusing the same connectionRef after successful tool calls — do not start a new connection because a lookup returned empty or partial data. It is not an API key and does not contain credentials.

TDQS

A4.6/5.0
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations only indicate destructiveHint and readOnly false, so the description bears the burden of behavioral disclosure. It delivers richly: routeToken validity window, placeholder invalidity, no bypassing of preview/confirmation, confirmation_required respnse without confirmWrite, and preflight not being confirrmation. No contradiction with annotations.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is dense but every sentence earns its place. The core action is front-loaded, followed by tightly scoped workflow requirements and confirmation behavior. No fluff or repetition.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a complex destructive transactional tool with six parameters and no output schema, the description covers the routeToken/confirmWrite/preflight protocol and the confirmation_required preview response. The obvious gap is confirmDelete: it appears in the schema with no description and is not mentioned in the description, so an agent may not know its role.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 83%, so the schema already documents most parameters. The description adds meaning beyond the schema for routeToken and confirmWrite, explaining their lifecycle and confirmation semantics. The unannotated confirmDelete parameter remains unexplained, preventing a higher score.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description opens with a specific verb and resource: 'Deletes a BRC supplier by id.' This clearly identifies the action and distinguishes it from sibling update_supplier, batch_suppliers, and other entity tools. The title is restated but enriched with the id-based scope.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description gives clear operational context: a valid routeToken from the matching workflow is required, and confirmWrite must follow explicit user confirmation after a preview. It does not name alternatives or explicitly say when-not-to-use, but the workflow constraints are strong enough to guide correct invocation.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

brc_find_help_resourcesFind Help ResourcesA
Read-only
Inspect

Searches Big Red Cloud customer help across Freshdesk support articles, customer documentation, recorded webinar videos and upcoming webinars. Returns a synthesized answer, ordered guidance and public source metadata. Read-only and available without a connected company.

ParametersJSON Schema
NameRequiredDescriptionDefault
sourceNoOptional source filter: freshdesk, customer_docs, recorded_webinar, youtube_video, upcoming_webinar, or all.
categoryNoOptional help category filter, for example bank_feeds or sales.
questionYesPlain-English help question, for example how do bank feeds work or how do I reconcile my bank account.
maxResultsNoMaximum number of matching resources to return. Defaults to 5.

TDQS

A4.1/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already mark it read-only and non-destructive. The description adds useful context beyond that: it is available without a connected company and returns a synthesized answer, ordered guidance, and public source metadata. No contradictions with annotations.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Three short sentences front-load the search scope, then the output, then the access constraint. No filler or repetition; every sentence earns its place.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a read-only search tool, the description covers what is searched, what is returned, and the operational condition (no company connection needed). With the input schema covering parameter semantics, nothing essential is missing.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so each parameter already carries documentation. The description's source list loosely mirrors the source enum but adds little parameter-level meaning beyond what the schema provides, so the baseline 3 applies.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description uses a specific verb ('Searches') with a defined resource ('Big Red Cloud customer help') and enumerates the exact source types searched. It also states the output (synthesized answer, ordered guidance, source metadata), which distinguishes it from the sibling get/red help tools.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

It gives a clear use context: any help question across support articles, docs, and webinars, and notes it works without a connected company. However, it does not explicitly name alternatives such as brc_get_help_resource_details or state when not to use this tool, so usage is mostly implied rather than contrasted with siblings.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

brc_generate_sales_invoice_from_quoteGenerate Sales Invoice from QuoteA
Destructive
Inspect

Generates a sales invoice from a BRC quote. Preview-before-posting shows the exact POST /v1/quotes/generateSaleInvoice body (quoteId and optional entryDate/procDate only). Nothing is written until you confirm. Requires a valid routeToken issued for the matching action workflow. The token remains valid through lookup, preview and the permitted transaction. Placeholder tokens are invalid. A routeToken does not bypass preview or explicit-confirmation requirements. A call without confirmWrite: true returns confirmation_required and a payload preview. confirmWrite: true applies the previewed change after explicit confirmation. Passing preflight is not confirmation.

ParametersJSON Schema
NameRequiredDescriptionDefault
quoteIdYesQuote id.
procDateNoOptional invoice processing date in ISO format.
entryDateNoOptional invoice entry date in ISO format.
routeTokenYesOpaque routeToken from brc_route_request for this action workflow. Required for transactional tools. Routing permission only — does not replace preview-before-posting or confirmWrite.
companyNameYesCompany context name, for example YOUR-COMPANY-NAME.
confirmWriteNoMust be true only after a plain-English preview before posting has been shown in the current conversation and the user explicitly confirmed posting (for example yes, create it / post it now / confirm). Never set true on the first call or because the user initially asked to create something. Nothing is written to Big Red Cloud until you confirm.
connectionRefNoOpaque Red connection reference returned by brc_confirm_company_connection. Pass this exact value on every later tool call when the MCP client rotates session ids (for example Vibe/Mistral). Keep reusing the same connectionRef after successful tool calls — do not start a new connection because a lookup returned empty or partial data. It is not an API key and does not contain credentials.

TDQS

A4.4/5.0
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations only flag destructiveHint=true and readOnlyHint=false; the description carries the real behavioral burden and does so thoroughly. It discloses that nothing is written until explicit confirmation, that routeToken does not bypass preview or confirmation, that a call without confirmWrite returns confirmation_required with a payload preview, and that confirmWrite applies the previewed change. This far exceeds what the annotations provide and aligns with the destructive/write nature of the tool.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is dense — roughly nine sentences — but every sentence earns its place for a destructive transactional tool. The key safety fact ('Nothing is written until you confirm') is front-loaded early, and the structure flows logically from purpose to preview behavior to token requirements to confirmation protocol without repetition.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a complex destructive tool with no output schema, the description is unusually complete. It explains the return behavior (confirmation_required plus payload preview), the token dependency on brc_route_request, and the exact confirmation sequence. Remaining parameters like connectionRef and companyName are fully covered by the schema, so nothing essential is missing.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so every parameter (routeToken, confirmWrite, quoteId, procDate, entryDate, companyName, connectionRef) is already documented in the schema. The description reinforces the workflow semantics of routeToken and confirmWrite but does not add new per-parameter meaning beyond what the schema already states, so the baseline score of 3 is appropriate.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The opening sentence 'Generates a sales invoice from a BRC quote' pairs a specific verb with a concrete resource and a distinct provenance. The 'from a quote' scoping clearly separates this tool from siblings like brc_create_sales_invoice (which creates invoices without a quote source), so an agent can tell them apart without opening either schema.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description gives a concrete call flow: call without confirmWrite to receive a preview, show it to the user, then call with confirmWrite only after explicit confirmation. It also states exclusions — placeholder tokens are invalid and preflight is not confirmation. It does not explicitly name the alternative for quote-less invoicing, but the workflow guidance is specific enough to route correct usage.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

brc_generate_support_reportGenerate Support ReportB
Read-only
Inspect

Returns a downloadable support diagnostic and a concise summary for the current session.

ParametersJSON Schema
NameRequiredDescriptionDefault
companyNameYesCurrently connected company to include in the diagnostic report.
connectionRefNoOpaque Red connection reference returned by brc_confirm_company_connection. Pass this exact value on every later tool call when the MCP client rotates session ids (for example Vibe/Mistral). Keep reusing the same connectionRef after successful tool calls — do not start a new connection because a lookup returned empty or partial data. It is not an API key and does not contain credentials.

TDQS

B3.3/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint=true and destructiveHint=false, so the safety profile is covered. The description adds that the result is downloadable and includes a summary, which is mild behavioral context, but it does not disclose details like output size, side effects, or prerequisites beyond what the schema implies.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is one tightly worded sentence that front-loads the action and outcome. It contains no filler and every word earns its place.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

The tool is simple, read-only, and has full schema coverage, so the missing output schema is less critical. However, the description does not address when to use the tool, what the returned download actually contains beyond 'support diagnostic', or how the agent should handle the result, leaving it at the minimum viable level.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so the baseline is 3. The tool description itself does not explain parameters, but the schema already provides adequate descriptions including an unusually detailed connectionRef note about reuse and non-credential nature, so no compensation is needed.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description states a specific verb ('Returns') and resource ('support diagnostic' and 'concise summary'), and scopes it to the current session. It does not explicitly distinguish itself from siblings like brc_company_readiness_check or brc_red_help, but 'support report' is clear enough.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

There is no explicit when-to-use guidance, no exclusions, and no mention of alternatives. 'For the current session' hints at scope but does not tell an agent when to choose this tool over related diagnostic/help tools.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

brc_get_accrualGet AccrualA
Read-only
Inspect

Returns information about a single parent Accrual by id. Child accruals are not exposed by the public API.

ParametersJSON Schema
NameRequiredDescriptionDefault
idYesParent accrual id.
companyNameYesCompany context name, for example YOUR-COMPANY-NAME.
connectionRefNoOpaque Red connection reference returned by brc_confirm_company_connection. Pass this exact value on every later tool call when the MCP client rotates session ids (for example Vibe/Mistral). Keep reusing the same connectionRef after successful tool calls — do not start a new connection because a lookup returned empty or partial data. It is not an API key and does not contain credentials.

TDQS

A4/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint=true and destructiveHint=false, so the read-only safety profile is covered. The description adds useful scoping context: only parent accruals are accessible and child accruals are not exposed. It does not add more behavioral detail such as not-found or authentication behavior, but the annotations lower the burden.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two short sentences with no filler. The core retrieval behavior is front-loaded and the child-accrual limitation earns its place as a disambiguator.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a simple single-by-id read tool, the description plus the rich schema and annotations are sufficient for an agent to select and invoke it correctly. It omits return-format details, but 'Returns information' and the resource name make the expected result clear enough.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so all three parameters are already documented in structured form. The description only restates the 'by id' concept and adds no additional parameter semantics beyond the schema.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description starts with a specific verb and resource: 'Returns information about a single parent Accrual by id.' The explicit 'by id' and 'Child accruals are not exposed' distinguish this from the list, create, update, and delete accrual siblings.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

It clearly signals this is the single-record-by-id retrieval tool and tells the caller that child accruals cannot be fetched through the public API. However, it does not explicitly name alternatives such as brc_list_accruals for finding ids or enumerating accruals.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

brc_get_bank_accountGet Bank AccountA
Read-only
Inspect

Gets one BRC bank account by id.

ParametersJSON Schema
NameRequiredDescriptionDefault
idYesBank account id.
companyNameYesCompany context name, for example YOUR-COMPANY-NAME.
connectionRefNoOpaque Red connection reference returned by brc_confirm_company_connection. Pass this exact value on every later tool call when the MCP client rotates session ids (for example Vibe/Mistral). Keep reusing the same connectionRef after successful tool calls — do not start a new connection because a lookup returned empty or partial data. It is not an API key and does not contain credentials.

TDQS

A3.7/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare the read-only, non-destructive nature of the tool, so the description does not need to repeat that. The 'by id' phrasing adds a retrieval scope beyond what the title provides, but the description omits behavior like how missing ids are handled or that connectionRef should be reused across calls; those details live in the schema. This gives some context but not a full behavioral picture.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

'Gets one BRC bank account by id' is a short, single sentence with no filler and no surplus words. It is front-loaded with the action and the resource. It is appropriately concise for a simple getter, though it borders on underspecification rather than robust coverage.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

The schema fully documents the parameters, including an unusually detailed note about reusing connectionRef, and the annotations cover the read-only safety profile. For a low-complexity getter, this is largely sufficient. However, with no output schema, the description does not explicitly state what the return object looks like, and it relies on the tool name and structural schema to convey that.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so all three parameters (id, companyName, connectionRef) are already documented with descriptions. The tool-level description adds no parameter meaning beyond the phrase 'by id', which simply echoes the schema. Baseline 3 applies because the schema carries the semantic burden.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states a specific verb ('Gets'), a distinct resource ('one BRC bank account'), and the retrieval mechanism ('by id'). This distinguishes it from list-oriented siblings like brc_list_bank_accounts and mutation tools such as brc_create_bank_account, brc_update_bank_account, and brc_delete_bank_account.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description implies the use case—get a single bank account when an id is already known—but it never explicitly names alternatives or contrasts with brc_list_bank_accounts. It also does not state prerequisites such as an established company connection, so usage guidance is inferred rather than fully disclosed.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

brc_get_cash_paymentGet Cash PaymentA
Read-only
Inspect

Gets one BRC cash payment by id.

ParametersJSON Schema
NameRequiredDescriptionDefault
idYesCash payment id.
companyNameYesCompany context name, for example YOUR-COMPANY-NAME.
connectionRefNoOpaque Red connection reference returned by brc_confirm_company_connection. Pass this exact value on every later tool call when the MCP client rotates session ids (for example Vibe/Mistral). Keep reusing the same connectionRef after successful tool calls — do not start a new connection because a lookup returned empty or partial data. It is not an API key and does not contain credentials.

TDQS

A3.6/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already provide readOnlyHint=true, openWorldHint=false, and destructiveHint=false, covering the read-only safety profile. The description adds only the fetch-by-id behavior; it does not disclose anything about return shape, not-found behavior, errors, or required contextual setup. The interesting detail about reusing connectionRef is located in the schema, not in the description, so the description alone carries limited behavioral insight.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single, direct sentence with no filler words: 'Gets one BRC cash payment by id.' It is efficiently front-loaded, though it lacks extra helpful context such as a pointer to list/batch alternatives or return details.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

This is a simple single-fetch tool with required parameters and no output schema, so the description's minimal text is close to adequate. Yet it still leaves gaps: no mention of response content, error handling for missing ids, any prerequisites like an active connection state, or the connectionRef reuse guidance being present only in the schema.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The input schema has 100% parameter description coverage, including 'id' as 'Cash payment id', 'companyName' with an example, and a detailed explanation of 'connectionRef'. The description 'by id' only reinforces what the schema already states, so it adds no new parameter meaning beyond the structured field descriptions.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description states a specific action ('Gets'), a distinct resource ('BRC cash payment'), and the selection criterion ('by id'), clearly differentiating it from brc_list_cash_payments, brc_batch_cash_payments, brc_create_cash_payment, and brc_update_cash_payment. It is not a tautology of the tool name and leaves no ambiguity about returning a single entity.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The phrase 'one ... by id' implies this tool is for retrieving exactly one specified cash payment, rather than lists, batches, or mutations. However, the description does not explicitly state when to prefer this over the sibling 'list' or 'batch' tools, nor does it mention when-not-to-use it or require aspects missing from the description.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

brc_get_cash_receiptGet Cash ReceiptA
Read-only
Inspect

Gets one BRC cash receipt by id.

ParametersJSON Schema
NameRequiredDescriptionDefault
idYesCash receipt id.
companyNameYesCompany context name, for example YOUR-COMPANY-NAME.
connectionRefNoOpaque Red connection reference returned by brc_confirm_company_connection. Pass this exact value on every later tool call when the MCP client rotates session ids (for example Vibe/Mistral). Keep reusing the same connectionRef after successful tool calls — do not start a new connection because a lookup returned empty or partial data. It is not an API key and does not contain credentials.

TDQS

A3.7/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint=true and destructiveHint=false, so the description does not need to restate safety. It adds only the single-record constraint; it does not describe not-found behavior, return shape, or connection context, but it also does not contradict the annotations.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

A single, well-formed sentence with no filler words. It states the object, singular scope, and lookup mechanism efficiently.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a simple get-by-id tool with fully documented parameters and read-only annotations, the description is mostly sufficient. The remaining gaps are that it does not describe return values, not-found behavior, or how to choose among the many get/list siblings.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100% and already defines id, companyName, and connectionRef clearly. The description adds no parameter-level meaning beyond restating the to-the-point 'by id' lookup.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description is specific: 'Gets one BRC cash receipt by id.' It names the verb, the resource, and the lookup key, and the singular 'one' distinguishes it from list-oriented and write-oriented siblings.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

'by id' and 'one' imply this tool is for fetching a single cash receipt when its id is known, but the description never explicitly states when to use it versus brc_list_cash_receipts or another getter. No alternatives or exclusions are named.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

brc_get_company_api_key_statusGet Company API Key StatusA
Read-only
Inspect

Returns company connection-status metadata without returning API keys or other credentials.

ParametersJSON Schema
NameRequiredDescriptionDefault
companyNameNoOptional company context name. If omitted, summarises all contexts.
connectionRefNoOpaque Red connection reference returned by brc_confirm_company_connection. Pass this exact value on every later tool call when the MCP client rotates session ids (for example Vibe/Mistral). Keep reusing the same connectionRef after successful tool calls — do not start a new connection because a lookup returned empty or partial data. It is not an API key and does not contain credentials.

TDQS

A4/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint=true and destructiveHint=false, so the safe read-only nature is covered. The description adds a valuable behavioral guarantee: it returns no API keys or credentials, which clarifies an important security-relevant aspect of the tool's behavior beyond the annotations.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single, front-loaded sentence with no filler. It states the core purpose and a key exclusion ('without returning API keys or other credentials') without repeating title or parameter details already present in the schema.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a simple read-only tool with two optional, fully documented parameters and zero required fields, the description plus schema is largely complete. The only minor gap is that no output structure is described, but for a status-metadata getter this is not a blocker.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so the input schema fully documents both parameters. The description itself does not add parameter-level meaning, but the baseline of 3 is appropriate because the schema carries the explanatory burden.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description names a specific verb ('Returns') and a precise resource ('company connection-status metadata'), and explicitly disclaims that it returns API keys or credentials. This clearly differentiates it from sibling connection-related tools like brc_start_company_connection, brc_confirm_company_connection, and the key-clearing tools.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description itself does not explicitly state when to use this tool versus alternatives. However, the connectionRef parameter documentation provides meaningful usage context, telling the agent to reuse the same connectionRef and not to start a new connection after empty or partial lookup results. This is implied rather than explicit guidance.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

brc_get_company_processing_settingsGet Company Processing SettingsA
Read-only
Inspect

Returns company processing settings that affect VAT-sensitive accounting workflows.

ParametersJSON Schema
NameRequiredDescriptionDefault
includeRawNoIf true, includes the raw BRC settings record for operator review. Customer-facing responses should normally leave this false.
companyNameYesCompany context name, for example YOUR-COMPANY-NAME.
connectionRefNoOpaque Red connection reference returned by brc_confirm_company_connection. Pass this exact value on every later tool call when the MCP client rotates session ids (for example Vibe/Mistral). Keep reusing the same connectionRef after successful tool calls — do not start a new connection because a lookup returned empty or partial data. It is not an API key and does not contain credentials.

TDQS

A3.5/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare read-oly, non-destructive behavior, so the description does not need to repeat that. It adds the behavioral context that these settings affect VAT-sensitive accounting workflows, which is useful, but it does not explain the shape of the response or any other operational traits beyond what annotations cover.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

One short, front-loaded sentence with no filler. Every word earns its place, and the VAT qualifier adds meaning rather than bulk.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

The schema covers all parameters and annotations cover safety, but there is no output schema and the description does not explain what the returned settings contain or how this getter differs from the many sibling settings getters. An agent could call it for a VAT-processing question, but may not be certain it is the right choice among similar tools.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, and the parameter descriptions for companyName, includeRaw, and connectionRef are already detailed. The tool description itself adds no additional parameter semantics, so the baseline score of 3 is appropriate.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states a specific verb and resource ('Returns company processing settings') and adds a useful qualifier about VAT-sensitive accounting workflows, so it goes beyond a tautology. It does not enumerate what the settings are or explicitly contrast with sibling getters, but the core purpose is understandable.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description implies a context — settings relevant to VAT-sensitive workflows — but never states when to choose this tool over the many related settings tools such as brc_get_company_reference_settings or brc_list_company_settings. It provides no explicit when/when-not guidance or named alternatives.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

brc_get_company_reference_settingsGet Company Reference SettingsA
Read-only
Inspect

Returns quote and transaction reference settings. An Unknown quote-reference setting does not establish automatic reference generation.

ParametersJSON Schema
NameRequiredDescriptionDefault
includeRawNoIf true, includes the raw BRC company setup record for operator review. Customer-facing responses should normally leave this false.
companyNameYesCompany context name, for example YOUR-COMPANY-NAME.
connectionRefNoOpaque Red connection reference returned by brc_confirm_company_connection. Pass this exact value on every later tool call when the MCP client rotates session ids (for example Vibe/Mistral). Keep reusing the same connectionRef after successful tool calls — do not start a new connection because a lookup returned empty or partial data. It is not an API key and does not contain credentials.

TDQS

A3.8/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint=true and destructiveHint=false, so the safety profile is covered. The description adds a genuine behavioral disclosure: an Unknown quote-reference setting does not establish automatic reference generation. This is exactly the kind of edge-case behavior an agent couldn't infer from annotations or schema, and it prevents misinterpretation of returned settings. The includeRaw parameter description also clarifies operator versus customer-facing use, which is behavioral context beyond basic safety.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two sentences, front-loaded with the primary purpose, followed by a concise behavioral caveat. No wasted words. Slightly more could be packed in about related tools, but the length is appropriate for a simple read operation.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a read-only tool with no output schema and a 100% schema-covered parameter set, the description covers the essential behavior and the critical edge case (Unknown reference settings). The connectionRef reuse guidance lives in the schema, so it's not missing. It doesn't describe the return shape, but with no output schema and a simple settings lookup, the main risk — misinterpreting Unknown as automatic generation — is explicitly addressed.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so the schema already documents all three parameters well. However, the description adds value on the connectionRef parameter by explaining the opaque nature, session-id rotation behavior, and reuse guidance — details not present in the schema's terse 'Opaque Red connection reference' text. The includeRaw guidance about customer-facing responses is also in the schema, so the description's contribution is mainly around connectionRef semantics, which pushes it above baseline 3.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description states a specific verb ('Returns') and resource ('quote and transaction reference settings'), clearly distinguishing this from sibling tools like brc_get_company_processing_settings or brc_list_company_settings. It doesn't explicitly name a sibling, but the resource scope ('reference settings') is specific enough. The second sentence about Unknown quote-reference settings adds meaningful behavior detail.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description implies when to use it (when you need quote/transaction reference settings), but does not explicitly say when not to use it or name alternatives like brc_get_company_processing_settings or brc_check_transaction_settings. The sibling list includes several settings-related tools, so some exclusion guidance would help, but the resource naming is fairly clear.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

brc_get_company_setup_configGet Company Setup ConfigurationA
Read-only
Inspect

Gets full BRC company setup configuration, including general details, financial year, reference settings, and processing options.

ParametersJSON Schema
NameRequiredDescriptionDefault
companyNameYesCompany context name, for example YOUR-COMPANY-NAME.
connectionRefNoOpaque Red connection reference returned by brc_confirm_company_connection. Pass this exact value on every later tool call when the MCP client rotates session ids (for example Vibe/Mistral). Keep reusing the same connectionRef after successful tool calls — do not start a new connection because a lookup returned empty or partial data. It is not an API key and does not contain credentials.

TDQS

A3.6/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already cover read-only and non-destructive behavior. The description adds the output content categories but does not explain return shape or edge-case behavior; that is acceptable given the annotations and simple nature of the tool.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

One sentence with no filler: the main behavior is front-loaded and the content groups are enumerated clearly without unnecessary repetition of the title.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

The tool has only two parameters with full schema descriptions, and the description gives enough high-level information about what the response covers. A note about preferring granular getters when only one section is needed would make it stronger, but the current definition is functional.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100% and both parameters are already documented in the schema, including rich context for connectionRef. The description itself adds no parameter-level detail, so the baseline score of 3 is appropriate.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a clear verb and resource: 'Gets full BRC company setup configuration,' and lists the major content sections. The scope is understandable, though it does not explicitly distinguish itself from sibling granular getters like brc_get_financial_year or br_c_get_process_settings.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description implies use it when you need the full company setup in one call, but it never states when to prefer the granular sibling tools instead. There is no explicit guidance on when-not-to-use or alternative selection.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

brc_get_customerGet CustomerB
Read-only
Inspect

Gets one BRC customer by id.

ParametersJSON Schema
NameRequiredDescriptionDefault
idYesCustomer id.
companyNameYesCompany context name, for example YOUR-COMPANY-NAME.
connectionRefNoOpaque Red connection reference returned by brc_confirm_company_connection. Pass this exact value on every later tool call when the MCP client rotates session ids (for example Vibe/Mistral). Keep reusing the same connectionRef after successful tool calls — do not start a new connection because a lookup returned empty or partial data. It is not an API key and does not contain credentials.

TDQS

B3.1/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint=true and destructiveHint=false, so the safety profile is covered. However, the description discloses no behavioral traits beyond that: nothing about not-found behavior, dependence on a prior confirmed connection, or whether the returned customer is the full object. The interesting connectionRef reuse guidance lives in the parameter schema, not the tool description.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

One short, front-loaded sentence: 'Gets one BRC customer by id.' Nothing is repeated from the title and there is zero filler, so every word earns its place. For the size of a simple read tool, this is ideal.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a low-complexity, single-record read with full schema coverage and suitable annotations, the essentials for invoking it correctly are present. Missing are usage context among the many get/list siblings and any mention of required preconditions (such as a connection), and because there is no output schema the tool description could have disclosed what to expect in the response. The tool is callable, but the description glosses over context.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%: 'id' and 'companyName' both have explanatory descriptions and 'connectionRef' carries a thorough explanation about reuse, session-id rotation, and that it is not a credential. With full schema coverage, the description is not required to add parameter detail; it neither helps nor hurts beyond the baseline.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description names a specific verb ('Gets'), a concrete resource ('BRC customer'), and a selection method ('by id'), which separates it clearly from list_customers and create/update/delete_customer siblings. It does not explicitly disambiguate from brc_get_customer_opening_balance or brc_get_customer_account_trans, but its single-record intent is unambiguous.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

There is no statement about when to use this tool versus alternatives. It does not say 'use this when you have a customer id (unlike brc_list_customers when you need multiple)' nor does it warn against using it when a connection has not been confirmed. Usage is only implied by the tool name and the word 'by id'.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

brc_get_customer_opening_balanceGet Customer Opening BalanceC
Read-only
Inspect

Gets a customer's opening balance.

ParametersJSON Schema
NameRequiredDescriptionDefault
itemIdYesCustomer item id.
companyNameYesCompany context name, for example YOUR-COMPANY-NAME.
connectionRefNoOpaque Red connection reference returned by brc_confirm_company_connection. Pass this exact value on every later tool call when the MCP client rotates session ids (for example Vibe/Mistral). Keep reusing the same connectionRef after successful tool calls — do not start a new connection because a lookup returned empty or partial data. It is not an API key and does not contain credentials.

TDQS

C2.9/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint=true and destructiveHint=false, so the safe read nature is covered. The description itself adds no behavioral context beyond restating the read operation: it does not mention what the opening balance represents, how it is calculated, what period it refers to, or what the return payload contains.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single short sentence with no wasted words and is front-loaded with the core action. It is appropriately brief for a simple read operation, though the brevity leaves several contextual gaps that a longer description could have addressed.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

With no output schema and a terse description, the agent gets no information about the return value shape, such as amount, currency, or period. It also lacks any pointer to related tools like brc_list_customer_op_lal_balance_transactions or how an empty balance should be interpreted. Despite simple required parameters, this is insufficient guidance for navigating the large sibling family.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The schema covers all parameters with descriptions, including the important semantics of connectionRef. Since schema_description_coverage is 100%, the baseline of 3 applies. The tool description itself adds no parameter meaning beyond saying the balance is for a customer, which is marginally tied to itemId and companyName.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description states a specific verb and resource: 'Gets a customer's opening balance.' This is clear and distinguishes the target data (customer opening balance) from plainly getting a customer. However, it does not explicitly distinguish itself from overlapping siblings like brc_get_supplier_opening_balance or brc_list_customer_op_bal_trans, so it misses the top score.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides no guidance on when to use this tool versus alternatives. It does not mention related tools such as brc_list_customer_op_bal_trans for transactions or brc_get_supplier_opening_balance for suppliers, and it offers no prerequisites or context for when this call is appropriate.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

brc_get_deployment_policyGet Deployment PolicyA
Read-only
Inspect

Returns the deployment capability and permission summary, including enabled action groups and development-mode status.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

A3.8/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint=true and destructiveHint=false, so the safety profile is clear. The description adds some useful behavioral context by specifying the summary includes action groups and development-mode status, but it does not disclose additional traits such as authentication needs or scope limitations. This is adequate but not enriched.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single sentence with no redundant wording. It front-loads the main return value and immediately provides the two most relevant content categories, making it easy to scan.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

With zero parameters, an empty schema, and annotations covering safety, the description provides the key return-value information an agent needs. Because there is no output schema, the description adequately explains what the tool returns, though it could be slightly more explicit about the permission summary's structure.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The input schema has zero parameters and the description correctly does not mention any. Since there is nothing to document beyond the schema, the baseline for a no-parameter tool applies and the description is sufficient.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool 'Returns the deployment capability and permission summary' with specific content details, including 'enabled action groups and development-mode status.' This is a specific verb plus resource and effectively distinguishes it from all sibling getter tools.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

There is no guidance on when to use this tool versus alternatives, and no exclusions or alternative tool mentions. The description only states what the tool returns, leaving the agent to infer usage context without support.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

brc_get_financial_yearGet Financial YearB
Read-only
Inspect

Gets BRC company financial year.

ParametersJSON Schema
NameRequiredDescriptionDefault
companyNameYesCompany context name, for example YOUR-COMPANY-NAME.
connectionRefNoOpaque Red connection reference returned by brc_confirm_company_connection. Pass this exact value on every later tool call when the MCP client rotates session ids (for example Vibe/Mistral). Keep reusing the same connectionRef after successful tool calls — do not start a new connection because a lookup returned empty or partial data. It is not an API key and does not contain credentials.

TDQS

B3.1/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint=true and destructiveHint=false, so the main behavioral safety profile is covered. The description adds no further behavioral context beyond 'Gets', such as what the returned financial year represents, whether it depends on company configuration, or any edge cases, so no value is being added beyond the annotations.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is one short sentence with no filler or repetition. It front-loads the action and object immediately and earns every word it uses.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a simple read-only getter with one required and one well-documented optional parameter, the description is minimal but usable. However, because there is no output schema and no definition of what 'financial year' returns, an agent may not know whether to expect a year value, dates, or a fiscal period object, so the context is adequate but not complete.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so the parameter meanings are already fully documented in the input schema, including the detailed connectionRef guidance. The description itself adds no parameter-level information, which is acceptable but not additive.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description uses a clear verb ('Gets') and identifies the resource ('BRC company financial year'), which makes the tool's basic intent recognizable. It does not contrast itself with sibling getters, but the resource is specific enough that confusion is unlikely.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

There is no guidance about when to call this tool instead of other company-related getters, nor any mention of prerequisites such as an established connection. The single sentence states only that the tool gets the financial year, leaving selection criteria to inference.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

brc_get_help_resource_detailsGet Help Resource DetailsA
Read-only
Inspect

Returns detailed public help-resource content, ordered instruction blocks, signed screenshot links, source metadata and optional image content. Read-only and available without a connected company.

ParametersJSON Schema
NameRequiredDescriptionDefault
questionNoOptional customer question used to select the matching Freshdesk workflow screenshots, for example an existing-customer opening balance question versus adding a new customer.
maxImagesNoMaximum Freshdesk screenshots to return. Defaults to 5. Hard maximum 8.
resourceIdYesResource ID from brc_red_help or brc_find_help_resources, for example customer_docs:bank-reconciliation or freshdesk:1001.
includeImagesNoWhen true, Freshdesk articles may include screenshot presentation. Defaults to true.
imagePresentationNoHow to present Freshdesk screenshots. Defaults to links (signed Markdown links only). Use inline for MCP image blocks, or both for Markdown plus image blocks.

TDQS

A3.6/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint=true and destructiveHint=false, and the description reinforces this with 'Read-only'. It adds genuine behavioral context by noting the tool works without a connected company and that it returns signed screenshot links, ordered instruction blocks, source metadata, and optional image content.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two short sentences with no filler. It front-loads the core purpose, then adds the key operating constraint (read-only, no connected company). Every part earns its place.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

The description covers what the tool returns, its read-only nature, and its availability without a connected company. Since there is no output schema, listing the return categories helps the agent know what to expect; the parameter schema handles the remaining invocation details.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so the schema already documents all five parameters clearly, including examples and defaults. The description contributes little additional parameter-level meaning beyond characterizing the general return content.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the operation ('Returns') and the specific resource ('detailed public help-resource content'), listing the kinds of data returned. It does not explicitly name sibling tools like brc_red_help or brc_find_help_resources, though the tool name and resourceId schema hint at the relationship.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description gives some context ('available without a connected company') but does not explicitly say when to use this tool versus alternatives such as brc_red_help or brc_find_help_resources. The resourceId parameter description mentions those sibling tools, but the description itself lacks that routing guidance.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

brc_get_nom_ac_ledger_by_idsGet Nominal Account Ledgers by IDsA
Read-only
Inspect

Returns nominal-account ledgers for supplied account IDs. Monthly values represent movements rather than monthly balances.

ParametersJSON Schema
NameRequiredDescriptionDefault
idsYesComma-separated nominal account ids.
companyNameYesCompany context name, for example YOUR-COMPANY-NAME.
connectionRefNoOpaque Red connection reference returned by brc_confirm_company_connection. Pass this exact value on every later tool call when the MCP client rotates session ids (for example Vibe/Mistral). Keep reusing the same connectionRef after successful tool calls — do not start a new connection because a lookup returned empty or partial data. It is not an API key and does not contain credentials.

TDQS

A3.5/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already cover the safety profile (readOnlyHint=true, destructiveHint=false), so the bar is lower. The description adds genuinely valuable behavioral context: 'Monthly values represent movements rather than monthly balances' — a semantic warning that prevents an agent from misinterpreting returned numbers. Consistent with the read-only annotation; no contradiction.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two sentences with zero waste. The first front-loads the core purpose; the second delivers the critical movement-vs-balance clarification. Every sentence earns its place, and nothing is repeated from the annotations or schema.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

There is no output schema, so the description carries the burden of explaining return values. It covers the key semantic trap (movements vs balances) but does not describe the ledger's structure or fields, which an agent would need to interpret results. Adequate for a moderate-complexity read tool, but with a clear gap around return format.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, with all three parameters (ids, companyName, connectionRef) documented in the schema — the connectionRef note is particularly rich. The tool description itself only loosely maps to the ids parameter ('supplied account IDs') and adds no format, syntax, or relationship details beyond the schema. Baseline 3 is appropriate.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description states a specific verb and resource: 'Returns nominal-account ledgers for supplied account IDs.' The plural scope ('IDs') distinguishes it from the close sibling brc_get_nominal_account_ledger_by_id, though the description does not explicitly contrast them. Slightly held back from 5 because the differentiation from the singular sibling relies on the name rather than an explicit statement.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No guidance on when to use this tool versus brc_get_nominal_account_ledger_by_id (singular) or brc_grouped_nominal_accounts_report. The description provides no selection criteria, prerequisites (e.g., obtaining account IDs first), or exclusions. The connectionRef parameter note in the schema gives session-management context but not tool-selection guidance.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

brc_get_nominal_account_ledger_by_idGet Nominal Account Ledger by IDA
Read-only
Inspect

Returns one nominal account ledger and its period movements. Monthly values represent movements rather than monthly balances.

ParametersJSON Schema
NameRequiredDescriptionDefault
idYesNominal account id.
companyNameYesCompany context name, for example YOUR-COMPANY-NAME.
connectionRefNoOpaque Red connection reference returned by brc_confirm_company_connection. Pass this exact value on every later tool call when the MCP client rotates session ids (for example Vibe/Mistral). Keep reusing the same connectionRef after successful tool calls — do not start a new connection because a lookup returned empty or partial data. It is not an API key and does not contain credentials.

TDQS

A3.8/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already provide readOnlyHint=true and destructiveHint=false, so the safety profile is covered. The description adds meaningful output semantics by clarifying that monthly values represent movements, not balances, which prevents misinterpretation of the returned data. It does not disclose behavior such as empty results, error conditions, or output structure, but for a read-only lookup the annotations carry the main burden.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two short sentences, front-loaded with the core purpose and then a clarifying data-semantics note. No filler, no repetition of the schema, and every sentence adds value.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a simple by-ID read operation with a clear resource and read-only annotations, the description is largely sufficient. Because there is no output schema, the description usefully names the return content ('ledger and its period movements') and clarifies the monthly-value interpretation. It could go slightly further by describing the shape of the ledger response, but the agent can call the tool correctly with what is given.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so all three parameters already have documented meanings. The description adds no parameter-level detail beyond what the schema provides, so the baseline score of 3 applies.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

Description clearly states a specific verb ('Returns'), a resource ('one nominal account ledger'), and the content ('its period movements'). The emphasis on 'one' helps distinguish it from the sibling brc_get_nom_ac_ledger_by_ids without opening either schema.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The word 'one' implies this tool is for a single nominal account, and the sibling name brc_get_nom_ac_ledger_by_ids hints at a plural alternative. However, the description never explicitly states when to prefer this tool or when to choose the by-ids variant, leaving the usage guidance implied rather than stated.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

brc_get_nominal_journal_batchGet Nominal Journal BatchA
Read-only
Inspect

Returns information about a single Nominal Journal Batch by id.

ParametersJSON Schema
NameRequiredDescriptionDefault
idYesNominal Journal Batch id.
companyNameYesCompany context name, for example YOUR-COMPANY-NAME.
connectionRefNoOpaque Red connection reference returned by brc_confirm_company_connection. Pass this exact value on every later tool call when the MCP client rotates session ids (for example Vibe/Mistral). Keep reusing the same connectionRef after successful tool calls — do not start a new connection because a lookup returned empty or partial data. It is not an API key and does not contain credentials.

TDQS

A3.8/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already communicate that this is read-only and non-destructive, so the description carries less burden. It adds the useful fact that exactly one batch is returned for an ID, but it does not describe what 'information' is returned or behavior such as not-found cases. With readOnlyHint and destructiveHint provided, this level is adequate but not additive.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single efficient sentence with no filler. It front-loads the action and identifies the resource and key lookup criterion immediately.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a simple, annotated, read-only get-by-ID tool, the description is generally sufficient: it tells the agent what the tool returns and the required lookup key. However, it does not mention the required companyName context in the description or describe the return structure, and there is no output schema to compensate. It still remains usable because the schema fully documents the required parameters.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, including a long and helpful explanation for connectionRef. The description itself adds no parameter-level detail, so this defaults to a 3; the schema carries the parameter semantics fully.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description states a specific verb ('Returns'), the resource ('Nominal Journal Batch'), and the selection key ('by id'). It clearly distinguishes retrieval of a single batch from sibling tools like brc_list_nominal_journal_batches, brc_create_nominal_journal_batch, brc_update_nominal_journal_batch, and brc_delete_nominal_journal_batch.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The phrase 'by id' implies this is for retrieving a specific existing batch rather than listing all batches, but it does not explicitly say when to prefer it over list alternatives or that a company context is also required beyond the ID. Usage context is implied rather than stated.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

brc_get_paymentGet PaymentA
Read-only
Inspect

Gets one BRC payment by id.

ParametersJSON Schema
NameRequiredDescriptionDefault
idYesPayment id.
companyNameYesCompany context name, for example YOUR-COMPANY-NAME.
connectionRefNoOpaque Red connection reference returned by brc_confirm_company_connection. Pass this exact value on every later tool call when the MCP client rotates session ids (for example Vibe/Mistral). Keep reusing the same connectionRef after successful tool calls — do not start a new connection because a lookup returned empty or partial data. It is not an API key and does not contain credentials.

TDQS

A3.6/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

The annotations already disclose readOnlyHint=true and destructiveHint=false, and the description aligns with those. It adds no meaningful behavioral context beyond "gets," such as behavior on missing IDs, response shape, or permissions, but it does not contradict the annotations.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is extremely succinct, about six words, and front-loads the key verb plus the resource. There is zero redundancy or unnecessary detail, which is appropriate for a simple get-by-id tool.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a straightforward read-only operation with only three params, the description, schema, and annotations provide enough to invoke the tool correctly. The main omission is a more explicit note distinguishing this from brc_get_cash_payment and clarifying what a returned payment record looks like in a real Payment with no output schema.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The input schema has 100% description coverage and already explains all three parameters, including the required companyName and id and the optional connectionRef. The description itself adds no new parameter-level semantics, so it meets the schema-covered baseline of 3.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description uses the specific verb "Gets" and names the precise resource "one BRC payment" and the lookup method "by id," so the core action is unambiguous. It differentiates from list/batch tools, but it does not explicitly clarify the distinction from related get tools such as brc_get_cash_payment.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The "by id" wording implies this tool is for fetching a single known payment rather than listing or batching, but there is no explicit when-to-use or when-not-to-use guidance. The description does not mention alternatives, so the agent is left to infer the usage boundary from the tool name and phrasing.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

brc_get_prepaymentGet PrepaymentA
Read-only
Inspect

Returns information about a single parent Prepayment by id. Child prepayments are not exposed by the public API.

ParametersJSON Schema
NameRequiredDescriptionDefault
idYesParent prepayment id.
companyNameYesCompany context name, for example YOUR-COMPANY-NAME.
connectionRefNoOpaque Red connection reference returned by brc_confirm_company_connection. Pass this exact value on every later tool call when the MCP client rotates session ids (for example Vibe/Mistral). Keep reusing the same connectionRef after successful tool calls — do not start a new connection because a lookup returned empty or partial data. It is not an API key and does not contain credentials.

TDQS

A4.2/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint=true and destructiveHint=false, so the safety profile is covered. The description adds meaningful behavioral context by clarifying that only parent prepayments are returned and that child prepayments are inaccessible through the public API.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description uses two short, purposeful sentences. The main action and resource are front-loaded, and the child-prepayment caveat is a valuable secondary note with no wasted wording.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a simple get-by-id operation with full schema coverage and read-only annotations, the description covers the essential usage and key limitation. It does not detail the exact return object shape, and there is no output schema to clarify what 'information' contains, but this is a minor gap.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

All three parameters are already documented in the schema with 100% coverage, including a detailed explanation of connectionRef. The description does not add additional parameter-specific guidance beyond schema, so the baseline score of 3 is appropriate.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the action ('Returns information'), the resource ('a single parent Prepayment'), and the access method ('by id'). It also explicitly differentiates from child prepayments, making it easy to distinguish from brc_list_prepayments and the other get_* siblings.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The 'by id' specification conveys exactly when this tool should be used, and the note that child prepayments are not exposed sets a clear exclusion boundary. It does not explicitly name an alternative like brc_list_prepayments, but the intended context is unmistakable for a single-entity getter.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

brc_get_productGet ProductA
Read-only
Inspect

Gets one BRC product by id.

ParametersJSON Schema
NameRequiredDescriptionDefault
idYesProduct id.
companyNameYesCompany context name, for example YOUR-COMPANY-NAME.
connectionRefNoOpaque Red connection reference returned by brc_confirm_company_connection. Pass this exact value on every later tool call when the MCP client rotates session ids (for example Vibe/Mistral). Keep reusing the same connectionRef after successful tool calls — do not start a new connection because a lookup returned empty or partial data. It is not an API key and does not contain credentials.

TDQS

A3.5/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint=true and destructiveHint=false, so the description does not need to restate safety. It adds no further behavioral context such as handling of missing ids or connection requirements, but it also does not contradict the annotations.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single front-loaded sentence with no filler or redundancy. It is appropriately compact for a simple getter, even though it leaves sibling-selection nuance to the reader.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Together with the detailed schema and read-only annotations, the description is sufficient for an agent to call the tool safely and correctly for a single identified product. It omits return-shape and not-found guidance, but for a get-by-id tool these are minor gaps.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The input schema covers all three parameters with descriptions, including the important connectionRef contract, so the description does not need to repeat parameter-level guidance. 'by id' adds little semantic detail beyond what the schema already states.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly names the action ('Gets'), the resource ('BRC product'), and the lookup key ('by id'), so it is unambiguous as a single-record getter. It also differentiates from list/batch products through the singular 'one', though it does not explicitly name those sibling tools.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The phrase 'by id' implies the tool should be used when a known product id needs to be fetched as a single record. It does not explicitly state when to prefer brc_list_products or brc_list_products_without_dormant instead, leaving the alternative selection largely implied.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

brc_get_purchaseGet PurchaseA
Read-only
Inspect

Gets one BRC purchase by id.

ParametersJSON Schema
NameRequiredDescriptionDefault
idYesPurchase id.
companyNameYesCompany context name, for example YOUR-COMPANY-NAME.
connectionRefNoOpaque Red connection reference returned by brc_confirm_company_connection. Pass this exact value on every later tool call when the MCP client rotates session ids (for example Vibe/Mistral). Keep reusing the same connectionRef after successful tool calls — do not start a new connection because a lookup returned empty or partial data. It is not an API key and does not contain credentials.

TDQS

A3.8/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already indicate readOnlyHint true and destructiveHint false, covering safety expectations. The description adds no extra behavioral details beyond the basic operation (e.g., return format, not-found behavior, or company requirement), but the annotations remove the need to re-state safety. Overall the tension is present but low-risk due to the read-only annotation.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The entire description is one concise sentence with no fluff. It puts the core action first and contains a clear ID for scoping, maximizing readability with minimum words.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Combined with a fully descriptive schema, annotations, and the clear read-only nature from the sibling set, the description supplies enough to call the tool correctly. While there is no output schema and the description doesn't explain return values, that information is not critical for a direct get-by-id invocation and is largely implicit from the tool's name. The connectionRef behavior is well handling in the schema description.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Input schema covers 100% of parameters with descriptive text, including companyName and connectionRef details. The description itself does not add parameter information beyond identifying id be the lookup key, so by default the schema carries semantics. The parameter details are complete; describing them in the text is not required given the schema's coverage.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description uses a specific verb ('Gets'), names the resource ('brc_purchase'), and scopes it by 'by id'. This makes it immediately distinct from batch, list, create, and update tools in the sibling set.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description implies usage when you already have a purchase id, but it does not explicitly state when to choose this tool over alternatives for non-read operations. There is no mention of exclusions or a preferred alternative (e.g., when to use a list or search instead). The 'by id' phrasing gives minimal context but not explicit guidance.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

brc_get_quoteGet QuoteA
Read-only
Inspect

Gets one BRC quote by id. List and get may not return the same fields (for example note or analysis account codes); treat those as representation differences, not as create or update failures.

ParametersJSON Schema
NameRequiredDescriptionDefault
idYesQuote id.
companyNameYesCompany context name, for example YOUR-COMPANY-NAME.
connectionRefNoOpaque Red connection reference returned by brc_confirm_company_connection. Pass this exact value on every later tool call when the MCP client rotates session ids (for example Vibe/Mistral). Keep reusing the same connectionRef after successful tool calls — do not start a new connection because a lookup returned empty or partial data. It is not an API key and does not contain credentials.

TDQS

A4/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Read-only and destructive hints already label this as safe. The description goes beyond those by warning that list and get can expose different field sets and that such differences should not be read as create/update failures. This is a useful, non-obvious behavioral distinction.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two concise sentences with the core action first and the field-difference caveat second. Every sentence carries rationale and there is no repetition of schema or annotations.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a simple read-only get-by-id tool, the definition is largely complete: required id and companyName are documented, connectionRef has thorough guidance, and readOnlyHint/destructiveHint cover side effects. A minor gap is that the return shape beyond note/analysis account codes is not described, but no output schema exists and this is not blocking for correct invocation.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so all three parameters are already documented, and connectionRef is elaborately explained. The tool description itself adds no material parameter information beyond 'by id,' so a baseline 3 is appropriate.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific action ('Gets one BRC quote by id') and names an obvious distinguishing behavior: list and get may return different fields. This clearly differentiates it from sibling tools like list_quotes.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description implies the tool is right when an id is known and that list serves a different purpose, but it never explicitly names a list/quote query alternative or gives when-not-to-use guidance. Usage is clear but inferred rather than stated.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

brc_get_sales_credit_noteGet Sales Credit NoteB
Read-only
Inspect

Gets one BRC sales credit note by id.

ParametersJSON Schema
NameRequiredDescriptionDefault
idYesSales credit note id.
companyNameYesCompany context name, for example YOUR-COMPANY-NAME.
connectionRefNoOpaque Red connection reference returned by brc_confirm_company_connection. Pass this exact value on every later tool call when the MCP client rotates session ids (for example Vibe/Mistral). Keep reusing the same connectionRef after successful tool calls — do not start a new connection because a lookup returned empty or partial data. It is not an API key and does not contain credentials.

TDQS

B3.4/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

The annotations already declare readOnlyHint=true and destructiveHint=false, so the agent knows this is a safe read operation. The description adds the singular 'by id' semantic but does not provide additional behavioral context such as missing-record behavior, authorization needs, or rate limits. This is acceptable because the annotations carry the safety profile.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

A single sentence with no filler, and the core operation is front-loaded. It is appropriately concise, though it adds little beyond the tool name and could include a small note about return behavior without sacrificing brevity.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a single-record getter with a relatively simple input contract, the description is basically sufficient. There is no output schema, and the description does not indicate whether the tool returns a single object, returns null on missing ids, or throws an error. This is not critical for an agent to try calling it, but it leaves some return-behavior ambiguity.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so the input schema already documents id, companyName, and connectionRef, including the important session-rotation guidance for connectionRef. The description does not add parameter-level detail, but the schema handles that responsibility well. This matches the baseline where structured descriptions do the heavy lifting.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the verb and resource: 'Gets one BRC sales credit note by id.' It is distinguishable from list and batch siblings because it scopes the call to a single credit note and requires an id. It is specific and unambiguous, though it does not explicitly name related siblings.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description implies usage: when you have a credit note id and need one record. It does not mention when to prefer brc_list_sales_credit_notes or brc_batch_sales_credit_notes. There is no explicit when-to-use or exclusions, so usage guidance is adequate but not strong.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

brc_get_sales_entryGet Sales EntryA
Read-only
Inspect

Gets one BRC sales entry by id.

ParametersJSON Schema
NameRequiredDescriptionDefault
idYesSales entry id.
companyNameYesCompany context name, for example YOUR-COMPANY-NAME.
connectionRefNoOpaque Red connection reference returned by brc_confirm_company_connection. Pass this exact value on every later tool call when the MCP client rotates session ids (for example Vibe/Mistral). Keep reusing the same connectionRef after successful tool calls — do not start a new connection because a lookup returned empty or partial data. It is not an API key and does not contain credentials.

TDQS

A3.8/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

The description says 'Gets', matching the annotations of readOnlyHint=true and destructiveHint=false. It adds no behavioral information beyond the annotations, such as missing-record behavior or needed connection state, but nothing contradicts the annotations either.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single purpose sentence with no filler, and the core operation is front-loaded.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a simple single-record getter, the description is adequate: the required company context and connectionReference behaviors are described in the schema itself. There is no output schema, and the description could add expected return shape, but it is not necessary for such an obvious retrieval operation.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100%, and the schema documents id, companyName, and especially connectionRef in detail. The description adds only 'by id', which is redundant with the id property, so no extra semantic value is contributed.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description states a specific verb, resource, and lookup key: 'Gets one BRC sales entry by id.' This unambiguously distinguishes it from sibling get_* tools for other transaction types and from list/batch tools.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

It is clear that this is for retrieving a single sales entry by id, which implies usage context, but there is no explicit guidance about when to choose it over brc_batch_sales_entries or the other get_* siblings, nor any exclusions.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

brc_get_sales_invoiceGet Sales InvoiceA
Read-only
Inspect

Gets one BRC sales invoice by id.

ParametersJSON Schema
NameRequiredDescriptionDefault
idYesSales invoice id.
companyNameYesCompany context name, for example YOUR-COMPANY-NAME.
connectionRefNoOpaque Red connection reference returned by brc_confirm_company_connection. Pass this exact value on every later tool call when the MCP client rotates session ids (for example Vibe/Mistral). Keep reusing the same connectionRef after successful tool calls — do not start a new connection because a lookup returned empty or partial data. It is not an API key and does not contain credentials.

TDQS

A3.5/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint=true and destructiveHint=false, so the safety profile is covered. The description accurately reflects a read-only retrieval and adds no contradictions, but it also offers no extra behavioral context such as failure behavior, return format, or interaction with connectionRef.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is one short, front-loaded sentence with no filler or repetition. It states the core function immediately and does not waste the agent's attention on irrelevant details.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a straightforward single-record get, the description is reasonably complete, especially with schema coverage at 100%. However, it omits mention that the tool requires company context via companyName and gives no indication of the return shape, which is more noticeable because there is no output schema.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The input schema has 100% parameter descriptions, including id, companyName, and connectionRef. The description itself does not add semantic meaning beyond what the schema already provides, so the schema carries the full burden and the baseline of 3 is appropriate.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description states a specific verb ('Gets') and a specific resource ('one BRC sales invoice') with an explicit lookup key ('by id'). This clearly distinguishes it from list, batch, create, update, and delete invoice tools without needing to open the schema.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description gives no guidance about when to use this tool versus alternatives like brc_list_sales_invoices, brc_batch_sales_invoices, or brc_get_sales_entry. There are no stated conditions, exclusions, or references to sibling tools, so an agent has to infer the appropriate usage.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

brc_get_sales_repGet Sales RepresentativeA
Read-only
Inspect

Gets one BRC sales rep by id.

ParametersJSON Schema
NameRequiredDescriptionDefault
idYesSales rep id.
companyNameYesCompany context name, for example YOUR-COMPANY-NAME.
connectionRefNoOpaque Red connection reference returned by brc_confirm_company_connection. Pass this exact value on every later tool call when the MCP client rotates session ids (for example Vibe/Mistral). Keep reusing the same connectionRef after successful tool calls — do not start a new connection because a lookup returned empty or partial data. It is not an API key and does not contain credentials.

TDQS

A3.8/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint=true and destructiveHint=false, and the description aligns with these. However, the description adds no additional behavioral context such as error behavior, missing-id semantics, or how the returned sales rep is structured.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single, front-loaded sentence with no filler. It directly states the action, target, and filter, and every word contributes to understanding the tool.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a simple read-only point lookup, the description plus the fully documented input schema is sufficient for an agent to call the tool correctly. The main gap is not describing the response shape or not-found behavior, but this is minor for a get-by-id tool with no output schema.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so all parameters (id, companyName, connectionRef) already have their semantics defined. The tool description adds no extra parameter-level context beyond what the schema provides, so it stays at the baseline.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description uses a specific verb ('Gets'), names the resource ('one BRC sales rep'), and explicitly identifies the lookup key ('by id'). This makes it clearly distinct from sibling tools like brc_list_sales_reps, brc_create_sales_rep, brc_update_sales_rep, and brc_delete_sales_rep.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The phrase 'by id' implies this tool is for retrieving a single sales rep, but it does not explicitly state when to use it over brc_list_sales_reps or mention any exclusions. Usage context is implied rather than clearly defined.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

brc_get_supplierGet SupplierA
Read-only
Inspect

Gets one BRC supplier by id.

ParametersJSON Schema
NameRequiredDescriptionDefault
idYesSupplier id.
companyNameYesCompany context name, for example YOUR-COMPANY-NAME.
connectionRefNoOpaque Red connection reference returned by brc_confirm_company_connection. Pass this exact value on every later tool call when the MCP client rotates session ids (for example Vibe/Mistral). Keep reusing the same connectionRef after successful tool calls — do not start a new connection because a lookup returned empty or partial data. It is not an API key and does not contain credentials.

TDQS

A3.8/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint=true and destructiveHint=false, so the read-only nature is fully covered. The description does not add behavioral detail like not-found behavior or company context requirements, but it also does not contradict the annotations.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single sentence with no wasted words. 'Gets one BRC supplier by id' is direct, front-loaded, and perfectly sized for a simple getter.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a basic get-by-id operation, the description plus the rich schema and read-only annotations is largely complete. The only missing context is explicit handling of missing/empty results or the reason for the required companyName, but these are minor given the full schema descriptions.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so each parameter is already documented in detail. The description adds no parameter-specific guidance beyond 'by id', but the schema already carries the full semantic burden for id, companyName, and connectionRef.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description uses a specific verb ('Gets'), a specific resource ('one BRC supplier'), and the lookup criterion ('by id'). It clearly distinguishes this tool from listing tools like brc_list_suppliers and brc_batch_suppliers, so an agent can immediately understand it is the single-item lookup.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Usage context is implied: use this when you need one supplier by id. However, the description does not explicitly mention alternatives or say when not to use it, such as when retrieving opening balances or supplier lists. The agent must infer the appropriate context.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

brc_get_supplier_opening_balanceGet Supplier Opening BalanceC
Read-only
Inspect

Gets a supplier's opening balance.

ParametersJSON Schema
NameRequiredDescriptionDefault
itemIdYesSupplier item id.
companyNameYesCompany context name, for example YOUR-COMPANY-NAME.
connectionRefNoOpaque Red connection reference returned by brc_confirm_company_connection. Pass this exact value on every later tool call when the MCP client rotates session ids (for example Vibe/Mistral). Keep reusing the same connectionRef after successful tool calls — do not start a new connection because a lookup returned empty or partial data. It is not an API key and does not contain credentials.

TDQS

C2.6/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

The annotations already declare readOnlyHint=true and destructiveHint=false, so the description does not need to restate basic safety. However, it adds no additional behavioral context beyond the known single sentence, such as whether the opening balance is current-date-specific, what currency/account context applies, or what the response contains. It is safe but not transparent beyond the annotations.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single, front-added sentence with no filler or redundant sections. Every word is functional, even though it is low-effort from an informational perspective.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a simple getter with full parameter coverage and read-only annotations, the schema provides enough to attempt a call. Yet because there is no output schema and the description does not mention what exactly the tool returns, the agent is left to infer the return shape from the parameter. A short note on the balance being the supplier's opening ledger balance would create a slightly more complete decision context.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100%; the input schema already documents itemId, companyName, and connectionRef with reasonable descriptions. The tool description adds no parameter-level nuance, but the baseline of 3 is appropriate because the schema carries the heavy lifing for parameter semantics.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose2/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description is essentially a restatement of the title: 'Get Supplier Opening Balance' becomes 'Gets a supplier's opening balance.' It states the obvious action and resource but gives no additional specificity, so an agent is not helped to distinguish it from related siblings such as brc_get_customer_opening_balance or brc_list_supplier_op_bal_trans.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

There is no guidance about when to use this tool instead of alternatives such as brc_list_supplier_op_bal_trans or brc_get_supplier. The intended use is merely implied by the description, with no conditions, exclusions, or scenarios distinguishing this read operation from similar getters/lists.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

brc_grouped_nominal_accounts_reportGrouped Nominal Accounts ReportA
Read-only
Inspect

Returns a grouped nominal-account report with period movements rather than monthly balances.

ParametersJSON Schema
NameRequiredDescriptionDefault
companyNameYesCompany context name, for example YOUR-COMPANY-NAME.
connectionRefNoOpaque Red connection reference returned by brc_confirm_company_connection. Pass this exact value on every later tool call when the MCP client rotates session ids (for example Vibe/Mistral). Keep reusing the same connectionRef after successful tool calls — do not start a new connection because a lookup returned empty or partial data. It is not an API key and does not contain credentials.

TDQS

A3.6/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint=true and destructiveHint=false, so the safety profile is covered. The description adds one behavioral detail about output (period movements, not monthly balances), but does not disclose response format, period scope, or caveats.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

One sentence with no repetition or filler; the key distinction is front-loaded and every word earns its place.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Low-complexity read-only tool with two well-documented parameters and no output schema. The description gives the core return semantics, so an agent has enough to select and call it; richer return-format detail would be a bonus, not a blocker.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, with companyName and connectionRef already documented inline. The description adds no parameter-specific meaning, so baseline 3 is appropriate.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description identifies a concrete resource (grouped nominal-account report) and a specific verb ('Returns'), and adds a differentiating detail ('period movements rather than monthly balances'). It does not name or directly contrast a sibling tool, so it stops short of full differentiation.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The statement implies the tool is for obtaining a grouped nominal account report presented by period movements, which gives some selection context. It does not explicitly state when to prefer this over brc_list_nominal_accounts or brc_get_nom_ac_ledger_by_i ds, nor provide when-not-to-use guidance.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

brc_list_accountsList AccountsC
Read-only
Inspect

Lists BRC accounts.

ParametersJSON Schema
NameRequiredDescriptionDefault
topNo
pageNo
skipNo
filterNoOptional OData $filter expression, only if this endpoint supports filtering.
orderByNoOptional OData $orderby expression, only if this endpoint supports ordering.
pageSizeNo
companyNameYesCompany context name, for example YOUR-COMPANY-NAME.
connectionRefNoOpaque Red connection reference returned by brc_confirm_company_connection. Pass this exact value on every later tool call when the MCP client rotates session ids (for example Vibe/Mistral). Keep reusing the same connectionRef after successful tool calls — do not start a new connection because a lookup returned empty or partial data. It is not an API key and does not contain credentials.

TDQS

C2.4/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already provide the safety profile (readOnlyHint=true, destructiveHint=false), but the description adds zero behavioral context on top: no pagination semantics, no filter/orderBy capability, no note about paged results being a list. There is no contradiction with annotations, but the description carries no behavioral load.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness3/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single short sentence with no dead weight, so it is efficient. But it is so terse it mostly restates the title 'List Accounts' plus the acronym, and for a tool with eight parameters and many siblings it comes across as under-specification rather than tight writing.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

With eight parameters, no output schema, and a large sibling family, the description tells an agent nothing about what an 'account' is, what the returned list contains, how the OData/pagination params interact, or any prerequisites. The schema fills in some gaps (connectionRef instructions are useful), but the description itself leaves nearly all context empty. An agent selecting between this and ~20 other list_* tools has insufficient information.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is only 50%, and the four least-documented parameters (top, page, skip, pageSize) are pagination controls that the description entirely ignores. The sentence 'Lists -BRC accounts' adds no meaning beyond the schema descriptions that already exist for companyName, connectionRef, filter, and orderBy.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose3/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description states a verb and resource ('Lists BRC accounts'), so it is not a pure tautology. However, 'accounts' is ambiguous given the sibling set, which includes brc_list_nominal_accounts, brc_list_bank_accounts, and brc_list_customer_account_trans; the description gives no indication of which account type this covers, only adding 'BRC' on top of the title.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No guidance exists on when to use this tool versus alternatives or what precursor steps are required (e.g., whether a company connection must be confirmed first). The agent gets nothing to disambiguate it from the many other list_* siblings.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

brc_list_accrualsList AccrualsA
Read-only
Inspect

Returns a list of the company's Accruals. Supports optional OData filtering by entryDate. Supports optional ordering by id.

ParametersJSON Schema
NameRequiredDescriptionDefault
topNoOptional page size.
skipNoOptional number of records to skip.
filterNoOptional OData filter. Filtering is allowed by entryDate, for example: entryDate ge 2024-03-01T00:00:00.
orderByNoOptional OData order by. Ordering is allowed by id, for example: id desc.
companyNameYesCompany context name, for example YOUR-COMPANY-NAME.
connectionRefNoOpaque Red connection reference returned by brc_confirm_company_connection. Pass this exact value on every later tool call when the MCP client rotates session ids (for example Vibe/Mistral). Keep reusing the same connectionRef after successful tool calls — do not start a new connection because a lookup returned empty or partial data. It is not an API key and does not contain credentials.

TDQS

A3.8/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare this as read-only, non-destructive, and open-world=false. The description adds the important behavioral detail that filtering is limited to entryDate and ordering is limited to id, which is genuinely useful. But it does not describe pagination behavior, result shape, or limits. With annotations covering the safety profile, this is a 3.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two sentences, each serving a clear purpose: the first describes the core action and resource, the second lists the additional query capabilities. No fluff or repetition. A model can read this quickly and know what the tool does.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a read-only list operation with detailed schema coverage for every parameter, the definition is complete enough. Pagination via top and skip is documented in the schema, and the company context is captured by a required companyName parameter. There is no output schema, but the description already conveys that an accrual list is returned; a detailed output shape would be the next missing piece, but is not critical for selecting the tool.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so every parameter already has a meaningful explanation. The description mostly repeats the filter and orderBy constraints that the schema already provides, and does not add any semantic nuance beyond that. The baseline of 3 applies because the schema already does the heavy lifting.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

Description says exactly what it returns: a list of the company's Accruals. It also states the available OData filter and ordering options, which separates it from singular tools like brc_get_accrual or mutating ones like brc_create_accrual.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The context of use is implied: use this when you need to retrieve accruals as a list. However, it does not explicitly say when to prefer this over brc_get_accrual or how to combine skip/top with the described filter/order, so the guidance remains implicit rather than explicit.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

brc_list_allocated_transactionsList Allocated TransactionsB
Read-only
Inspect

Returns existing transaction allocations and their identifiers.

ParametersJSON Schema
NameRequiredDescriptionDefault
bookTranIdYesBook transaction id to allocate from, for example 1001.
companyNameYesCompany context name, for example YOUR-COMPANY-NAME.
connectionRefNoOpaque Red connection reference returned by brc_confirm_company_connection. Pass this exact value on every later tool call when the MCP client rotates session ids (for example Vibe/Mistral). Keep reusing the same connectionRef after successful tool calls — do not start a new connection because a lookup returned empty or partial data. It is not an API key and does not contain credentials.

TDQS

B3.2/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already cover the safety profile (readOnlyHint=true, destructiveHint=false), so the bar is lower. The description adds that identifiers are returned, and the connectionRef schema note adds useful behavioral context about session-id rotation and reusing connections, although that lives in the schema rather than the description itself.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

A single front-loaded sentence stating the core purpose with zero waste. It is brief to the point of being thin, but for a simple read-only list tool this is appropriately sized.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Adequate for a simple read-only listing tool given strong annotations and full schema coverage, but incomplete in context: it does not explain what the returned identifiers are used for, how this relates to brc_update_allocations, or what differentiates it from brc_list_allocation_resolvers.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100% — all three parameters (bookTranId, companyName, connectionRef) are already documented in the schema. The tool description itself adds no parameter-level detail, so the baseline 3 applies.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb ('Returns') and resource ('existing transaction allocations'),plus what is returned ('identifiers'). Clear enough for an agent to know the fundamental action, but does not distinguish it from siblings such as brc_list_allocation_resolvers.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides no context on when to use this tool versus alternatives, no prerequisites (e.g., that a bookTranId likely comes from another call), and no mention of related allocation tools like brc_update_allocations or brc_delete_allocation_resolver.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

brc_list_allocation_resolversList Allocation ResolversB
Read-only
Inspect

Returns receiver transactions eligible for allocation updates.

ParametersJSON Schema
NameRequiredDescriptionDefault
bookTranIdYesBook transaction id to allocate from, for example 1001.
companyNameYesCompany context name, for example YOUR-COMPANY-NAME.
connectionRefNoOpaque Red connection reference returned by brc_confirm_company_connection. Pass this exact value on every later tool call when the MCP client rotates session ids (for example Vibe/Mistral). Keep reusing the same connectionRef after successful tool calls — do not start a new connection because a lookup returned empty or partial data. It is not an API key and does not contain credentials.

TDQS

B3.3/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint=true and destructiveHint=false, so the safety profile is known. The description adds no additional behavioral context such as output format, ordering, filtering, or side effects; it merely restates the operation. The 'eligible for allocation updates' clause describes selection criteria, not behavior beyond 'returns.'

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single, front-loaded sentence with no filler. Every word contributes meaning, and it is as concise as possible while still conveying the tool's purpose.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a simple list tool with fully documented parameters and read-only annotations, the description is mostly adequate. However, there is no output schema and the description does not clarify what a 'receiver transaction' is or how the returned data feeds into allocation updates, which would help an agent use the tool correctly in a workflow. A bit more context would improve completeness.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so the schema fully documents all parameters (bookTranId, companyName, and connectionRef). The description does not add any parameter-level guidance beyond what the schema already provides, so it meets the baseline for a fully-documented schema.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description states a specific verb ('Returns') and a specific resource ('receiver transactions eligible for allocation updates'), so an agent can tell what the tool does without opening the schema. It does not explicitly differentiate itself from similar list tools like brc_list_allocated_transactions or brc_delete_allocation_resolver, so it is clear but not fully sibling-distinct.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The phrase 'eligible for allocation updates' strongly implies this tool is a precursor to brc_update_allocations, but it does not explicitly state when to use this tool versus alternatives or when not to use it. No exclusions or alternative tools are named, so usage context is only implied.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

brc_list_analysis_categoriesList Analysis CategoriesB
Read-only
Inspect

Returns company analysis categories and their book context. Customer-control categories are distinct from Sales analysis categories.

ParametersJSON Schema
NameRequiredDescriptionDefault
topNo
pageNo
skipNo
filterNoOptional OData $filter expression, only if this endpoint supports filtering.
orderByNoOptional OData $orderby expression, only if this endpoint supports ordering.
pageSizeNo
companyNameYesCompany context name, for example YOUR-COMPANY-NAME.
connectionRefNoOpaque Red connection reference returned by brc_confirm_company_connection. Pass this exact value on every later tool call when the MCP client rotates session ids (for example Vibe/Mistral). Keep reusing the same connectionRef after successful tool calls — do not start a new connection because a lookup returned empty or partial data. It is not an API key and does not contain credentials.

TDQS

B3.1/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint=true and destructiveHint=false, so the safety profile is covered. The description adds that results include 'book context' and that category families are distinct, but it does not mention pagination, return shape, or other behavioral details. This is acceptable but not rich.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two short sentences with no filler. The core return scope is front-loaded, and the clarifying distinction about category families is placed second. Every word earns its place.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a simple read-only list operation with annotations covering safety, the description is minimally adequate. However, there is no output schema, no mention of pagination behavior, and no guidance on how the returned categories relate to the required companyName or connectionRef parameter. The gaps are not severe but are noticeable.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is only 50%, and the description itself does not explain any parameters. It neither clarifies the meaning of top, page, skip, and pageSize nor reinforces the connectionRef guidance. The description fails to compensate for the missing parameter documentation.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description uses a specific verb ('Returns') and identifies the resource as 'company analysis categories and their book context'. It also clarifies that customer-control categories are distinct from Sales analysis categories, which provides useful domain differentiation, though it does not explicitly name sibling tools.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No guidance is given on when to use this tool versus alternatives such as brc_list_category_types or brc_list_vat_analysis_types. The statement about customer-control vs. Sales categories is a domain fact rather than a usage guideline.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

brc_list_audit_logList Audit LogA
Read-only
Inspect

Returns current-session audit entries scoped to currently connected companies. Entries from other sessions, connections or companies are excluded.

ParametersJSON Schema
NameRequiredDescriptionDefault
connectionRefNoOpaque Red connection reference returned by brc_confirm_company_connection. Pass this exact value on every later tool call when the MCP client rotates session ids (for example Vibe/Mistral). Keep reusing the same connectionRef after successful tool calls — do not start a new connection because a lookup returned empty or partial data. It is not an API key and does not contain credentials.
includeTechnicalDetailsNoOnly set this to true if the user asks for technical details. Sensitive values are still redacted.

TDQS

A4/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already provide readOnlyHint=true and destructiveHint=false, so the safety profile is covered. The description adds session and company scoping, but does not disclose return format, pagination behavior, or any operational limits. This matches a read-only list tool whose annotations carry the core safety context.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two concise sentences with the primary action and scope front-loaded and no redundant wording. Every sentence earns its place: the first states what is returned, the second clarifies exclusions.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

The description is sufficient for a low-complexity list tool with two optional, fully documented parameters and read-only annotations. It does not mention return shape or pagination, but for this tool's advertised behavior that is a minor gap rather than a blocking omission.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, and both parameters have rich descriptions in the schema. The tool description itself adds no parameter-level detail, but none is needed because the schema already fully documents connectionRef and includeTechnicalDetails.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description uses a specific verb ('Returns') plus a clear resource ('current-session audit entries') and an explicit scope ('scoped to currently connected companies'). It also states what is excluded, which differentiates it from other list and clear tools like brc_clear_audit_log.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description makes clear this is for current-session audit entries and explicitly excludes other sessions, connections, or companies. It does not name an alternative tool or state when not to use it, but the scope itself is strong enough contextual guidance for an agent.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

brc_list_bank_accountsList Bank AccountsC
Read-only
Inspect

Lists BRC bank accounts.

ParametersJSON Schema
NameRequiredDescriptionDefault
topNo
pageNo
skipNo
filterNoOptional OData $filter expression, only if this endpoint supports filtering.
orderByNoOptional OData $orderby expression, only if this endpoint supports ordering.
pageSizeNo
companyNameYesCompany context name, for example YOUR-COMPANY-NAME.
connectionRefNoOpaque Red connection reference returned by brc_confirm_company_connection. Pass this exact value on every later tool call when the MCP client rotates session ids (for example Vibe/Mistral). Keep reusing the same connectionRef after successful tool calls — do not start a new connection because a lookup returned empty or partial data. It is not an API key and does not contain credentials.

TDQS

C2.6/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint=true and destructiveHint=false, covering safety. The description merely restates 'Lists' and adds no behavioral details that annotations don't provide, such as pagination defaults, response format, or the fact that companyName is a required context. No contradiction exists, but the description adds little behavioral context beyond the structured annotations.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness3/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is extremely short and front-loaded, which is good for conciseness. However, it is so brief that it borders on under-specification rather than effective conciseness. No waste exists, but a bit more explanatory content would make it more useful.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool has 8 parameters, a required company context, connection reference semantics, and no output schema, a one-sentence description is insufficient. The agent is left to infer that the result is a list, what fields it returns, how to handle pagination, and the connection lifecycle. This level of detail would be acceptable only for a trivial tool, which this is not.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The schema covers 50% of parameters with descriptions (mainly companyName and connectionRef), while other parameters arise clearly documented. The overall description adds no parameter semantics and doesn't mention required companyName, the meaning of 'BRC', or connector behavior. This leaves the agent with incomplete guidance for filling in the non-descriptive parameters like pagination.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description uses a specific verb ('Lists') and resource ('BRC bank accounts'), clearly identifying the tool's function as a read/list operation. The resource name distinguishes it from singular retrieval (brc_get_bank_account) and mutation tools (brc_create_bank_account, brc_update_bank_account). It does not further elaborate on scope or filtering, but the core purpose is unambiguous.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description offers no guidance on when to use this tool versus alternatives like brc_get_bank_account, brc_list_accounts, or the batch variants. There is no mention of company context requirements, pagination behavior, or conditions under which this tool should be selected. The agent must infer usage entirely from the name and schema.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

brc_list_book_tran_typesList Book Transaction TypesC
Read-only
Inspect

Lists BRC book transaction types.

ParametersJSON Schema
NameRequiredDescriptionDefault
topNo
pageNo
skipNo
filterNoOptional OData $filter expression, only if this endpoint supports filtering.
orderByNoOptional OData $orderby expression, only if this endpoint supports ordering.
pageSizeNo
companyNameYesCompany context name, for example YOUR-COMPANY-NAME.
connectionRefNoOpaque Red connection reference returned by brc_confirm_company_connection. Pass this exact value on every later tool call when the MCP client rotates session ids (for example Vibe/Mistral). Keep reusing the same connectionRef after successful tool calls — do not start a new connection because a lookup returned empty or partial data. It is not an API key and does not contain credentials.

TDQS

C2.7/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

The description adds no behavioral detail beyond the annotations already indicating readOnlyHint=true and destructiveHint=false. It does not disclose pagination behavior, required company context, output structure, or any limitations, so the agent must infer the tool's behavior entirely from the schema and annotations.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is one short sentence, so it is definitely concise and has no filler. However, it omits usage context and parameter hints, so the brevity borders on under-specification rather than being a fully helpful concise description.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given 8 parameters, a required companyName, connectionRefs, and no output schema, a one-sentence description is not sufficient. Important operational context is absent, such as whether the list is scoped to a connected company, how pagination should be handled, or when an agent should instead use brc_resovl_be_tran_type.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The description does not mention any parameters or add meaning beyond the schema. With only 50% schema description coverage, pagination parameters (top, page, skip, pageSize) are undocumented in both schema and description, and the description does nothing to clarify their usage or default behavior.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly identifies the operation ('Lists') and the resource ('BRC book transaction types'), which distinguishes it from sibling list tools like brc_list_customers or brc_list_vat_types. It is a specific verb+resource statement, though it provides no additional scope or detail to fully clarify what qualifies as a 'book transaction type.'

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No guidance is provided on when to use this tool over alternatives. The description does not mention related tools such as brc_resolve_book_transaction_type, which likely handles resolution of a specific transaction type, nor does it explain when listing is appropriate versus other lookup or resolution tools.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

brc_list_cash_paymentsList Cash PaymentsC
Read-only
Inspect

Lists BRC cash payments.

ParametersJSON Schema
NameRequiredDescriptionDefault
topNo
pageNo
skipNo
filterNoOptional OData $filter expression, only if this endpoint supports filtering.
orderByNoOptional OData $orderby expression, only if this endpoint supports ordering.
pageSizeNo
companyNameYesCompany context name, for example YOUR-COMPANY-NAME.
connectionRefNoOpaque Red connection reference returned by brc_confirm_company_connection. Pass this exact value on every later tool call when the MCP client rotates session ids (for example Vibe/Mistral). Keep reusing the same connectionRef after successful tool calls — do not start a new connection because a lookup returned empty or partial data. It is not an API key and does not contain credentials.

TDQS

C2.9/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Read-only and non-destructive behavior are already declared by annotations (readOnlyHint=true, destructiveHint=false), but the description adds no context beyond that. It does not mention pagination, company filtering, returned fields, or any other runtime behavior, so it provides no transparency beyond the annotations.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single front-loaded sentence with no wasted words. It gets straight to the action and resource, which makes it easy to parse even though it is under-specified in other dimensions.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a simple list operation, the description plus schema is minimally satisfactory: the agent can identify this as a read-only list of cash payments and see that companyName is required. But with no output schema and no statement about what fields come back or how pagination behaves, the description leaves meaningful gaps contextual.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The description provides no parameter-level meaning. Schema description coverage is only 50%, and the remaining parameters such as top, page, skip, and pageSize are left to names/defaults. The description does not compensate for those gaps or explain how companyName, connectionRef, and pagination parameters interact.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the action ('Lists') and the resource ('BRC cash payments'), so an agent can identify it as a read-only list operation. It does not explicitly distinguish itself from nearby sibling tools such as brc_list_payments, brc_get_cash_payment, or brc_batch_cash_payments.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description offers no guidance on when to use this tool versus alternatives, and names no sibling tools or exclusions. It only restates the basic purpose, leaving an agent to infer when 'list cash payments' is preferable to other related list, get, or batch operations.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

brc_list_cash_receiptsList Cash ReceiptsC
Read-only
Inspect

Lists BRC cash receipts.

ParametersJSON Schema
NameRequiredDescriptionDefault
topNo
pageNo
skipNo
filterNoOptional OData $filter expression, only if this endpoint supports filtering.
orderByNoOptional OData $orderby expression, only if this endpoint supports ordering.
pageSizeNo
companyNameYesCompany context name, for example YOUR-COMPANY-NAME.
connectionRefNoOpaque Red connection reference returned by brc_confirm_company_connection. Pass this exact value on every later tool call when the MCP client rotates session ids (for example Vibe/Mistral). Keep reusing the same connectionRef after successful tool calls — do not start a new connection because a lookup returned empty or partial data. It is not an API key and does not contain credentials.

TDQS

C2.6/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

The annotations already declare readOnlyHint=true and destructiveHint=false, so the safety profile is covered structurally, but the description adds zero behavioral context beyond that. It does not mention that results are paginated (top/page/pageSize), that it supports OData-style filter/orderBy, that it requires an established company connection, or what the response shape looks like. For an 8-parameter list endpoint this is a notable gap, even with annotations lowering the baseline.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness3/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single short sentence that front-loads the main action, which keeps it efficient. However, it borders on restating the name, so its brevity is a sign of under-specification rather than well-edited content. Every sentence scores the place, but there should have been more sentences.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a list tool with 8 parameters, no output schema, and no description of return values, the definition is not complete enough for an agent to confidently determine what it will receive or how to page through results. It does not link this operation to related tools such as brc_get_cash_receipt or brc_confirm_company_connection, relying entirely on the connectionRef parameter description to carry the stateful-context. The description leaves pagination behavior, filtering semantics, and exit conditions unstated.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 50%, and the description contributes nothing to the un-described parameters: top, page, skip, and pageSize have no schema descriptions, and the one-line description does not hint that these are pagination controls. The schema does document companyName, connectionRef, filter, and orderBy (the latter two hedged as 'only if this endpoint supports...'), but the description itself adds no parameter meaning. At 50% coverage and zero description support for the undocumented half, the tool fails to compensate.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description 'Lists BRC cash receipts' clearly states a specific verb ('lists') and a specific resource ('cash receipts'), so an agent can tell it fetches a collection rather than creating, getting, or deleting one. It does not, however, explicitly differentiate itself from sibling tools like brc_list_cash_payments or brc_batch_cash_receipts, leaning on the noun and naming convention to do that work. It reads close to the title 'List Cash Receipts' and lacks a sibling-discriminating phrase, so it stops short of 5.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No guidance is given about when to use this tool instead of brc_list_cash_payments, brc_get_cash_receipt, or brc_batch_cash_receipts. There is no mention of pagination strategy, company-connection prerequisites, or any conditions that would make this the right choice. The description carries no context beyond the name itself.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

brc_list_category_typesList Category TypesC
Read-only
Inspect

Lists BRC category types.

ParametersJSON Schema
NameRequiredDescriptionDefault
topNo
pageNo
skipNo
filterNoOptional OData $filter expression, only if this endpoint supports filtering.
orderByNoOptional OData $orderby expression, only if this endpoint supports ordering.
pageSizeNo
companyNameYesCompany context name, for example YOUR-COMPANY-NAME.
connectionRefNoOpaque Red connection reference returned by brc_confirm_company_connection. Pass this exact value on every later tool call when the MCP client rotates session ids (for example Vibe/Mistral). Keep reusing the same connectionRef after successful tool calls — do not start a new connection because a lookup returned empty or partial data. It is not an API key and does not contain credentials.

TDQS

C2.4/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

The annotations already declare readOnlyHint=true and destructiveHint=false, so the safety profile is clear and there is no objective contradiction. The description itself, however, adds no behavioral detail beyond 'lists': nothing about pagination, response completeness, connection scoping, or what the returned list contains.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is appropriately short and front-loaded; every word is functional. It sacrifices substantive guidance in the name of brevity, but it is not verbose or convoluted.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For an 8-parameter tool with no output schema and dozens of sibling list tools, the description is barely minimum viable. It leaves unanswered what 'category types' refers to, how pagination/filtering behaves, what the output looks like, and how this tool relates to the broader BRC connection flow.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The description offers no parameter-level context beyond the schema. With 8 parameters and only 50% schema description cooverage, the tool description had a burden to clarify pagination and required context, but it does not address top, page, skip, pageSize, or the relationship between companyName and connectionRef.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose3/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description states a clear verb and resource — 'Lists BRC category types' — so it is recognizable as a read-only listing operation. However, it is essentially a restated title and does not explain what BRC category types are or how it differs from similar sibling tools like brc_list_analysis_categories or brc_list_owner_types.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

There is no guidance about when to use this tool versus alternatives or what conditions should trigger it. The schema does require companyName, and connectionRef contains important connection guidance, but the description itself provides no usage context or exclusions.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

brc_list_company_contextsList Company ContextsA
Read-only
Inspect

Returns connected-company contexts and connection-expiry metadata, including duration, remaining time and timezone details. Connection credentials are not returned.

ParametersJSON Schema
NameRequiredDescriptionDefault
connectionRefNoOpaque Red connection reference returned by brc_confirm_company_connection. Pass this exact value on every later tool call when the MCP client rotates session ids (for example Vibe/Mistral). Keep reusing the same connectionRef after successful tool calls — do not start a new connection because a lookup returned empty or partial data. It is not an API key and does not contain credentials.

TDQS

A3.6/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations declare readOnlyHint=true and destructiveHint=false, so the safe-readn nature is already known. The description adds meaningful context by naming the returned information (positions, remaining time, timezone) and explicitly warning that connection credentials are not returned.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two tightly written sentences, with the core behavior first and the security-relevant exclusion second. No unnecessary words or repeated annotation information.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a read-only, single-optional-parameter tool, the description covers the key return categories and an important credential-safety caveat. With rich annotations and a fully described optional parameter, this is sufficient; a return-shape example would be nice but is not necessary at this complexity.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100%, and the schema's connectionRef description already explains it fully, including usage nuances. The tool description itself adds no additional parameter detail, so the baseline 3 applies.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb and resource: it returns connected-company contexts and connection-expiry metadata. It clearly differentiates itself from most list tools by naming its unique subject matter, though it does not explicitly contrast with connection lifecycle siblings like brc_start_company_connection or brc_confirm_company_connection.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description offers no explicit guidance on when to call this tool versus alternatives. The parameter schema contains useful re-use guidance for connectionRef, but the description itself does not state when this tool should be selected or which sibling would be appropriate in other cases.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

brc_list_company_settingsList Company SettingsC
Read-only
Inspect

Lists BRC company settings.

ParametersJSON Schema
NameRequiredDescriptionDefault
topNo
pageNo
skipNo
filterNoOptional OData $filter expression, only if this endpoint supports filtering.
orderByNoOptional OData $orderby expression, only if this endpoint supports ordering.
pageSizeNo
companyNameYesCompany context name, for example YOUR-COMPANY-NAME.
connectionRefNoOpaque Red connection reference returned by brc_confirm_company_connection. Pass this exact value on every later tool call when the MCP client rotates session ids (for example Vibe/Mistral). Keep reusing the same connectionRef after successful tool calls — do not start a new connection because a lookup returned empty or partial data. It is not an API key and does not contain credentials.

TDQS

C2/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

The annotations already communicate readOnlyHint=true, openWorldHint=false, and destructiveHint=false. The description adds no behavioral context beyond restating that it lists settings; it does not mention pagination behavior, filtering, or whether the result set is scoped by companyName.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness2/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is short but under-specified rather than concisely informative. A single sentence that restates the tool name does not count as an appropriately compact definition of an 8-parameter tool.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

With no output schema, a single required parameter, 8 total parameters, and many related sibling tools, the description should clarify what settings are listed, which company context is required, and how this differs from nearby "settings" tools. None of that is present.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is only 50%, and the description does not compensate for the undocumented parameters. It adds no meaning to top, page, skip, or pageSize, nor clarifies the relationship between companyName and connectionRef.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose2/5

Does the description clearly state what the tool does and how it differs from similar tools?

"Lists BRC company settings" is essentially a tautology of the tool name and title. It does not say what kind of settings are returned or how they differ from settings exposed by sibling tools such as brc_get_company_processing_settings, brc_get_company_reference_settings, and brc_get_company_setup_config.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description gives no when-to-use or when-not-to-use guidance. There is no mention of alternatives, no mention that companyName is required, and no clarification of how this list relates to the other company settings operations.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

brc_list_customer_account_transList Customer Account TransactionsB
Read-only
Inspect

Returns customer account transactions. Transaction IDs and types are endpoint- and company-specific.

ParametersJSON Schema
NameRequiredDescriptionDefault
itemIdYesCustomer item id.
companyNameYesCompany context name, for example YOUR-COMPANY-NAME.
connectionRefNoOpaque Red connection reference returned by brc_confirm_company_connection. Pass this exact value on every later tool call when the MCP client rotates session ids (for example Vibe/Mistral). Keep reusing the same connectionRef after successful tool calls — do not start a new connection because a lookup returned empty or partial data. It is not an API key and does not contain credentials.

TDQS

B3.3/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint=true, openWorldHint=false, and destructiveHint=false, so the safety profile is covered. The description adds a useful behavioral caveat: 'Transaction IDs and types are endpoint- and company-specific.' This is value beyond annotations and warns agents not to assume ID portability. It doesn't address pagination or result limits, but the note about ID variability is meaningful context.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is concise: a single sentence plus a short caveat. It front-loads the main purpose and keeps the additional note brief. It earns its place by adding the endpoint/company-specific caveat. It could be slightly improved by an explicit sentence on when to use it, but for a list operation this is acceptably compact.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given a read-only list tool with full schema parameter documentation and annotations covering safety, the description is nearly sufficient. The main gap is no explicit mention of pagination or result ordering, and no comparison with the many sibling list transaction tools. For a simple list tool with this annotation richness, the definition is largely complete. I'll give 4 because the missing routing guidance relative to siblings like brc_list_customer_op_bal_trans is a real but minor gap.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so the schema documents all three parameters. The description adds almost nothing about how the parameters affect the call, aside from the general caveat that transaction IDs and types are endpoint- and company-specific. The connectionRef parameter has a detailed inline description covering reuse and session-id rotation, which is helpful and embedded in the schema. Baseline 3 might apply since schema coverage is high, but the tool description itself provides no parameter semantics beyond the schema, and the caveat about transaction IDs is not tied to any specific parameter. Given that the schema carries the burden and the description contributes little, 2 is appropriate.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description states a clear verb and resource: 'Returns customer account transactions.' This distinguishes it from the many brc_list_* siblings by its focus on 'customer account transactions.' However, it doesn't explicitly contrast with closely related sibling tools like brc_list_customer_op_bal_trans or brc_list_allocated_transactions, so it is clear but not fully differentiated.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description implies usage: call this to list customer account transactions. It provides no explicit when-to-use guidance or alternative tool comparisons. The sibling list contains multiple transaction-related list tools, so an agent could benefit from explicit routing cues. The connectionRef parameter documentation gives some usage context about reusing the connection, but that applies to this tool's calling convention, not when to choose this tool over alternatives.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

brc_list_customer_op_bal_transList Customer Opening Balance TransactionsC
Read-only
Inspect

Gets a customer's opening balance transaction list.

ParametersJSON Schema
NameRequiredDescriptionDefault
itemIdYesCustomer item id.
companyNameYesCompany context name, for example YOUR-COMPANY-NAME.
connectionRefNoOpaque Red connection reference returned by brc_confirm_company_connection. Pass this exact value on every later tool call when the MCP client rotates session ids (for example Vibe/Mistral). Keep reusing the same connectionRef after successful tool calls — do not start a new connection because a lookup returned empty or partial data. It is not an API key and does not contain credentials.

TDQS

C2.9/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

The description is consistent with the annotations but adds little beyond them. readOnlyHint and destructiveHint already communicate that this is a safe read operation; the description does not disclose return format, pagination behavior, or any other operational details beyond the fact that it returns a list.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

A single sentence with no filler and the main action described clearly. It is concise and easy to parse, although it uses its brevity to restate the title rather than include additional useful context.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

The description is minimally viable for a read-only list tool, and the schema covers parameter meanings. However, with no output schema and many similar sibling list tools, the lack of return-shape context or guidance on scope makes it incomplete in context.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The schema already provides 100% documentation coverage for the three parameters, including the nuance around connectionRef. The description itself adds no parameter-level meaning, which is acceptable under the baseline but does not enhance understanding of what values to pass.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description states a specific verb and resource: it 'Gets a customer's opening balance transaction list.' This is clear and distinct from generic list tools, though it does not explicitly differentiate itself from close siblings such as brc_get_customer_opening_balance or brc_list_customer_account_trans.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

There is no guidance about when to choose this tool over alternatives. The description does not mention whether it is only for opening-balance transactions, how it differs from brc_list_customer_account_trans, or when the summary-style brc_get_customer_opening_balance would be more appropriate.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

brc_list_customer_quotesList Customer QuotesB
Read-only
Inspect

Gets quotes for a specific customer.

ParametersJSON Schema
NameRequiredDescriptionDefault
itemIdYesCustomer item id.
companyNameYesCompany context name, for example YOUR-COMPANY-NAME.
connectionRefNoOpaque Red connection reference returned by brc_confirm_company_connection. Pass this exact value on every later tool call when the MCP client rotates session ids (for example Vibe/Mistral). Keep reusing the same connectionRef after successful tool calls — do not start a new connection because a lookup returned empty or partial data. It is not an API key and does not contain credentials.

TDQS

B3.3/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already indicate readOnlyHint=true and destructiveHint=false, and the description's 'Gets' aligns with those. It adds no further behavioral context, such as empty-result behavior, pagination, or relationship to the caller's connection.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single focused sentence with no filler. The scoping word 'specific' is meaningful and front-loaded, making the description appropriately compact.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a read-only list tool, the bare description is borderline sufficient, but with no output schema, the agent still receives no guidance about return shape or empty-result semantics. It also doesn't mention how this list tool relates to the broader connection/session guidance already present in the parameter schema.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The description itself adds no parameter-level meaning, but schema description coverage is 100% and the input schema already explains itemId, companyName, and connectionRef in reasonable detail. The connectionRef description is especially useful.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description states a clear action ('Gets quotes') and a clear resource ('quotes for a specific customer'), which distinguishes it from generic quote-listing tools. However, it does not explicitly contrast with a sibling like brc_list_quotes or brc_get_quote, and 'Gets' is slightly less specific than the title's 'List'.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The phrase 'for a specific customer' gives only a weak usage context. The description does not tell the agent when to choose this over brc_list_quotes, how to obtain the required itemId, or how connectionRef relates to the tool operation.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

brc_list_customersList CustomersC
Read-only
Inspect

Lists BRC customers.

ParametersJSON Schema
NameRequiredDescriptionDefault
topNo
pageNo
skipNo
filterNoOptional OData $filter expression, only if this endpoint supports filtering.
orderByNoOptional OData $orderby expression, only if this endpoint supports ordering.
pageSizeNo
companyNameYesCompany context name, for example YOUR-COMPANY-NAME.
connectionRefNoOpaque Red connection reference returned by brc_confirm_company_connection. Pass this exact value on every later tool call when the MCP client rotates session ids (for example Vibe/Mistral). Keep reusing the same connectionRef after successful tool calls — do not start a new connection because a lookup returned empty or partial data. It is not an API key and does not contain credentials.

TDQS

C2.7/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

The annotations declare readOnlyHint=true and destructiveHint=false, but the description adds no behavioral nuance beyond the obvious read operation. It does not mention pagination, dormant-customer behavior, company-context requirements, or response characteristics, and there is no output schema to fill that gap.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

One short, front-loaded sentence with no filler. It is concise and readable, though its brevity comes at the cost of important accompanying guidance.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

With 8 parameters, no output schema, a required companyName, and a very large sibling list, a single sentence is not enough. Missing details such as pagination behavior, connectionRef reuse, required company context, and how this differs from the dormant-customer list variant leave the agent underinformed.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The description contributes nothing about parameters; it simply names the resource. Schema description coverage is only 50%, and the description does not compensate for the unexplained pagination and filter params, nor does it clarify the required companyName context.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly names the operation and target resource: 'Lists BRC customers.' However, it does not differentiate this tool from closely related siblings such as brc_list_customers_without_dormant or brc_get_customer, so it stops short of the top rating.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description gives no direction about when to use this tool instead of alternatives like brc_list_customers_without_dormant, brc_get_customer, or brc_batch_customers. The expected usage is only implied by the tool name and title.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

brc_list_customers_without_dormantList Active CustomersA
Read-only
Inspect

Lists BRC customers without dormant records.

ParametersJSON Schema
NameRequiredDescriptionDefault
topNo
pageNo
skipNo
filterNoOptional OData $filter expression, only if this endpoint supports filtering.
orderByNoOptional OData $orderby expression, only if this endpoint supports ordering.
pageSizeNo
companyNameYesCompany context name, for example YOUR-COMPANY-NAME.
connectionRefNoOpaque Red connection reference returned by brc_confirm_company_connection. Pass this exact value on every later tool call when the MCP client rotates session ids (for example Vibe/Mistral). Keep reusing the same connectionRef after successful tool calls — do not start a new connection because a lookup returned empty or partial data. It is not an API key and does not contain credentials.

TDQS

A3.6/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint=true, openWorldHint=false, and destructiveHint=false, so the safety profile is fully covered. The description adds the meaningful behavioral qualifier that dormant records are excluded, which is the key selection behavior beyond the read-only annotation. It also conveys an intentional business meaning of 'active customers'.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is one short sentence that is front-loaded and free of fluff. It doesn't repeat the title verbatim and every word contributes meaning. The only slight miss is not naming the sibling alternative in the same breath, which would have made it maximally useful.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

With no output schema, the description doesn't explain return structure, but this is a list endpoint and the readOnlyHint covers side-effect expectations. The main gap is that it doesn't clarify the exact relationship to brc_list_customers, e.g., whether dormant means a field value or a status. For a list tool, the page/top/pageSize parameters are standard though.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 50%, with companyName and connectionRef described in the schema, while top, page, skip, filter, orderBy, and pageSize have only type constraints. The description adds no parameter-specific meaning beyond the 'without dormant' listing behavior. It doesn't explain that pagination parameters apply or that filter/orderBy are OData expressions, so some burden falls on the schema's defaults and constraints.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description states a specific verb (lists) and resource (BRC customers without dormant records) and the title clarifies this is the active customers list. It differentiates from the plain brc_list_customers sibling by the 'without dormant' qualifier, though it doesn't name that sibling explicitly.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The name and title imply this is the variant to use when you want active/non-dormant customers only, versus brc_list_customers which presumably includes all. However, the description doesn't explicitly state when to prefer this tool over brc_list_customers or any other sibling, leaving the choice to inference.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

brc_list_nominal_accountsList Nominal AccountsB
Read-only
Inspect

Returns nominal accounts and period movements. Monthly values represent movements rather than monthly balances.

ParametersJSON Schema
NameRequiredDescriptionDefault
topNo
pageNo
skipNo
filterNoOptional OData $filter expression, only if this endpoint supports filtering.
orderByNoOptional OData $orderby expression, only if this endpoint supports ordering.
pageSizeNo
companyNameYesCompany context name, for example YOUR-COMPANY-NAME.
connectionRefNoOpaque Red connection reference returned by brc_confirm_company_connection. Pass this exact value on every later tool call when the MCP client rotates session ids (for example Vibe/Mistral). Keep reusing the same connectionRef after successful tool calls — do not start a new connection because a lookup returned empty or partial data. It is not an API key and does not contain credentials.

TDQS

B3.3/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint=true and destructiveHint=false, so the safety profile is covered. The description adds valuable semantic context: 'Monthly values represent movements rather than monthly balances,' preventing a common misinterpretation of the returned data. It does not describe pagination or company-conext behavior, but the note about movements gives beyond-annotation insight.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two short sentences with no fluff. The main return statement is front-loaded, and the clarifying movement-vs-balance note is a single concise follow-up. Every sentence adds value.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

The description gives the core return content and a key interpretation warning, and annotations cover safety. However, with no output schema and eight parameters, it omits practical call context: pagination behavior, required company context, and when to use this tool vs. grouped or multi-company nominal report siblings. It is minimally viable but incomplete.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The description adds no parameter-level meaning. Schema description coverage is only 50%, and parameters like top, page, skip, and pageSize lack descriptions, yet the tool description does not compensate by explaining pagination or the required companyName context. The included note about monthly movements is about return-value interpretation, not parameter semantics.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description uses a specific verb and resource: 'Returns nominal accounts and period movements.' The clarification that monthly values are movements rather than balances adds precision. However, it does not explicitly distinguish itself from related sibling tools like brc_grouped_nominal_accounts_report or brc_multi_company_nom_ac_report, so it is clear but not fully differentiated.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No usage guidance is provided. The description does not state when to choose this tool over alternatives, mention prerequisites, or identify exclusions. An agent browsing the large sibling list has no signal about whether this tool is the right choice vs. other nominal-account reports.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

brc_list_nominal_journal_batchesList Nominal Journal BatchesA
Read-only
Inspect

Returns nominal journal batches with identifiers and concurrency timestamps.

ParametersJSON Schema
NameRequiredDescriptionDefault
topNoOptional page size.
skipNoOptional number of records to skip.
filterNoOptional OData filter. Filtering is allowed by entryDate, for example: entryDate ge 2024-01-01T00:00:00
orderByNoOptional OData order by. Ordering is allowed by id, for example: id desc.
companyNameYesCompany context name, for example YOUR-COMPANY-NAME.
connectionRefNoOpaque Red connection reference returned by brc_confirm_company_connection. Pass this exact value on every later tool call when the MCP client rotates session ids (for example Vibe/Mistral). Keep reusing the same connectionRef after successful tool calls — do not start a new connection because a lookup returned empty or partial data. It is not an API key and does not contain credentials.

TDQS

A3.6/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint=true and destructiveHint=false, so the description doesn't need to disclose safety. It adds some useful context by specifying that the returned data contains identifiers and concurrency timestamps, but doesn't describe pagination behavior or other response details.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single concise sentence that communicates the core purpose and return content without unnecessary wording. It is front-loaded and every word earns its place.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

The schema covers all six parameters, annotations cover the read-only safety profile, and the description explains that the result contains identifiers and concurrency timestamps, which is the key missing output information since there is no output schema. It is sufficiently complete for a simple read-only list tool.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, and each parameter already has its own description. The tool description adds no additional parameter-level explanation, so the baseline of 3 is appropriate.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description states a specific verb and resource: it returns nominal journal batches, and it clarifies that the results include identifiers and concurrency timestamps. The plural 'batches' distinguishes it from the singular get_nominal_journal_batch, though it doesn't explicitly name that sibling.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description implies this is the tool to use when you need a list of nominal journal batches, but it gives no explicit guidance about when to prefer alternatives such as get_nominal_journal_batch. It also doesn't mention when not to use this tool.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

brc_list_owner_type_groupsList Owner Type GroupsC
Read-only
Inspect

Lists BRC owner type groups.

ParametersJSON Schema
NameRequiredDescriptionDefault
topNo
pageNo
skipNo
filterNoOptional OData $filter expression, only if this endpoint supports filtering.
orderByNoOptional OData $orderby expression, only if this endpoint supports ordering.
pageSizeNo
companyNameYesCompany context name, for example YOUR-COMPANY-NAME.
connectionRefNoOpaque Red connection reference returned by brc_confirm_company_connection. Pass this exact value on every later tool call when the MCP client rotates session ids (for example Vibe/Mistral). Keep reusing the same connectionRef after successful tool calls — do not start a new connection because a lookup returned empty or partial data. It is not an API key and does not contain credentials.

TDQS

C2/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint=true and destructiveHint=false, and the description does not contradict them. However, it adds no behavioral detail beyond that: no pagination behavior, result semantics, connection-ref implications, or output characteristics.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness2/5

Is the description appropriately sized, front-loaded, and free of redundancy?

It is short and 'conciseness' would fit a simple read operation, but the single sentence restates the title and does not earn its place. Valuable context such as required companyName, pagination, or ownership type distinction is absent.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

This is a list tool with 8 parameters, no output schema, and a close sibling brc_list_owner_types. The description is too incomplete for an agent to reliably pick it or invoke it correctly: it lacks output implications, pagination detail, and relationship to sibling tools.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The description adds no meaning to the eight parameters. Half of the schema parameters lack descriptions, and pagination fields such as top, page, skip, and pageSize are only implied by their names, types, and bounds. The tool description does not compensate for that gap.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose2/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description merely restates the tool title: 'Lists BRC owner type groups' adds no detail over 'List Owner Type Groups.' It identifies the resource but does not distinguish this endpoint from the closely named sibling brc_list_owner_types.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

There is no guidance on when to use this tool instead of other list tools, no mention of the required companyName context, and no indication of when this endpoint should be preferred. The agent is left to infer usage from the name alone.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

brc_list_owner_typesList Owner TypesC
Read-only
Inspect

Lists BRC owner types.

ParametersJSON Schema
NameRequiredDescriptionDefault
topNo
pageNo
skipNo
filterNoOptional OData $filter expression, only if this endpoint supports filtering.
orderByNoOptional OData $orderby expression, only if this endpoint supports ordering.
pageSizeNo
companyNameYesCompany context name, for example YOUR-COMPANY-NAME.
connectionRefNoOpaque Red connection reference returned by brc_confirm_company_connection. Pass this exact value on every later tool call when the MCP client rotates session ids (for example Vibe/Mistral). Keep reusing the same connectionRef after successful tool calls — do not start a new connection because a lookup returned empty or partial data. It is not an API key and does not contain credentials.

TDQS

C2.8/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

The invariant annotations already carry the readOnly and non-destructive info, and a listing is inherently a safe operation. The description is consistent with the annotations but adds no extra behavior about pagination, response shape, or whether all values are returned.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness3/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The text is short, below the action first, and contains no fluff. However, it is so reder that it mainly restates the title and provides little structural value an agent could not already get from the tool name.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

With 8 parameters, no output schema, and a very large sibling set, a useful definition must clarify what owner types are, whether pagination is needed, and how this tool differs from brc_list_owner_type_groups. The single sentence does not cover those gaps.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The parameter schema is only 50% covered, and the description contributes nothing. top, skip, and pageSize lack schema descriptions and are not explained anywhere; an agent would not know how to paginate through all owner types.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description states a specific action ('Lists') and a clear resource ('BRC owner types'), so an agent can tell this is a read-only enumeration. It does not explain what an owner type is or distinguish it from the similarly named brc_list_owner_type_groups, but the core purpose is still understandable.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

There is no guidance about when to choose this tool over brc_list_owner_types_groups or the many other list_* sisters. Selection is left entirely to inference from the name.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

brc_list_paymentsList PaymentsC
Read-only
Inspect

Lists BRC payments.

ParametersJSON Schema
NameRequiredDescriptionDefault
topNo
pageNo
skipNo
filterNoOptional OData $filter expression, only if this endpoint supports filtering.
orderByNoOptional OData $orderby expression, only if this endpoint supports ordering.
pageSizeNo
companyNameYesCompany context name, for example YOUR-COMPANY-NAME.
connectionRefNoOpaque Red connection reference returned by brc_confirm_company_connection. Pass this exact value on every later tool call when the MCP client rotates session ids (for example Vibe/Mistral). Keep reusing the same connectionRef after successful tool calls — do not start a new connection because a lookup returned empty or partial data. It is not an API key and does not contain credentials.

TDQS

C2.9/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

The annotations already declare readOnlyHint=true and destructiveHint=false, so the description is not responsible for stating safety and mutability. Beyond that, it adds no behavioral context such as whether the result is full and paginated, whether a connectionRef is needed, or whether the list is restricted to a current company context.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is one sentence, front-loaded, and has no padding. It is concise without being verbose; however, it is near the point of too-to for a schema with eight parameters and multiple related sibling tools.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given eight parameters, no output schema, and a huge sibling set that includes brc_list_cash_payments and brc_get_payment, one sentence is not enough. The description does not help with deciding payment versus cash_payment, connectionref usage, pagination semantics, or what data is actually returned.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is only 50%, but the description contributes no parameter-level meaning at all. Top, page, skip, and pageSize remain undocumented in schema and in description, and no explanation is given for how those pagination parameters interact with each other. An agent would have to infer or experiment.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description says 'Lists BRC payments,' which is a clear verb+behavior statement: it returns a list of payment records. It does not differentiate itself from the close sibling tool brc_list_cash_payments, so an agent could still be unable to choose between them.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

There is no when-to-use guidance, no alternation, no exclusion, and no condition. The description does not point to brc_get_payment for a single payment, brc_create_payment for creating one, or brc_list_cash_payments for cash payments, so the agent only learns what the tool itself does, not when it should be preferred.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

brc_list_prepaymentsList PrepaymentsA
Read-only
Inspect

Returns a list of the company's Prepayments. Supports optional OData filtering by entryDate. Supports optional ordering by id.

ParametersJSON Schema
NameRequiredDescriptionDefault
topNoOptional page size.
skipNoOptional number of records to skip.
filterNoOptional OData filter. Filtering is allowed by entryDate, for example: entryDate ge 2024-03-01T00:00:00.
orderByNoOptional OData order by. Ordering is allowed by id, for example: id desc.
companyNameYesCompany context name, for example YOUR-COMPANY-NAME.
connectionRefNoOpaque Red connection reference returned by brc_confirm_company_connection. Pass this exact value on every later tool call when the MCP client rotates session ids (for example Vibe/Mistral). Keep reusing the same connectionRef after successful tool calls — do not start a new connection because a lookup returned empty or partial data. It is not an API key and does not contain credentials.

TDQS

A3.6/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint and non-destructive behavior, so the bar for the description is lower. The description adds that only entryDate filtering and id ordering are supported, which is useful scoping context. It does not disclose pagination defaults, return format, or company-context behavior.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

two sentences communicates the primary purpose, supported filtering, and supported ordering with no wasted words. The most important information is front-loaded, which helps an agent scan the intent quickly.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a straightforward list operation, the description covers the key decisions an agent needs to make including what is returned and which OData operations are allowed. There is no output schema, so a bit more detail about the returned prepayment fields would improve completeness, but the current description is not misleading.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The input schema covers all 6 parameters with descriptions. The tool description mostly restates what the schema already says, such as OData filtering by entryDate and ordering by id. Since schema coverage is 100%, the baseline applies and the description contributes little beyond the schema.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the action and target: 'Returns a list of the company's Prepayments.' It names the resource distinctly, which differentiates it from sibling tools like brc_list_accruals and brc_list_payments, though it does not explicitly call out those alternatives.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description implies use when a list of prepayments is needed, but does not provide explicit guidance on when to prefer this tool over related siblings such as brc_get_prepayment or brc_list_payments. It gives the caller useful filtering/ordering constraints but no exclusionary guidance.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

brc_list_productsList ProductsC
Read-only
Inspect

Lists BRC products.

ParametersJSON Schema
NameRequiredDescriptionDefault
topNo
pageNo
skipNo
filterNoOptional OData $filter expression, only if this endpoint supports filtering.
orderByNoOptional OData $orderby expression, only if this endpoint supports ordering.
pageSizeNo
companyNameYesCompany context name, for example YOUR-COMPANY-NAME.
connectionRefNoOpaque Red connection reference returned by brc_confirm_company_connection. Pass this exact value on every later tool call when the MCP client rotates session ids (for example Vibe/Mistral). Keep reusing the same connectionRef after successful tool calls — do not start a new connection because a lookup returned empty or partial data. It is not an API key and does not contain credentials.

TDQS

C2.7/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already provide readOnlyHint and destructiveHint, so the description adds no additional behavioral context. It does not disclose pagination behavior, whether dormant products are included, what the response structure looks like, or any connection/session nuances beyond what the connectionRef parameter description already supplies.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is extremely concise and front-loaded, consisting of a single clear sentence. It wastes no words, though the brevity comes at the cost of useful detail elsewhere.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given eight parameters, no output schema, and multiple closely related siblings, this description is too sparse to fully orient an agent. It omits filtering, pagination, dormant-product handling, and any sense of what the response will contain.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The description provides no information about any parameter, and the schema only describes 50% of them. Pagination parameters such as top, page, skip, and pageSize are left undocumented by both the description and the schema, so an agent must guess at their interplay and formatting.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the action (lists) and resource (BRC products), so an agent knows this is a read operation over the product catalog. However, it does not distinguish itself from siblings like brc_list_products_without_dormant or brc_batch_products, so some differentiation is left to inference.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No guidance is given on when to use this tool versus alternatives such as brc_get_product for a single product, brc_batch_products for bulk retrieval, or brc_list_products_without_dormant for a filtered view. The context must be inferred entirely from the tool name and sibling list.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

brc_list_products_without_dormantList Active ProductsB
Read-only
Inspect

Lists BRC products without dormant records.

ParametersJSON Schema
NameRequiredDescriptionDefault
topNo
pageNo
skipNo
filterNoOptional OData $filter expression, only if this endpoint supports filtering.
orderByNoOptional OData $orderby expression, only if this endpoint supports ordering.
pageSizeNo
companyNameYesCompany context name, for example YOUR-COMPANY-NAME.
connectionRefNoOpaque Red connection reference returned by brc_confirm_company_connection. Pass this exact value on every later tool call when the MCP client rotates session ids (for example Vibe/Mistral). Keep reusing the same connectionRef after successful tool calls — do not start a new connection because a lookup returned empty or partial data. It is not an API key and does not contain credentials.

TDQS

B3.3/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint=true and destructiveHint=false, so the safety profile is covered. The description adds the behavioral nuance that dormant records are excluded, but it does not disclose pagination behavior, output size, or what 'dormant' means in this context.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is one focused sentence with no filler or redundant restatement. It front-loads the action and resource while adding the key discriminator 'without dormant records'.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Despite being a simple list operation, the tool has 8 parameters, no output schema, and a required companyName. The description does not clarify what the returned product shape is, what 'dormant' records imply, or how connectionRef/companyName should be used, leaving the agent dependent on schema details alone.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 50%, so several parameters (top, page, skip, pageSize) are not described anywhere, and the tool description does not compensate by explaining them. The description also adds no meaning about companyName or connectionRef beyond what the schema already says.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description states a specific action ('Lists'), a specific resource ('BRC products'), and a distinguishing scope ('without dormant records'), which separates it from the sibling tool brc_list_products. The title 'List Active Products' reinforces the same purpose.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description says what the tool does but not when an agent should choose it over brc_list_products or brc_list_customers_without_dormant. There is no explicit mention of exclusions, alternatives, or context such as 'use this for active products only'.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

brc_list_product_typesList Product TypesC
Read-only
Inspect

Lists BRC product types.

ParametersJSON Schema
NameRequiredDescriptionDefault
topNo
pageNo
skipNo
filterNoOptional OData $filter expression, only if this endpoint supports filtering.
orderByNoOptional OData $orderby expression, only if this endpoint supports ordering.
pageSizeNo
companyNameYesCompany context name, for example YOUR-COMPANY-NAME.
connectionRefNoOpaque Red connection reference returned by brc_confirm_company_connection. Pass this exact value on every later tool call when the MCP client rotates session ids (for example Vibe/Mistral). Keep reusing the same connectionRef after successful tool calls — do not start a new connection because a lookup returned empty or partial data. It is not an API key and does not contain credentials.

TDQS

C2.7/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already indicate readOnly, and the description adds no behavioral context beyond that. It does not disclose pagination behavior, return shape, or which scope of product types is covered.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single, front-loaded sentence with no unnecessary words. It is concise, though its brevity leaves important context unstated.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For an 8-parameter list tool with no output schema, this is too minimal. The description leaves the agent without enough surrounding context about what BRC product types are, when to use this vs sibling tools, or what kind of return data to expect.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

With only 50% schema description coverage, the description needed to clarify the pagination and company context parameters. It does not mention filter, page, top, skip, or companyName, and adds no meaning beyond what the schema already exposes.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

States the verb 'Lists' and the resource 'BRC product types', so the core operation and object are clear. However, it does not explicitly differentiate from sibling tools such as brc_list_products or brc_list_category_types.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No usage guidance is provided. It does not say when to use this tool over alternative list tools, or note that a company context is required. The agent must infer the usage context entirely from the name and schema.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

brc_list_purchasesList PurchasesC
Read-only
Inspect

Lists BRC purchases.

ParametersJSON Schema
NameRequiredDescriptionDefault
topNo
pageNo
skipNo
filterNoOptional OData $filter expression, only if this endpoint supports filtering.
orderByNoOptional OData $orderby expression, only if this endpoint supports ordering.
pageSizeNo
companyNameYesCompany context name, for example YOUR-COMPANY-NAME.
connectionRefNoOpaque Red connection reference returned by brc_confirm_company_connection. Pass this exact value on every later tool call when the MCP client rotates session ids (for example Vibe/Mistral). Keep reusing the same connectionRef after successful tool calls — do not start a new connection because a lookup returned empty or partial data. It is not an API key and does not contain credentials.

TDQS

C2.6/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

The readOnlyHint and destructiveHint annotations already tell the agent this is a safe read, so that part of the behavior is covered. However, the description adds nothing beyond 'lists' and does not say whether result sets are paginated, whether filters are applied automatically, whether it can return partial data, or what a zero-result list looks like. The absence of an output schema makes this gap more significant.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness3/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single efficient sentence and contains no filler words. However, the brevity is borderline description-by-name and no additional structured information is front-loaded. It earns a middling score because conciseness without content is under-specification, not compactness.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a tool with 8 parameters and no output schema, the description is far too terse to give an agent a complete operational picture. It mentions neither querying behavior nor required connection context, and the sibling list alone does not show when to choose this tool over brc_batch_purchases. The implementation is missing both return-format and failure-mode context, so an agent may call it correctly only because the schema happens to require companyName.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The input schema documents companyName, filter, orderBy, and connectionRef, but top/page/skip/pageSize are unannotated and the description does not clarify their semantics. Since schema description coverage is only 50%, the description was expected to compensate, but it introduces no meaning for any parameter. It does not explain how pagination params interact or what a valid companyName looks like beyond the schema example.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description names a specific verb and resource: it 'lists' 'BRC purchases,' so an agent can tell this returns purchase-related records. It is distinct from nearby get- and batch- tools, though it doesn't explicitly say how it differs from brc_list_purchases or brc_batch_purchases. The one-sentence description is clear, but I would be slightly clearer about what a 'purchase' record contains.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

There is no guidance on when to use this tool versus a related tool such as brc_get_purchase or brc_batch_purchases. It does not mention prerequisites like verifying an active company context or deciding between listing and retrieval. An agent is left to infer all usage contexts from the schema and sibling list.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

brc_list_quotesList QuotesB
Read-only
Inspect

Lists BRC quotes. List and get may not return the same fields (for example note or analysis account codes); treat those as representation differences, not as create or update failures. Quote references are not necessarily unique — identify a quote by id.

ParametersJSON Schema
NameRequiredDescriptionDefault
topNo
pageNo
skipNo
filterNoOptional OData $filter expression, only if this endpoint supports filtering.
orderByNoOptional OData $orderby expression, only if this endpoint supports ordering.
pageSizeNo
companyNameYesCompany context name, for example YOUR-COMPANY-NAME.
connectionRefNoOpaque Red connection reference returned by brc_confirm_company_connection. Pass this exact value on every later tool call when the MCP client rotates session ids (for example Vibe/Mistral). Keep reusing the same connectionRef after successful tool calls — do not start a new connection because a lookup returned empty or partial data. It is not an API key and does not contain credentials.

TDQS

B3.3/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Beyond the readOnlyHint annotation, the description flags two important behaviors: list and get may return different fields, and quote references are not unique. This helps the agent avoid misinterpreting representation differences as failures and makes the id-based lookup advice actionable.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is compact and front-loaded with a crisp one-sentence statement of purpose, followed by two high-value caveats. Every sentence contributes useful context with no filler.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

The description captures the most surprising API behavior and makes the callable first steps clear, but it does not describe the returned fields, pagination defaults, or how results are structured. Given that there is no output schema, this leaves some important context unresolved for an agent that must interpret results.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

With only 50% schema coverage, the description should compensate for undocumented parameters like top, page, skip, filter, orderBy, and pageSize, but it does not mention them. The quote-reference comment relates to data semantics rather than parameter meaning.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description opens with 'Lists BRC quotes', a specific verb and resource that immediately identifies the operation. It also distinguishes list behavior from get behavior via the field-mismatch warning, though it does not explicitly differentiate this from the similar brc_list_customer_quotes sibling.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

There is no guidance about when to prefer this tool over brc_list_customer_quotes or brc_get_quote, and no mention of scenarios that call for pagination. The list-vs-get caveat is useful but is more about interpretation than decision-making about which tool to invoke.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

brc_list_salesList SalesA
Read-only
Inspect

Lists combined BRC sales entries, sales invoices and sales credit notes.

ParametersJSON Schema
NameRequiredDescriptionDefault
topNo
pageNo
skipNo
filterNoOptional OData $filter expression, only if this endpoint supports filtering.
orderByNoOptional OData $orderby expression, only if this endpoint supports ordering.
pageSizeNo
companyNameYesCompany context name, for example YOUR-COMPANY-NAME.
connectionRefNoOpaque Red connection reference returned by brc_confirm_company_connection. Pass this exact value on every later tool call when the MCP client rotates session ids (for example Vibe/Mistral). Keep reusing the same connectionRef after successful tool calls — do not start a new connection because a lookup returned empty or partial data. It is not an API key and does not contain credentials.

TDQS

A3.6/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint=true and destructiveHint=false, so the safety profile is covered. The description adds that results are 'combined' across three sources, which is useful, but it does not describe pagination behavior, result format, or how the combined entries are returned.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single, tight sentence with no filler. The scope of the combined resource is stated clearly and immediately.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a tool with 8 parameters, no output schema, and a combined result set from three different source types, the description is thin. The agent can infer the call shape from the schema, but it is not told what the combined result looks like, how pagination applies across the different entity types, or when to pick this over the individual list siblings.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The description provides no parameter explanations. Schema description coverage is only 50%; the undocumented paging parameters (top, page, skip, pageSize) have understandable names and bounds, but the description does not compensate for the missing schema detail or clarify their behavior in combination.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description uses a specific verb ('Lists') and names the exact combined resource: BRC sales entries, sales invoices, and sales credit notes. This clearly distinguishes it from sibling tools like brc_list_sales_entries or brc_list_sales_invoices.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The word 'combined' implies the tool should be used when a merged view of these three document types is needed, and that individual list tools might be used for separate lists. However, there is no explicit statement of when to use this tool versus alternatives or when not to use it.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

brc_list_sales_credit_notesList Sales Credit NotesC
Read-only
Inspect

Lists BRC sales credit notes.

ParametersJSON Schema
NameRequiredDescriptionDefault
topNo
pageNo
skipNo
filterNoOptional OData $filter expression, only if this endpoint supports filtering.
orderByNoOptional OData $orderby expression, only if this endpoint supports ordering.
pageSizeNo
companyNameYesCompany context name, for example YOUR-COMPANY-NAME.
connectionRefNoOpaque Red connection reference returned by brc_confirm_company_connection. Pass this exact value on every later tool call when the MCP client rotates session ids (for example Vibe/Mistral). Keep reusing the same connectionRef after successful tool calls — do not start a new connection because a lookup returned empty or partial data. It is not an API key and does not contain credentials.

TDQS

C2.6/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint=true and destructiveHint=false, so the safety profile is covered. However, the description adds no additional behavioral context, such as pagination semantics, data volume, or company connection requirements, beyond what annotations provide.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness3/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single concise sentence without repetition or filler. However, it is so minimal that it borders on under-specification rather than efficient clarity, providing little substance for an agent to act on.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a tool with 8 parameters, no output schema, and a minimal description, the agent lacks important contextual guidance about pagination, filtering, ordering, or the distinction from batch and single-get variants. The annotations cover safety, but not the operational context needed to invoke the tool correctly.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is only 50%, and the description does not compensate by clarifying any parameters. Pagination fields like top, page, skip, and pageSize are left without parameter-specific explanation in the description. The schema already covers some properties, but the description adds no value beyond what the input schema provides.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description states a clear verb and resource: 'Lists BRC sales credit notes.' This unambiguously identifies the operation. However, it does not explicitly distinguish itself from sibling tools like brc_get_sales_credit_note or brc_batch_sales_credit_notes, so it falls short of full differentiation.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description gives no guidance on when to use this tool versus alternatives. There is no mention of batch retrieval, single-record retrieval, or filtering scenarios that would help an agent select this tool over siblings such as brc_batch_sales_credit_notes.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

brc_list_sales_entriesList Sales EntriesC
Read-only
Inspect

Lists BRC sales entries.

ParametersJSON Schema
NameRequiredDescriptionDefault
topNo
pageNo
skipNo
filterNoOptional OData $filter expression, only if this endpoint supports filtering.
orderByNoOptional OData $orderby expression, only if this endpoint supports ordering.
pageSizeNo
companyNameYesCompany context name, for example YOUR-COMPANY-NAME.
connectionRefNoOpaque Red connection reference returned by brc_confirm_company_connection. Pass this exact value on every later tool call when the MCP client rotates session ids (for example Vibe/Mistral). Keep reusing the same connectionRef after successful tool calls — do not start a new connection because a lookup returned empty or partial data. It is not an API key and does not contain credentials.

TDQS

C2.6/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

The description adds no behavioral information beyond the annotations. Annotations already indicate read-only, non-destructive behavior; the description merely restates the tool's purpose and says nothing about pagination, filtering, or the return format.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness3/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is brief and not bloated, but it is also terse to the point of under-specification. One sentence can still be useful; here the sentence restates the tool title without offering additional context, so it is minimally acceptable but not strong.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given eight parameters, no output schema, and a large family of similar list tools, the description is not enough for an agent to confidently know when to this tool, how results are paginated, or what data is returned. The schema and annotations carry most of the meaning.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema covers only 50% of parameters with descriptions, but the tool description provides no parameter context whatsoever. it does not explain pagination fields (top, page, skip, pageSize) or clarify how companyName and connectionRef work together.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description uses a clear verb and resource: 'Lists BRC sales entries.' This tells an agent the tool retrieves a sales-entry collection, but it does not differentiate from sibling tools like brc_list_sales, brc_list_sales_invoices, or brc_list_sales_credit_notes.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

There is no guidance about when to use this tool, what company context is required, or how it relates to the many sibling list tools. No alternatives are named and no exclusions described.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

brc_list_sales_invoicesList Sales InvoicesC
Read-only
Inspect

Lists BRC sales invoices.

ParametersJSON Schema
NameRequiredDescriptionDefault
topNo
pageNo
skipNo
filterNoOptional OData $filter expression, only if this endpoint supports filtering.
orderByNoOptional OData $orderby expression, only if this endpoint supports ordering.
pageSizeNo
companyNameYesCompany context name, for example YOUR-COMPANY-NAME.
connectionRefNoOpaque Red connection reference returned by brc_confirm_company_connection. Pass this exact value on every later tool call when the MCP client rotates session ids (for example Vibe/Mistral). Keep reusing the same connectionRef after successful tool calls — do not start a new connection because a lookup returned empty or partial data. It is not an API key and does not contain credentials.

TDQS

C2.7/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already indicate readOnlyHint=true and destructiveHint=false, so the description adds no behavioral context beyond those. It does not mention pagination behavior, required company context, filtering support, or connection handling, which would add value beyond the structured fields.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single compact sentence with no wasted words and the core action is front-loaded. It is under-specified compared to orker expectations, but conciseness itself is good; it does not ramble or restate schema details.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a tool with 8 parameters and no output schema, this is incomplete. It misses whether results are paginated, whether filters are supported, and whether a company context is mandatory. The annotations clarify read-only safety, and the schema provides some parameter detail, but the description alone does not give an agent enough operational context.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Parameter schema coverage is 50%, and the description itself adds no parameter-level meaning. The schema documents companyName, connectionRef, filter, and orderBy, but the remaining params (top, page, skip, pageSize) are underdescribed in both the schema and the description; the description does not compensate for that gap.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description uses a specific verb ('Lists') with a clear resource ('BRC sales invoices'), so an agent can identify what this tool returns. It does not explicitly contrast it with nearby siblings such as brc_list_sales or brc_list_sales_entries, but the resource is named precisely enough for basic discrimination.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

There is no guidance about when to use this tool versus alternatives like brc_list_sales, brc_batch_sales_invoices, or brc_get_sales_invoice. The description only restates the tool's action and does not provide conditions, exclusions, or references to sibling tools.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

brc_list_sales_repsList Sales RepresentativesC
Read-only
Inspect

Lists BRC sales reps.

ParametersJSON Schema
NameRequiredDescriptionDefault
topNo
pageNo
skipNo
filterNoOptional OData $filter expression, only if this endpoint supports filtering.
orderByNoOptional OData $orderby expression, only if this endpoint supports ordering.
pageSizeNo
companyNameYesCompany context name, for example YOUR-COMPANY-NAME.
connectionRefNoOpaque Red connection reference returned by brc_confirm_company_connection. Pass this exact value on every later tool call when the MCP client rotates session ids (for example Vibe/Mistral). Keep reusing the same connectionRef after successful tool calls — do not start a new connection because a lookup returned empty or partial data. It is not an API key and does not contain credentials.

TDQS

C2.7/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

The annotations already provide readOnlyHint=true and destructiveHint=false, so the description adds no behavioral transparency beyond those structured values. It does not mention pagination behavior, filtering, the required company context, or how the connectionRef should be reused.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single, front-loaded sentence with no filler or repetition. It is concise, though it trades informational richness for brevity.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a tool with 8 parameters and no output schema, this description is under-specified. It does not explain what the returned list contains, how pagination and filters work, or that a companyName and stable connectionRef are prerequisites.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is only 50%, and the description contributes no additional parameter explanation whatsoever. The agent must rely on parameter names and types for top, page, skip, and pageSize, because those have no descriptive help in the schema or description.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description uses a clear verb-plus-resource structure: 'Lists BRC sales reps.' An agent can immediately identify this as a collection/read operation for sales representatives, and it is distinct from get/create/update/delete sales-rep siblings. It stops short of a 5 because it provides no scope or filter context that would distinguish it from similar list_* tools.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description gives no explicit guidance about when to use this tool instead of brc_get_sales_rep, brc_batch_sales_reps, or other listing tools. Any usage context is only implied by the tool name and title.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

brc_list_supplier_account_transList Supplier Account TransactionsB
Read-only
Inspect

Returns supplier account transactions. Transaction IDs and types are endpoint- and company-specific.

ParametersJSON Schema
NameRequiredDescriptionDefault
itemIdYesSupplier item id.
companyNameYesCompany context name, for example YOUR-COMPANY-NAME.
connectionRefNoOpaque Red connection reference returned by brc_confirm_company_connection. Pass this exact value on every later tool call when the MCP client rotates session ids (for example Vibe/Mistral). Keep reusing the same connectionRef after successful tool calls — do not start a new connection because a lookup returned empty or partial data. It is not an API key and does not contain credentials.

TDQS

B3.3/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint=true and destructiveHint=false, covering the safety profile. The description adds a useful behavioral caveat that transaction IDs and types are endpoint- and company-specific, which helps prevent incorrect assumptions. However, it does not disclose pagination, ordering, filtering behavior, or return format despite there being no output schema.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is two short sentences with no filler. The core action is front-loaded, and the second sentence earns its place by warning about endpoint- and company-specific IDs and types.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a simple list tool with well-documented parameters and read-only annotations, the description is mostly adequate. However, with no output schema, the description does not specify what fields or transaction types are returned, and it provides no context on how this tool relates to other list transaction tools.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, with clear descriptions for itemId, companyName, and connectionRef. The connectionRef description is especially detailed. The tool description itself adds no additional parameter-level meaning, so the baseline score of 3 is appropriate.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description states a specific verb ('Returns') and a clear resource ('supplier account transactions'), which inherently distinguishes it from the sibling brc_list_customer_account_trans. However, it does not explicitly describe the scope or differentiate itself from other transaction listing tools beyond the resource name.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

There is no guidance on when to use this tool versus alternatives such as brc_list_customer_account_trans or brc_list_allocated_transactions. The description does not mention exclusions, prerequisites, or the expected scenario for this tool.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

brc_list_supplier_op_bal_transList Supplier Opening Balance TransactionsB
Read-only
Inspect

Gets a supplier's opening balance transaction list.

ParametersJSON Schema
NameRequiredDescriptionDefault
itemIdYesSupplier item id.
companyNameYesCompany context name, for example YOUR-COMPANY-NAME.
connectionRefNoOpaque Red connection reference returned by brc_confirm_company_connection. Pass this exact value on every later tool call when the MCP client rotates session ids (for example Vibe/Mistral). Keep reusing the same connectionRef after successful tool calls — do not start a new connection because a lookup returned empty or partial data. It is not an API key and does not contain credentials.

TDQS

B3.3/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already provide readOnlyHint=true and destructiveHint=false, so the safety profile is clear. The description itself adds no notable behavioral context such as pagination, output ordering, or scope of returned transactions, but it is consistent with the annotations and no contradiction exists.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single, short sentence with no filler or repetition. It communicates the core operation efficiently and remains completely front-loaded.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a simple read-only list operation with a fully documented input schema, the description is minimally sufficient. However, there is no output schema and the description does not clarify what the returned transaction list contains or how the results are scoped, so the agent is left to infer some details from naming conventions.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The input schema already documents all parameters with 100% coverage, including a detailed explanation of connectionRef. The description adds no parameter-level meaning beyond the schema, so the baseline of 3 applies.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description states a clear verb and resource: it gets a supplier's opening balance transaction list. It is recognizable as a list/read tool, but it does not explicitly differentiate itself from siblings such as brc_get_supplier_opening_balance or brc_list_supplier_account_trans, so it stops short of a 5.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

There is no guidance on when to use this tool versus alternative supplier-related list/balance tools. The description does not name alternatives, exclusions, or conditions for use, leaving the agent to infer routing purely from sibling tool names.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

brc_list_suppliersList SuppliersC
Read-only
Inspect

Lists BRC suppliers.

ParametersJSON Schema
NameRequiredDescriptionDefault
topNo
pageNo
skipNo
filterNoOptional OData $filter expression, only if this endpoint supports filtering.
orderByNoOptional OData $orderby expression, only if this endpoint supports ordering.
pageSizeNo
companyNameYesCompany context name, for example YOUR-COMPANY-NAME.
connectionRefNoOpaque Red connection reference returned by brc_confirm_company_connection. Pass this exact value on every later tool call when the MCP client rotates session ids (for example Vibe/Mistral). Keep reusing the same connectionRef after successful tool calls — do not start a new connection because a lookup returned empty or partial data. It is not an API key and does not contain credentials.

TDQS

C2.5/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

The readOnlyHint and destructiveHint annotations already establish the safety profile, but the description adds no behavioral context beyond them. It does not disclose pagination behavior, output format, or anything about the required company connection.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness2/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is short, but it is under-specified rather than genuinely concise. For a tool with 8 parameters and an important connectionRef requirement, a single generic sentence is not sufficiently informative.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

With no output schema and no usage guidance, the description is incomplete. It leaves an agent to infer pagination behavior, output shape, how to choose among related supplier tools, and whether a connection must be established beforehand.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The description adds nothing about parameters, and the schema only describes 50% of them. Pagination parameters such as top, page, skip, and pageSize have no semantic explanation, and the description does not compensate for that gap.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description states a concrete verb and resource: it lists BRC suppliers. This distinguishes it from create, update, delete, get, and batch supplier tools, though it does not explicitly distinguish it from other list-type supplier siblings.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No guidance is provided about when to choose this tool over brc_batch_suppliers, brc_get_supplier, or the many other list tools. The description does not mention filters, pagination, or the company-connection prerequisite.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

brc_list_user_defined_fieldsList User-Defined FieldsC
Read-only
Inspect

Lists BRC user defined fields.

ParametersJSON Schema
NameRequiredDescriptionDefault
topNo
pageNo
skipNo
filterNoOptional OData $filter expression, only if this endpoint supports filtering.
orderByNoOptional OData $orderby expression, only if this endpoint supports ordering.
pageSizeNo
companyNameYesCompany context name, for example YOUR-COMPANY-NAME.
connectionRefNoOpaque Red connection reference returned by brc_confirm_company_connection. Pass this exact value on every later tool call when the MCP client rotates session ids (for example Vibe/Mistral). Keep reusing the same connectionRef after successful tool calls — do not start a new connection because a lookup returned empty or partial data. It is not an API key and does not contain credentials.

TDQS

C2.7/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already signal readOnlyHint=true and destructiveHint=false, so the safety profile is known. However, the description adds no behavioral detail beyond 'Lists...'—no mention of response shape, pagination behavior, filtering, or what happens when no user-defined fields exist. It adds little beyond the annotations and title.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is extremely short and front-loaded with the key action and resource. It is not padded or redundant, though it is close to a bare restatement of the title 'List User-Defined Fields.'

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given a tool with 8 parameters and no output schema, this description is far too thin. It does not explain what the returned fields look like, how pagination works, what companyName context is needed, or how filtering/ordering should be used. The annotations confirm safety, but not how to invoke the tool correctly.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The description adds no parameter semantics. The schema explains only companyName, filter, orderBy, and connectionRef; the pagination parameters top, page, skip, and pageSize are left as bare types with defaults. Since schema description coverage is only 50%, the description needed to compensate for these unclear parameters, but it does not.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description uses a clear verb and resource: 'Lists BRC user defined fields.' It is unambiguous about the operation being a list/read. It does not explain what a BRC user-defined field is or add differentiating context, but the resource name is specific enough to distinguish it from sibling tools.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No guidance is given about when to use this tool versus alternatives. There is no mention of connection requirements, prerequisites such as brc_confirm_company_connection, or when a list operation is preferable to the get-style tools for user-defined fields. This leaves usage entirely to inference.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

brc_list_vat_analysis_typesList VAT Analysis TypesC
Read-only
Inspect

Lists BRC VAT analysis types.

ParametersJSON Schema
NameRequiredDescriptionDefault
topNo
pageNo
skipNo
filterNoOptional OData $filter expression, only if this endpoint supports filtering.
orderByNoOptional OData $orderby expression, only if this endpoint supports ordering.
pageSizeNo
companyNameYesCompany context name, for example YOUR-COMPANY-NAME.
connectionRefNoOpaque Red connection reference returned by brc_confirm_company_connection. Pass this exact value on every later tool call when the MCP client rotates session ids (for example Vibe/Mistral). Keep reusing the same connectionRef after successful tool calls — do not start a new connection because a lookup returned empty or partial data. It is not an API key and does not contain credentials.

TDQS

C2.8/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

The annotations already declare readOnlyHint=true and destructiveHint=false, so the safety profile is covered. The description adds no further behavior context, such as whether results are paginated, expensive, or dependent on a connected company. It does not contradict the annotations, and for a simple list operation this is minimally acceptable but not informative.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness3/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is very short and wastes no words, but it is mostly a restated version of the title. It is concise, but not structured to maximize information density; no exclusions, examples, or conditions are included that would make the sentence earn its place.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

The description is incomplete for an 8-parameter tool with no output schema. It does not mention that companyName is required, does not hint at pagination controls, does not say what a 'VAT analysis type' actually is, and does not clarify returned values or limitations. The short text may work for naming the tool, but it leaves too much for the agent to infer.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is only 50%, and the description does not compensate by explaining any parameters. While the schema documents companyName, filter, orderBy, and connectionRef, several parameters such as top, page, skip, and pageSize lack explanatory descriptions and the description offers no semantics for them.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description states a specific action ('Lists') and a specific resource ('BRC VAT analysis types'), so the basic purpose is clear. However, it does not distinguish this tool from adjacent siblings like brc_list_vat_types, brc_list_vat_categories, or brc_list_vat_rates, so an agent cannot tell exactly what makes 'analysis types' different.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

There is no guidance about when to use this tool versus brc_list_vat_types or any other list tool. The description only repeats the operation and does not mention required context such as needing a company connection first or when this listing is appropriate.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

brc_list_vat_categoriesList VAT CategoriesB
Read-only
Inspect

Returns company VAT categories and their Sales or Purchase context.

ParametersJSON Schema
NameRequiredDescriptionDefault
topNo
pageNo
skipNo
filterNoOptional OData $filter expression, only if this endpoint supports filtering.
orderByNoOptional OData $orderby expression, only if this endpoint supports ordering.
pageSizeNo
companyNameYesCompany context name, for example YOUR-COMPANY-NAME.
connectionRefNoOpaque Red connection reference returned by brc_confirm_company_connection. Pass this exact value on every later tool call when the MCP client rotates session ids (for example Vibe/Mistral). Keep reusing the same connectionRef after successful tool calls — do not start a new connection because a lookup returned empty or partial data. It is not an API key and does not contain credentials.

TDQS

B3/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint=true, openWorldHint=false, and destructiveHint=false, so the safety profile is covered. The description adds that this lists VAT categories within a company context and includes Sales/Purchase context, which is useful but does not disclose pagination behavior, return structure, or any operational traits beyond the schema.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single, front-loaded sentence with no filler or redundant restatement of the tool name. It efficiently communicates the core purpose while leaving structured parameter details to the schema.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

With 8 parameters, no output schema, and a large sibling set, the minimal description is not sufficient for an agent to confidently call the tool correctly. Missing context includes pagination behavior, which filters/ordering are actually supported, what the returned VAT categories look like, and any relationship to the other VAT-related list tools.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 50%, and the main description adds no parameter-level meaning beyond the schema. The companyName parameter is documented in the schema, and the connectionRef has extensive guidance, but top, page, skip, and pageSize receive no additional semantic explanation in either the schema or the description. Since the description does not compensate for the half of parameters lacking schema descriptions, the score is low.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool returns company VAT categories plus their Sales or Purchase context, which is a specific verb-resource pairing. It distinguishes the tool from VAT-related siblings like brc_list_vat_rates and brc_list_vat_analysis_types by emphasizing 'category' and 'Sales or Purchase context', though it does not explicitly name any sibling.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description gives no guidance on when to use this tool versus the many sibling listing tools, nor does it mention when a different VAT-related tool would be more appropriate. There is no context about prerequisites, typical use cases, or exclusions, so an agent must infer usage purely from the name and one-line description.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

brc_list_vat_ratesList VAT RatesB
Read-only
Inspect

Returns company VAT rates and their associated category identifiers.

ParametersJSON Schema
NameRequiredDescriptionDefault
topNo
pageNo
skipNo
filterNoOptional OData $filter expression, only if this endpoint supports filtering.
orderByNoOptional OData $orderby expression, only if this endpoint supports ordering.
pageSizeNo
companyNameYesCompany context name, for example YOUR-COMPANY-NAME.
connectionRefNoOpaque Red connection reference returned by brc_confirm_company_connection. Pass this exact value on every later tool call when the MCP client rotates session ids (for example Vibe/Mistral). Keep reusing the same connectionRef after successful tool calls — do not start a new connection because a lookup returned empty or partial data. It is not an API key and does not contain credentials.

TDQS

B3/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint=true and destructiveHint=false, so the safety profile is clear. The description adds that results are company-scoped and include category identifiers, which is useful context, but it does not disclose pagination behavior, rate limits, or how large result sets are handled.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is one short sentence with no filler or repetition. It states the core behavior immediately and earns its place.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

With 8 parameters, no output schema, and many similar VAT-related siblings, the description is too thin. It does not explain when to choose this over list_vat_categories or process_vat_category_rates, and it leaves pagination/filtering behavior unclear. The detailed connectionRef schema description helps, but the tool-level context is incomplete.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is only 50%, and the description does not compensate for undocumented parameters. top, page, skip, and pageSize lack explanations, and the description adds no meaning beyond the schema for companyName or connectionRef. An agent must rely on parameter names and the schema's partial descriptions.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the action ('Returns') and resource ('company VAT rates and their associated category identifiers'), so an agent knows what data comes back. However, it does not distinguish this from sibling tools like brc_list_vat_categories or brc_list_vat_types.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No guidance is given on when to use this tool instead of alternatives such as brc_list_vat_categories, brc_list_vat_types, or brc_process_vat_category_rates. The description only states what it returns, leaving the invocation decision entirely to inference.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

brc_list_vat_typesList VAT TypesC
Read-only
Inspect

Lists BRC VAT types.

ParametersJSON Schema
NameRequiredDescriptionDefault
topNo
pageNo
skipNo
filterNoOptional OData $filter expression, only if this endpoint supports filtering.
orderByNoOptional OData $orderby expression, only if this endpoint supports ordering.
pageSizeNo
companyNameYesCompany context name, for example YOUR-COMPANY-NAME.
connectionRefNoOpaque Red connection reference returned by brc_confirm_company_connection. Pass this exact value on every later tool call when the MCP client rotates session ids (for example Vibe/Mistral). Keep reusing the same connectionRef after successful tool calls — do not start a new connection because a lookup returned empty or partial data. It is not an API key and does not contain credentials.

TDQS

C2.3/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already signal this is read-only and non-destructive, and the description merely says 'Lists...' with no additional behavioral context. It adds no detail about pagination behavior, company context requirements, connectionRef reuse, or whether the result is complete or partial, so it doesn't go beyond the annotations.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness2/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is short but it is under-specified rather than deliberately concise. It contains a single clause that essentially restates the tool name, providing no additional structure or prioritized information that would help an agent select or invoke the tool.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness1/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

The tool has eight parameters, a required companyName, optional connectionRef, and no output schema, yet the description gives zero contextual information about return shape, list bounds, pagination defaults, or how to chain connectionRef across calls. This is far too sparse for an agent to understand the operational context.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters1/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The description says nothing about the eight parameters. With only 50% schema description coverage, it should compensate by explaining key parameters like companyName, connectionRef, and pagination controls, but it does not. The agent is left solely with schema fields and no guidance on how they interact.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description uses a specific verb ('Lists') and names the resource ('BRC VAT types'), making it clear this tool retrieves VAT type data. However, it doesn't differentiate this from siblings like brc_list_vat_rates, brc_list_vat_categories, or brc_list_vat_analysis_types, so it stops short of the highest score.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

There is no guidance about when to use this tool versus the many similar listing tools. It does not state whether this is the canonical VAT type list, what filters or ordering are relevant, or why an agent would choose this over related VAT-related list endpoints.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

brc_multi_company_nom_ac_reportMulti-Company Nominal Account ReportA
Read-only
Inspect

Returns a multi-company nominal-account report with period movements rather than monthly balances.

ParametersJSON Schema
NameRequiredDescriptionDefault
companyNamesYesThe company names to report on.
connectionRefNoOpaque Red connection reference returned by brc_confirm_company_connection. Pass this exact value on every later tool call when the MCP client rotates session ids (for example Vibe/Mistral). Keep reusing the same connectionRef after successful tool calls — do not start a new connection because a lookup returned empty or partial data. It is not an API key and does not contain credentials.

TDQS

A3.5/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already establish readOnlyHint=true and destructiveHint=false, and the description does not contradict them. The description adds output-level context (period movements) but does not disclose further behavioral traits such as pagination, connection reuse, or failure semantics; the useful connectionRef reuse note lives only in the parameter schema.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single front-loaded sentence with no filler. It states the action, the resource, and the key qualifier efficiently.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a simple two-parameter read-only report, the description and schema are mostly sufficient, but there is no output schema and the return structure is only vaguely described as 'period movements rather than monthly balances.' Missing usage context and report shape prevent full completeness.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100%, so companyNames and connectionRef are already well documented in the input schema. The tool description adds no parameter-specific meaning beyond what the schema and title already convey.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states a specific verb ('Returns') and resource ('multi-company nominal-account report'), and adds a useful differentiator with 'period movements rather than monthly balances.' However, it does not explicitly contrast any sibling tool, so the differentiation from similar report tools is only implicit.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No explicit 'use when' guidance or alternative tool is named. The phrase 'rather than monthly balances' implies this is intended for period-movement analysis, but the agent is left to infer when to select this over sibling reports like brc_grouped_nominal_accounts_report.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

brc_open_edu_adminOpen Education AdministrationA
Read-only
Inspect

Returns the protected education-administration URL. Access requires Microsoft Entra sign-in and does not bypass authentication. The response contains no upload secret or bypass parameter.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

A4.2/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already indicate a read-only, non-destructive operation. The description adds meaningful behavioral context beyond annotations: the URL is protected, sign-in is required, authentication is not bypassed, and the response contains no secret or bypass parameter. This helps the agent understand security implications.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is two concise sentences with the primary function front-loaded. Every sentence adds value: the first states what the tool returns, the second clarifies access and security behavior. No redundant or filler content.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a zero-parameter tool with no output schema, the description is largely complete. It states the return type (URL), access requirements, and explicitly disclaims bypass capabilities. Minor ambiguity about the URL's format or exact destination is not critical for correct invocation.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

With zero parameters and full schema coverage, the description does not need to explain parameter semantics. The baseline of 4 applies because there are no parameters to document and the tool's purpose is clear.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description states a specific verb and resource: 'Returns the protected education-administration URL.' This clearly identifies the tool's function and distinguishes it from the many CRUD and batch siblings in the list.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description implies when to use the tool: when the education-administration URL is needed. It also provides the requirement of Microsoft Entra sign-in, which is useful context. However, it does not explicitly contrast it with alternatives or state when not to use it.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

brc_process_vat_category_ratesProcess VAT Category RatesA
Destructive
Inspect

Processes VAT rates for VAT categories via POST /v1/vatCategories/vatRates. Requires a full vatCategoryRates array and confirmProcess=true. Requires a valid routeToken issued for the matching action workflow. The token remains valid through lookup, preview and the permitted transaction. Placeholder tokens are invalid. A routeToken does not bypass preview or explicit-confirmation requirements. A call without confirmWrite: true returns confirmation_required and a payload preview. confirmWrite: true applies the previewed change after explicit confirmation. Passing preflight is not confirmation.

ParametersJSON Schema
NameRequiredDescriptionDefault
payloadNoDeprecated. Use vatCategoryRates instead of a raw payload object.
routeTokenYesOpaque routeToken from brc_route_request for this action workflow. Required for transactional tools. Routing permission only — does not replace preview-before-posting or confirmWrite.
companyNameYesCompany context name, for example YOUR-COMPANY-NAME.
confirmWriteNoMust be true only after a plain-English preview before posting has been shown in the current conversation and the user explicitly confirmed posting (for example yes, create it / post it now / confirm). Never set true on the first call or because the user initially asked to create something. Nothing is written to Big Red Cloud until you confirm.
connectionRefNoOpaque Red connection reference returned by brc_confirm_company_connection. Pass this exact value on every later tool call when the MCP client rotates session ids (for example Vibe/Mistral). Keep reusing the same connectionRef after successful tool calls — do not start a new connection because a lookup returned empty or partial data. It is not an API key and does not contain credentials.
effectiveDateNoNot a valid standalone payload. Use vatCategoryRates instead.
confirmProcessNo
vatCategoryRatesNoFull BRC payload array for POST /v1/vatCategories/vatRates, e.g. [{ vatCategoryId: 1, vatRates: [...] }].

TDQS

A4/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already signal destructiveHint=true and readOnlyHint=false, and the description expands on the safety/confirmation behavior: token validity through lookup/preview/transaction, no write without explicit confirmation, confirmation_required and payload preview when confirmWrite is omitted, and confirmWrite applying the previewed change. The confirmProcess/confirmWrite distinction is slightly muddled, but the overall behavioral disclosure is strong.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is front-loaded with the action and endpoint, and each subsequent sentence contributes workflow or safety information. It is dense rather than bloated, though the two confirmation flags (confirmProcess vs confirmWrite) and the 'preflight' reference could have been separated more explicitly.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a complex 8-parameter, nested-object, destructive tool with no output schema, the description covers prerequisites, token behavior, preview/confirmation flow, and the likely confirmation_required response. The main gap is the exact relationship between confirmProcess and confirmWrite, but the overall definition is enough for an agent to invoke the tool correctly.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is high (88%), so the baseline is 3, and the description still adds meaning beyond the schema: it explicitly requires a full vatCategoryRates array and confirmProcess=true, clarifies routeToken validity and that routeToken does not bypass preview/confirmation, and explains the confirmWrite gate. Remaining params like connectionRef and companyName are already well documented in the schema.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly identifies the resource being acted on (VAT rates for VAT categories) and the exact endpoint (POST /v1/vatCategories/vatRates), and the 'Processes' verb plus confirmation semantics distinguish it from the many list/update tools. It is slightly generic about whether this creates or updates rates, but the endpoint and workflow make the intent reasonably clear.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description gives strong workflow context: it requires a full vatCategoryRates array, confirmProcess=true, a valid routeToken for the matching action, a preview before posting, and explicit user confirmation before confirmWrite:true. It also gives explicit don'ts, such as placeholder tokens being invalid and preflight not counting as confirmation, though it does not name sibling alternatives.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

brc_red_helpGet Red HelpA
Read-only
Inspect

Returns Big Red Cloud help and manual Big Red Cloud instructions for how-to questions, including how do I queries and tutorials. Covers topics including sales invoices, purchases, customers, suppliers, banking, VAT, reports and company setup. Searches Freshdesk, YouTube, BRC Edu, webinars and screenshots. Read-only and available without a connected company.

ParametersJSON Schema
NameRequiredDescriptionDefault
queryYesText after the red-help command, for example how do I add a sales invoice or add a customer manually.

TDQS

A4.1/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already mark the tool as readOnly and non-destructive. The description adds useful context beyond that: it is 'available without a connected company' and searches multiple external sources (Freshdesk, YouTube, BRC Edu, webinars, screenshots). No contradiction with annotations.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Three focused sentences front-load the core action, then list topics, sources, and availability. Every sentence adds relevant information with no fluff or repetition.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a one-parameter, read-only help lookup with no output schema, the description specifies what it returns, when to use it, what topics it covers, where it searches, and the special no-connected-company availability. Nothing important is missing.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The schema description covers the single query parameter 100%, including example values, so the description does not need to add much. It adds a light framing around how-to questions but does not extend parameter-level meaning.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

States it 'Returns Big Red Cloud help and manual instructions for how-to questions' and lists covered topics, making the purpose clear. It does not explicitly distinguish itself from related sibling tools like brc_find_help_resources or brc_get_help_resource_details.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Clearly scopes use to 'how-to questions', 'how do I queries', and tutorials, and lists example domains. It does not mention when not to use it or name alternative help tools, so it stops short of full guidance.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

brc_reopen_quoteReopen QuoteAInspect

Reopens a BRC quote. Requires a valid routeToken issued for the matching action workflow. The token remains valid through lookup, preview and the permitted transaction. Placeholder tokens are invalid. A routeToken does not bypass preview or explicit-confirmation requirements. A call without confirmWrite: true returns confirmation_required and a payload preview. confirmWrite: true applies the previewed change after explicit confirmation. Passing preflight is not confirmation.

ParametersJSON Schema
NameRequiredDescriptionDefault
idYesQuote id.
routeTokenYesOpaque routeToken from brc_route_request for this action workflow. Required for transactional tools. Routing permission only — does not replace preview-before-posting or confirmWrite.
companyNameYesCompany context name, for example YOUR-COMPANY-NAME.
confirmWriteNoMust be true only after a plain-English preview before posting has been shown in the current conversation and the user explicitly confirmed posting (for example yes, create it / post it now / confirm). Never set true on the first call or because the user initially asked to create something. Nothing is written to Big Red Cloud until you confirm.
connectionRefNoOpaque Red connection reference returned by brc_confirm_company_connection. Pass this exact value on every later tool call when the MCP client rotates session ids (for example Vibe/Mistral). Keep reusing the same connectionRef after successful tool calls — do not start a new connection because a lookup returned empty or partial data. It is not an API key and does not contain credentials.

TDQS

A4.2/5.0
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

The description thoroughly discloses behavior beyond the annotations: calls without confirmWrite return confirmation_required and a preview, confirmWrite: true applies the previewed change only after explicit confirmation, and passing preflight is not confirmation. It also clarifies routeToken limitations and placeholder-token invalidity, which are important operational constraints.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is information-dense and front-loaded with the purpose. All sentences contribute meaningfully, though it is slightly long; the length is justified by the nuance of the confirmation workflow.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a transactional tool with no output schema, the description covers the routeToken requirement, confirmation behavior, and the consequence of omitting confirmWrite. It does not explicitly describe what 'reopen' changes or the result of a successful confirmWrite: true call, but the provided workflow details are largely sufficient.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100%, so each parameter is already described in the schema. The description adds valuable semantic context about routeToken validity across lookup, preview, and transaction, and the correct sequencing of confirmWrite relative to preview and explicit confirmation, going beyond the schema.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description states a specific verb and resource: 'Reopens a BRC quote.' This distinguishes it from quote creation, updating, and deletion, though it does not explicitly contrast with sibling tools like brc_close_quote or brc_update_quote.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description gives clear operational guidance: requires a valid routeToken for the matching action workflow, and confirmWrite: true must only follow explicit confirmation after a preview. It does not explicitly say when to prefer this over alternatives, but it provides strong context for the routeToken and confirmation workflow.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

brc_resolve_book_transaction_typeResolve Book Transaction TypeA
Read-only
Inspect

Resolves a company-specific bookTranTypeId against live transaction-type reference data. Descriptions and numeric IDs are not globally stable.

ParametersJSON Schema
NameRequiredDescriptionDefault
companyNameYesCompany context name, for example YOUR-COMPANY-NAME.
connectionRefNoOpaque Red connection reference returned by brc_confirm_company_connection. Pass this exact value on every later tool call when the MCP client rotates session ids (for example Vibe/Mistral). Keep reusing the same connectionRef after successful tool calls — do not start a new connection because a lookup returned empty or partial data. It is not an API key and does not contain credentials.
bookTranTypeIdYes

TDQS

A4.2/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint=true and destructiveHint=false, so safety is covered. The description adds meaningful behavioral context beyond annotations by warning that descriptions and numeric IDs are not globally stable, implying results are dynamic and should not be cached or assumed constant across companies.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is two concise sentences with no filler. The primary action and resource are front-loaded, and the important stability warning is included efficiently without redundancy.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a simple read-only resolver with three parameters, the description combined with the schema is largely complete. The main omission is the lack of an output schema and no explicit statement of the return value structure, though 'resolves' strongly implies the result is the current transaction type description or identifier.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 67%, with companyName and connectionRef documented in the schema. The bookTranTypeId parameter has no schema description, but the tool name and description make its meaning clear. The description's warning about unstable numeric IDs adds some context but does not elaborate on parameter formats or expected values beyond what the schema already provides.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description states a specific verb ('resolves') and resource ('company-specific bookTranTypeId') against live transaction-type reference data. It clearly indicates this is a lookup/resolution operation, distinguishing it from sibling tools like brc_list_book_tran_types that simply list reference data.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description gives clear context for when to use the tool: whenever a company-specific bookTranTypeId needs to be resolved against current reference data. However, it does not explicitly mention alternatives or when not to use it, such as when a full list of transaction types is needed instead.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

brc_route_requestRoute RequestA
Read-only
Inspect

Classifies a supplied request as help, action, correction or unsupported. Classification covers read, create, update, delete, correct, undo, reverse, email and batch actions, including creating a sales invoice or add a customer, plus help wording such as how do I. Action results include allowed tools and an opaque routeToken. Help and correction results do not issue transactional route tokens.

ParametersJSON Schema
NameRequiredDescriptionDefault
messageYesThe user's complete original message to classify, for example add a customer or how do I add a customer.
connectionRefNoOpaque Red connection reference returned by brc_confirm_company_connection. Pass this exact value on every later tool call when the MCP client rotates session ids (for example Vibe/Mistral). Keep reusing the same connectionRef after successful tool calls — do not start a new connection because a lookup returned empty or partial data. It is not an API key and does not contain credentials.

TDQS

A4.5/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations readOnlyHint=true, openWorldHint=false, destructiveHint=false already signal a safe read/classification operation. The description adds valuable behavioral nuance: the token is opaque, help/correction results lack transactional route tokens, and the classification spans multiple request types. It does not contradict annotations. Minor gap: it doesn't explain what happens when classification is unsupported, but the provided detail exceeds the annotation baseline.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Three sentences are dense but well-organized: purpose first, then classification coverage, then result mechanics. Every sentence earns its place. The parameter guidance in the schema is somewhat long but necessary for correct connectionRef reuse. Slight structural weakness: the classification categories and examples are compressed in the first two sentences, but the overall size is appropriate for the tool's routing role.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given no output schema, the description compensates by explaining what action results contain (allowed tools, opaque routeToken) and what help/correction results omit. It does not describe the exact shape of the returned classification object (e.g., category field names, confidence), but for a router tool with annotations declaring it read-only and non-destructive, the core decision guidance is present. An agent can safely invoke it and interpret the consequence of the result types.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100%, so the schema already documents both parameters. The description adds meaningful context about connectionRef: it is opaque, not an API key, contains no credentials, and should be reused across session-id rotations. It also clarifies that 'message' must be the user's complete original message. This goes beyond the schema's terse descriptions, adding behavioral guidance for repeated calls.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description states a specific verb and resource: classifies a supplied request into help, action, correction or unsupported, and enumerates covered actions (read, create, update, delete, correct, undo, reverse, email, batch). This clearly distinguishes it from the create/update/delete execution siblings: it is a router, not an executor. The help-result behavior further disambiguates it from action routing.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description explicitly indicates when to use this tool: for classifying an incoming request before choosing an execution tool. It differentiates result types — action results include allowed tools and routeToken, while help/correction results do not issue transactional route tokens. This tells an agent to use this tool first to plan a route, rather than directly calling a create/update/delete sibling, and to route help requests toward brc_find_help_resources or brc_red_help.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

brc_send_email_statementSend Account Statement EmailA
Destructive
Inspect

Sends a customer-statement email to the customer address or an explicit recipient override. An unconfirmed call returns an email preview; confirmSend applies the send. Requires a valid routeToken issued for the matching action workflow. The token remains valid through lookup, preview and the permitted transaction. Placeholder tokens are invalid. A routeToken does not bypass preview or explicit-confirmation requirements.

ParametersJSON Schema
NameRequiredDescriptionDefault
sendModeNoHow to handle multiple recipients. Use separate only when the user explicitly asks to send separate individual emails.
toPeriodNoStatement period end (ISO date-time, e.g. 2026-05-31T00:00:00).
toAddressNoOptional single recipient override. If omitted or empty, BRC uses the customer's email address.
customerIdYesBRC field: customerId.
fromPeriodNoStatement period start (ISO date-time, e.g. 2026-01-01T00:00:00).
minBalanceNoMinimum balance threshold for transactions included on the statement.
routeTokenYesOpaque routeToken from brc_route_request for this action workflow. Required for transactional tools. Routing permission only — does not replace preview-before-posting or confirmWrite.
companyNameYesCompany context name, for example YOUR-COMPANY-NAME.
confirmSendNoMust be true only after the user has reviewed the email preview and explicitly confirmed sending.
fromAddressNoOptional sender address override.
messageBodyNoOptional custom email message body.
toAddressesNoOptional list of recipients. If more than one is provided, ask the user whether to send one email with BCC or separate individual emails.
bccAddressesNoOptional BCC email addresses. Only use if the user explicitly provides BCC addresses or chooses one email with BCC.
connectionRefNoOpaque Red connection reference returned by brc_confirm_company_connection. Pass this exact value on every later tool call when the MCP client rotates session ids (for example Vibe/Mistral). Keep reusing the same connectionRef after successful tool calls — do not start a new connection because a lookup returned empty or partial data. It is not an API key and does not contain credentials.

TDQS

A4.6/5.0
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

The description goes well beyond the annotations by explaining the two-phase preview/confirm behavior, that unconfirmed calls only preview, that confirmSend executes the send, that routeToken is required and remains valid through lookup/preview/transaction, and that placeholder tokens are invalid. This is valuable behavioral detail not present in the annotations.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is compact and well-organized: the primary action comes first, followed by the preview/confirm behavior and the routeToken constraints. Every sentence adds essential information with no redundancy or filler.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a 14-parameter transactional tool with no output schema, the description covers the critical workflow decisions: preview before send, explicit confirmation, and routeToken requirements. It doesn't describe return values, but the absence of an output schema lowers the burden, and the schema handles parameter-level details.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100%, so the baseline is 3. The description adds meaning by clarifying the confirmSend workflow, the role of routeToken, and the recipient override behavior, which supplements the schema's individual parameter descriptions. It does not describe every parameter, but the schema already covers those details.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description uses a specific verb and resource ('Sends a customer-statement email') and immediately expands on the target recipient and the preview/confirm workflow. It clearly distinguishes this tool from sibling email tools by the 'customer-statement' scope, even without naming them.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides clear operational context: use it to send customer statements, with support for an explicit recipient override, and it requires a routeToken. It does not explicitly name the sibling tools as alternatives or state when not to use it, but the scope is specific enough that an agent can infer the intended use.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

brc_send_quote_emailSend Quote EmailA
Destructive
Inspect

Sends a quote email to the customer address or an explicit recipient override. An unconfirmed call returns an email preview; confirmSend applies the send. Requires a valid routeToken issued for the matching action workflow. The token remains valid through lookup, preview and the permitted transaction. Placeholder tokens are invalid. A routeToken does not bypass preview or explicit-confirmation requirements.

ParametersJSON Schema
NameRequiredDescriptionDefault
quoteIdYesBRC field: quoteId.
sendModeNoHow to handle multiple recipients. Use separate only when the user explicitly asks to send separate individual emails.
toAddressNoOptional single recipient override. If omitted or empty, BRC uses the customer's email address.
routeTokenYesOpaque routeToken from brc_route_request for this action workflow. Required for transactional tools. Routing permission only — does not replace preview-before-posting or confirmWrite.
companyNameYesCompany context name, for example YOUR-COMPANY-NAME.
confirmSendNoMust be true only after the user has reviewed the email preview and explicitly confirmed sending.
fromAddressNoOptional sender address override.
messageBodyNoOptional custom email message body.
toAddressesNoOptional list of recipients. If more than one is provided, ask the user whether to send one email with BCC or separate individual emails.
bccAddressesNoOptional BCC email addresses. Only use if the user explicitly provides BCC addresses or chooses one email with BCC.
connectionRefNoOpaque Red connection reference returned by brc_confirm_company_connection. Pass this exact value on every later tool call when the MCP client rotates session ids (for example Vibe/Mistral). Keep reusing the same connectionRef after successful tool calls — do not start a new connection because a lookup returned empty or partial data. It is not an API key and does not contain credentials.

TDQS

A4.7/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations declare destructiveHint=true and openWorldHint=true, indicating mutation and external side effects. The description adds crucial behavioral context: it previews before sending, requires explicit confirmation via confirmSend, and clarifies that routeToken does not bypass preview or confirmation requirements. It also notes token validity across the workflow. This goes beyond the annotations, though it does not detail failure modes or what happens if confirmSend is set without a prior preview. Still, it's highly transparent about the core behavioral flow.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is efficient and front-loaded: it states the primary action first, then the preview/confirm flow, then token requirements, and finally a warning about token misuse. Each sentence serves a distinct purpose, and the length is appropriate for a tool with 11 parameters and a non-trivial workflow. There is no fluff or redundancy.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the complexity (11 parameters, no output schema, prerequisites), the description is complete. It covers the main action, the two-step preview/confirm workflow, token requirements and validity, and the recipient override behavior. It even mentions that an unconfirmed call returns a preview, which hints at the return value. For an agent to call this tool correctly, everything needed is present: when to use, prerequisites, and the expected flow.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100% (all 11 parameters have descriptions), so the schema already documents each parameter. The description adds meaningful context beyond the schema: it explains the purpose of routeToken (from brc_route_request, routing permission only) and reinforces the preview/confirm behavior. It also clarifies that placeholder tokens are invalid. This is value beyond the schema, though the schema is already thorough, so the description doesn't need to compensate for gaps.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool's core function: 'Sends a quote email to the customer address or an explicit recipient override.' It names the specific resource (quote email), the action (send), and the optional recipient override. While it doesn't explicitly differentiate from sibling email tools like brc_send_sales_invoice_email, the name and phrasing make the purpose unmistakable, and the description avoids any tautology.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description gives explicit usage guidance: an unconfirmed call returns a preview, confirmSend=true applies the send, and a valid routeToken is required. It explains that placeholder tokens are invalid and that the token stays valid through lookup, preview, and the permitted transaction. This clearly tells the agent when and how to invoke the tool, including the prerequisite of obtaining a routeToken from brc_route_request.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

brc_send_sales_invoice_emailSend Sales Invoice EmailA
Destructive
Inspect

Sends a sales-invoice email to the customer address or an explicit recipient override. An unconfirmed call returns an email preview; confirmSend applies the send. Requires a valid routeToken issued for the matching action workflow. The token remains valid through lookup, preview and the permitted transaction. Placeholder tokens are invalid. A routeToken does not bypass preview or explicit-confirmation requirements.

ParametersJSON Schema
NameRequiredDescriptionDefault
sendModeNoHow to handle multiple recipients. Use separate only when the user explicitly asks to send separate individual emails.
toAddressNoOptional single recipient override. If omitted or empty, BRC uses the customer's email address.
routeTokenYesOpaque routeToken from brc_route_request for this action workflow. Required for transactional tools. Routing permission only — does not replace preview-before-posting or confirmWrite.
companyNameYesCompany context name, for example YOUR-COMPANY-NAME.
confirmSendNoMust be true only after the user has reviewed the email preview and explicitly confirmed sending.
fromAddressNoOptional sender address override.
messageBodyNoOptional custom email message body.
toAddressesNoOptional list of recipients. If more than one is provided, ask the user whether to send one email with BCC or separate individual emails.
bccAddressesNoOptional BCC email addresses. Only use if the user explicitly provides BCC addresses or chooses one email with BCC.
connectionRefNoOpaque Red connection reference returned by brc_confirm_company_connection. Pass this exact value on every later tool call when the MCP client rotates session ids (for example Vibe/Mistral). Keep reusing the same connectionRef after successful tool calls — do not start a new connection because a lookup returned empty or partial data. It is not an API key and does not contain credentials.
salesInvoiceIdYesBRC field: salesInvoiceId.

TDQS

A4.7/5.0
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Beyond the annotations (readOnlyHint=false, destructiveHint=true), the description explains the non-destructive preview step and the explicit confirmation requirement. It also discloses routeToken validity, rejects placeholder tokens, and clarifies that the token does not bypass preview/confirmation, which meaningfully informs an agent's behavior.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is compact and front-loaded, with the core action stated first. Each subsequent sentence adds distinct operational information about preview, confirmation, routeToken validity, and placeholder tokens, without redundancy or filler.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For an 11-parameter transactional action with no output schema, the description covers the essential workflow: preview first, explicit confirmation, required routeToken, and token restrictions. Combined with the rich per-parameter schema descriptions, an agent has enough context to call the tool correctly and safely.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100%, so the schema already documents all 11 parameters. The description adds real semantic value by explaining how confirmSend switches from preview to send, how toAddress acts as an 'explicit recipient override,' and how routeToken relates to the workflow.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description opens with a specific verb and resource: 'Sends a sales-invoice email.' It also distinguishes the receiver behavior and references the preview/confirm workflow, making it easy to tell apart from sibling email tools like brc_send_quote_email or brc_send_email_statement.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description gives clear operational context: an unconfirmed call produces a preview, confirmSend is required to actually send, and a valid routeToken is a prerequisite. It does not explicitly name alternatives or state when not to use this tool, but the intended usage is strongly implied and actionable.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

brc_start_company_connectionStart Company ConnectionAInspect

Starts the secure Red / Big Red Cloud connection flow and returns a one-time connection page URL and confirmation code. The secure page supports one or multiple companies, including CSV upload, and keeps API credentials outside chat. Available without an existing company connection.

ParametersJSON Schema
NameRequiredDescriptionDefault
connectionRefNoOpaque Red connection reference returned by brc_confirm_company_connection. Pass this exact value on every later tool call when the MCP client rotates session ids (for example Vibe/Mistral). Keep reusing the same connectionRef after successful tool calls — do not start a new connection because a lookup returned empty or partial data. It is not an API key and does not contain credentials.

TDQS

A4.1/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already provide readOnlyHint=false, openWorldHint=false, destructiveHint=false, so the safety profile is partially covered. The description adds useful context about the secure connection flow and that the tool returns a one-time URL and confirmation code, as well as the availability note. However, it doesn't disclose side effects such as whether calling this invalidates a previous connection attempt, what happens to existing sessions, or whether repeated calls create multiple pending connections. With annotations present, the bar is lower, but more behavioral context would be valuable.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is compact (two sentences) and front-loads the primary behavior and output before adding availability and security details. The parameter sematics are embedded in the schema rather than bloating the description. One minor deduction because the availability clause and security phrasing could be tightened without losing meaning, but overall it is well-structured.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a connection-flow starter with one optional parameter and no output schema, the description covers the essential behavior, outputs, and availability. The inclusion of the confirmation-code/output expectation partially compensates for the missing output schema. The main gap is not describing what happens on repeated calls or whether the returned URL expires, which would make it fully complete for an agent performing the connection flow.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100% and the parameter is documented in detail: what it is ('Opaque Red connection reference'), where it comes from, how to pass it, and crucially what it is NOT ('not an API key'). The description also adds operational guidance about MCP client session rotation (Vibe/Mistral) and warns against starting a new connection after empty lookups. This goes well beyond the schema alone, justifying above-baseline scoring.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description uses a specific verb ('Starts'), identifies the resource ('secure Red / Big Red Cloud connection flow'), and states the key outputs ('one-time connection page URL and confirmation code'). It also distinguishes itself from the broader connection lifecycle by noting it is available even without an existing company connection and that confirm_company_connection is the follow-up tool. This makes sibling differentiation clear.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description states a clear trigger context ('Available without an existing company connection'), which tells an agent when to start here. The sibling tool brc_confirm_company_connection is referenced indirectly via the parameter description, giving some routing context. However, it does not explicitly state when NOT to use this tool or name alternatives for resuming/confirming the flow, leaving room for stronger routing guidance.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

brc_update_accrualUpdate AccrualA
Destructive
Inspect

Updates an accrual using its current concurrency timestamp. Requires a valid routeToken issued for the matching action workflow. The token remains valid through lookup, preview and the permitted transaction. Placeholder tokens are invalid. A routeToken does not bypass preview or explicit-confirmation requirements. A call without confirmWrite: true returns confirmation_required and a payload preview. confirmWrite: true applies the previewed change after explicit confirmation. Passing preflight is not confirmation.

ParametersJSON Schema
NameRequiredDescriptionDefault
idYesParent accrual id.
totalYesAccrual total amount.
acCodeYesNominal account code, for example 4000.
procDateYesProcessing date, for example 2024-03-15T00:00:00.
entryDateYesEntry date, for example 2024-03-01T00:00:00.
referenceYesAccrual reference, for example ACC0001.
timestampYesBase64 timestamp returned by the accrual, for example K94UQIbL3gg=.
routeTokenYesOpaque routeToken from brc_route_request for this action workflow. Required for transactional tools. Routing permission only — does not replace preview-before-posting or confirmWrite.
companyNameYesCompany context name, for example YOUR-COMPANY-NAME.
firstDetailNoFirst detail text.
confirmWriteNoMust be true only after the user explicitly confirms updating this accrual.
secondDetailNoSecond detail text.
connectionRefNoOpaque Red connection reference returned by brc_confirm_company_connection. Pass this exact value on every later tool call when the MCP client rotates session ids (for example Vibe/Mistral). Keep reusing the same connectionRef after successful tool calls — do not start a new connection because a lookup returned empty or partial data. It is not an API key and does not contain credentials.

TDQS

A4.8/5.0
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Beyond the annotations (readOnlyHint=false, destructiveHint=true), the description explains the two-phase confirmWrite behavior, what happens without confirmWrite, that preflight is not confirmation, and that placeholder tokens are invalid. This is rich behavioral context that helps the agent avoid unsafe calls.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Every sentence earns its place. The description front-loads the core action, then covers token requirements and confirmation semantics without filler or repetition of schema-only details.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the dangerous mutation, 13 parameters, 9 required fields, and no output schema, the description covers the critical interaction flow: token acquisition, preview behavior, confirmation, and the confirmation_required response. Nothing essential for safe invocation is missing.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters5/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100%, but the description adds significant meaning beyond the schema for the tricky parameters: timestamp is framed as a concurrency control value, routeToken's lifecycle and limitations are clarified, and confirmWrite's exact call behavior is specified. This goes well above the baseline for high schema coverage.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description opens with a specific verb and resource: 'Updates an accrual using its current concurrency timestamp.' It clearly distinguishes this from sibling create/delete/get accrual tools by emphasizing concurrency control and the routeToken workflow.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description gives explicit preconditions: a valid routeToken for the matching workflow, the token's validity window, and the requirement for explicit confirmation via confirmWrite. It does not explicitly name alternative tools or state when not to use the tool, so it falls just short of a 5.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

brc_update_allocationsUpdate AllocationsA
Destructive
Inspect

Updates transaction allocations using eligible receiver transactions and an unconfirmed payload preview. Requires a valid routeToken issued for the matching action workflow. The token remains valid through lookup, preview and the permitted transaction. Placeholder tokens are invalid. A routeToken does not bypass preview or explicit-confirmation requirements. A call without confirmWrite: true returns confirmation_required and a payload preview. confirmWrite: true applies the previewed change after explicit confirmation. Passing preflight is not confirmation.

ParametersJSON Schema
NameRequiredDescriptionDefault
bookTranIdYesBook transaction id to allocate from, for example 1001.
routeTokenYesOpaque routeToken from brc_route_request for this action workflow. Required for transactional tools. Routing permission only — does not replace preview-before-posting or confirmWrite.
companyNameYesCompany context name, for example YOUR-COMPANY-NAME.
confirmWriteNoMust be true only after the user explicitly confirms posting the allocation update.
connectionRefNoOpaque Red connection reference returned by brc_confirm_company_connection. Pass this exact value on every later tool call when the MCP client rotates session ids (for example Vibe/Mistral). Keep reusing the same connectionRef after successful tool calls — do not start a new connection because a lookup returned empty or partial data. It is not an API key and does not contain credentials.
allocationResolversYesAllocations to create or update.

TDQS

A4.2/5.0
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations mark destructiveHint=true, and the description substantially extends that: routeToken lifecycle through lookup/preview/transaction, invalid placeholder tokens, the routeToken not bypassing preview or confirmation, the two-phase confirmWrite behavior, and the preflight-is-not-confirmation warning. This goes well beyond what annotations alone convey and fully discloses the tool's safety-critical behavior.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is eight sentences and dense, but every sentence carries a distinct, invocation-relevant fact about the token contract or confirmation protocol. It is front-loaded with the core action and the workflow details that follow are justified for a destructive transactional tool. Slightly tight grouping of token clarifications could trim it, but nothing is wasted.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a destructive tool with no output schema, the description covers the critical path well: action, token prerequisite, preview/confirmation semantics, and even the key response condition ('returns confirmation_required'). Minor gaps remain, such as how receiver transaction eligibility is determined and what a successful confirmed write returns, but nothing blocks correct invocation.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so the baseline is 3. The description adds value beyond the schema by spelling out the behavioral consequence of confirmWrite=false (confirmation_required plus payload preview) and reinforcing routeToken's non-bypass property, which amplifies the meaning of those parameters rather than merely repeating it.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description states a specific verb and resource ('Updates transaction allocations') and adds the mechanism ('using eligible receiver transactions and an unconfirmed payload preview'), which meaningfully narrows scope. It does not explicitly differentiate from sibling tools like brc_delete_allocation_resolver or brc_list_allocated_transactions, so it stops short of a 5.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description gives strong workflow-level guidance: when confirmWrite:true is permitted ('only after the user explicitly confirms'), what happens without it (returns confirmation_required and a preview), and the routeToken contract. However, it never names alternative tools or says when not to use this tool, so it has clear context without explicit exclusions.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

brc_update_bank_accountUpdate Bank AccountA
Destructive
Inspect

Updates a BRC bank account using merged fields. An unconfirmed call returns a plain-English change preview. Explicit confirmation is required before the update is applied. Requires a valid routeToken issued for the matching action workflow. The token remains valid through lookup, preview and the permitted transaction. Placeholder tokens are invalid. A routeToken does not bypass preview or explicit-confirmation requirements. A call without confirmWrite: true returns confirmation_required and a payload preview. confirmWrite: true applies the previewed change after explicit confirmation. Passing preflight is not confirmation.

ParametersJSON Schema
NameRequiredDescriptionDefault
idYesBank account id.
payloadNoAlias for updates.
updatesNoFields to merge into the existing record.
routeTokenYesOpaque routeToken from brc_route_request for this action workflow. Required for transactional tools. Routing permission only — does not replace preview-before-posting or confirmWrite.
companyNameYesCompany context name, for example YOUR-COMPANY-NAME.
confirmWriteNoMust be true only after a plain-English preview before posting has been shown in the current conversation and the user explicitly confirmed posting (for example yes, create it / post it now / confirm). Never set true on the first call or because the user initially asked to create something. Nothing is written to Big Red Cloud until you confirm.
connectionRefNoOpaque Red connection reference returned by brc_confirm_company_connection. Pass this exact value on every later tool call when the MCP client rotates session ids (for example Vibe/Mistral). Keep reusing the same connectionRef after successful tool calls — do not start a new connection because a lookup returned empty or partial data. It is not an API key and does not contain credentials.

TDQS

A4.5/5.0
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations carry only destructiveHint=true and readOnlyHint=false; the description adds substantial behavioral context: the preview-before-apply contract, routeToken lifecycle (valid through lookup/preview/transaction, placeholder tokens invalid, no bypass of confirmation requirements), and the exact behavior of both call modes. This is far beyond what annotations alone provide.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is dense and well-structured, with the core facts (update, preview, explicit confirmation required) front-loaded in the first two sentences. Every subsequent sentence adds operational detail about tokens and confirmWrite. It is on the longer side and partially overlaps with the confirmWrite parameter description, but contains no filler.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a destructive two-phase write tool with no output schema, the description covers the routeToken prerequisite, the preview/confirm contract, both call modes, and the unconfirmed response shape (confirmation_required and payload preview). Minor gaps: the response for a confirmed successful write is not described, and valid bank-account update fields are left open-ended by the payload object.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, setting the baseline at 3. The description adds value beyond the schema by elaborating routeToken semantics (validity window, placeholders invalid, does not bypass preview/confirmation) and by clarifying confirmWrite behavior in both description and schema. The open payload/updates objects remain underspecified, but that is a schema design property rather than a description gap.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb ('Updates'), a specific resource ('BRC bank account'), and the mechanism ('using merged fields'), which clearly distinguishes it from sibling bank-account tools (create/delete/get/list). The description also adds the distinctive two-phase preview-and-confirm behavior, so an agent understands what this update tool uniquely does beyond its title.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Provides strong workflow guidance: an unconfirmed call returns a preview, confirmWrite: true applies the change only after explicit user confirmation, and 'Passing preflight is not confirmation.' It clearly frames when to issue the first call versus the confirmed call, but does not explicitly name sibling alternatives or state exclusion conditions, which keeps it at a 4 rather than a 5.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

brc_update_cash_paymentUpdate Cash PaymentA
Destructive
Inspect

Updates an existing Cash Payment by merging supplied fields onto the current record. Fields that can be merged include total, entryDate, procDate, supplierId, acCode, note, ledger, discount, bankAccountId, bankAccountCode, lodgement, analysisCategoryId, accountCode, and description. This update flow is a verified action on the existing record. Requires a valid routeToken issued for the matching action workflow. The token remains valid through lookup, preview and the permitted transaction. Placeholder tokens are invalid. A routeToken does not bypass preview or explicit-confirmation requirements. A call without confirmWrite: true returns confirmation_required and a payload preview. confirmWrite: true applies the previewed change after explicit confirmation. Passing preflight is not confirmation.

ParametersJSON Schema
NameRequiredDescriptionDefault
idYesCash payment id.
payloadNoAlias for updates.
updatesNoFields to merge into the existing record.
routeTokenYesOpaque routeToken from brc_route_request for this action workflow. Required for transactional tools. Routing permission only — does not replace preview-before-posting or confirmWrite.
companyNameYesCompany context name, for example YOUR-COMPANY-NAME.
confirmWriteNoMust be true only after a plain-English preview before posting has been shown in the current conversation and the user explicitly confirmed posting (for example yes, create it / post it now / confirm). Never set true on the first call or because the user initially asked to create something. Nothing is written to Big Red Cloud until you confirm.
connectionRefNoOpaque Red connection reference returned by brc_confirm_company_connection. Pass this exact value on every later tool call when the MCP client rotates session ids (for example Vibe/Mistral). Keep reusing the same connectionRef after successful tool calls — do not start a new connection because a lookup returned empty or partial data. It is not an API key and does not contain credentials.

TDQS

A4/5.0
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already mark destructiveHint=true and readOnlyHint=false, and the description builds richly on this: it discloses merge-not-replace semantics, that placeholder tokens are invalid, that a routeToken does not bypass preview or confirmation, that a call without confirmWrite returns confirmation_required with a payload preview, and that passing preflight is not confirmation. No contradiction with the annotations; all claims are consistent with a destructive two-phase write.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Opening sentence front-loads the core purpose (verb+resource+merge semantics), followed by the mergeable field list and then token/confirmation behavior in logical order. Every sentence carries information, though some confirmation rules are repeated in the schema's confirmWrite description, creating mild redundancy.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a destructive, 7-parameter transactional tool with nested objects and no output schema, the description is largely complete: it covers the merge field set, token validity and routing scope, the two-phase preview/confirm contract, and the non-confirmed response shape. The main gap is that the sucess response after confirmWrite is not described, which an agent would need to confirm completion.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100% so the baseline is 3, but the description adds real value: it enumerates the exact mergeable fields (total, entryDate, procDate, supplierId, acCode, note, ledger, discount, bankAccountId, bankAccountCode, lodgement, analysisCategoryId, accountCode, description), which matters because the updates/payload objects are open-ended additionalProperties. It also clarifies routeToken and confirmWrite behavior beyond their schema descriptions, pushing this above baseline.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description gives a specific verb and resource ('Updates an existing Cash Payment') and adds a precise mechanism ('merging supplied fields onto the current record'). The 'existing' phrasing and merge semantics distinguish it from create/delete siblings, though it never names an alternative tool explicitly, which would be needed for a full 5.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides strong workflow context ('token remains valid through lookup, preview and the permitted transaction', 'confirmWrite: true applies the previewed change after explicit confirmation') that tells the agent how to sequence calls. However, it never states when to prefer this tool over alternatives such as brc_create_cash_payment or brc_delete_cash_payment, leaving alternative routing implicit. Justified as clear context without exclusions.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

brc_update_cash_receiptUpdate Cash ReceiptA
Destructive
Inspect

Updates a BRC cash receipt using merged fields. Requires a valid routeToken issued for the matching action workflow. The token remains valid through lookup, preview and the permitted transaction. Placeholder tokens are invalid. A routeToken does not bypass preview or explicit-confirmation requirements. A call without confirmWrite: true returns confirmation_required and a payload preview. confirmWrite: true applies the previewed change after explicit confirmation. Passing preflight is not confirmation.

ParametersJSON Schema
NameRequiredDescriptionDefault
idYesCash receipt id.
payloadNoAlias for updates.
updatesNoFields to merge into the existing record.
routeTokenYesOpaque routeToken from brc_route_request for this action workflow. Required for transactional tools. Routing permission only — does not replace preview-before-posting or confirmWrite.
companyNameYesCompany context name, for example YOUR-COMPANY-NAME.
confirmWriteNoMust be true only after a plain-English preview before posting has been shown in the current conversation and the user explicitly confirmed posting (for example yes, create it / post it now / confirm). Never set true on the first call or because the user initially asked to create something. Nothing is written to Big Red Cloud until you confirm.
connectionRefNoOpaque Red connection reference returned by brc_confirm_company_connection. Pass this exact value on every later tool call when the MCP client rotates session ids (for example Vibe/Mistral). Keep reusing the same connectionRef after successful tool calls — do not start a new connection because a lookup returned empty or partial data. It is not an API key and does not contain credentials.

TDQS

A4.7/5.0
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Beyond the annotations (readOnlyHint=false, destructiveHint=true), the description discloses the preflight requirement, the exact behavior of a call without confirmWrite, that confirmWrite:true applies the previewed change, and that routeToken does not bypass confirmation. It also clarifies token validity and placeholder invalidity, which is substantial non-obvious behavioral context.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Every sentence carries operational information: purpose, token constraints, preflight behavior, and the confirmation requirement. There is no filler, and the critical confirmation rule is front-loaded before deeper details.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a complex two-phase confirm-flow update tool with no output schema, the description covers the token lifecycle, the confirmation_required response, and the condition for actually writing. Parameter details are fully handled by the 100% covered schema, so an agent has what it needs to invoke this tool correctly.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so the baseline is 3. The description adds meaning by defining 'merged fields' for payload/updates and clarifying routeToken validity through lookup, preview, and transaction, plus the invalidity of placeholder tokens. This goes beyond the schema's parameter descriptions.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The opening sentence names a specific action (updates), a specific resource (BRC cash receipt), and the mechanism (merged fields). This clearly separates it from create/delete/list siblings and from update tools for other record types.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description spells out the required workflow: a valid routeToken from the matching action workflow, lookup/preview, then confirmWrite after explicit confirmation. It gives clear context but does not explicitly name sibling alternatives, such as using brc_create_cash_receipt for new records.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

brc_update_customerUpdate CustomerA
Destructive
Inspect

Updates a BRC customer using merged fields. Requires a valid routeToken issued for the matching action workflow. The token remains valid through lookup, preview and the permitted transaction. Placeholder tokens are invalid. A routeToken does not bypass preview or explicit-confirmation requirements. A call without confirmWrite: true returns confirmation_required and a payload preview. confirmWrite: true applies the previewed change after explicit confirmation. Passing preflight is not confirmation.

ParametersJSON Schema
NameRequiredDescriptionDefault
idYesCustomer id.
payloadNoAlias for updates.
updatesNoFields to merge into the existing record.
routeTokenYesOpaque routeToken from brc_route_request for this action workflow. Required for transactional tools. Routing permission only — does not replace preview-before-posting or confirmWrite.
companyNameYesCompany context name, for example YOUR-COMPANY-NAME.
confirmWriteNoMust be true only after a plain-English preview before posting has been shown in the current conversation and the user explicitly confirmed posting (for example yes, create it / post it now / confirm). Never set true on the first call or because the user initially asked to create something. Nothing is written to Big Red Cloud until you confirm.
connectionRefNoOpaque Red connection reference returned by brc_confirm_company_connection. Pass this exact value on every later tool call when the MCP client rotates session ids (for example Vibe/Mistral). Keep reusing the same connectionRef after successful tool calls — do not start a new connection because a lookup returned empty or partial data. It is not an API key and does not contain credentials.

TDQS

A4.6/5.0
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already signal destructive/read-write behavior, but the description discloses key hidden behaviors: routeToken lifecycle and invalidity, requirement of explicit confirmation, confirmation_required return on first call, and the non-bypassing of preview requirements. This goes well beyond the annotations.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Seven tightly packed sentences, all functional: purpose first, then token requirements, then preview/confirm behavior. No filler or repetition of schema parameter definitions.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Covers the transactional flow, token, and confirmation requirements well enough for a complex two-step write. Minor gaps: no explicit description of the response after confirmWrite: true, and no explicit routing to brc_create_customer for new customers.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100%, so the baseline is 3. The description adds routeToken lifecycle details (valid through lookup/preview/transaction, placeholders invalid) and clarifies the merge semantics of payload/updates, adding meaning beyond the input schema.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description opens with 'Updates a BRC customer using merged fields', naming a specific verb, resource, and operation mode. This clearly differentiates it from create/delete customer tools and from sibling update tools for other entities.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Provides a concrete call sequence: first call without confirmWrite returns confirmation_required and a preview, then confirmWrite: true applies the change after explicit confirmation. It also warns that preflight is not confirmation and that routeToken does not bypass preview, though it does not explicitly name alternative tools or state when not to use this tool.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

brc_update_nominal_journal_batchUpdate Nominal Journal BatchA
Destructive
Inspect

Updates a nominal journal batch using its current concurrency timestamps. Requires a valid routeToken issued for the matching action workflow. The token remains valid through lookup, preview and the permitted transaction. Placeholder tokens are invalid. A routeToken does not bypass preview or explicit-confirmation requirements. A call without confirmWrite: true returns confirmation_required and a payload preview. confirmWrite: true applies the previewed change after explicit confirmation. Passing preflight is not confirmation.

ParametersJSON Schema
NameRequiredDescriptionDefault
idYesNominal Journal Batch id.
totalYes
procDateYesDate/time string, for example 2024-01-15T00:00:00.
entryDateYesDate/time string, for example 2024-01-15T00:00:00.
timestampYesBase64 timestamp for the nominal journal batch.
routeTokenYesOpaque routeToken from brc_route_request for this action workflow. Required for transactional tools. Routing permission only — does not replace preview-before-posting or confirmWrite.
companyNameYesCompany context name, for example YOUR-COMPANY-NAME.
confirmWriteNoMust be true only after the user explicitly confirms updating this Nominal Journal Batch.
connectionRefNoOpaque Red connection reference returned by brc_confirm_company_connection. Pass this exact value on every later tool call when the MCP client rotates session ids (for example Vibe/Mistral). Keep reusing the same connectionRef after successful tool calls — do not start a new connection because a lookup returned empty or partial data. It is not an API key and does not contain credentials.
bookTranTypeIdNoBook transaction type id. Nominal Journal Batch is usually 7.
accountTransactionsYesUpdated nominal journal account transaction lines.

TDQS

A4.6/5.0
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

The description goes well beyond the annotations by explaining the confirmation mechanism: calls without confirmWrite return confirmation_required with a payload preview, confirmWrite applies the previewed change, and passing preflight does not count as confirmation. It also clarifies routeToken limitations and placeholder-token invalidity, giving agents a precise model of how the mutation behaves.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a compact set of sentences with no filler. Every sentence earns its place: core action, token requirement, token validity, invalid tokens, confirmation semantics, and the preflight caveat. The critical workflow information is front-loaded.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a complex transactional tool with 11 parameters and no output schema, the description covers the essential workflow: token validity, preview, and confirmation. It could be slightly more explicit about ordering relative to brc_get_nominal_journal_batch and brc_route_request, but the schema's routeToken reference to brc_route_request and the strong description of the confirm flow make the tool adequately complete.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is high at 91%, so the baseline is 3. The description adds meaningful behavioral semantics beyond the schema by explaining that timestamps must be current concurrency values, routeToken validity is workflow-scoped, and confirmWrite controls the confirmation phase. This supplements, rather than repeats, the already detailed parameter descriptions.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description opens with the specific verb 'Updates' and the exact resource 'nominal journal batch', and adds the key qualifier 'using its current concurrency timestamps'. This distinguishes it clearly from create, delete, get, and list sibling tools targeted at the same resource.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides strong usage context: a valid routeToken is required, token validity is scoped to lookup/preview/transaction, and the two-phase confirmWrite workflow is explained. It does not explicitly name alternatives such as brc_create_nominal_journal_batch or brc_get_nominal_journal_batch, but the prerequisites and workflow are clear enough for an agent to know when this tool is appropriate.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

brc_update_paymentUpdate PaymentA
Destructive
Inspect

Updates a BRC payment using merged fields. Requires a valid routeToken issued for the matching action workflow. The token remains valid through lookup, preview and the permitted transaction. Placeholder tokens are invalid. A routeToken does not bypass preview or explicit-confirmation requirements. A call without confirmWrite: true returns confirmation_required and a payload preview. confirmWrite: true applies the previewed change after explicit confirmation. Passing preflight is not confirmation.

ParametersJSON Schema
NameRequiredDescriptionDefault
idYesPayment id.
payloadNoAlias for updates.
updatesNoFields to merge into the existing record.
routeTokenYesOpaque routeToken from brc_route_request for this action workflow. Required for transactional tools. Routing permission only — does not replace preview-before-posting or confirmWrite.
companyNameYesCompany context name, for example YOUR-COMPANY-NAME.
confirmWriteNoMust be true only after a plain-English preview before posting has been shown in the current conversation and the user explicitly confirmed posting (for example yes, create it / post it now / confirm). Never set true on the first call or because the user initially asked to create something. Nothing is written to Big Red Cloud until you confirm.
connectionRefNoOpaque Red connection reference returned by brc_confirm_company_connection. Pass this exact value on every later tool call when the MCP client rotates session ids (for example Vibe/Mistral). Keep reusing the same connectionRef after successful tool calls — do not start a new connection because a lookup returned empty or partial data. It is not an API key and does not contain credentials.

TDQS

A4.5/5.0
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Beyond the annotations (readOnlyHint=false, destructiveHint=true), the description explains the exact sequence: without confirmWrite it returns a preview, with confirmWrite it applies changes only after explicit confirmation, and preflight is not confirmation. It also details the validity of routeToken and the fact that placeholder tokens are invalid. This is rich behavioral context that goes far beyond what the annotations convey, giving the agent a precise mental model of the tool's side effects and prerequisites.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is concise yet information-dense. Every sentence adds value: it states the action, the prerequisite routeToken, the behavioral rules about preview and confirmation, and the distinction from preflight. It is front-loaded with the core purpose and does not repeat what the schema already states. There is no fluff or redundancy.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool's complexity (7 parameters, nested objects, no output schema, destructive operation), the description provides essential context: the routeToken lifecycle, the two-phase confirmation process, and the specific output on non-confirmed calls (confirmation_required and payload preview). It also clarifies the meaning of confirmWrite and preflight, which are critical for correct usage. Without an output schema, this description fills the gap adequately.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, meaning every parameter already has a clear description (e.g., confirmWrite explains the preview/confirmation flow, routeToken explains its purpose). The tool description adds the phrase 'using merged fields', which lightly reinforces the role of updates/payload, but it does not provide substantive new meaning beyond the schema. Since the schema is thorough, the baseline of 3 is appropriate.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the verb 'Updates' and the resource 'BRC payment' with the specific mechanism 'using merged fields'. It distinguishes this tool from the many other update_* siblings by focusing on payments and the routeToken workflow. The purpose is unambiguous and immediately differentiates it from tools like brc_update_customer or brc_update_cash_payment.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description gives detailed usage conditions: it requires a valid routeToken, explains that the token stays valid through lookup/preview/transaction, and explicitly states that a call without confirmWrite returns confirmation_required. It does not explicitly name alternative tools or when not to use this one, but the context of 'BRC payment' and the routeToken requirement imply its specific use case. The absence of sibling differentiation is a minor gap, but the in-depth workflow guidance is valuable.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

brc_update_prepaymentUpdate PrepaymentA
Destructive
Inspect

Updates a prepayment using its current concurrency timestamp. Requires a valid routeToken issued for the matching action workflow. The token remains valid through lookup, preview and the permitted transaction. Placeholder tokens are invalid. A routeToken does not bypass preview or explicit-confirmation requirements. A call without confirmWrite: true returns confirmation_required and a payload preview. confirmWrite: true applies the previewed change after explicit confirmation. Passing preflight is not confirmation.

ParametersJSON Schema
NameRequiredDescriptionDefault
idYesParent prepayment id.
totalYesPrepayment total amount.
acCodeYesNominal account code, for example 4000.
procDateYesProcessing date, for example 2024-03-15T00:00:00.
entryDateYesEntry date, for example 2024-03-01T00:00:00.
referenceYesPrepayment reference, for example PRE0001.
timestampYesBase64 timestamp returned by the prepayment, for example bgUcQIbL3gg=.
routeTokenYesOpaque routeToken from brc_route_request for this action workflow. Required for transactional tools. Routing permission only — does not replace preview-before-posting or confirmWrite.
companyNameYesCompany context name, for example YOUR-COMPANY-NAME.
firstDetailNoFirst detail text.
confirmWriteNoMust be true only after the user explicitly confirms updating this prepayment.
secondDetailNoSecond detail text.
connectionRefNoOpaque Red connection reference returned by brc_confirm_company_connection. Pass this exact value on every later tool call when the MCP client rotates session ids (for example Vibe/Mistral). Keep reusing the same connectionRef after successful tool calls — do not start a new connection because a lookup returned empty or partial data. It is not an API key and does not contain credentials.

TDQS

A4.6/5.0
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already mark this as destructive, but the description adds substantial behavioral detail: token validity lifetime, placeholder-token rejection, the two-phase confirmWrite flow, the confirmation_required preview response, and the explicit warning that preflight is not confirmation. These details meaningfully shape how an agent executes the tool safely.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is dense but every sentence earns its place: the core action is front-loaded, followed by the token prerequisite, the confirmation workflow, and the preflight caveat. It contains no filler, repetition, or irrelevant detail despite the complexity of the tool.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a destructive 13-parameter tool with no output schema, the description covers the most critical workflow details: token requirements, preview behavior, and explicit confirmation. It could be more complete by stating what the successful confirmWrite response contains and by pointing to brc_get_prepayment for fetching the current timestamp, but the description is sufficient for an agent to invoke the tool correctly in the intended flow.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100%, so the baseline is 3. The description adds valuable semantics beyond the schema for timestamp (must be the current concurrency timestamp), routeToken (validity and placeholder invalidity), and confirmWrite (preflight returns confirmation_required, true applies the previewed change). This lifts it above baseline, though it does not need to restate every parameter since the schema already documents them.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description opens with a specific verb and resource: 'Updates a prepayment using its current concurrency timestamp.' This clearly identifies the operation and adds a distinguishing mechanism (concurrency timestamp) that separates update behavior from create/delete/get siblings. The wording is unambiguous even among the large set of update_* tools.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description gives strong procedural guidance: a valid routeToken is required, placeholder tokens are invalid, routeToken does not bypass preview/confirmation, and confirmWrite: true is needed to apply the change. It does not explicitly name alternative tools for related operations (e.g., brc_get_prepayment for fetching the current timestamp), so it stops short of full when-to-use vs. when-not-to-use coverage.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

brc_update_productUpdate ProductA
Destructive
Inspect

Updates a BRC product using merged fields. Requires a valid routeToken issued for the matching action workflow. The token remains valid through lookup, preview and the permitted transaction. Placeholder tokens are invalid. A routeToken does not bypass preview or explicit-confirmation requirements. A call without confirmWrite: true returns confirmation_required and a payload preview. confirmWrite: true applies the previewed change after explicit confirmation. Passing preflight is not confirmation.

ParametersJSON Schema
NameRequiredDescriptionDefault
idYesProduct id.
payloadNoAlias for updates.
updatesNoFields to merge into the existing record.
routeTokenYesOpaque routeToken from brc_route_request for this action workflow. Required for transactional tools. Routing permission only — does not replace preview-before-posting or confirmWrite.
companyNameYesCompany context name, for example YOUR-COMPANY-NAME.
confirmWriteNoMust be true only after a plain-English preview before posting has been shown in the current conversation and the user explicitly confirmed posting (for example yes, create it / post it now / confirm). Never set true on the first call or because the user initially asked to create something. Nothing is written to Big Red Cloud until you confirm.
connectionRefNoOpaque Red connection reference returned by brc_confirm_company_connection. Pass this exact value on every later tool call when the MCP client rotates session ids (for example Vibe/Mistral). Keep reusing the same connectionRef after successful tool calls — do not start a new connection because a lookup returned empty or partial data. It is not an API key and does not contain credentials.

TDQS

A4.5/5.0
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

The description thoroughly discloses the two-phase commit behavior: without confirmWrite: true it returns confirmation_required and a preview; with confirmWrite: true it applies the change only after explicit confirmation. It also clarifies token validity and that preflight is not confirmation. This goes well beyond the annotations, which only indicate destructiveness, and provides critical behavioral context for safe invocation.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is compact and front-loaded with the core action, then quickly covers the essential token and confirmation requirements. No superfluous sentences; each adds necessary operational detail. It is appropriately sized for the complexity of a transactional write tool.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the complexity of the transactional workflow (routeToken, confirmation, preview), the description fully explains the required sequence without relying on an output schema (which is absent). It covers token validity, the confirmation requirement, and the behavior without confirmWrite. This is complete for an agent to invoke the tool correctly.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100%, so baseline is 3. The description adds value by explaining how routeToken and confirmWrite interact, and clarifies that placeholder tokens are invalid, which is not evident from the schema alone. This enhances the meaning of these parameters beyond their individual descriptions.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the action ('Updates a BRC product') with a specific resource, and distinguishes it from create/delete operations. The mention of 'merged fields' and the transactional workflow makes it distinct from read-only tools. It leaves no ambiguity about what the tool does.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description explains the required routeToken and confirmWrite flow, which is necessary for correct invocation, but does not explicitly state when to use this tool versus alternatives like brc_create_product or brc_update_customer. It implies that this is for modifying an existing product, but no explicit exclusions or alternative routing are given.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

brc_update_purchaseUpdate PurchaseA
Destructive
Inspect

Updates a BRC purchase using structured MCP fields. Historical transaction dates are not automatically blocked. Existing historical purchases may support text, monetary, date and delete operations; the BRC endpoint is the source of truth. When changing monetary values, preserve the existing unpaid/unallocated state and allow BRC to recalculate allocation fields where required. Requires a valid routeToken issued for the matching action workflow. The token remains valid through lookup, preview and the permitted transaction. Placeholder tokens are invalid. A routeToken does not bypass preview or explicit-confirmation requirements. A call without confirmWrite: true returns confirmation_required and a payload preview. confirmWrite: true applies the previewed change after explicit confirmation. Passing preflight is not confirmation.

ParametersJSON Schema
NameRequiredDescriptionDefault
idYesPurchase id.
noteNo
acCodeNo
procDateNo
entryDateNo
netAmountNo
vatRateIdNo
routeTokenYesOpaque routeToken from brc_route_request for this action workflow. Required for transactional tools. Routing permission only — does not replace preview-before-posting or confirmWrite.
supplierIdNo
accountCodeNo
companyNameYesCompany context name, for example YOUR-COMPANY-NAME.
descriptionNo
confirmWriteNoMust be true only after a plain-English preview before posting has been shown in the current conversation and the user explicitly confirmed posting (for example yes, create it / post it now / confirm). Never set true on the first call or because the user initially asked to create something. Nothing is written to Big Red Cloud until you confirm.
connectionRefNoOpaque Red connection reference returned by brc_confirm_company_connection. Pass this exact value on every later tool call when the MCP client rotates session ids (for example Vibe/Mistral). Keep reusing the same connectionRef after successful tool calls — do not start a new connection because a lookup returned empty or partial data. It is not an API key and does not contain credentials.
vatPercentageNo
bookTranTypeIdNo
analysisCategoryIdNo

TDQS

A4.1/5.0
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Goes well beyond the annotations by disclosing that historical transaction dates are not automatically blocked, that BRC is the source of truth, that placeholder tokens are invalid, and that routeToken does not bypass preview/confirm requirements. It also precisely describes the confirmation_required response and the semantics of confirmWrite: true, which is essential for a destructive tool.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The opening sentence states the core action immediately, and the rest is dense with workflow-critical details. A few sentences about routeToken and confirmWrite repeat content already present in the schema, but the length is justified given the destructive, confirmation-gated nature of the operation.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a complex 17-parameter destructive mutation with no output schema, the description covers the essential agent-facing ground: token lifecycle, preview-and-confirm state machine, historical purchase caveats, and monetary-state preservation. An agent has enough context to avoid calling the tool destructively or posting without explicit confirmation.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is only 29%, so the description carries more responsibility. It adds useful high-level guidance — text, monetary, and date changes are possible on historical purchases, and monetary changes should preserve unpaid/unallocated state — but it does not map these to the many undocumented parameters like netAmount, procDate, supplierId, or analysisCategoryId. Some routeToken/confirmWrite statements overlap with schema descriptions.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

States the specific action and resource: 'Updates a BRC purchase...', which clearly identifies what the tool does at the resource level and separates it from create/delete/list siblings. However, it does not explicitly contrast itself with sibling tools like brc_create_purchase or brc_delete_purchase, and the mention that historical purchases 'may support ... delete operations' slightly blurs the update-only scope.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Provides clear operational context: a routeToken from the matching workflow is required, the token stays valid through lookup/preview/permitted transaction, and confirmWrite must be true only after explicit user confirmation. It does not explicitly state when to prefer related alternatives such as brc_create_purchase or brc_update_allocations, so it stops short of a 5.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

brc_update_quoteUpdate QuoteA
Destructive
Inspect

Updates a BRC quote's manual reference only. Quote.note is not persisted by this update and is not accepted here. Loads the current quote, preserves all other fields (including timestamp, product lines, analysis entries, totals, customer, sales rep, dates, comments, and closed state), applies the new reference, then PUTs the full record. Manual quote references must be 6 characters or fewer because Big Red Cloud truncates longer references. Requires a valid routeToken issued for the matching action workflow. The token remains valid through lookup, preview and the permitted transaction. Placeholder tokens are invalid. A routeToken does not bypass preview or explicit-confirmation requirements. A call without confirmWrite: true returns confirmation_required and a payload preview. confirmWrite: true applies the previewed change after explicit confirmation. Passing preflight is not confirmation.

ParametersJSON Schema
NameRequiredDescriptionDefault
idYesQuote id.
referenceNoOptional manual quote reference, max 6 characters. Required when quote references are manual, or when the quote reference setting is unknown. Quote reference must be 6 characters or fewer because Big Red Cloud truncates longer references.
routeTokenYesOpaque routeToken from brc_route_request for this action workflow. Required for transactional tools. Routing permission only — does not replace preview-before-posting or confirmWrite.
companyNameYesCompany context name, for example YOUR-COMPANY-NAME.
confirmWriteNoMust be true only after a plain-English preview before posting has been shown in the current conversation and the user explicitly confirmed posting (for example yes, create it / post it now / confirm). Never set true on the first call or because the user initially asked to create something. Nothing is written to Big Red Cloud until you confirm.
connectionRefNoOpaque Red connection reference returned by brc_confirm_company_connection. Pass this exact value on every later tool call when the MCP client rotates session ids (for example Vibe/Mistral). Keep reusing the same connectionRef after successful tool calls — do not start a new connection because a lookup returned empty or partial data. It is not an API key and does not contain credentials.

TDQS

A4.5/5.0
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already flag destructiveHint=true, and the description richly complements them: it discloses the read-modify-write behavior (loads current quote, preserves all fields, PUTs full record), the 6-character truncation behavior in Big Red Cloud, routeToken validity nuances (placeholder tokens invalid), and the exact confirmation semantics including the confirmation_required response. No contradiction with annotations.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is long but every sentence earns its place: scope, field exclusions, preservation behavior, truncation rationale, token lifecycle, and confirmation flow. It is front-loaded with the core purpose before diving into constraints. Slightly dense, but the complexity of the confirmation workflow justifies the length.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a mutating tool with a complex two-phase confirmation flow and no output schema, the description covers nearly everything an agent needs: what changes, what is preserved, token requirements, confirmation semantics, and the failure/retry path (confirmation_required with payload preview). The only minor gap is the absence of any description of the success response shape.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100%, so baseline is 3, but the description adds meaning beyond the schema: it explains why references are capped at 6 characters (truncation), clarifies that reference is the only mutable field, and sharpens confirmWrite semantics with 'Passing preflight is not confirmation' — all beyond what the schema properties state.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The first sentence states a specific verb and resource with a precise scope: 'Updates a BRC quote's manual reference only.' It further distinguishes the tool by naming what it explicitly does not accept ('Quote.note is not persisted by this update'), which cleanly separates it from the broader brc_update_* family and quote lifecycle siblings.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description gives workflow-level guidance on when the tool can be invoked: a valid routeToken from the matching action workflow, token validity spanning lookup/preview/transaction, and the confirmWrite requirement for actual posting. It clearly states when-not-to-call ('Passing preflight is not confirmation'), though it never names alternative tools explicitly for other update scenarios.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

brc_update_sales_credit_noteUpdate Sales Credit NoteA
Destructive
Inspect

Updates a sales credit note while preserving the existing BRC unpaid value. Requires a valid routeToken issued for the matching action workflow. The token remains valid through lookup, preview and the permitted transaction. Placeholder tokens are invalid. A routeToken does not bypass preview or explicit-confirmation requirements. A call without confirmWrite: true returns confirmation_required and a payload preview. confirmWrite: true applies the previewed change after explicit confirmation. Passing preflight is not confirmation.

ParametersJSON Schema
NameRequiredDescriptionDefault
idYesSales credit note id.
noteNo
totalNo
detailsNo
procDateNoProcessing date. Historical dates may be attempted; BRC determines whether the update is permitted.
totalNetNo
totalVATNo
entryDateNoEntry date. Historical dates may be attempted; BRC determines whether the update is permitted.
referenceNo
saleRepIdNo
vatTypeIdNo
customerIdNo
routeTokenYesOpaque routeToken from brc_route_request for this action workflow. Required for transactional tools. Routing permission only — does not replace preview-before-posting or confirmWrite.
companyNameYesCompany context name, for example YOUR-COMPANY-NAME.
confirmWriteNoMust be true only after a plain-English preview before posting has been shown in the current conversation and the user explicitly confirmed posting (for example yes, create it / post it now / confirm). Never set true on the first call or because the user initially asked to create something. Nothing is written to Big Red Cloud until you confirm.
ourReferenceNo
productTransNoComplete BRC productTrans collection. Preserve existing line ids and accounting/VAT data when modifying an existing credit note.
connectionRefNoOpaque Red connection reference returned by brc_confirm_company_connection. Pass this exact value on every later tool call when the MCP client rotates session ids (for example Vibe/Mistral). Keep reusing the same connectionRef after successful tool calls — do not start a new connection because a lookup returned empty or partial data. It is not an API key and does not contain credentials.
yourReferenceNo

TDQS

A4.4/5.0
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations only state destructiveHint=true, but the description goes far beyond that: it discloses the confirmation_required response with payload preview, that confirmWrite: true applies the previewed change only after explicit confirmation, that placeholder tokens are invalid, and that routeToken does not bypass preview or confirmation. This is exactly the kind of behavioral context an agent needs to avoid destructive mistakes.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Six dense sentences with no filler. The purpose is front-loaded and every subsequent sentence explains a distinct, safety-relevant aspect of the transactional workflow. The length is proportionate to the complexity of a destructive two-phase commit tool.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a 19-parameter, destructive, two-phase transaction tool, the description covers the essential behavioral surface: token requirements, preview semantics, confirmation requirements, and the confirmation_required response path. It omits success-response shape and other error conditions, but since no output schema exists and the safety-critical flow is thoroughly documented, it is nearly complete.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is only 42%, so the description should compensate for undocumented data parameters (note, total, details, totalNet, totalVAT, reference, etc.), but it does not. It does add meaningful narrative semantics to the critical transactional parameters (routeToken validity and confirmWrite protocol), which the schema also documents. The low coverage gap for data fields remains unfilled.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description opens with a specific verb and resource — 'Updates a sales credit note' — and adds a distinguishing constraint: 'while preserving the existing BRC unpaid value.' This clearly differentiates it from creation, deletion, and batch siblings without needing to open any schema.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description gives strong workflow context: it names the prerequisite (valid routeToken issued for the matching action workflow), explains the two-phase confirmWrite protocol, and states that preflight is not confirmation. It does not explicitly name alternatives (e.g., use brc_create_sales_credit_note to create), but the update-versus-create distinction is clear enough from context.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

brc_update_sales_entryUpdate Sales EntryA
Destructive
Inspect

Updates a sales entry while preserving the existing BRC unpaid value. Requires a valid routeToken issued for the matching action workflow. The token remains valid through lookup, preview and the permitted transaction. Placeholder tokens are invalid. A routeToken does not bypass preview or explicit-confirmation requirements. A call without confirmWrite: true returns confirmation_required and a payload preview. confirmWrite: true applies the previewed change after explicit confirmation. Passing preflight is not confirmation.

ParametersJSON Schema
NameRequiredDescriptionDefault
idYesSales Entry id, normally the bookTranId returned by customer account transactions.
noteNoOptional. BRC "Note" field on the sales document (JSON field `note`). Leave blank to default it to the customer name (BRC customer "Name" / JSON `name`). Do not use the product name as the note. Only set this when the user explicitly provides a note.
totalNoNew gross total. For monetary edits this must equal totalNet + totalVAT.
acCodeNoCustomer account code.
detailsNoSales Entry details/description field.
procDateNoProcessing date in ISO format. Historical dates may be attempted; BRC determines whether the change is permitted.
totalNetNoNew total net value. For monetary edits this must be supplied together with totalVAT, total, acEntries and vatEntries.
totalVATNoNew total VAT value. For monetary edits this must be supplied together with totalNet, total, acEntries and vatEntries.
acEntriesNoComplete BRC accounting-entry collection. For monetary edits, the sum of each entry's value must equal totalNet.
entryDateNoEntry date in ISO format. Historical dates may be attempted; BRC determines whether the change is permitted.
referenceNoOptional. BRC "Reference" field (JSON field `reference`). BRC "Our Ref" (JSON `ourReference`) and BRC "Your Ref" (JSON `yourReference`) default to this value when not supplied separately.
vatTypeIdNoVAT type id.
customerIdNoCustomer id.
routeTokenYesOpaque routeToken from brc_route_request for this action workflow. Required for transactional tools. Routing permission only — does not replace preview-before-posting or confirmWrite.
vatEntriesNoComplete BRC VAT-entry collection. Each entry should contain the BRC vatRateId, percentage and net amount used to calculate VAT.
companyNameYesCompany context name, for example YOUR-COMPANY-NAME.
confirmWriteNoMust be true only after a plain-English preview before posting has been shown in the current conversation and the user explicitly confirmed posting (for example yes, create it / post it now / confirm). Never set true on the first call or because the user initially asked to create something. Nothing is written to Big Red Cloud until you confirm.
connectionRefNoOpaque Red connection reference returned by brc_confirm_company_connection. Pass this exact value on every later tool call when the MCP client rotates session ids (for example Vibe/Mistral). Keep reusing the same connectionRef after successful tool calls — do not start a new connection because a lookup returned empty or partial data. It is not an API key and does not contain credentials.
bookTranTypeIdNoBook transaction type id. Sales Entries normally use the existing record's transaction type.

TDQS

A4.4/5.0
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Despite destructiveHint=true already signaling mutation, the description adds rich behavioral detail: token lifecycle, preview-before-write behavior, confirmation_required responses, confirmWrite semantics, and the caution that passing preflight is not confirmation. This meaningfully exceeds what annotations alone communicate.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is front-loaded with the core action and scope, then uses each sentence to convey necessary behavioral rules. There is no filler and every sentence contributes to correct invocation.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a destructive transactional tool with no output schema, the description covers the critical aspects: routeToken requirements, preview flow, explicit confirmation, and the preservation of unpaid value. However, it only names 'confirmation_required' and 'payload preview' without describing their shape or fields, which the missing output schema would otherwise need to be explained.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so the schema already documents every parameter. The description reinforces routeToken and confirmWrite behavior but mostly repeats information already present in their schema descriptions. It does not need to repeat param docs, so baseline 3 with minor added context is appropriate.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description opens with a specific verb and resource: 'Updates a sales entry', and adds a meaningful scope qualifier ('while preserving the existing BRC unpaid value'). This distinguishes it from create/delete/list operations on sales entries and from update tools for other resource types.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description gives strong workflow guidance: a valid routeToken is required, placeholder tokens are invalid, previews and explicit confirmation are mandatory, and confirmWrite: true must only be set after explicit user confirmation. It does not explicitly discuss alternative sibling tools or when to prefer them, but it clearly defines the calling workflow.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

brc_update_sales_invoiceUpdate Sales InvoiceA
Destructive
Inspect

Updates a sales invoice. Supplied monetary changes must be explicit and reconciled. Requires a valid routeToken issued for the matching action workflow. The token remains valid through lookup, preview and the permitted transaction. Placeholder tokens are invalid. A routeToken does not bypass preview or explicit-confirmation requirements. A call without confirmWrite: true returns confirmation_required and a payload preview. confirmWrite: true applies the previewed change after explicit confirmation. Passing preflight is not confirmation.

ParametersJSON Schema
NameRequiredDescriptionDefault
idYesSales invoice id.
noteNoOptional. BRC "Note" field on the sales document (JSON field `note`). Leave blank to default it to the customer name (BRC customer "Name" / JSON `name`). Do not use the product name as the note. Only set this when the user explicitly provides a note.
totalNo
detailsNo
procDateNoProcessing date. Historical dates are permitted as an attempted update; BRC may accept or reject them.
totalNetNo
totalVATNo
entryDateNoEntry date. Historical dates are permitted as an attempted update; BRC may accept or reject them.
referenceNoOptional. BRC "Reference" field (JSON field `reference`). BRC "Our Ref" (JSON `ourReference`) and BRC "Your Ref" (JSON `yourReference`) default to this value when not supplied separately.
saleRepIdNo
vatTypeIdNo
customerIdNo
routeTokenYesOpaque routeToken from brc_route_request for this action workflow. Required for transactional tools. Routing permission only — does not replace preview-before-posting or confirmWrite.
companyNameYesCompany context name, for example YOUR-COMPANY-NAME.
confirmWriteNoMust be true only after a plain-English preview before posting has been shown in the current conversation and the user explicitly confirmed posting (for example yes, create it / post it now / confirm). Never set true on the first call or because the user initially asked to create something. Nothing is written to Big Red Cloud until you confirm.
ourReferenceNo
productTransNoComplete BRC productTrans collection. Use this when changing invoice lines, quantities, unit prices, VAT or line amounts.
connectionRefNoOpaque Red connection reference returned by brc_confirm_company_connection. Pass this exact value on every later tool call when the MCP client rotates session ids (for example Vibe/Mistral). Keep reusing the same connectionRef after successful tool calls — do not start a new connection because a lookup returned empty or partial data. It is not an API key and does not contain credentials.
yourReferenceNo
bookTranTypeIdNo

TDQS

A4.4/5.0
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already mark destructiveHint true and readOnly false, and the description adds essential context: token validity through lookup/preview/transaction, invalid placeholder tokens, no bypass of preview/confirmation requirements, and the exact response behavior for a call without confirmWrite. 'Passing preflight is not confirmation' is a valuable guard against premature writes.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is dense but every sentence earns its place: purpose, token constraints, monetary reconciliation, and confirmation semantics are all loaded early. There is no filler or repetition of the title.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a destructive 20-parameter transaction tool with no output schema, the description covers the crucial workflow—routeToken, preview, and explicit confirmation—and mentions the confirmation_required response. It is still not fully complete because it does not describe the success response or broader error cases, and it leaves some parameter semantics to the schema.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The schema documents half of the 20 parameters, and the description adds only a general constraint that supplied monetary changes must be explicit and reconciled. It reinforces routeToken and confirmWrite semantics but does not explain undocumented fields such as details, bookTranTypeId, or saleRepId, leaving the schema to carry most parameter meaning.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

Opens with 'Updates a sales invoice,' a specific verb and resource that immediately distinguishes it from create/get/list/delete invoice siblings. The rest of the description reinforces the update workflow rather than blurring the purpose.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Clearly states the required routeToken workflow and the preview-then-confirm pattern: without confirmWrite:true the call returns confirmation_required, and confirmWrite:true only applies after explicit confirmation. It does not name alternatives such as brc_create_sales_invoice or brc_delete_sales_invoice, so it falls just short of full guidance.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

brc_update_sales_repUpdate Sales RepresentativeA
Destructive
Inspect

Updates a BRC sales rep using structured MCP fields. Requires a valid routeToken issued for the matching action workflow. The token remains valid through lookup, preview and the permitted transaction. Placeholder tokens are invalid. A routeToken does not bypass preview or explicit-confirmation requirements. A call without confirmWrite: true returns confirmation_required and a payload preview. confirmWrite: true applies the previewed change after explicit confirmation. Passing preflight is not confirmation.

ParametersJSON Schema
NameRequiredDescriptionDefault
idYesSales rep id.
codeNo
nameNo
routeTokenYesOpaque routeToken from brc_route_request for this action workflow. Required for transactional tools. Routing permission only — does not replace preview-before-posting or confirmWrite.
companyNameYesCompany context name, for example YOUR-COMPANY-NAME.
confirmWriteNoMust be true only after a plain-English preview before posting has been shown in the current conversation and the user explicitly confirmed posting (for example yes, create it / post it now / confirm). Never set true on the first call or because the user initially asked to create something. Nothing is written to Big Red Cloud until you confirm.
connectionRefNoOpaque Red connection reference returned by brc_confirm_company_connection. Pass this exact value on every later tool call when the MCP client rotates session ids (for example Vibe/Mistral). Keep reusing the same connectionRef after successful tool calls — do not start a new connection because a lookup returned empty or partial data. It is not an API key and does not contain credentials.

TDQS

A4.6/5.0
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Beyond the destructiveHint=true annotation, the description discloses critical behavior: routeToken validity and lifecycle, that placeholders are invalid, that routeToken does not bypass preview/confirmation, and that a call without confirmWrite: true yields confirmation_required plus a payload preview. It also clarifies that passing preflight is not confirmation. This is exactly the kind of safety-critical operational context an agent needs.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is dense but every sentence earns its place: purpose, token requirement, token validity, invalid placeholders, preview/confirmation behavior, and the confirmation response contract. It is front-loaded with the primary purpose and ordered logically.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a destructive, token-gated, confirmation-gated write operation, the description covers the full pre-flight and confirmation flow well. It stipulates the no-confirm response and that confirmWrite: true applies the previewed change. It could go further by indicating the response after a successfull confirmed write, but the absence of an output schema and the clear mutation outcome keep this a minor gap.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The schema descriptions already cover routeToken, companyName, confirmWrite, and connectionRef in detail, so the description does not need to repeat those. The description adds value with routeToken lifecycle semantics and the precise meaning of confirmWrite: true vs absent/false. The only gap is that code and name lack schema descriptions and the description does not explicitly address them, but their purpose is clear from the tool name and the 'sales rep' resource.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description opens with a specific action and target: 'Updates a BRC sales rep.' This clearly distinguishes it from create/delete/list variants and from the large family of update_* tools by naming the exact resource.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description clearly states the prerequisite routeToken and the required confirmation workflow, and it explains when confirmation_required is returned. It does not explicitly name alternatives, but the action/resource pairing is sufficient to route an agent away from create, delete, or other update tools.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

brc_update_supplierUpdate SupplierA
Destructive
Inspect

Updates a BRC supplier using merged fields. Requires a valid routeToken issued for the matching action workflow. The token remains valid through lookup, preview and the permitted transaction. Placeholder tokens are invalid. A routeToken does not bypass preview or explicit-confirmation requirements. A call without confirmWrite: true returns confirmation_required and a payload preview. confirmWrite: true applies the previewed change after explicit confirmation. Passing preflight is not confirmation.

ParametersJSON Schema
NameRequiredDescriptionDefault
idYesSupplier id.
payloadNoAlias for updates.
updatesNoFields to merge into the existing record.
routeTokenYesOpaque routeToken from brc_route_request for this action workflow. Required for transactional tools. Routing permission only — does not replace preview-before-posting or confirmWrite.
companyNameYesCompany context name, for example YOUR-COMPANY-NAME.
confirmWriteNoMust be true only after a plain-English preview before posting has been shown in the current conversation and the user explicitly confirmed posting (for example yes, create it / post it now / confirm). Never set true on the first call or because the user initially asked to create something. Nothing is written to Big Red Cloud until you confirm.
connectionRefNoOpaque Red connection reference returned by brc_confirm_company_connection. Pass this exact value on every later tool call when the MCP client rotates session ids (for example Vibe/Mistral). Keep reusing the same connectionRef after successful tool calls — do not start a new connection because a lookup returned empty or partial data. It is not an API key and does not contain credentials.

TDQS

A4.6/5.0
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Goes far beyond the annotations: explains the two-phase write behavior, that a call without confirmWrite returns confirmation_required with a payload preview, that routeToken does not bypass preview or confirmation, and that nothing is written until explicit confirmation. This gives an agent a clear model of the tool's side effects and confirmation protocol.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Dense but every sentence earns its place: action, token requirement, token limits, confirmation behavior, and the preflight clarification. No redundant phrasing, and the critical confirmation semantics are front-loaded.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a complex transactional write with no output schema, the description covers the critical workflow: routeToken requirement, confirmation_required response, and when writes actually occur. It does not explicitly say that an updates/payload object should be supplied or describe the success response after confirmWrite, but the schema descriptions fill those gaps.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Input schema coverage is 100%, so the baseline is 3. The description adds meaningful semantics beyond the schema around routeToken (validity through lookup/preview/transaction, placeholder tokens invalid) and confirmWrite (preflight is not confirmation, preview must precede confirmation). It does not need to restate all parameters since the schema already covers them.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb ('Updates'), a resource ('BRC supplier'), and the mechanism ('merged fields'). Clearly distinguishes from sibling tools like brc_create_supplier, brc_delete_supplier, brc_get_supplier, and brc_list_suppliers.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Provides clear preconditions and workflow context: a valid routeToken is required, preview must be shown before confirmWrite is set true, and preflight is not confirmation. It does not explicitly name alternatives like brc_create_supplier for when the supplier doesn't exist, but the update semantics imply existing records.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

brc_validate_transaction_dateValidate Transaction DateB
Read-only
Inspect

Checks whether a proposed transaction date is inside the connected BRC company's current financial year.

ParametersJSON Schema
NameRequiredDescriptionDefault
companyNameYesCompany context name, for example YOUR-COMPANY-NAME.
connectionRefNoOpaque Red connection reference returned by brc_confirm_company_connection. Pass this exact value on every later tool call when the MCP client rotates session ids (for example Vibe/Mistral). Keep reusing the same connectionRef after successful tool calls — do not start a new connection because a lookup returned empty or partial data. It is not an API key and does not contain credentials.
transactionDateYesDate to validate in YYYY-MM-DD format.

TDQS

B3.4/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint=true and destructiveHint=false, covering the safety profile. The description adds the domain-specific behavior (validating against the financial year) but does not disclose the return format (e.g., boolean) or any edge-case behavior. Since annotations carry the main safety disclosure, this is acceptable.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single, front-loaded sentence with zero fluff. It clearly states the core functionality without redundant phrasing.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a simple validation tool with no output schema, the description captures the essential purpose. It implies the need for a connection via 'connected BRC company' but does not explain the return value or potential failure modes. Given the simplicity, it is mostly complete, just missing an explicit expectation of what the tool returns.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so all three parameters are already documented with descriptions. The description itself does not elaborate on parameter usage; the baseline of 3 applies because the schema does the heavy lifting.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description states a clear specific verb ('Checks') and resource ('proposed transaction date' against the financial year), making the purpose unambiguous. It does not explicitly differentiate from sibling validation tools like brc_check_transaction_settings, but it is specific enough to avoid confusion.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides no guidance on when to use this tool versus alternatives. It does not mention prerequisites (e.g., having an active connection) or situations where a different validation tool would be more appropriate.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections. Dates show when Glama detected each change.

  1. 12 tool updates
    • Changedbrc_batch_cash_payments6 fields changed
      • removedInput schema / properties / confirmCrAnalysisCategory
        Removed value: -{
        -  "description": "Applies to every sales document item in this batch. Set true only after the user confirms a CR (customer) sales analysis account code is intentional for these product lines.",
        -  "type": "boolean"
        -}
      • changedInput schema / properties / items / items / additionalProperties
        Previous value: -{}New value: +false
      • addedInput schema / properties / items / items / properties
        Added value: +{
        +  "item": {
        +    "oneOf": [
        +      {
        +        "additionalProperties": false,
        +        "properties": {
        +          "acCode": {
        +            "description": "Supplier account code.",
        +            "minLength": 1,
        +            "type": "string"
        +          },
        +          "bookTranTypeId": {
        +            "const": 2,
        +            "description": "Cash Payment book transaction type id. Must be 2.",
        +            "type": "number"
        +          },
        +          "discount": {
        +            "type": "number"
        +          },
        +          "entryDate": {
        +            "description": "Entry date in ISO format.",
        +            "minLength": 1,
        +            "type": "string"
        +          },
        +          "ledger": {
        +            "description": "Supplier-ledger amount; must equal total.",
        +            "exclusiveMinimum": 0,
        +            "type": "number"
        +          },
        +          "note": {
        +            "description": "Cash Payment note.",
        +            "minLength": 1,
        +            "type": "string"
        +          },
        +          "procDate": {
        +            "description": "Processing date in ISO format.",
        +            "minLength": 1,
        +            "type": "string"
        +          },
        +          "supplierId": {
        +            "description": "BRC supplier id.",
        +            "exclusiveMinimum": 0,
        +            "maximum": 9007199254740991,
        +            "type": "integer"
        +          },
        +          "total": {
        +            "description": "Positive Cash Payment total.",
        +            "exclusiveMinimum": 0,
        +            "type": "number"
        +          }
        +        },
        +        "required": [
        +          "total",
        +          "note",
        +          "entryDate",
        +          "procDate",
        +          "bookTranTypeId",
        +          "supplierId",
        +          "acCode",
        +          "ledger"
        +        ],
        +        "type": "object"
        +      },
        +      {
        +        "additionalProperties": false,
        +        "properties": {
        +          "bankAccountCode": {
        +            "description": "BRC bank account code receiving the lodgement.",
        +            "minLength": 1,
        +            "type": "string"
        +          },
        +          "bankAccountId": {
        +            "description": "BRC bank account id receiving the lodgement.",
        +            "exclusiveMinimum": 0,
        +            "maximum": 9007199254740991,
        +            "type": "integer"
        +          },
        +          "bookTranTypeId": {
        +            "const": 2,
        +            "description": "Cash Payment book transaction type id. Must be 2.",
        +            "type": "number"
        +          },
        +          "discount": {
        +            "type": "number"
        +          },
        +          "entryDate": {
        +            "description": "Entry date in ISO format.",
        +            "minLength": 1,
        +            "type": "string"
        +          },
        +          "lodgement": {
        +            "description": "Bank lodgement amount; must equal total.",
        +            "exclusiveMinimum": 0,
        +            "type": "number"
        +          },
        +          "note": {
        +            "description": "Cash Payment note.",
        +            "minLength": 1,
        +            "type": "string"
        +          },
        +          "procDate": {
        +            "description": "Processing date in ISO format.",
        +            "minLength": 1,
        +            "type": "string"
        +          },
        +          "total": {
        +            "description": "Positive Cash Payment total.",
        +            "exclusiveMinimum": 0,
        +            "type": "number"
        +          }
        +        },
        +        "required": [
        +          "total",
        +          "note",
        +          "entryDate",
        +          "procDate",
        +          "bookTranTypeId",
        +          "bankAccountId",
        +          "bankAccountCode",
        +          "lodgement"
        +        ],
        +        "type": "object"
        +      },
        +      {
        +        "additionalProperties": false,
        +        "properties": {
        +          "accountCode": {
        +            "description": "Cash Payments analysis account code.",
        +            "minLength": 1,
        +            "type": "string"
        +          },
        +          "analysisCategoryId": {
        +            "description": "Cash Payments analysis category id.",
        +            "exclusiveMinimum": 0,
        +            "maximum": 9007199254740991,
        +            "type": "integer"
        +          },
        +          "bookTranTypeId": {
        +            "const": 2,
        +            "description": "Cash Payment book transaction type id. Must be 2.",
        +            "type": "number"
        +          },
        +          "description": {
        +            "description": "Analysis-line description.",
        +            "minLength": 1,
        +            "type": "string"
        +          },
        +          "discount": {
        +            "type": "number"
        +          },
        +          "entryDate": {
        +            "description": "Entry date in ISO format.",
        +            "minLength": 1,
        +            "type": "string"
        +          },
        +          "note": {
        +            "description": "Cash Payment note.",
        +            "minLength": 1,
        +            "type": "string"
        +          },
        +          "procDate": {
        +            "description": "Processing date in ISO format.",
        +            "minLength": 1,
        +            "type": "string"
        +          },
        +          "total": {
        +            "description": "Positive Cash Payment total.",
        +            "exclusiveMinimum": 0,
        +            "type": "number"
        +          }
        +        },
        +        "required": [
        +          "total",
        +          "note",
        +          "entryDate",
        +          "procDate",
        +          "bookTranTypeId",
        +          "analysisCategoryId",
        +          "accountCode",
        +          "description"
        +        ],
        +        "type": "object"
        +      }
        +    ]
        +  },
        +  "opCode": {
        +    "const": 1,
        +    "description": "BRC batch create operation code. Must be 1.",
        +    "type": "number"
        +  }
        +}
      • removedInput schema / properties / items / items / propertyNames
        Removed value: -{
        -  "type": "string"
        -}
      • addedInput schema / properties / items / items / required
        Added value: +[
        +  "opCode",
        +  "item"
        +]
      • removedInput schema / properties / priceBasis
        Removed value: -{
        -  "description": "Applies to every sales invoice/credit note item in this batch. Required when Gross Price Entry is enabled. Use `gross` when unit prices are VAT-inclusive/gross. Use `net` when unit prices are VAT-exclusive/net.",
        -  "enum": [
        -    "net",
        -    "gross"
        -  ],
        -  "type": "string"
        -}
    • Changedbrc_batch_cash_receipts6 fields changed
      • removedInput schema / properties / confirmCrAnalysisCategory
        Removed value: -{
        -  "description": "Applies to every sales document item in this batch. Set true only after the user confirms a CR (customer) sales analysis account code is intentional for these product lines.",
        -  "type": "boolean"
        -}
      • changedInput schema / properties / items / items / additionalProperties
        Previous value: -{}New value: +false
      • addedInput schema / properties / items / items / properties
        Added value: +{
        +  "item": {
        +    "oneOf": [
        +      {
        +        "additionalProperties": false,
        +        "properties": {
        +          "acEntries": {
        +            "items": {
        +              "additionalProperties": false,
        +              "properties": {
        +                "accountCode": {
        +                  "description": "Cash Receipts analysis account code.",
        +                  "minLength": 1,
        +                  "type": "string"
        +                },
        +                "analysisCategoryId": {
        +                  "description": "Cash Receipts analysis category id.",
        +                  "exclusiveMinimum": 0,
        +                  "maximum": 9007199254740991,
        +                  "type": "integer"
        +                },
        +                "description": {
        +                  "description": "Analysis-line description.",
        +                  "minLength": 1,
        +                  "type": "string"
        +                },
        +                "id": {
        +                  "maximum": 9007199254740991,
        +                  "minimum": 0,
        +                  "type": "integer"
        +                },
        +                "value": {
        +                  "description": "Positive portion of the receipt total assigned to this analysis entry.",
        +                  "exclusiveMinimum": 0,
        +                  "type": "number"
        +                }
        +              },
        +              "required": [
        +                "accountCode",
        +                "analysisCategoryId",
        +                "description",
        +                "value"
        +              ],
        +              "type": "object"
        +            },
        +            "minItems": 1,
        +            "type": "array"
        +          },
        +          "bookTranTypeId": {
        +            "const": 1,
        +            "description": "Cash Receipt book transaction type id. Must be 1.",
        +            "type": "number"
        +          },
        +          "discount": {
        +            "type": "number"
        +          },
        +          "entryDate": {
        +            "description": "Entry date in ISO format.",
        +            "minLength": 1,
        +            "type": "string"
        +          },
        +          "note": {
        +            "description": "Cash Receipt note.",
        +            "minLength": 1,
        +            "type": "string"
        +          },
        +          "procDate": {
        +            "description": "Processing date in ISO format.",
        +            "minLength": 1,
        +            "type": "string"
        +          },
        +          "reference": {
        +            "type": "string"
        +          },
        +          "total": {
        +            "description": "Positive Cash Receipt total.",
        +            "exclusiveMinimum": 0,
        +            "type": "number"
        +          },
        +          "vatEntries": {
        +            "description": "Optional manual VAT split. Removed before transmission when Enable VAT on Cash Receipts is disabled.",
        +            "items": {
        +              "additionalProperties": false,
        +              "properties": {
        +                "amount": {
        +                  "description": "Positive portion of the receipt total assigned to this VAT rate; this is not the VAT amount.",
        +                  "exclusiveMinimum": 0,
        +                  "type": "number"
        +                },
        +                "id": {
        +                  "maximum": 9007199254740991,
        +                  "minimum": 0,
        +                  "type": "integer"
        +                },
        +                "percentage": {
        +                  "description": "VAT percentage.",
        +                  "type": "number"
        +                },
        +                "vatRateId": {
        +                  "description": "BRC VAT rate id.",
        +                  "exclusiveMinimum": 0,
        +                  "maximum": 9007199254740991,
        +                  "type": "integer"
        +                }
        +              },
        +              "required": [
        +                "vatRateId",
        +                "percentage",
        +                "amount"
        +              ],
        +              "type": "object"
        +            },
        +            "minItems": 1,
        +            "type": "array"
        +          }
        +        },
        +        "required": [
        +          "total",
        +          "note",
        +          "entryDate",
        +          "procDate",
        +          "bookTranTypeId",
        +          "acEntries"
        +        ],
        +        "type": "object"
        +      },
        +      {
        +        "oneOf": [
        +          {
        +            "additionalProperties": false,
        +            "properties": {
        +              "accountCode": {
        +                "description": "Cash Receipts analysis account code.",
        +                "minLength": 1,
        +                "type": "string"
        +              },
        +              "analysisCategoryId": {
        +                "description": "Cash Receipts analysis category id.",
        +                "exclusiveMinimum": 0,
        +                "maximum": 9007199254740991,
        +                "type": "integer"
        +              },
        +              "bookTranTypeId": {
        +                "const": 1,
        +                "description": "Cash Receipt book transaction type id. Must be 1.",
        +                "type": "number"
        +              },
        +              "description": {
        +                "description": "Analysis-line description.",
        +                "minLength": 1,
        +                "type": "string"
        +              },
        +              "discount": {
        +                "type": "number"
        +              },
        +              "entryDate": {
        +                "description": "Entry date in ISO format.",
        +                "minLength": 1,
        +                "type": "string"
        +              },
        +              "note": {
        +                "description": "Cash Receipt note.",
        +                "minLength": 1,
        +                "type": "string"
        +              },
        +              "procDate": {
        +                "description": "Processing date in ISO format.",
        +                "minLength": 1,
        +                "type": "string"
        +              },
        +              "reference": {
        +                "type": "string"
        +              },
        +              "total": {
        +                "description": "Positive Cash Receipt total.",
        +                "exclusiveMinimum": 0,
        +                "type": "number"
        +              }
        +            },
        +            "required": [
        +              "total",
        +              "note",
        +              "entryDate",
        +              "procDate",
        +              "bookTranTypeId",
        +              "analysisCategoryId",
        +              "accountCode",
        +              "description"
        +            ],
        +            "type": "object"
        +          },
        +          {
        +            "additionalProperties": false,
        +            "properties": {
        +              "accountCode": {
        +                "description": "Cash Receipts analysis account code.",
        +                "minLength": 1,
        +                "type": "string"
        +              },
        +              "analysisCategoryId": {
        +                "description": "Cash Receipts analysis category id.",
        +                "exclusiveMinimum": 0,
        +                "maximum": 9007199254740991,
        +                "type": "integer"
        +              },
        +              "bookTranTypeId": {
        +                "const": 1,
        +                "description": "Cash Receipt book transaction type id. Must be 1.",
        +                "type": "number"
        +              },
        +              "description": {
        +                "description": "Analysis-line description.",
        +                "minLength": 1,
        +                "type": "string"
        +              },
        +              "discount": {
        +                "type": "number"
        +              },
        +              "entryDate": {
        +                "description": "Entry date in ISO format.",
        +                "minLength": 1,
        +                "type": "string"
        +              },
        +              "note": {
        +                "description": "Cash Receipt note.",
        +                "minLength": 1,
        +                "type": "string"
        +              },
        +              "procDate": {
        +                "description": "Processing date in ISO format.",
        +                "minLength": 1,
        +                "type": "string"
        +              },
        +              "reference": {
        +                "type": "string"
        +              },
        +              "total": {
        +                "description": "Positive Cash Receipt total.",
        +                "exclusiveMinimum": 0,
        +                "type": "number"
        +              },
        +              "vatPercentage": {
        +                "description": "VAT percentage. Must be supplied with vatRateId.",
        +                "type": "number"
        +              },
        +              "vatRateId": {
        +                "description": "BRC VAT rate id.",
        +                "exclusiveMinimum": 0,
        +                "maximum": 9007199254740991,
        +                "type": "integer"
        +              }
        +            },
        +            "required": [
        +              "total",
        +              "note",
        +              "entryDate",
        +              "procDate",
        +              "bookTranTypeId",
        +              "analysisCategoryId",
        +              "accountCode",
        +              "description",
        +              "vatRateId",
        +              "vatPercentage"
        +            ],
        +            "type": "object"
        +          }
        +        ]
        +      },
        +      {
        +        "additionalProperties": false,
        +        "properties": {
        +          "acCode": {
        +            "description": "Customer account code.",
        +            "minLength": 1,
        +            "type": "string"
        +          },
        +          "bookTranTypeId": {
        +            "const": 1,
        +            "description": "Cash Receipt book transaction type id. Must be 1.",
        +            "type": "number"
        +          },
        +          "customerId": {
        +            "description": "BRC customer id.",
        +            "exclusiveMinimum": 0,
        +            "maximum": 9007199254740991,
        +            "type": "integer"
        +          },
        +          "discount": {
        +            "type": "number"
        +          },
        +          "entryDate": {
        +            "description": "Entry date in ISO format.",
        +            "minLength": 1,
        +            "type": "string"
        +          },
        +          "ledger": {
        +            "description": "Customer-ledger amount; must equal total.",
        +            "exclusiveMinimum": 0,
        +            "type": "number"
        +          },
        +          "note": {
        +            "description": "Cash Receipt note.",
        +            "minLength": 1,
        +            "type": "string"
        +          },
        +          "procDate": {
        +            "description": "Processing date in ISO format.",
        +            "minLength": 1,
        +            "type": "string"
        +          },
        +          "reference": {
        +            "type": "string"
        +          },
        +          "total": {
        +            "description": "Positive Cash Receipt total.",
        +            "exclusiveMinimum": 0,
        +            "type": "number"
        +          }
        +        },
        +        "required": [
        +          "total",
        +          "note",
        +          "entryDate",
        +          "procDate",
        +          "bookTranTypeId",
        +          "customerId",
        +          "acCode",
        +          "ledger"
        +        ],
        +        "type": "object"
        +      }
        +    ]
        +  },
        +  "opCode": {
        +    "const": 1,
        +    "description": "BRC batch create operation code. Must be 1.",
        +    "type": "number"
        +  }
        +}
      • removedInput schema / properties / items / items / propertyNames
        Removed value: -{
        -  "type": "string"
        -}
      • addedInput schema / properties / items / items / required
        Added value: +[
        +  "opCode",
        +  "item"
        +]
      • removedInput schema / properties / priceBasis
        Removed value: -{
        -  "description": "Applies to every sales invoice/credit note item in this batch. Required when Gross Price Entry is enabled. Use `gross` when unit prices are VAT-inclusive/gross. Use `net` when unit prices are VAT-exclusive/net.",
        -  "enum": [
        -    "net",
        -    "gross"
        -  ],
        -  "type": "string"
        -}
    • Changedbrc_batch_customers6 fields changed
      • removedInput schema / properties / confirmCrAnalysisCategory
        Removed value: -{
        -  "description": "Applies to every sales document item in this batch. Set true only after the user confirms a CR (customer) sales analysis account code is intentional for these product lines.",
        -  "type": "boolean"
        -}
      • changedInput schema / properties / items / items / additionalProperties
        Previous value: -{}New value: +false
      • addedInput schema / properties / items / items / properties
        Added value: +{
        +  "item": {
        +    "additionalProperties": false,
        +    "properties": {
        +      "additionalEmails": {
        +        "description": "Optional additional email addresses.",
        +        "items": {
        +          "type": "string"
        +        },
        +        "type": "array"
        +      },
        +      "address": {
        +        "description": "Optional address lines.",
        +        "items": {
        +          "type": "string"
        +        },
        +        "type": "array"
        +      },
        +      "businessIdentifierCode": {
        +        "description": "Optional BIC. Blank values are accepted and omitted by the existing builder.",
        +        "type": "string"
        +      },
        +      "code": {
        +        "description": "BRC account code, maximum eight characters.",
        +        "maxLength": 8,
        +        "minLength": 1,
        +        "type": "string"
        +      },
        +      "contact": {
        +        "description": "Optional contact name. Blank values are accepted and omitted by the existing builder.",
        +        "type": "string"
        +      },
        +      "creditTerms": {
        +        "description": "Optional credit terms in days.",
        +        "maximum": 9007199254740991,
        +        "minimum": 0,
        +        "type": "integer"
        +      },
        +      "email": {
        +        "description": "Optional email address. Blank values are accepted and omitted by the existing builder.",
        +        "type": "string"
        +      },
        +      "fax": {
        +        "description": "Optional fax number. Blank values are accepted and omitted by the existing builder.",
        +        "type": "string"
        +      },
        +      "internationalBankAccountNumber": {
        +        "description": "Optional IBAN. Blank values are accepted and omitted by the existing builder.",
        +        "type": "string"
        +      },
        +      "mobile": {
        +        "description": "Optional mobile number. Blank values are accepted and omitted by the existing builder.",
        +        "type": "string"
        +      },
        +      "name": {
        +        "description": "Customer or supplier name.",
        +        "minLength": 1,
        +        "type": "string"
        +      },
        +      "phone": {
        +        "description": "Optional phone number. Blank values are accepted and omitted by the existing builder.",
        +        "type": "string"
        +      },
        +      "vatAnalysisTypeId": {
        +        "description": "BRC VAT analysis type id.",
        +        "maximum": 9007199254740991,
        +        "minimum": 0,
        +        "type": "integer"
        +      },
        +      "vatReg": {
        +        "description": "Optional VAT registration number. Blank values are accepted and omitted by the existing builder.",
        +        "type": "string"
        +      },
        +      "vatRegistered": {
        +        "description": "Whether the owner is VAT registered.",
        +        "type": "boolean"
        +      },
        +      "vatType": {
        +        "description": "BRC VAT type integer. Resolve the intended value from the connected company's VAT reference data.",
        +        "exclusiveMinimum": 0,
        +        "maximum": 9007199254740991,
        +        "type": "integer"
        +      }
        +    },
        +    "required": [
        +      "code",
        +      "name",
        +      "vatType",
        +      "vatAnalysisTypeId"
        +    ],
        +    "type": "object"
        +  },
        +  "opCode": {
        +    "const": 1,
        +    "description": "BRC batch create operation code. Must be 1.",
        +    "type": "number"
        +  }
        +}
      • removedInput schema / properties / items / items / propertyNames
        Removed value: -{
        -  "type": "string"
        -}
      • addedInput schema / properties / items / items / required
        Added value: +[
        +  "opCode",
        +  "item"
        +]
      • removedInput schema / properties / priceBasis
        Removed value: -{
        -  "description": "Applies to every sales invoice/credit note item in this batch. Required when Gross Price Entry is enabled. Use `gross` when unit prices are VAT-inclusive/gross. Use `net` when unit prices are VAT-exclusive/net.",
        -  "enum": [
        -    "net",
        -    "gross"
        -  ],
        -  "type": "string"
        -}
    • Changedbrc_batch_payments6 fields changed
      • removedInput schema / properties / confirmCrAnalysisCategory
        Removed value: -{
        -  "description": "Applies to every sales document item in this batch. Set true only after the user confirms a CR (customer) sales analysis account code is intentional for these product lines.",
        -  "type": "boolean"
        -}
      • changedInput schema / properties / items / items / additionalProperties
        Previous value: -{}New value: +false
      • addedInput schema / properties / items / items / properties
        Added value: +{
        +  "item": {
        +    "oneOf": [
        +      {
        +        "additionalProperties": false,
        +        "properties": {
        +          "acCode": {
        +            "description": "Supplier account code.",
        +            "minLength": 1,
        +            "type": "string"
        +          },
        +          "bankAccountCode": {
        +            "description": "BRC bank account code.",
        +            "minLength": 1,
        +            "type": "string"
        +          },
        +          "bankAccountId": {
        +            "description": "BRC bank account id.",
        +            "exclusiveMinimum": 0,
        +            "maximum": 9007199254740991,
        +            "type": "integer"
        +          },
        +          "bookTranTypeId": {
        +            "const": 3,
        +            "description": "Payments book transaction type id. Must be 3.",
        +            "type": "number"
        +          },
        +          "discount": {
        +            "type": "number"
        +          },
        +          "entryDate": {
        +            "description": "Entry date in ISO format.",
        +            "minLength": 1,
        +            "type": "string"
        +          },
        +          "note": {
        +            "description": "Payment note.",
        +            "minLength": 1,
        +            "type": "string"
        +          },
        +          "procDate": {
        +            "description": "Processing date in ISO format.",
        +            "minLength": 1,
        +            "type": "string"
        +          },
        +          "reference": {
        +            "type": "string"
        +          },
        +          "supplierId": {
        +            "description": "BRC supplier id.",
        +            "exclusiveMinimum": 0,
        +            "maximum": 9007199254740991,
        +            "type": "integer"
        +          },
        +          "total": {
        +            "description": "Positive Payment total.",
        +            "exclusiveMinimum": 0,
        +            "type": "number"
        +          }
        +        },
        +        "required": [
        +          "total",
        +          "note",
        +          "entryDate",
        +          "procDate",
        +          "bookTranTypeId",
        +          "bankAccountId",
        +          "bankAccountCode",
        +          "supplierId",
        +          "acCode"
        +        ],
        +        "type": "object"
        +      },
        +      {
        +        "additionalProperties": false,
        +        "properties": {
        +          "accountCode": {
        +            "description": "Payments-book analysis account code for the non-supplier payment.",
        +            "minLength": 1,
        +            "type": "string"
        +          },
        +          "analysisCategoryId": {
        +            "description": "Payments-book analysis category id for the non-supplier payment.",
        +            "exclusiveMinimum": 0,
        +            "maximum": 9007199254740991,
        +            "type": "integer"
        +          },
        +          "bankAccountCode": {
        +            "description": "BRC bank account code.",
        +            "minLength": 1,
        +            "type": "string"
        +          },
        +          "bankAccountId": {
        +            "description": "BRC bank account id.",
        +            "exclusiveMinimum": 0,
        +            "maximum": 9007199254740991,
        +            "type": "integer"
        +          },
        +          "bookTranTypeId": {
        +            "const": 3,
        +            "description": "Payments book transaction type id. Must be 3.",
        +            "type": "number"
        +          },
        +          "description": {
        +            "description": "Description for the payment analysis line.",
        +            "minLength": 1,
        +            "type": "string"
        +          },
        +          "discount": {
        +            "type": "number"
        +          },
        +          "entryDate": {
        +            "description": "Entry date in ISO format.",
        +            "minLength": 1,
        +            "type": "string"
        +          },
        +          "note": {
        +            "description": "Payment note.",
        +            "minLength": 1,
        +            "type": "string"
        +          },
        +          "procDate": {
        +            "description": "Processing date in ISO format.",
        +            "minLength": 1,
        +            "type": "string"
        +          },
        +          "reference": {
        +            "type": "string"
        +          },
        +          "total": {
        +            "description": "Positive Payment total.",
        +            "exclusiveMinimum": 0,
        +            "type": "number"
        +          }
        +        },
        +        "required": [
        +          "total",
        +          "note",
        +          "entryDate",
        +          "procDate",
        +          "bookTranTypeId",
        +          "bankAccountId",
        +          "bankAccountCode",
        +          "analysisCategoryId",
        +          "accountCode",
        +          "description"
        +        ],
        +        "type": "object"
        +      }
        +    ]
        +  },
        +  "opCode": {
        +    "const": 1,
        +    "description": "BRC batch create operation code. Must be 1.",
        +    "type": "number"
        +  }
        +}
      • removedInput schema / properties / items / items / propertyNames
        Removed value: -{
        -  "type": "string"
        -}
      • addedInput schema / properties / items / items / required
        Added value: +[
        +  "opCode",
        +  "item"
        +]
      • removedInput schema / properties / priceBasis
        Removed value: -{
        -  "description": "Applies to every sales invoice/credit note item in this batch. Required when Gross Price Entry is enabled. Use `gross` when unit prices are VAT-inclusive/gross. Use `net` when unit prices are VAT-exclusive/net.",
        -  "enum": [
        -    "net",
        -    "gross"
        -  ],
        -  "type": "string"
        -}
    • Changedbrc_batch_products6 fields changed
      • removedInput schema / properties / confirmCrAnalysisCategory
        Removed value: -{
        -  "description": "Applies to every sales document item in this batch. Set true only after the user confirms a CR (customer) sales analysis account code is intentional for these product lines.",
        -  "type": "boolean"
        -}
      • changedInput schema / properties / items / items / additionalProperties
        Previous value: -{}New value: +false
      • addedInput schema / properties / items / items / properties
        Added value: +{
        +  "item": {
        +    "additionalProperties": false,
        +    "properties": {
        +      "details": {
        +        "description": "One or more non-empty product description lines.",
        +        "items": {
        +          "minLength": 1,
        +          "type": "string"
        +        },
        +        "minItems": 1,
        +        "type": "array"
        +      },
        +      "grossUnitPrice": {
        +        "description": "Whether unitPrice is VAT-inclusive.",
        +        "type": "boolean"
        +      },
        +      "hasDefaultVatRate": {
        +        "description": "Whether the product uses its selected default VAT rate.",
        +        "type": "boolean"
        +      },
        +      "productTypeId": {
        +        "description": "BRC product type id. Select the intended product type explicitly.",
        +        "exclusiveMinimum": 0,
        +        "maximum": 9007199254740991,
        +        "type": "integer"
        +      },
        +      "stockCode": {
        +        "description": "BRC product code. BRC may enforce additional server-side code limits.",
        +        "minLength": 1,
        +        "type": "string"
        +      },
        +      "unitPrice": {
        +        "description": "Product unit price. Zero is valid for products whose price is supplied at transaction time.",
        +        "minimum": 0,
        +        "type": "number"
        +      },
        +      "vatAnalysisTypeId": {
        +        "description": "BRC product VAT analysis type id.",
        +        "maximum": 9007199254740991,
        +        "minimum": 0,
        +        "type": "integer"
        +      },
        +      "vatRateId": {
        +        "description": "BRC VAT rate id. Select the intended VAT rate explicitly.",
        +        "exclusiveMinimum": 0,
        +        "maximum": 9007199254740991,
        +        "type": "integer"
        +      }
        +    },
        +    "required": [
        +      "stockCode",
        +      "details",
        +      "productTypeId",
        +      "vatRateId",
        +      "vatAnalysisTypeId",
        +      "unitPrice",
        +      "grossUnitPrice",
        +      "hasDefaultVatRate"
        +    ],
        +    "type": "object"
        +  },
        +  "opCode": {
        +    "const": 1,
        +    "description": "BRC batch create operation code. Must be 1.",
        +    "type": "number"
        +  }
        +}
      • removedInput schema / properties / items / items / propertyNames
        Removed value: -{
        -  "type": "string"
        -}
      • addedInput schema / properties / items / items / required
        Added value: +[
        +  "opCode",
        +  "item"
        +]
      • removedInput schema / properties / priceBasis
        Removed value: -{
        -  "description": "Applies to every sales invoice/credit note item in this batch. Required when Gross Price Entry is enabled. Use `gross` when unit prices are VAT-inclusive/gross. Use `net` when unit prices are VAT-exclusive/net.",
        -  "enum": [
        -    "net",
        -    "gross"
        -  ],
        -  "type": "string"
        -}
    • Changedbrc_batch_purchases4 fields changed
      • removedInput schema / properties / items / items / additionalProperties
        Removed value: -{}
      • addedInput schema / properties / items / items / properties
        Added value: +{
        +  "item": {
        +    "description": "Structured purchase input matching brc_create_purchase_gen_ref and the batch purchase builder.",
        +    "properties": {
        +      "acCode": {
        +        "description": "Supplier account code.",
        +        "type": "string"
        +      },
        +      "accountCode": {
        +        "description": "Nominal account code for the analysis entry.",
        +        "type": "string"
        +      },
        +      "analysisCategoryId": {
        +        "description": "Purchases analysis category id.",
        +        "exclusiveMinimum": 0,
        +        "maximum": 9007199254740991,
        +        "type": "integer"
        +      },
        +      "bookTranTypeId": {
        +        "description": "Purchase book transaction type id; use 4.",
        +        "exclusiveMinimum": 0,
        +        "maximum": 9007199254740991,
        +        "type": "integer"
        +      },
        +      "description": {
        +        "description": "Purchase analysis-line description.",
        +        "type": "string"
        +      },
        +      "entryDate": {
        +        "description": "Purchase entry date in ISO format.",
        +        "type": "string"
        +      },
        +      "netAmount": {
        +        "description": "Net amount before VAT.",
        +        "exclusiveMinimum": 0,
        +        "type": "number"
        +      },
        +      "note": {
        +        "description": "Purchase note.",
        +        "type": "string"
        +      },
        +      "procDate": {
        +        "description": "Purchase processing date in ISO format.",
        +        "type": "string"
        +      },
        +      "supplierId": {
        +        "description": "BRC supplier id.",
        +        "exclusiveMinimum": 0,
        +        "maximum": 9007199254740991,
        +        "type": "integer"
        +      },
        +      "total": {
        +        "description": "Optional caller-calculated gross total; RED recalculates it.",
        +        "type": "number"
        +      },
        +      "totalNet": {
        +        "description": "Optional caller-calculated net total; RED recalculates it from netAmount.",
        +        "type": "number"
        +      },
        +      "totalVAT": {
        +        "description": "Optional caller-calculated VAT total; RED recalculates it from netAmount and vatPercentage.",
        +        "type": "number"
        +      },
        +      "unpaid": {
        +        "description": "Optional caller-calculated unpaid amount; RED recalculates it.",
        +        "type": "number"
        +      },
        +      "vatPercentage": {
        +        "description": "VAT percentage.",
        +        "type": "number"
        +      },
        +      "vatRateId": {
        +        "description": "BRC VAT rate id.",
        +        "exclusiveMinimum": 0,
        +        "maximum": 9007199254740991,
        +        "type": "integer"
        +      },
        +      "vatTypeId": {
        +        "description": "Optional purchase VAT type; the current builder emits Domestic VAT type 1.",
        +        "exclusiveMinimum": 0,
        +        "maximum": 9007199254740991,
        +        "type": "integer"
        +      }
        +    },
        +    "required": [
        +      "supplierId",
        +      "acCode",
        +      "bookTranTypeId",
        +      "entryDate",
        +      "procDate",
        +      "description",
        +      "note",
        +      "accountCode",
        +      "analysisCategoryId",
        +      "netAmount",
        +      "vatPercentage",
        +      "vatRateId"
        +    ],
        +    "type": "object"
        +  },
        +  "opCode": {
        +    "const": 1,
        +    "default": 1,
        +    "description": "BRC batch operation code. Use 1 to create a purchase.",
        +    "type": "number"
        +  }
        +}
      • removedInput schema / properties / items / items / propertyNames
        Removed value: -{
        -  "type": "string"
        -}
      • addedInput schema / properties / items / items / required
        Added value: +[
        +  "item"
        +]
    • Changedbrc_batch_quotes5 fields changed
      • changedInput schema / properties / items / items / additionalProperties
        Previous value: -{}New value: +false
      • addedInput schema / properties / items / items / properties
        Added value: +{
        +  "item": {
        +    "oneOf": [
        +      {
        +        "additionalProperties": false,
        +        "properties": {
        +          "acCode": {
        +            "description": "Customer account code.",
        +            "minLength": 1,
        +            "type": "string"
        +          },
        +          "accountCode": {
        +            "description": "Sales analysis account code.",
        +            "minLength": 1,
        +            "type": "string"
        +          },
        +          "analysisCategoryId": {
        +            "description": "Sales analysis category id.",
        +            "exclusiveMinimum": 0,
        +            "maximum": 9007199254740991,
        +            "type": "integer"
        +          },
        +          "comments": {
        +            "description": "Quote comments.",
        +            "minLength": 1,
        +            "type": "string"
        +          },
        +          "companyId": {
        +            "description": "BRC company id.",
        +            "exclusiveMinimum": 0,
        +            "maximum": 9007199254740991,
        +            "type": "integer"
        +          },
        +          "customerOwnerId": {
        +            "description": "BRC customer owner id.",
        +            "exclusiveMinimum": 0,
        +            "maximum": 9007199254740991,
        +            "type": "integer"
        +          },
        +          "customerOwnerName": {
        +            "description": "Customer name.",
        +            "minLength": 1,
        +            "type": "string"
        +          },
        +          "ddNumber": {
        +            "type": "string"
        +          },
        +          "deliveryTo": {
        +            "anyOf": [
        +              {
        +                "type": "string"
        +              },
        +              {
        +                "items": {
        +                  "type": "string"
        +                },
        +                "type": "array"
        +              }
        +            ]
        +          },
        +          "entryDate": {
        +            "description": "Entry date in ISO format.",
        +            "minLength": 1,
        +            "type": "string"
        +          },
        +          "layoutType": {
        +            "description": "Quote layout type id.",
        +            "exclusiveMinimum": 0,
        +            "maximum": 9007199254740991,
        +            "type": "integer"
        +          },
        +          "poNumber": {
        +            "type": "string"
        +          },
        +          "procDate": {
        +            "description": "Processing date in ISO format.",
        +            "minLength": 1,
        +            "type": "string"
        +          },
        +          "productCode": {
        +            "description": "BRC product code.",
        +            "minLength": 1,
        +            "type": "string"
        +          },
        +          "productId": {
        +            "description": "BRC product id; placeholder ids 0 and 1 are prohibited.",
        +            "exclusiveMinimum": 0,
        +            "maximum": 9007199254740991,
        +            "type": "integer"
        +          },
        +          "quantity": {
        +            "exclusiveMinimum": 0,
        +            "type": "number"
        +          },
        +          "reference": {
        +            "description": "Optional manual quote reference, maximum six characters.",
        +            "maxLength": 6,
        +            "type": "string"
        +          },
        +          "saleRepCode": {
        +            "description": "BRC sales representative code.",
        +            "minLength": 1,
        +            "type": "string"
        +          },
        +          "saleRepId": {
        +            "description": "BRC sales representative id.",
        +            "exclusiveMinimum": 0,
        +            "maximum": 9007199254740991,
        +            "type": "integer"
        +          },
        +          "tranNote": {
        +            "description": "Quote product-line note.",
        +            "minLength": 1,
        +            "type": "string"
        +          },
        +          "unitPrice": {
        +            "exclusiveMinimum": 0,
        +            "type": "number"
        +          },
        +          "vatPercentage": {
        +            "type": "number"
        +          },
        +          "vatRateId": {
        +            "description": "BRC VAT rate id.",
        +            "exclusiveMinimum": 0,
        +            "maximum": 9007199254740991,
        +            "type": "integer"
        +          },
        +          "vatTypeId": {
        +            "description": "BRC VAT type id.",
        +            "exclusiveMinimum": 0,
        +            "maximum": 9007199254740991,
        +            "type": "integer"
        +          }
        +        },
        +        "required": [
        +          "companyId",
        +          "customerOwnerId",
        +          "acCode",
        +          "customerOwnerName",
        +          "comments",
        +          "entryDate",
        +          "procDate",
        +          "saleRepId",
        +          "saleRepCode",
        +          "productId",
        +          "productCode",
        +          "quantity",
        +          "unitPrice",
        +          "vatRateId",
        +          "vatPercentage",
        +          "tranNote",
        +          "analysisCategoryId",
        +          "accountCode"
        +        ],
        +        "type": "object"
        +      },
        +      {
        +        "additionalProperties": false,
        +        "properties": {
        +          "acCode": {
        +            "description": "Customer account code.",
        +            "minLength": 1,
        +            "type": "string"
        +          },
        +          "closedDate": {
        +            "anyOf": [
        +              {
        +                "type": "string"
        +              },
        +              {
        +                "type": "null"
        +              }
        +            ]
        +          },
        +          "comments": {
        +            "description": "Quote comments.",
        +            "minLength": 1,
        +            "type": "string"
        +          },
        +          "companyId": {
        +            "description": "BRC company id.",
        +            "exclusiveMinimum": 0,
        +            "maximum": 9007199254740991,
        +            "type": "integer"
        +          },
        +          "customFields": {
        +            "items": {},
        +            "type": "array"
        +          },
        +          "customerOwnerId": {
        +            "description": "BRC customer owner id.",
        +            "exclusiveMinimum": 0,
        +            "maximum": 9007199254740991,
        +            "type": "integer"
        +          },
        +          "customerOwnerName": {
        +            "description": "Customer name.",
        +            "minLength": 1,
        +            "type": "string"
        +          },
        +          "ddNumber": {
        +            "type": "string"
        +          },
        +          "deliveryList": {
        +            "type": "string"
        +          },
        +          "deliveryTo": {
        +            "items": {
        +              "type": "string"
        +            },
        +            "type": "array"
        +          },
        +          "entryDate": {
        +            "description": "Entry date in ISO format.",
        +            "minLength": 1,
        +            "type": "string"
        +          },
        +          "layoutType": {
        +            "description": "Quote layout type id.",
        +            "exclusiveMinimum": 0,
        +            "maximum": 9007199254740991,
        +            "type": "integer"
        +          },
        +          "note": {
        +            "type": "string"
        +          },
        +          "poNumber": {
        +            "type": "string"
        +          },
        +          "procDate": {
        +            "description": "Processing date in ISO format.",
        +            "minLength": 1,
        +            "type": "string"
        +          },
        +          "productTrans": {
        +            "items": {
        +              "additionalProperties": false,
        +              "properties": {
        +                "acEntries": {
        +                  "items": {
        +                    "additionalProperties": false,
        +                    "properties": {
        +                      "accountCode": {
        +                        "description": "Sales analysis account code.",
        +                        "minLength": 1,
        +                        "type": "string"
        +                      },
        +                      "analysisCategoryId": {
        +                        "description": "Sales analysis category id.",
        +                        "exclusiveMinimum": 0,
        +                        "maximum": 9007199254740991,
        +                        "type": "integer"
        +                      },
        +                      "companyId": {
        +                        "description": "BRC company id.",
        +                        "exclusiveMinimum": 0,
        +                        "maximum": 9007199254740991,
        +                        "type": "integer"
        +                      },
        +                      "id": {
        +                        "maximum": 9007199254740991,
        +                        "minimum": 0,
        +                        "type": "integer"
        +                      },
        +                      "quoteProductTranId": {
        +                        "maximum": 9007199254740991,
        +                        "minimum": 0,
        +                        "type": "integer"
        +                      },
        +                      "value": {
        +                        "exclusiveMinimum": 0,
        +                        "type": "number"
        +                      }
        +                    },
        +                    "required": [
        +                      "companyId",
        +                      "accountCode",
        +                      "analysisCategoryId",
        +                      "value"
        +                    ],
        +                    "type": "object"
        +                  },
        +                  "minItems": 1,
        +                  "type": "array"
        +                },
        +                "amount": {
        +                  "exclusiveMinimum": 0,
        +                  "type": "number"
        +                },
        +                "companyId": {
        +                  "description": "BRC company id.",
        +                  "exclusiveMinimum": 0,
        +                  "maximum": 9007199254740991,
        +                  "type": "integer"
        +                },
        +                "id": {
        +                  "maximum": 9007199254740991,
        +                  "minimum": 0,
        +                  "type": "integer"
        +                },
        +                "percentage": {
        +                  "type": "number"
        +                },
        +                "productCode": {
        +                  "description": "BRC product code.",
        +                  "minLength": 1,
        +                  "type": "string"
        +                },
        +                "productId": {
        +                  "description": "BRC product id; placeholder ids 0 and 1 are prohibited.",
        +                  "exclusiveMinimum": 0,
        +                  "maximum": 9007199254740991,
        +                  "type": "integer"
        +                },
        +                "quantity": {
        +                  "exclusiveMinimum": 0,
        +                  "type": "number"
        +                },
        +                "tranNotes": {
        +                  "items": {
        +                    "type": "string"
        +                  },
        +                  "minItems": 1,
        +                  "type": "array"
        +                },
        +                "unitPrice": {
        +                  "exclusiveMinimum": 0,
        +                  "type": "number"
        +                },
        +                "vatAmount": {
        +                  "minimum": 0,
        +                  "type": "number"
        +                },
        +                "vatAnalysisTypeId": {
        +                  "maximum": 9007199254740991,
        +                  "minimum": -9007199254740991,
        +                  "type": "integer"
        +                },
        +                "vatRateId": {
        +                  "description": "BRC VAT rate id.",
        +                  "exclusiveMinimum": 0,
        +                  "maximum": 9007199254740991,
        +                  "type": "integer"
        +                }
        +              },
        +              "required": [
        +                "companyId",
        +                "percentage",
        +                "vatRateId",
        +                "productId",
        +                "productCode",
        +                "quantity",
        +                "unitPrice",
        +                "amount",
        +                "vatAmount",
        +                "tranNotes",
        +                "acEntries",
        +                "vatAnalysisTypeId"
        +              ],
        +              "type": "object"
        +            },
        +            "minItems": 1,
        +            "type": "array"
        +          },
        +          "reference": {
        +            "description": "Optional manual quote reference, maximum six characters.",
        +            "maxLength": 6,
        +            "type": "string"
        +          },
        +          "saleInvoiceId": {
        +            "anyOf": [
        +              {
        +                "exclusiveMinimum": 0,
        +                "maximum": 9007199254740991,
        +                "type": "integer"
        +              },
        +              {
        +                "type": "null"
        +              }
        +            ]
        +          },
        +          "saleRepCode": {
        +            "description": "BRC sales representative code.",
        +            "minLength": 1,
        +            "type": "string"
        +          },
        +          "saleRepId": {
        +            "description": "BRC sales representative id.",
        +            "exclusiveMinimum": 0,
        +            "maximum": 9007199254740991,
        +            "type": "integer"
        +          },
        +          "total": {
        +            "exclusiveMinimum": 0,
        +            "type": "number"
        +          },
        +          "totalNet": {
        +            "exclusiveMinimum": 0,
        +            "type": "number"
        +          },
        +          "totalVat": {
        +            "minimum": 0,
        +            "type": "number"
        +          },
        +          "vatTypeId": {
        +            "description": "BRC VAT type id.",
        +            "exclusiveMinimum": 0,
        +            "maximum": 9007199254740991,
        +            "type": "integer"
        +          }
        +        },
        +        "required": [
        +          "companyId",
        +          "customerOwnerId",
        +          "vatTypeId",
        +          "saleRepId",
        +          "saleRepCode",
        +          "entryDate",
        +          "procDate",
        +          "customerOwnerName",
        +          "comments",
        +          "layoutType",
        +          "total",
        +          "totalVat",
        +          "totalNet",
        +          "note",
        +          "acCode",
        +          "productTrans",
        +          "customFields"
        +        ],
        +        "type": "object"
        +      }
        +    ]
        +  },
        +  "opCode": {
        +    "const": 1,
        +    "description": "BRC batch create operation code. Must be 1.",
        +    "type": "number"
        +  }
        +}
      • removedInput schema / properties / items / items / propertyNames
        Removed value: -{
        -  "type": "string"
        -}
      • addedInput schema / properties / items / items / required
        Added value: +[
        +  "opCode",
        +  "item"
        +]
      • removedInput schema / properties / priceBasis
        Removed value: -{
        -  "description": "Applies to every sales invoice/credit note item in this batch. Required when Gross Price Entry is enabled. Use `gross` when unit prices are VAT-inclusive/gross. Use `net` when unit prices are VAT-exclusive/net.",
        -  "enum": [
        -    "net",
        -    "gross"
        -  ],
        -  "type": "string"
        -}
    • Changedbrc_batch_sales_credit_notes4 fields changed
      • changedInput schema / properties / items / items / additionalProperties
        Previous value: -{}New value: +false
      • addedInput schema / properties / items / items / properties
        Added value: +{
        +  "item": {
        +    "oneOf": [
        +      {
        +        "additionalProperties": false,
        +        "properties": {
        +          "acCode": {
        +            "description": "Customer account code.",
        +            "minLength": 1,
        +            "type": "string"
        +          },
        +          "accountCode": {
        +            "description": "Sales analysis account code.",
        +            "minLength": 1,
        +            "type": "string"
        +          },
        +          "analysisCategoryId": {
        +            "description": "Sales analysis category id.",
        +            "exclusiveMinimum": 0,
        +            "maximum": 9007199254740991,
        +            "type": "integer"
        +          },
        +          "bookTranTypeId": {
        +            "description": "Sales Credit Note book transaction type id; use 7.",
        +            "exclusiveMinimum": 0,
        +            "maximum": 9007199254740991,
        +            "type": "integer"
        +          },
        +          "customerId": {
        +            "description": "BRC customer id.",
        +            "exclusiveMinimum": 0,
        +            "maximum": 9007199254740991,
        +            "type": "integer"
        +          },
        +          "description": {
        +            "description": "Product-line analysis description.",
        +            "minLength": 1,
        +            "type": "string"
        +          },
        +          "entryDate": {
        +            "description": "Entry date in ISO format.",
        +            "minLength": 1,
        +            "type": "string"
        +          },
        +          "netAmount": {
        +            "exclusiveMinimum": 0,
        +            "type": "number"
        +          },
        +          "note": {
        +            "description": "Sales credit note.",
        +            "minLength": 1,
        +            "type": "string"
        +          },
        +          "procDate": {
        +            "description": "Processing date in ISO format.",
        +            "minLength": 1,
        +            "type": "string"
        +          },
        +          "productCode": {
        +            "description": "BRC product code.",
        +            "minLength": 1,
        +            "type": "string"
        +          },
        +          "productId": {
        +            "description": "BRC product id; placeholder ids 0 and 1 are prohibited.",
        +            "exclusiveMinimum": 0,
        +            "maximum": 9007199254740991,
        +            "type": "integer"
        +          },
        +          "quantity": {
        +            "exclusiveMinimum": 0,
        +            "type": "number"
        +          },
        +          "reference": {
        +            "type": "string"
        +          },
        +          "saleRepCode": {
        +            "description": "BRC sales representative code.",
        +            "minLength": 1,
        +            "type": "string"
        +          },
        +          "saleRepId": {
        +            "description": "BRC sales representative id.",
        +            "exclusiveMinimum": 0,
        +            "maximum": 9007199254740991,
        +            "type": "integer"
        +          },
        +          "unitPrice": {
        +            "exclusiveMinimum": 0,
        +            "type": "number"
        +          },
        +          "vatPercentage": {
        +            "type": "number"
        +          },
        +          "vatRateId": {
        +            "description": "BRC VAT rate id.",
        +            "exclusiveMinimum": 0,
        +            "maximum": 9007199254740991,
        +            "type": "integer"
        +          }
        +        },
        +        "required": [
        +          "customerId",
        +          "acCode",
        +          "note",
        +          "entryDate",
        +          "procDate",
        +          "bookTranTypeId",
        +          "analysisCategoryId",
        +          "accountCode",
        +          "description",
        +          "netAmount",
        +          "vatRateId",
        +          "vatPercentage",
        +          "productId",
        +          "productCode",
        +          "quantity",
        +          "unitPrice",
        +          "saleRepId",
        +          "saleRepCode"
        +        ],
        +        "type": "object"
        +      },
        +      {
        +        "additionalProperties": false,
        +        "properties": {
        +          "acCode": {
        +            "description": "Customer account code.",
        +            "minLength": 1,
        +            "type": "string"
        +          },
        +          "bookTranTypeId": {
        +            "const": 7,
        +            "type": "number"
        +          },
        +          "customFields": {
        +            "items": {},
        +            "type": "array"
        +          },
        +          "customerId": {
        +            "description": "BRC customer id.",
        +            "exclusiveMinimum": 0,
        +            "maximum": 9007199254740991,
        +            "type": "integer"
        +          },
        +          "deliveryTo": {
        +            "anyOf": [
        +              {
        +                "type": "string"
        +              },
        +              {
        +                "items": {
        +                  "type": "string"
        +                },
        +                "type": "array"
        +              }
        +            ]
        +          },
        +          "details": {
        +            "anyOf": [
        +              {},
        +              {
        +                "type": "null"
        +              }
        +            ]
        +          },
        +          "entryDate": {
        +            "description": "Entry date in ISO format.",
        +            "minLength": 1,
        +            "type": "string"
        +          },
        +          "id": {
        +            "maximum": 9007199254740991,
        +            "minimum": 0,
        +            "type": "integer"
        +          },
        +          "loType": {
        +            "type": "string"
        +          },
        +          "netGoods": {
        +            "type": "number"
        +          },
        +          "netServices": {
        +            "type": "number"
        +          },
        +          "note": {
        +            "type": "string"
        +          },
        +          "ourReference": {
        +            "type": "string"
        +          },
        +          "procDate": {
        +            "description": "Processing date in ISO format.",
        +            "minLength": 1,
        +            "type": "string"
        +          },
        +          "productTrans": {
        +            "items": {
        +              "additionalProperties": false,
        +              "properties": {
        +                "acEntries": {
        +                  "items": {
        +                    "additionalProperties": false,
        +                    "properties": {
        +                      "accountCode": {
        +                        "description": "Sales analysis account code.",
        +                        "minLength": 1,
        +                        "type": "string"
        +                      },
        +                      "analysisCategoryId": {
        +                        "description": "Sales analysis category id.",
        +                        "exclusiveMinimum": 0,
        +                        "maximum": 9007199254740991,
        +                        "type": "integer"
        +                      },
        +                      "description": {
        +                        "type": "string"
        +                      },
        +                      "id": {
        +                        "maximum": 9007199254740991,
        +                        "minimum": 0,
        +                        "type": "integer"
        +                      },
        +                      "value": {
        +                        "exclusiveMaximum": 0,
        +                        "type": "number"
        +                      }
        +                    },
        +                    "required": [
        +                      "accountCode",
        +                      "analysisCategoryId",
        +                      "value"
        +                    ],
        +                    "type": "object"
        +                  },
        +                  "minItems": 1,
        +                  "type": "array"
        +                },
        +                "amount": {
        +                  "exclusiveMaximum": 0,
        +                  "type": "number"
        +                },
        +                "amountNet": {
        +                  "exclusiveMaximum": 0,
        +                  "type": "number"
        +                },
        +                "id": {
        +                  "maximum": 9007199254740991,
        +                  "minimum": 0,
        +                  "type": "integer"
        +                },
        +                "percentage": {
        +                  "type": "number"
        +                },
        +                "productCode": {
        +                  "description": "BRC product code.",
        +                  "minLength": 1,
        +                  "type": "string"
        +                },
        +                "productId": {
        +                  "description": "BRC product id; placeholder ids 0 and 1 are prohibited.",
        +                  "exclusiveMinimum": 0,
        +                  "maximum": 9007199254740991,
        +                  "type": "integer"
        +                },
        +                "quantity": {
        +                  "exclusiveMaximum": 0,
        +                  "type": "number"
        +                },
        +                "tranNotes": {
        +                  "items": {
        +                    "type": "string"
        +                  },
        +                  "minItems": 1,
        +                  "type": "array"
        +                },
        +                "unitPrice": {
        +                  "exclusiveMinimum": 0,
        +                  "type": "number"
        +                },
        +                "useTaxInclusiveUnitPrice": {
        +                  "type": "boolean"
        +                },
        +                "vat": {
        +                  "exclusiveMaximum": 0,
        +                  "type": "number"
        +                },
        +                "vatAmount": {
        +                  "exclusiveMaximum": 0,
        +                  "type": "number"
        +                },
        +                "vatAnalysisTypeId": {
        +                  "maximum": 9007199254740991,
        +                  "minimum": -9007199254740991,
        +                  "type": "integer"
        +                },
        +                "vatRateId": {
        +                  "description": "BRC VAT rate id.",
        +                  "exclusiveMinimum": 0,
        +                  "maximum": 9007199254740991,
        +                  "type": "integer"
        +                }
        +              },
        +              "required": [
        +                "amount",
        +                "amountNet",
        +                "percentage",
        +                "productId",
        +                "productCode",
        +                "quantity",
        +                "unitPrice",
        +                "vat",
        +                "vatRateId",
        +                "vatAnalysisTypeId",
        +                "tranNotes",
        +                "acEntries"
        +              ],
        +              "type": "object"
        +            },
        +            "minItems": 1,
        +            "type": "array"
        +          },
        +          "quoteId": {
        +            "maximum": 9007199254740991,
        +            "minimum": 0,
        +            "type": "integer"
        +          },
        +          "reference": {
        +            "type": "string"
        +          },
        +          "saleRepCode": {
        +            "description": "BRC sales representative code.",
        +            "minLength": 1,
        +            "type": "string"
        +          },
        +          "saleRepId": {
        +            "description": "BRC sales representative id.",
        +            "exclusiveMinimum": 0,
        +            "maximum": 9007199254740991,
        +            "type": "integer"
        +          },
        +          "total": {
        +            "exclusiveMaximum": 0,
        +            "type": "number"
        +          },
        +          "totalNet": {
        +            "exclusiveMaximum": 0,
        +            "type": "number"
        +          },
        +          "totalVAT": {
        +            "exclusiveMaximum": 0,
        +            "type": "number"
        +          },
        +          "unpaid": {
        +            "exclusiveMaximum": 0,
        +            "type": "number"
        +          },
        +          "useTaxInclusiveUnitPrice": {
        +            "type": "boolean"
        +          },
        +          "vatTypeId": {
        +            "description": "BRC VAT type id.",
        +            "exclusiveMinimum": 0,
        +            "maximum": 9007199254740991,
        +            "type": "integer"
        +          },
        +          "yourReference": {
        +            "type": "string"
        +          }
        +        },
        +        "required": [
        +          "productTrans",
        +          "saleRepId",
        +          "saleRepCode",
        +          "customerId",
        +          "unpaid",
        +          "vatTypeId",
        +          "totalNet",
        +          "totalVAT",
        +          "bookTranTypeId",
        +          "acCode",
        +          "entryDate",
        +          "procDate",
        +          "total",
        +          "customFields"
        +        ],
        +        "type": "object"
        +      }
        +    ]
        +  },
        +  "opCode": {
        +    "const": 1,
        +    "description": "BRC batch create operation code. Must be 1.",
        +    "type": "number"
        +  }
        +}
      • removedInput schema / properties / items / items / propertyNames
        Removed value: -{
        -  "type": "string"
        -}
      • addedInput schema / properties / items / items / required
        Added value: +[
        +  "opCode",
        +  "item"
        +]
    • Changedbrc_batch_sales_entries5 fields changed
      • changedInput schema / properties / items / items / additionalProperties
        Previous value: -{}New value: +false
      • addedInput schema / properties / items / items / properties
        Added value: +{
        +  "item": {
        +    "additionalProperties": false,
        +    "properties": {
        +      "acCode": {
        +        "description": "Customer account code.",
        +        "minLength": 1,
        +        "type": "string"
        +      },
        +      "accountCode": {
        +        "description": "Sales analysis account code.",
        +        "minLength": 1,
        +        "type": "string"
        +      },
        +      "analysisCategoryId": {
        +        "description": "Sales analysis category id.",
        +        "exclusiveMinimum": 0,
        +        "maximum": 9007199254740991,
        +        "type": "integer"
        +      },
        +      "bookTranTypeId": {
        +        "description": "Sales Entry book transaction type id; use 5.",
        +        "exclusiveMinimum": 0,
        +        "maximum": 9007199254740991,
        +        "type": "integer"
        +      },
        +      "customerId": {
        +        "description": "BRC customer id.",
        +        "exclusiveMinimum": 0,
        +        "maximum": 9007199254740991,
        +        "type": "integer"
        +      },
        +      "description": {
        +        "description": "Analysis-line description.",
        +        "minLength": 1,
        +        "type": "string"
        +      },
        +      "entryDate": {
        +        "description": "Entry date in ISO format.",
        +        "minLength": 1,
        +        "type": "string"
        +      },
        +      "netAmount": {
        +        "description": "Positive net amount before VAT.",
        +        "exclusiveMinimum": 0,
        +        "type": "number"
        +      },
        +      "note": {
        +        "description": "Sales Entry note.",
        +        "minLength": 1,
        +        "type": "string"
        +      },
        +      "procDate": {
        +        "description": "Processing date in ISO format.",
        +        "minLength": 1,
        +        "type": "string"
        +      },
        +      "vatPercentage": {
        +        "description": "VAT percentage.",
        +        "type": "number"
        +      },
        +      "vatRateId": {
        +        "description": "BRC VAT rate id.",
        +        "exclusiveMinimum": 0,
        +        "maximum": 9007199254740991,
        +        "type": "integer"
        +      }
        +    },
        +    "required": [
        +      "customerId",
        +      "acCode",
        +      "note",
        +      "entryDate",
        +      "procDate",
        +      "bookTranTypeId",
        +      "analysisCategoryId",
        +      "accountCode",
        +      "description",
        +      "netAmount",
        +      "vatRateId",
        +      "vatPercentage"
        +    ],
        +    "type": "object"
        +  },
        +  "opCode": {
        +    "const": 1,
        +    "description": "BRC batch create operation code. Must be 1.",
        +    "type": "number"
        +  }
        +}
      • removedInput schema / properties / items / items / propertyNames
        Removed value: -{
        -  "type": "string"
        -}
      • addedInput schema / properties / items / items / required
        Added value: +[
        +  "opCode",
        +  "item"
        +]
      • removedInput schema / properties / priceBasis
        Removed value: -{
        -  "description": "Applies to every sales invoice/credit note item in this batch. Required when Gross Price Entry is enabled. Use `gross` when unit prices are VAT-inclusive/gross. Use `net` when unit prices are VAT-exclusive/net.",
        -  "enum": [
        -    "net",
        -    "gross"
        -  ],
        -  "type": "string"
        -}
    • Changedbrc_batch_sales_invoices3 fields changed
      • addedInput schema / properties / items / items / properties
        Added value: +{
        +  "item": {
        +    "additionalProperties": {},
        +    "description": "Complete BRC sales-invoice payload. Use nested productTrans lines with nested acEntries, matching brc_create_sales_invoice_gen_ref.",
        +    "properties": {
        +      "acCode": {
        +        "minLength": 1,
        +        "type": "string"
        +      },
        +      "bookTranTypeId": {
        +        "type": "number"
        +      },
        +      "customFields": {
        +        "items": {},
        +        "type": "array"
        +      },
        +      "customerId": {
        +        "type": "number"
        +      },
        +      "deliveryTo": {
        +        "anyOf": [
        +          {
        +            "type": "string"
        +          },
        +          {
        +            "items": {
        +              "type": "string"
        +            },
        +            "type": "array"
        +          }
        +        ]
        +      },
        +      "entryDate": {
        +        "minLength": 1,
        +        "type": "string"
        +      },
        +      "id": {
        +        "type": "number"
        +      },
        +      "netGoods": {
        +        "type": "number"
        +      },
        +      "netServices": {
        +        "type": "number"
        +      },
        +      "note": {
        +        "type": "string"
        +      },
        +      "procDate": {
        +        "minLength": 1,
        +        "type": "string"
        +      },
        +      "productTrans": {
        +        "items": {
        +          "additionalProperties": {},
        +          "properties": {
        +            "acEntries": {
        +              "items": {
        +                "additionalProperties": {},
        +                "properties": {
        +                  "accountCode": {
        +                    "minLength": 1,
        +                    "type": "string"
        +                  },
        +                  "analysisCategoryId": {
        +                    "type": "number"
        +                  },
        +                  "description": {
        +                    "type": "string"
        +                  },
        +                  "id": {
        +                    "type": "number"
        +                  },
        +                  "value": {
        +                    "type": "number"
        +                  }
        +                },
        +                "required": [
        +                  "accountCode",
        +                  "analysisCategoryId",
        +                  "value"
        +                ],
        +                "type": "object"
        +              },
        +              "type": "array"
        +            },
        +            "amount": {
        +              "type": "number"
        +            },
        +            "amountNet": {
        +              "type": "number"
        +            },
        +            "id": {
        +              "type": "number"
        +            },
        +            "percentage": {
        +              "type": "number"
        +            },
        +            "productCode": {
        +              "minLength": 1,
        +              "type": "string"
        +            },
        +            "productId": {
        +              "type": "number"
        +            },
        +            "quantity": {
        +              "type": "number"
        +            },
        +            "tranNotes": {
        +              "items": {
        +                "type": "string"
        +              },
        +              "type": "array"
        +            },
        +            "unitPrice": {
        +              "type": "number"
        +            },
        +            "useTaxInclusiveUnitPrice": {
        +              "type": "boolean"
        +            },
        +            "vat": {
        +              "type": "number"
        +            },
        +            "vatAnalysisTypeId": {
        +              "type": "number"
        +            },
        +            "vatRateId": {
        +              "type": "number"
        +            }
        +          },
        +          "required": [
        +            "amount",
        +            "amountNet",
        +            "percentage",
        +            "productCode",
        +            "quantity",
        +            "unitPrice",
        +            "vat",
        +            "vatRateId",
        +            "vatAnalysisTypeId",
        +            "tranNotes"
        +          ],
        +          "type": "object"
        +        },
        +        "type": "array"
        +      },
        +      "quoteId": {
        +        "type": "number"
        +      },
        +      "saleRepCode": {
        +        "minLength": 1,
        +        "type": "string"
        +      },
        +      "saleRepId": {
        +        "type": "number"
        +      },
        +      "total": {
        +        "type": "number"
        +      },
        +      "totalNet": {
        +        "type": "number"
        +      },
        +      "totalVAT": {
        +        "type": "number"
        +      },
        +      "unpaid": {
        +        "type": "number"
        +      },
        +      "useTaxInclusiveUnitPrice": {
        +        "type": "boolean"
        +      },
        +      "vatTypeId": {
        +        "type": "number"
        +      }
        +    },
        +    "required": [
        +      "customerId",
        +      "acCode",
        +      "entryDate",
        +      "procDate",
        +      "saleRepId",
        +      "saleRepCode",
        +      "bookTranTypeId",
        +      "totalNet",
        +      "totalVAT",
        +      "total"
        +    ],
        +    "type": "object"
        +  },
        +  "opCode": {
        +    "default": 1,
        +    "description": "BRC batch operation code. Use 1 to create a sales invoice.",
        +    "maximum": 9007199254740991,
        +    "minimum": -9007199254740991,
        +    "type": "integer"
        +  }
        +}
      • removedInput schema / properties / items / items / propertyNames
        Removed value: -{
        -  "type": "string"
        -}
      • addedInput schema / properties / items / items / required
        Added value: +[
        +  "item"
        +]
    • Changedbrc_batch_sales_reps6 fields changed
      • removedInput schema / properties / confirmCrAnalysisCategory
        Removed value: -{
        -  "description": "Applies to every sales document item in this batch. Set true only after the user confirms a CR (customer) sales analysis account code is intentional for these product lines.",
        -  "type": "boolean"
        -}
      • changedInput schema / properties / items / items / additionalProperties
        Previous value: -{}New value: +false
      • addedInput schema / properties / items / items / properties
        Added value: +{
        +  "item": {
        +    "additionalProperties": false,
        +    "properties": {
        +      "code": {
        +        "description": "BRC sales representative code. BRC may enforce additional server-side code limits.",
        +        "minLength": 1,
        +        "type": "string"
        +      },
        +      "name": {
        +        "description": "Sales representative name.",
        +        "minLength": 1,
        +        "type": "string"
        +      }
        +    },
        +    "required": [
        +      "code",
        +      "name"
        +    ],
        +    "type": "object"
        +  },
        +  "opCode": {
        +    "const": 1,
        +    "description": "BRC batch create operation code. Must be 1.",
        +    "type": "number"
        +  }
        +}
      • removedInput schema / properties / items / items / propertyNames
        Removed value: -{
        -  "type": "string"
        -}
      • addedInput schema / properties / items / items / required
        Added value: +[
        +  "opCode",
        +  "item"
        +]
      • removedInput schema / properties / priceBasis
        Removed value: -{
        -  "description": "Applies to every sales invoice/credit note item in this batch. Required when Gross Price Entry is enabled. Use `gross` when unit prices are VAT-inclusive/gross. Use `net` when unit prices are VAT-exclusive/net.",
        -  "enum": [
        -    "net",
        -    "gross"
        -  ],
        -  "type": "string"
        -}
    • Changedbrc_batch_suppliers6 fields changed
      • removedInput schema / properties / confirmCrAnalysisCategory
        Removed value: -{
        -  "description": "Applies to every sales document item in this batch. Set true only after the user confirms a CR (customer) sales analysis account code is intentional for these product lines.",
        -  "type": "boolean"
        -}
      • changedInput schema / properties / items / items / additionalProperties
        Previous value: -{}New value: +false
      • addedInput schema / properties / items / items / properties
        Added value: +{
        +  "item": {
        +    "additionalProperties": false,
        +    "properties": {
        +      "additionalEmails": {
        +        "description": "Optional additional email addresses.",
        +        "items": {
        +          "type": "string"
        +        },
        +        "type": "array"
        +      },
        +      "address": {
        +        "description": "Optional address lines.",
        +        "items": {
        +          "type": "string"
        +        },
        +        "type": "array"
        +      },
        +      "businessIdentifierCode": {
        +        "description": "Optional BIC. Blank values are accepted and omitted by the existing builder.",
        +        "type": "string"
        +      },
        +      "code": {
        +        "description": "BRC account code, maximum eight characters.",
        +        "maxLength": 8,
        +        "minLength": 1,
        +        "type": "string"
        +      },
        +      "contact": {
        +        "description": "Optional contact name. Blank values are accepted and omitted by the existing builder.",
        +        "type": "string"
        +      },
        +      "creditTerms": {
        +        "description": "Optional credit terms in days.",
        +        "maximum": 9007199254740991,
        +        "minimum": 0,
        +        "type": "integer"
        +      },
        +      "email": {
        +        "description": "Optional email address. Blank values are accepted and omitted by the existing builder.",
        +        "type": "string"
        +      },
        +      "fax": {
        +        "description": "Optional fax number. Blank values are accepted and omitted by the existing builder.",
        +        "type": "string"
        +      },
        +      "internationalBankAccountNumber": {
        +        "description": "Optional IBAN. Blank values are accepted and omitted by the existing builder.",
        +        "type": "string"
        +      },
        +      "mobile": {
        +        "description": "Optional mobile number. Blank values are accepted and omitted by the existing builder.",
        +        "type": "string"
        +      },
        +      "name": {
        +        "description": "Customer or supplier name.",
        +        "minLength": 1,
        +        "type": "string"
        +      },
        +      "phone": {
        +        "description": "Optional phone number. Blank values are accepted and omitted by the existing builder.",
        +        "type": "string"
        +      },
        +      "vatAnalysisTypeId": {
        +        "description": "BRC VAT analysis type id.",
        +        "maximum": 9007199254740991,
        +        "minimum": 0,
        +        "type": "integer"
        +      },
        +      "vatReg": {
        +        "description": "Optional VAT registration number. Blank values are accepted and omitted by the existing builder.",
        +        "type": "string"
        +      },
        +      "vatRegistered": {
        +        "description": "Whether the owner is VAT registered.",
        +        "type": "boolean"
        +      },
        +      "vatType": {
        +        "description": "BRC VAT type integer. Resolve the intended value from the connected company's VAT reference data.",
        +        "exclusiveMinimum": 0,
        +        "maximum": 9007199254740991,
        +        "type": "integer"
        +      }
        +    },
        +    "required": [
        +      "code",
        +      "name",
        +      "vatType",
        +      "vatAnalysisTypeId"
        +    ],
        +    "type": "object"
        +  },
        +  "opCode": {
        +    "const": 1,
        +    "description": "BRC batch create operation code. Must be 1.",
        +    "type": "number"
        +  }
        +}
      • removedInput schema / properties / items / items / propertyNames
        Removed value: -{
        -  "type": "string"
        -}
      • addedInput schema / properties / items / items / required
        Added value: +[
        +  "opCode",
        +  "item"
        +]
      • removedInput schema / properties / priceBasis
        Removed value: -{
        -  "description": "Applies to every sales invoice/credit note item in this batch. Required when Gross Price Entry is enabled. Use `gross` when unit prices are VAT-inclusive/gross. Use `net` when unit prices are VAT-exclusive/net.",
        -  "enum": [
        -    "net",
        -    "gross"
        -  ],
        -  "type": "string"
        -}
  2. 10 tool updates
    • Changedbrc_create_quote4 fields changed
      • changedInput schema / properties / companyId / description
        Previous value: -"Optional BRC company id used in quote payload. Defaults to previous test company id if omitted."New value: +"Required BRC company id for the quote payload. Use the connected company's id from existing records such as customers, products, or sales reps. Do not omit this field."
      • changedInput schema / properties / reference / description
        Previous value: -"Required when quote references are manual, or when the quote reference setting is unknown."New value: +"Optional manual quote reference, max 6 characters. Required when quote references are manual, or when the quote reference setting is unknown. Quote reference must be 6 characters or fewer because Big Red Cloud truncates longer references."
      • addedInput schema / properties / reference / maxLength
        Added value: +6
      • changedInput schema / required
        Previous value: -[
        -  "companyName",
        -  "customerOwnerId",
        -  "acCode",
        -  "customerOwnerName",
        -  "comments",
        -  "entryDate",
        -  "procDate",
        -  "saleRepId",
        -  "saleRepCode",
        -  "productId",
        -  "productCode",
        -  "quantity",
        -  "unitPrice",
        -  "vatRateId",
        -  "vatPercentage",
        -  "tranNote",
        -  "analysisCategoryId",
        -  "accountCode",
        -  "routeToken"
        -]New value: +[
        +  "companyName",
        +  "companyId",
        +  "customerOwnerId",
        +  "acCode",
        +  "customerOwnerName",
        +  "comments",
        +  "entryDate",
        +  "procDate",
        +  "saleRepId",
        +  "saleRepCode",
        +  "productId",
        +  "productCode",
        +  "quantity",
        +  "unitPrice",
        +  "vatRateId",
        +  "vatPercentage",
        +  "tranNote",
        +  "analysisCategoryId",
        +  "accountCode",
        +  "routeToken"
        +]
    • Changedbrc_create_quote_gen_ref4 fields changed
      • changedInput schema / properties / companyId / description
        Previous value: -"Optional BRC company id used in quote payload. Defaults to previous test company id if omitted."New value: +"Required BRC company id for the quote payload. Use the connected company's id from existing records such as customers, products, or sales reps. Do not omit this field."
      • changedInput schema / properties / reference / description
        Previous value: -"Required when quote references are manual, or when the quote reference setting is unknown."New value: +"Optional manual quote reference, max 6 characters. Required when quote references are manual, or when the quote reference setting is unknown. Quote reference must be 6 characters or fewer because Big Red Cloud truncates longer references."
      • addedInput schema / properties / reference / maxLength
        Added value: +6
      • changedInput schema / required
        Previous value: -[
        -  "companyName",
        -  "customerOwnerId",
        -  "acCode",
        -  "customerOwnerName",
        -  "comments",
        -  "entryDate",
        -  "procDate",
        -  "saleRepId",
        -  "saleRepCode",
        -  "productId",
        -  "productCode",
        -  "quantity",
        -  "unitPrice",
        -  "vatRateId",
        -  "vatPercentage",
        -  "tranNote",
        -  "analysisCategoryId",
        -  "accountCode",
        -  "routeToken"
        -]New value: +[
        +  "companyName",
        +  "companyId",
        +  "customerOwnerId",
        +  "acCode",
        +  "customerOwnerName",
        +  "comments",
        +  "entryDate",
        +  "procDate",
        +  "saleRepId",
        +  "saleRepCode",
        +  "productId",
        +  "productCode",
        +  "quantity",
        +  "unitPrice",
        +  "vatRateId",
        +  "vatPercentage",
        +  "tranNote",
        +  "analysisCategoryId",
        +  "accountCode",
        +  "routeToken"
        +]
    • Addedbrc_generate_support_report
    • Removedbrc_get_company_options
    • Removedbrc_getting_started
    • Addedbrc_resolve_book_transaction_type
    • Changedbrc_update_quote3 fields changed
      • removedInput schema / properties / note
        Removed value: -{
        -  "type": "string"
        -}
      • addedInput schema / properties / reference / description
        Added value: +"Optional manual quote reference, max 6 characters. Required when quote references are manual, or when the quote reference setting is unknown. Quote reference must be 6 characters or fewer because Big Red Cloud truncates longer references."
      • addedInput schema / properties / reference / maxLength
        Added value: +6
    • Changedbrc_update_sales_credit_note12 fields changed
      • addedInput schema / properties / customerId
        Added value: +{
        +  "exclusiveMinimum": 0,
        +  "maximum": 9007199254740991,
        +  "type": "integer"
        +}
      • addedInput schema / properties / details
        Added value: +{
        +  "type": "string"
        +}
      • addedInput schema / properties / entryDate
        Added value: +{
        +  "description": "Entry date. Historical dates may be attempted; BRC determines whether the update is permitted.",
        +  "type": "string"
        +}
      • addedInput schema / properties / ourReference
        Added value: +{
        +  "type": "string"
        +}
      • addedInput schema / properties / procDate
        Added value: +{
        +  "description": "Processing date. Historical dates may be attempted; BRC determines whether the update is permitted.",
        +  "type": "string"
        +}
      • addedInput schema / properties / productTrans
        Added value: +{
        +  "description": "Complete BRC productTrans collection. Preserve existing line ids and accounting/VAT data when modifying an existing credit note.",
        +  "items": {
        +    "additionalProperties": {},
        +    "propertyNames": {
        +      "type": "string"
        +    },
        +    "type": "object"
        +  },
        +  "type": "array"
        +}
      • addedInput schema / properties / saleRepId
        Added value: +{
        +  "exclusiveMinimum": 0,
        +  "maximum": 9007199254740991,
        +  "type": "integer"
        +}
      • addedInput schema / properties / total
        Added value: +{
        +  "type": "number"
        +}
      • addedInput schema / properties / totalNet
        Added value: +{
        +  "type": "number"
        +}
      • addedInput schema / properties / totalVAT
        Added value: +{
        +  "type": "number"
        +}
      • addedInput schema / properties / vatTypeId
        Added value: +{
        +  "exclusiveMinimum": 0,
        +  "maximum": 9007199254740991,
        +  "type": "integer"
        +}
      • addedInput schema / properties / yourReference
        Added value: +{
        +  "type": "string"
        +}
    • Changedbrc_update_sales_entry13 fields changed
      • addedInput schema / properties / acCode
        Added value: +{
        +  "description": "Customer account code.",
        +  "type": "string"
        +}
      • addedInput schema / properties / acEntries
        Added value: +{
        +  "description": "Complete BRC accounting-entry collection. For monetary edits, the sum of each entry's value must equal totalNet.",
        +  "items": {
        +    "additionalProperties": {},
        +    "propertyNames": {
        +      "type": "string"
        +    },
        +    "type": "object"
        +  },
        +  "type": "array"
        +}
      • addedInput schema / properties / bookTranTypeId
        Added value: +{
        +  "description": "Book transaction type id. Sales Entries normally use the existing record's transaction type.",
        +  "exclusiveMinimum": 0,
        +  "maximum": 9007199254740991,
        +  "type": "integer"
        +}
      • addedInput schema / properties / customerId
        Added value: +{
        +  "description": "Customer id.",
        +  "exclusiveMinimum": 0,
        +  "maximum": 9007199254740991,
        +  "type": "integer"
        +}
      • addedInput schema / properties / details
        Added value: +{
        +  "description": "Sales Entry details/description field.",
        +  "type": "string"
        +}
      • addedInput schema / properties / entryDate
        Added value: +{
        +  "description": "Entry date in ISO format. Historical dates may be attempted; BRC determines whether the change is permitted.",
        +  "type": "string"
        +}
      • changedInput schema / properties / id / description
        Previous value: -"Sales entry id."New value: +"Sales Entry id, normally the bookTranId returned by customer account transactions."
      • addedInput schema / properties / procDate
        Added value: +{
        +  "description": "Processing date in ISO format. Historical dates may be attempted; BRC determines whether the change is permitted.",
        +  "type": "string"
        +}
      • addedInput schema / properties / total
        Added value: +{
        +  "description": "New gross total. For monetary edits this must equal totalNet + totalVAT.",
        +  "type": "number"
        +}
      • addedInput schema / properties / totalNet
        Added value: +{
        +  "description": "New total net value. For monetary edits this must be supplied together with totalVAT, total, acEntries and vatEntries.",
        +  "type": "number"
        +}
      • addedInput schema / properties / totalVAT
        Added value: +{
        +  "description": "New total VAT value. For monetary edits this must be supplied together with totalNet, total, acEntries and vatEntries.",
        +  "type": "number"
        +}
      • addedInput schema / properties / vatEntries
        Added value: +{
        +  "description": "Complete BRC VAT-entry collection. Each entry should contain the BRC vatRateId, percentage and net amount used to calculate VAT.",
        +  "items": {
        +    "additionalProperties": {},
        +    "propertyNames": {
        +      "type": "string"
        +    },
        +    "type": "object"
        +  },
        +  "type": "array"
        +}
      • addedInput schema / properties / vatTypeId
        Added value: +{
        +  "description": "VAT type id.",
        +  "exclusiveMinimum": 0,
        +  "maximum": 9007199254740991,
        +  "type": "integer"
        +}
    • Changedbrc_update_sales_invoice13 fields changed
      • addedInput schema / properties / bookTranTypeId
        Added value: +{
        +  "maximum": 9007199254740991,
        +  "minimum": -9007199254740991,
        +  "type": "integer"
        +}
      • addedInput schema / properties / customerId
        Added value: +{
        +  "maximum": 9007199254740991,
        +  "minimum": -9007199254740991,
        +  "type": "integer"
        +}
      • addedInput schema / properties / details
        Added value: +{
        +  "type": "string"
        +}
      • addedInput schema / properties / entryDate
        Added value: +{
        +  "description": "Entry date. Historical dates are permitted as an attempted update; BRC may accept or reject them.",
        +  "type": "string"
        +}
      • addedInput schema / properties / ourReference
        Added value: +{
        +  "type": "string"
        +}
      • addedInput schema / properties / procDate
        Added value: +{
        +  "description": "Processing date. Historical dates are permitted as an attempted update; BRC may accept or reject them.",
        +  "type": "string"
        +}
      • addedInput schema / properties / productTrans
        Added value: +{
        +  "description": "Complete BRC productTrans collection. Use this when changing invoice lines, quantities, unit prices, VAT or line amounts.",
        +  "items": {
        +    "additionalProperties": {},
        +    "propertyNames": {
        +      "type": "string"
        +    },
        +    "type": "object"
        +  },
        +  "type": "array"
        +}
      • addedInput schema / properties / saleRepId
        Added value: +{
        +  "maximum": 9007199254740991,
        +  "minimum": -9007199254740991,
        +  "type": "integer"
        +}
      • addedInput schema / properties / total
        Added value: +{
        +  "type": "number"
        +}
      • addedInput schema / properties / totalNet
        Added value: +{
        +  "type": "number"
        +}
      • addedInput schema / properties / totalVAT
        Added value: +{
        +  "type": "number"
        +}
      • addedInput schema / properties / vatTypeId
        Added value: +{
        +  "maximum": 9007199254740991,
        +  "minimum": -9007199254740991,
        +  "type": "integer"
        +}
      • addedInput schema / properties / yourReference
        Added value: +{
        +  "type": "string"
        +}
  3. 8 tool updates
    • Changedbrc_create_quote4 fields changed
      • changedInput schema / properties / companyId / description
        Previous value: -"Required BRC company id for the quote payload. Use the connected company's id from existing records such as customers, products, or sales reps. Do not omit this field."New value: +"Optional BRC company id used in quote payload. Defaults to previous test company id if omitted."
      • changedInput schema / properties / reference / description
        Previous value: -"Optional manual quote reference, max 6 characters. Required when quote references are manual, or when the quote reference setting is unknown. Quote reference must be 6 characters or fewer because Big Red Cloud truncates longer references."New value: +"Required when quote references are manual, or when the quote reference setting is unknown."
      • removedInput schema / properties / reference / maxLength
        Removed value: -6
      • changedInput schema / required
        Previous value: -[
        -  "companyName",
        -  "companyId",
        -  "customerOwnerId",
        -  "acCode",
        -  "customerOwnerName",
        -  "comments",
        -  "entryDate",
        -  "procDate",
        -  "saleRepId",
        -  "saleRepCode",
        -  "productId",
        -  "productCode",
        -  "quantity",
        -  "unitPrice",
        -  "vatRateId",
        -  "vatPercentage",
        -  "tranNote",
        -  "analysisCategoryId",
        -  "accountCode",
        -  "routeToken"
        -]New value: +[
        +  "companyName",
        +  "customerOwnerId",
        +  "acCode",
        +  "customerOwnerName",
        +  "comments",
        +  "entryDate",
        +  "procDate",
        +  "saleRepId",
        +  "saleRepCode",
        +  "productId",
        +  "productCode",
        +  "quantity",
        +  "unitPrice",
        +  "vatRateId",
        +  "vatPercentage",
        +  "tranNote",
        +  "analysisCategoryId",
        +  "accountCode",
        +  "routeToken"
        +]
    • Changedbrc_create_quote_gen_ref4 fields changed
      • changedInput schema / properties / companyId / description
        Previous value: -"Required BRC company id for the quote payload. Use the connected company's id from existing records such as customers, products, or sales reps. Do not omit this field."New value: +"Optional BRC company id used in quote payload. Defaults to previous test company id if omitted."
      • changedInput schema / properties / reference / description
        Previous value: -"Optional manual quote reference, max 6 characters. Required when quote references are manual, or when the quote reference setting is unknown. Quote reference must be 6 characters or fewer because Big Red Cloud truncates longer references."New value: +"Required when quote references are manual, or when the quote reference setting is unknown."
      • removedInput schema / properties / reference / maxLength
        Removed value: -6
      • changedInput schema / required
        Previous value: -[
        -  "companyName",
        -  "companyId",
        -  "customerOwnerId",
        -  "acCode",
        -  "customerOwnerName",
        -  "comments",
        -  "entryDate",
        -  "procDate",
        -  "saleRepId",
        -  "saleRepCode",
        -  "productId",
        -  "productCode",
        -  "quantity",
        -  "unitPrice",
        -  "vatRateId",
        -  "vatPercentage",
        -  "tranNote",
        -  "analysisCategoryId",
        -  "accountCode",
        -  "routeToken"
        -]New value: +[
        +  "companyName",
        +  "customerOwnerId",
        +  "acCode",
        +  "customerOwnerName",
        +  "comments",
        +  "entryDate",
        +  "procDate",
        +  "saleRepId",
        +  "saleRepCode",
        +  "productId",
        +  "productCode",
        +  "quantity",
        +  "unitPrice",
        +  "vatRateId",
        +  "vatPercentage",
        +  "tranNote",
        +  "analysisCategoryId",
        +  "accountCode",
        +  "routeToken"
        +]
    • Removedbrc_generate_support_report
    • Removedbrc_resolve_book_transaction_type
    • Changedbrc_update_quote3 fields changed
      • addedInput schema / properties / note
        Added value: +{
        +  "type": "string"
        +}
      • removedInput schema / properties / reference / description
        Removed value: -"Optional manual quote reference, max 6 characters. Required when quote references are manual, or when the quote reference setting is unknown. Quote reference must be 6 characters or fewer because Big Red Cloud truncates longer references."
      • removedInput schema / properties / reference / maxLength
        Removed value: -6
    • Changedbrc_update_sales_credit_note12 fields changed
      • removedInput schema / properties / customerId
        Removed value: -{
        -  "exclusiveMinimum": 0,
        -  "maximum": 9007199254740991,
        -  "type": "integer"
        -}
      • removedInput schema / properties / details
        Removed value: -{
        -  "type": "string"
        -}
      • removedInput schema / properties / entryDate
        Removed value: -{
        -  "description": "Entry date. Historical dates may be attempted; BRC determines whether the update is permitted.",
        -  "type": "string"
        -}
      • removedInput schema / properties / ourReference
        Removed value: -{
        -  "type": "string"
        -}
      • removedInput schema / properties / procDate
        Removed value: -{
        -  "description": "Processing date. Historical dates may be attempted; BRC determines whether the update is permitted.",
        -  "type": "string"
        -}
      • removedInput schema / properties / productTrans
        Removed value: -{
        -  "description": "Complete BRC productTrans collection. Preserve existing line ids and accounting/VAT data when modifying an existing credit note.",
        -  "items": {
        -    "additionalProperties": {},
        -    "propertyNames": {
        -      "type": "string"
        -    },
        -    "type": "object"
        -  },
        -  "type": "array"
        -}
      • removedInput schema / properties / saleRepId
        Removed value: -{
        -  "exclusiveMinimum": 0,
        -  "maximum": 9007199254740991,
        -  "type": "integer"
        -}
      • removedInput schema / properties / total
        Removed value: -{
        -  "type": "number"
        -}
      • removedInput schema / properties / totalNet
        Removed value: -{
        -  "type": "number"
        -}
      • removedInput schema / properties / totalVAT
        Removed value: -{
        -  "type": "number"
        -}
      • removedInput schema / properties / vatTypeId
        Removed value: -{
        -  "exclusiveMinimum": 0,
        -  "maximum": 9007199254740991,
        -  "type": "integer"
        -}
      • removedInput schema / properties / yourReference
        Removed value: -{
        -  "type": "string"
        -}
    • Changedbrc_update_sales_entry13 fields changed
      • removedInput schema / properties / acCode
        Removed value: -{
        -  "description": "Customer account code.",
        -  "type": "string"
        -}
      • removedInput schema / properties / acEntries
        Removed value: -{
        -  "description": "Complete BRC accounting-entry collection. For monetary edits, the sum of each entry's value must equal totalNet.",
        -  "items": {
        -    "additionalProperties": {},
        -    "propertyNames": {
        -      "type": "string"
        -    },
        -    "type": "object"
        -  },
        -  "type": "array"
        -}
      • removedInput schema / properties / bookTranTypeId
        Removed value: -{
        -  "description": "Book transaction type id. Sales Entries normally use the existing record's transaction type.",
        -  "exclusiveMinimum": 0,
        -  "maximum": 9007199254740991,
        -  "type": "integer"
        -}
      • removedInput schema / properties / customerId
        Removed value: -{
        -  "description": "Customer id.",
        -  "exclusiveMinimum": 0,
        -  "maximum": 9007199254740991,
        -  "type": "integer"
        -}
      • removedInput schema / properties / details
        Removed value: -{
        -  "description": "Sales Entry details/description field.",
        -  "type": "string"
        -}
      • removedInput schema / properties / entryDate
        Removed value: -{
        -  "description": "Entry date in ISO format. Historical dates may be attempted; BRC determines whether the change is permitted.",
        -  "type": "string"
        -}
      • changedInput schema / properties / id / description
        Previous value: -"Sales Entry id, normally the bookTranId returned by customer account transactions."New value: +"Sales entry id."
      • removedInput schema / properties / procDate
        Removed value: -{
        -  "description": "Processing date in ISO format. Historical dates may be attempted; BRC determines whether the change is permitted.",
        -  "type": "string"
        -}
      • removedInput schema / properties / total
        Removed value: -{
        -  "description": "New gross total. For monetary edits this must equal totalNet + totalVAT.",
        -  "type": "number"
        -}
      • removedInput schema / properties / totalNet
        Removed value: -{
        -  "description": "New total net value. For monetary edits this must be supplied together with totalVAT, total, acEntries and vatEntries.",
        -  "type": "number"
        -}
      • removedInput schema / properties / totalVAT
        Removed value: -{
        -  "description": "New total VAT value. For monetary edits this must be supplied together with totalNet, total, acEntries and vatEntries.",
        -  "type": "number"
        -}
      • removedInput schema / properties / vatEntries
        Removed value: -{
        -  "description": "Complete BRC VAT-entry collection. Each entry should contain the BRC vatRateId, percentage and net amount used to calculate VAT.",
        -  "items": {
        -    "additionalProperties": {},
        -    "propertyNames": {
        -      "type": "string"
        -    },
        -    "type": "object"
        -  },
        -  "type": "array"
        -}
      • removedInput schema / properties / vatTypeId
        Removed value: -{
        -  "description": "VAT type id.",
        -  "exclusiveMinimum": 0,
        -  "maximum": 9007199254740991,
        -  "type": "integer"
        -}
    • Changedbrc_update_sales_invoice13 fields changed
      • removedInput schema / properties / bookTranTypeId
        Removed value: -{
        -  "maximum": 9007199254740991,
        -  "minimum": -9007199254740991,
        -  "type": "integer"
        -}
      • removedInput schema / properties / customerId
        Removed value: -{
        -  "maximum": 9007199254740991,
        -  "minimum": -9007199254740991,
        -  "type": "integer"
        -}
      • removedInput schema / properties / details
        Removed value: -{
        -  "type": "string"
        -}
      • removedInput schema / properties / entryDate
        Removed value: -{
        -  "description": "Entry date. Historical dates are permitted as an attempted update; BRC may accept or reject them.",
        -  "type": "string"
        -}
      • removedInput schema / properties / ourReference
        Removed value: -{
        -  "type": "string"
        -}
      • removedInput schema / properties / procDate
        Removed value: -{
        -  "description": "Processing date. Historical dates are permitted as an attempted update; BRC may accept or reject them.",
        -  "type": "string"
        -}
      • removedInput schema / properties / productTrans
        Removed value: -{
        -  "description": "Complete BRC productTrans collection. Use this when changing invoice lines, quantities, unit prices, VAT or line amounts.",
        -  "items": {
        -    "additionalProperties": {},
        -    "propertyNames": {
        -      "type": "string"
        -    },
        -    "type": "object"
        -  },
        -  "type": "array"
        -}
      • removedInput schema / properties / saleRepId
        Removed value: -{
        -  "maximum": 9007199254740991,
        -  "minimum": -9007199254740991,
        -  "type": "integer"
        -}
      • removedInput schema / properties / total
        Removed value: -{
        -  "type": "number"
        -}
      • removedInput schema / properties / totalNet
        Removed value: -{
        -  "type": "number"
        -}
      • removedInput schema / properties / totalVAT
        Removed value: -{
        -  "type": "number"
        -}
      • removedInput schema / properties / vatTypeId
        Removed value: -{
        -  "maximum": 9007199254740991,
        -  "minimum": -9007199254740991,
        -  "type": "integer"
        -}
      • removedInput schema / properties / yourReference
        Removed value: -{
        -  "type": "string"
        -}
  4. 8 tool updates
    • Changedbrc_create_quote4 fields changed
      • changedInput schema / properties / companyId / description
        Previous value: -"Optional BRC company id used in quote payload. Defaults to previous test company id if omitted."New value: +"Required BRC company id for the quote payload. Use the connected company's id from existing records such as customers, products, or sales reps. Do not omit this field."
      • changedInput schema / properties / reference / description
        Previous value: -"Required when quote references are manual, or when the quote reference setting is unknown."New value: +"Optional manual quote reference, max 6 characters. Required when quote references are manual, or when the quote reference setting is unknown. Quote reference must be 6 characters or fewer because Big Red Cloud truncates longer references."
      • addedInput schema / properties / reference / maxLength
        Added value: +6
      • changedInput schema / required
        Previous value: -[
        -  "companyName",
        -  "customerOwnerId",
        -  "acCode",
        -  "customerOwnerName",
        -  "comments",
        -  "entryDate",
        -  "procDate",
        -  "saleRepId",
        -  "saleRepCode",
        -  "productId",
        -  "productCode",
        -  "quantity",
        -  "unitPrice",
        -  "vatRateId",
        -  "vatPercentage",
        -  "tranNote",
        -  "analysisCategoryId",
        -  "accountCode",
        -  "routeToken"
        -]New value: +[
        +  "companyName",
        +  "companyId",
        +  "customerOwnerId",
        +  "acCode",
        +  "customerOwnerName",
        +  "comments",
        +  "entryDate",
        +  "procDate",
        +  "saleRepId",
        +  "saleRepCode",
        +  "productId",
        +  "productCode",
        +  "quantity",
        +  "unitPrice",
        +  "vatRateId",
        +  "vatPercentage",
        +  "tranNote",
        +  "analysisCategoryId",
        +  "accountCode",
        +  "routeToken"
        +]
    • Changedbrc_create_quote_gen_ref4 fields changed
      • changedInput schema / properties / companyId / description
        Previous value: -"Optional BRC company id used in quote payload. Defaults to previous test company id if omitted."New value: +"Required BRC company id for the quote payload. Use the connected company's id from existing records such as customers, products, or sales reps. Do not omit this field."
      • changedInput schema / properties / reference / description
        Previous value: -"Required when quote references are manual, or when the quote reference setting is unknown."New value: +"Optional manual quote reference, max 6 characters. Required when quote references are manual, or when the quote reference setting is unknown. Quote reference must be 6 characters or fewer because Big Red Cloud truncates longer references."
      • addedInput schema / properties / reference / maxLength
        Added value: +6
      • changedInput schema / required
        Previous value: -[
        -  "companyName",
        -  "customerOwnerId",
        -  "acCode",
        -  "customerOwnerName",
        -  "comments",
        -  "entryDate",
        -  "procDate",
        -  "saleRepId",
        -  "saleRepCode",
        -  "productId",
        -  "productCode",
        -  "quantity",
        -  "unitPrice",
        -  "vatRateId",
        -  "vatPercentage",
        -  "tranNote",
        -  "analysisCategoryId",
        -  "accountCode",
        -  "routeToken"
        -]New value: +[
        +  "companyName",
        +  "companyId",
        +  "customerOwnerId",
        +  "acCode",
        +  "customerOwnerName",
        +  "comments",
        +  "entryDate",
        +  "procDate",
        +  "saleRepId",
        +  "saleRepCode",
        +  "productId",
        +  "productCode",
        +  "quantity",
        +  "unitPrice",
        +  "vatRateId",
        +  "vatPercentage",
        +  "tranNote",
        +  "analysisCategoryId",
        +  "accountCode",
        +  "routeToken"
        +]
    • Addedbrc_generate_support_report
    • Addedbrc_resolve_book_transaction_type
    • Changedbrc_update_quote3 fields changed
      • removedInput schema / properties / note
        Removed value: -{
        -  "type": "string"
        -}
      • addedInput schema / properties / reference / description
        Added value: +"Optional manual quote reference, max 6 characters. Required when quote references are manual, or when the quote reference setting is unknown. Quote reference must be 6 characters or fewer because Big Red Cloud truncates longer references."
      • addedInput schema / properties / reference / maxLength
        Added value: +6
    • Changedbrc_update_sales_credit_note12 fields changed
      • addedInput schema / properties / customerId
        Added value: +{
        +  "exclusiveMinimum": 0,
        +  "maximum": 9007199254740991,
        +  "type": "integer"
        +}
      • addedInput schema / properties / details
        Added value: +{
        +  "type": "string"
        +}
      • addedInput schema / properties / entryDate
        Added value: +{
        +  "description": "Entry date. Historical dates may be attempted; BRC determines whether the update is permitted.",
        +  "type": "string"
        +}
      • addedInput schema / properties / ourReference
        Added value: +{
        +  "type": "string"
        +}
      • addedInput schema / properties / procDate
        Added value: +{
        +  "description": "Processing date. Historical dates may be attempted; BRC determines whether the update is permitted.",
        +  "type": "string"
        +}
      • addedInput schema / properties / productTrans
        Added value: +{
        +  "description": "Complete BRC productTrans collection. Preserve existing line ids and accounting/VAT data when modifying an existing credit note.",
        +  "items": {
        +    "additionalProperties": {},
        +    "propertyNames": {
        +      "type": "string"
        +    },
        +    "type": "object"
        +  },
        +  "type": "array"
        +}
      • addedInput schema / properties / saleRepId
        Added value: +{
        +  "exclusiveMinimum": 0,
        +  "maximum": 9007199254740991,
        +  "type": "integer"
        +}
      • addedInput schema / properties / total
        Added value: +{
        +  "type": "number"
        +}
      • addedInput schema / properties / totalNet
        Added value: +{
        +  "type": "number"
        +}
      • addedInput schema / properties / totalVAT
        Added value: +{
        +  "type": "number"
        +}
      • addedInput schema / properties / vatTypeId
        Added value: +{
        +  "exclusiveMinimum": 0,
        +  "maximum": 9007199254740991,
        +  "type": "integer"
        +}
      • addedInput schema / properties / yourReference
        Added value: +{
        +  "type": "string"
        +}
    • Changedbrc_update_sales_entry13 fields changed
      • addedInput schema / properties / acCode
        Added value: +{
        +  "description": "Customer account code.",
        +  "type": "string"
        +}
      • addedInput schema / properties / acEntries
        Added value: +{
        +  "description": "Complete BRC accounting-entry collection. For monetary edits, the sum of each entry's value must equal totalNet.",
        +  "items": {
        +    "additionalProperties": {},
        +    "propertyNames": {
        +      "type": "string"
        +    },
        +    "type": "object"
        +  },
        +  "type": "array"
        +}
      • addedInput schema / properties / bookTranTypeId
        Added value: +{
        +  "description": "Book transaction type id. Sales Entries normally use the existing record's transaction type.",
        +  "exclusiveMinimum": 0,
        +  "maximum": 9007199254740991,
        +  "type": "integer"
        +}
      • addedInput schema / properties / customerId
        Added value: +{
        +  "description": "Customer id.",
        +  "exclusiveMinimum": 0,
        +  "maximum": 9007199254740991,
        +  "type": "integer"
        +}
      • addedInput schema / properties / details
        Added value: +{
        +  "description": "Sales Entry details/description field.",
        +  "type": "string"
        +}
      • addedInput schema / properties / entryDate
        Added value: +{
        +  "description": "Entry date in ISO format. Historical dates may be attempted; BRC determines whether the change is permitted.",
        +  "type": "string"
        +}
      • changedInput schema / properties / id / description
        Previous value: -"Sales entry id."New value: +"Sales Entry id, normally the bookTranId returned by customer account transactions."
      • addedInput schema / properties / procDate
        Added value: +{
        +  "description": "Processing date in ISO format. Historical dates may be attempted; BRC determines whether the change is permitted.",
        +  "type": "string"
        +}
      • addedInput schema / properties / total
        Added value: +{
        +  "description": "New gross total. For monetary edits this must equal totalNet + totalVAT.",
        +  "type": "number"
        +}
      • addedInput schema / properties / totalNet
        Added value: +{
        +  "description": "New total net value. For monetary edits this must be supplied together with totalVAT, total, acEntries and vatEntries.",
        +  "type": "number"
        +}
      • addedInput schema / properties / totalVAT
        Added value: +{
        +  "description": "New total VAT value. For monetary edits this must be supplied together with totalNet, total, acEntries and vatEntries.",
        +  "type": "number"
        +}
      • addedInput schema / properties / vatEntries
        Added value: +{
        +  "description": "Complete BRC VAT-entry collection. Each entry should contain the BRC vatRateId, percentage and net amount used to calculate VAT.",
        +  "items": {
        +    "additionalProperties": {},
        +    "propertyNames": {
        +      "type": "string"
        +    },
        +    "type": "object"
        +  },
        +  "type": "array"
        +}
      • addedInput schema / properties / vatTypeId
        Added value: +{
        +  "description": "VAT type id.",
        +  "exclusiveMinimum": 0,
        +  "maximum": 9007199254740991,
        +  "type": "integer"
        +}
    • Changedbrc_update_sales_invoice13 fields changed
      • addedInput schema / properties / bookTranTypeId
        Added value: +{
        +  "maximum": 9007199254740991,
        +  "minimum": -9007199254740991,
        +  "type": "integer"
        +}
      • addedInput schema / properties / customerId
        Added value: +{
        +  "maximum": 9007199254740991,
        +  "minimum": -9007199254740991,
        +  "type": "integer"
        +}
      • addedInput schema / properties / details
        Added value: +{
        +  "type": "string"
        +}
      • addedInput schema / properties / entryDate
        Added value: +{
        +  "description": "Entry date. Historical dates are permitted as an attempted update; BRC may accept or reject them.",
        +  "type": "string"
        +}
      • addedInput schema / properties / ourReference
        Added value: +{
        +  "type": "string"
        +}
      • addedInput schema / properties / procDate
        Added value: +{
        +  "description": "Processing date. Historical dates are permitted as an attempted update; BRC may accept or reject them.",
        +  "type": "string"
        +}
      • addedInput schema / properties / productTrans
        Added value: +{
        +  "description": "Complete BRC productTrans collection. Use this when changing invoice lines, quantities, unit prices, VAT or line amounts.",
        +  "items": {
        +    "additionalProperties": {},
        +    "propertyNames": {
        +      "type": "string"
        +    },
        +    "type": "object"
        +  },
        +  "type": "array"
        +}
      • addedInput schema / properties / saleRepId
        Added value: +{
        +  "maximum": 9007199254740991,
        +  "minimum": -9007199254740991,
        +  "type": "integer"
        +}
      • addedInput schema / properties / total
        Added value: +{
        +  "type": "number"
        +}
      • addedInput schema / properties / totalNet
        Added value: +{
        +  "type": "number"
        +}
      • addedInput schema / properties / totalVAT
        Added value: +{
        +  "type": "number"
        +}
      • addedInput schema / properties / vatTypeId
        Added value: +{
        +  "maximum": 9007199254740991,
        +  "minimum": -9007199254740991,
        +  "type": "integer"
        +}
      • addedInput schema / properties / yourReference
        Added value: +{
        +  "type": "string"
        +}
  5. 79 tool updates
    • Changedbrc_batch_cash_payments2 fields changed
      • addedInput schema / properties / routeToken
        Added value: +{
        +  "description": "Opaque routeToken from brc_route_request for this action workflow. Required for transactional tools. Routing permission only — does not replace preview-before-posting or confirmWrite.",
        +  "minLength": 1,
        +  "type": "string"
        +}
      • changedInput schema / required
        Previous value: -[
        -  "companyName",
        -  "items"
        -]New value: +[
        +  "companyName",
        +  "items",
        +  "routeToken"
        +]
    • Changedbrc_batch_cash_receipts2 fields changed
      • addedInput schema / properties / routeToken
        Added value: +{
        +  "description": "Opaque routeToken from brc_route_request for this action workflow. Required for transactional tools. Routing permission only — does not replace preview-before-posting or confirmWrite.",
        +  "minLength": 1,
        +  "type": "string"
        +}
      • changedInput schema / required
        Previous value: -[
        -  "companyName",
        -  "items"
        -]New value: +[
        +  "companyName",
        +  "items",
        +  "routeToken"
        +]
    • Changedbrc_batch_customers2 fields changed
      • addedInput schema / properties / routeToken
        Added value: +{
        +  "description": "Opaque routeToken from brc_route_request for this action workflow. Required for transactional tools. Routing permission only — does not replace preview-before-posting or confirmWrite.",
        +  "minLength": 1,
        +  "type": "string"
        +}
      • changedInput schema / required
        Previous value: -[
        -  "companyName",
        -  "items"
        -]New value: +[
        +  "companyName",
        +  "items",
        +  "routeToken"
        +]
    • Changedbrc_batch_payments2 fields changed
      • addedInput schema / properties / routeToken
        Added value: +{
        +  "description": "Opaque routeToken from brc_route_request for this action workflow. Required for transactional tools. Routing permission only — does not replace preview-before-posting or confirmWrite.",
        +  "minLength": 1,
        +  "type": "string"
        +}
      • changedInput schema / required
        Previous value: -[
        -  "companyName",
        -  "items"
        -]New value: +[
        +  "companyName",
        +  "items",
        +  "routeToken"
        +]
    • Changedbrc_batch_products2 fields changed
      • addedInput schema / properties / routeToken
        Added value: +{
        +  "description": "Opaque routeToken from brc_route_request for this action workflow. Required for transactional tools. Routing permission only — does not replace preview-before-posting or confirmWrite.",
        +  "minLength": 1,
        +  "type": "string"
        +}
      • changedInput schema / required
        Previous value: -[
        -  "companyName",
        -  "items"
        -]New value: +[
        +  "companyName",
        +  "items",
        +  "routeToken"
        +]
    • Changedbrc_batch_purchases2 fields changed
      • addedInput schema / properties / routeToken
        Added value: +{
        +  "description": "Opaque routeToken from brc_route_request for this action workflow. Required for transactional tools. Routing permission only — does not replace preview-before-posting or confirmWrite.",
        +  "minLength": 1,
        +  "type": "string"
        +}
      • changedInput schema / required
        Previous value: -[
        -  "companyName",
        -  "items"
        -]New value: +[
        +  "companyName",
        +  "items",
        +  "routeToken"
        +]
    • Changedbrc_batch_quotes2 fields changed
      • addedInput schema / properties / routeToken
        Added value: +{
        +  "description": "Opaque routeToken from brc_route_request for this action workflow. Required for transactional tools. Routing permission only — does not replace preview-before-posting or confirmWrite.",
        +  "minLength": 1,
        +  "type": "string"
        +}
      • changedInput schema / required
        Previous value: -[
        -  "companyName",
        -  "items"
        -]New value: +[
        +  "companyName",
        +  "items",
        +  "routeToken"
        +]
    • Changedbrc_batch_sales_credit_notes2 fields changed
      • addedInput schema / properties / routeToken
        Added value: +{
        +  "description": "Opaque routeToken from brc_route_request for this action workflow. Required for transactional tools. Routing permission only — does not replace preview-before-posting or confirmWrite.",
        +  "minLength": 1,
        +  "type": "string"
        +}
      • changedInput schema / required
        Previous value: -[
        -  "companyName",
        -  "items"
        -]New value: +[
        +  "companyName",
        +  "items",
        +  "routeToken"
        +]
    • Changedbrc_batch_sales_entries2 fields changed
      • addedInput schema / properties / routeToken
        Added value: +{
        +  "description": "Opaque routeToken from brc_route_request for this action workflow. Required for transactional tools. Routing permission only — does not replace preview-before-posting or confirmWrite.",
        +  "minLength": 1,
        +  "type": "string"
        +}
      • changedInput schema / required
        Previous value: -[
        -  "companyName",
        -  "items"
        -]New value: +[
        +  "companyName",
        +  "items",
        +  "routeToken"
        +]
    • Changedbrc_batch_sales_invoices2 fields changed
      • addedInput schema / properties / routeToken
        Added value: +{
        +  "description": "Opaque routeToken from brc_route_request for this action workflow. Required for transactional tools. Routing permission only — does not replace preview-before-posting or confirmWrite.",
        +  "minLength": 1,
        +  "type": "string"
        +}
      • changedInput schema / required
        Previous value: -[
        -  "companyName",
        -  "items"
        -]New value: +[
        +  "companyName",
        +  "items",
        +  "routeToken"
        +]
    • Changedbrc_batch_sales_reps2 fields changed
      • addedInput schema / properties / routeToken
        Added value: +{
        +  "description": "Opaque routeToken from brc_route_request for this action workflow. Required for transactional tools. Routing permission only — does not replace preview-before-posting or confirmWrite.",
        +  "minLength": 1,
        +  "type": "string"
        +}
      • changedInput schema / required
        Previous value: -[
        -  "companyName",
        -  "items"
        -]New value: +[
        +  "companyName",
        +  "items",
        +  "routeToken"
        +]
    • Changedbrc_batch_suppliers2 fields changed
      • addedInput schema / properties / routeToken
        Added value: +{
        +  "description": "Opaque routeToken from brc_route_request for this action workflow. Required for transactional tools. Routing permission only — does not replace preview-before-posting or confirmWrite.",
        +  "minLength": 1,
        +  "type": "string"
        +}
      • changedInput schema / required
        Previous value: -[
        -  "companyName",
        -  "items"
        -]New value: +[
        +  "companyName",
        +  "items",
        +  "routeToken"
        +]
    • Changedbrc_close_quote2 fields changed
      • addedInput schema / properties / routeToken
        Added value: +{
        +  "description": "Opaque routeToken from brc_route_request for this action workflow. Required for transactional tools. Routing permission only — does not replace preview-before-posting or confirmWrite.",
        +  "minLength": 1,
        +  "type": "string"
        +}
      • changedInput schema / required
        Previous value: -[
        -  "companyName",
        -  "id"
        -]New value: +[
        +  "companyName",
        +  "id",
        +  "routeToken"
        +]
    • Changedbrc_create_accrual2 fields changed
      • addedInput schema / properties / routeToken
        Added value: +{
        +  "description": "Opaque routeToken from brc_route_request for this action workflow. Required for transactional tools. Routing permission only — does not replace preview-before-posting or confirmWrite.",
        +  "minLength": 1,
        +  "type": "string"
        +}
      • changedInput schema / required
        Previous value: -[
        -  "companyName",
        -  "acCode",
        -  "entryDate",
        -  "procDate",
        -  "reference",
        -  "total"
        -]New value: +[
        +  "companyName",
        +  "acCode",
        +  "entryDate",
        +  "procDate",
        +  "reference",
        +  "total",
        +  "routeToken"
        +]
    • Changedbrc_create_bank_account2 fields changed
      • addedInput schema / properties / routeToken
        Added value: +{
        +  "description": "Opaque routeToken from brc_route_request for this action workflow. Required for transactional tools. Routing permission only — does not replace preview-before-posting or confirmWrite.",
        +  "minLength": 1,
        +  "type": "string"
        +}
      • changedInput schema / required
        Previous value: -[
        -  "companyName"
        -]New value: +[
        +  "companyName",
        +  "routeToken"
        +]
    • Changedbrc_create_cash_payment2 fields changed
      • addedInput schema / properties / routeToken
        Added value: +{
        +  "description": "Opaque routeToken from brc_route_request for this action workflow. Required for transactional tools. Routing permission only — does not replace preview-before-posting or confirmWrite.",
        +  "minLength": 1,
        +  "type": "string"
        +}
      • changedInput schema / required
        Previous value: -[
        -  "companyName",
        -  "note",
        -  "total"
        -]New value: +[
        +  "companyName",
        +  "note",
        +  "total",
        +  "routeToken"
        +]
    • Changedbrc_create_cash_receipt2 fields changed
      • addedInput schema / properties / routeToken
        Added value: +{
        +  "description": "Opaque routeToken from brc_route_request for this action workflow. Required for transactional tools. Routing permission only — does not replace preview-before-posting or confirmWrite.",
        +  "minLength": 1,
        +  "type": "string"
        +}
      • changedInput schema / required
        Previous value: -[
        -  "companyName"
        -]New value: +[
        +  "companyName",
        +  "routeToken"
        +]
    • Changedbrc_create_customer2 fields changed
      • addedInput schema / properties / routeToken
        Added value: +{
        +  "description": "Opaque routeToken from brc_route_request for this action workflow. Required for transactional tools. Routing permission only — does not replace preview-before-posting or confirmWrite.",
        +  "minLength": 1,
        +  "type": "string"
        +}
      • changedInput schema / required
        Previous value: -[
        -  "companyName",
        -  "payload"
        -]New value: +[
        +  "companyName",
        +  "payload",
        +  "routeToken"
        +]
    • Changedbrc_create_nominal_journal_batch2 fields changed
      • addedInput schema / properties / routeToken
        Added value: +{
        +  "description": "Opaque routeToken from brc_route_request for this action workflow. Required for transactional tools. Routing permission only — does not replace preview-before-posting or confirmWrite.",
        +  "minLength": 1,
        +  "type": "string"
        +}
      • changedInput schema / required
        Previous value: -[
        -  "companyName",
        -  "entryDate",
        -  "procDate",
        -  "total",
        -  "accountTransactions"
        -]New value: +[
        +  "companyName",
        +  "entryDate",
        +  "procDate",
        +  "total",
        +  "accountTransactions",
        +  "routeToken"
        +]
    • Changedbrc_create_payment2 fields changed
      • addedInput schema / properties / routeToken
        Added value: +{
        +  "description": "Opaque routeToken from brc_route_request for this action workflow. Required for transactional tools. Routing permission only — does not replace preview-before-posting or confirmWrite.",
        +  "minLength": 1,
        +  "type": "string"
        +}
      • changedInput schema / required
        Previous value: -[
        -  "companyName",
        -  "note",
        -  "total",
        -  "bankAccountId",
        -  "bankAccountCode"
        -]New value: +[
        +  "companyName",
        +  "note",
        +  "total",
        +  "bankAccountId",
        +  "bankAccountCode",
        +  "routeToken"
        +]
    • Changedbrc_create_prepayment2 fields changed
      • addedInput schema / properties / routeToken
        Added value: +{
        +  "description": "Opaque routeToken from brc_route_request for this action workflow. Required for transactional tools. Routing permission only — does not replace preview-before-posting or confirmWrite.",
        +  "minLength": 1,
        +  "type": "string"
        +}
      • changedInput schema / required
        Previous value: -[
        -  "companyName",
        -  "acCode",
        -  "entryDate",
        -  "procDate",
        -  "reference",
        -  "total"
        -]New value: +[
        +  "companyName",
        +  "acCode",
        +  "entryDate",
        +  "procDate",
        +  "reference",
        +  "total",
        +  "routeToken"
        +]
    • Changedbrc_create_product2 fields changed
      • addedInput schema / properties / routeToken
        Added value: +{
        +  "description": "Opaque routeToken from brc_route_request for this action workflow. Required for transactional tools. Routing permission only — does not replace preview-before-posting or confirmWrite.",
        +  "minLength": 1,
        +  "type": "string"
        +}
      • changedInput schema / required
        Previous value: -[
        -  "companyName",
        -  "payload"
        -]New value: +[
        +  "companyName",
        +  "payload",
        +  "routeToken"
        +]
    • Changedbrc_create_purchase2 fields changed
      • addedInput schema / properties / routeToken
        Added value: +{
        +  "description": "Opaque routeToken from brc_route_request for this action workflow. Required for transactional tools. Routing permission only — does not replace preview-before-posting or confirmWrite.",
        +  "minLength": 1,
        +  "type": "string"
        +}
      • changedInput schema / required
        Previous value: -[
        -  "companyName",
        -  "supplierId",
        -  "acCode",
        -  "note",
        -  "entryDate",
        -  "procDate",
        -  "bookTranTypeId",
        -  "analysisCategoryId",
        -  "accountCode",
        -  "description",
        -  "netAmount",
        -  "vatRateId",
        -  "vatPercentage"
        -]New value: +[
        +  "companyName",
        +  "supplierId",
        +  "acCode",
        +  "note",
        +  "entryDate",
        +  "procDate",
        +  "bookTranTypeId",
        +  "analysisCategoryId",
        +  "accountCode",
        +  "description",
        +  "netAmount",
        +  "vatRateId",
        +  "vatPercentage",
        +  "routeToken"
        +]
    • Changedbrc_create_purchase_gen_ref2 fields changed
      • addedInput schema / properties / routeToken
        Added value: +{
        +  "description": "Opaque routeToken from brc_route_request for this action workflow. Required for transactional tools. Routing permission only — does not replace preview-before-posting or confirmWrite.",
        +  "minLength": 1,
        +  "type": "string"
        +}
      • changedInput schema / required
        Previous value: -[
        -  "companyName",
        -  "supplierId",
        -  "acCode",
        -  "note",
        -  "entryDate",
        -  "procDate",
        -  "bookTranTypeId",
        -  "analysisCategoryId",
        -  "accountCode",
        -  "description",
        -  "netAmount",
        -  "vatRateId",
        -  "vatPercentage"
        -]New value: +[
        +  "companyName",
        +  "supplierId",
        +  "acCode",
        +  "note",
        +  "entryDate",
        +  "procDate",
        +  "bookTranTypeId",
        +  "analysisCategoryId",
        +  "accountCode",
        +  "description",
        +  "netAmount",
        +  "vatRateId",
        +  "vatPercentage",
        +  "routeToken"
        +]
    • Changedbrc_create_quote2 fields changed
      • addedInput schema / properties / routeToken
        Added value: +{
        +  "description": "Opaque routeToken from brc_route_request for this action workflow. Required for transactional tools. Routing permission only — does not replace preview-before-posting or confirmWrite.",
        +  "minLength": 1,
        +  "type": "string"
        +}
      • changedInput schema / required
        Previous value: -[
        -  "companyName",
        -  "customerOwnerId",
        -  "acCode",
        -  "customerOwnerName",
        -  "comments",
        -  "entryDate",
        -  "procDate",
        -  "saleRepId",
        -  "saleRepCode",
        -  "productId",
        -  "productCode",
        -  "quantity",
        -  "unitPrice",
        -  "vatRateId",
        -  "vatPercentage",
        -  "tranNote",
        -  "analysisCategoryId",
        -  "accountCode"
        -]New value: +[
        +  "companyName",
        +  "customerOwnerId",
        +  "acCode",
        +  "customerOwnerName",
        +  "comments",
        +  "entryDate",
        +  "procDate",
        +  "saleRepId",
        +  "saleRepCode",
        +  "productId",
        +  "productCode",
        +  "quantity",
        +  "unitPrice",
        +  "vatRateId",
        +  "vatPercentage",
        +  "tranNote",
        +  "analysisCategoryId",
        +  "accountCode",
        +  "routeToken"
        +]
    • Changedbrc_create_quote_gen_ref2 fields changed
      • addedInput schema / properties / routeToken
        Added value: +{
        +  "description": "Opaque routeToken from brc_route_request for this action workflow. Required for transactional tools. Routing permission only — does not replace preview-before-posting or confirmWrite.",
        +  "minLength": 1,
        +  "type": "string"
        +}
      • changedInput schema / required
        Previous value: -[
        -  "companyName",
        -  "customerOwnerId",
        -  "acCode",
        -  "customerOwnerName",
        -  "comments",
        -  "entryDate",
        -  "procDate",
        -  "saleRepId",
        -  "saleRepCode",
        -  "productId",
        -  "productCode",
        -  "quantity",
        -  "unitPrice",
        -  "vatRateId",
        -  "vatPercentage",
        -  "tranNote",
        -  "analysisCategoryId",
        -  "accountCode"
        -]New value: +[
        +  "companyName",
        +  "customerOwnerId",
        +  "acCode",
        +  "customerOwnerName",
        +  "comments",
        +  "entryDate",
        +  "procDate",
        +  "saleRepId",
        +  "saleRepCode",
        +  "productId",
        +  "productCode",
        +  "quantity",
        +  "unitPrice",
        +  "vatRateId",
        +  "vatPercentage",
        +  "tranNote",
        +  "analysisCategoryId",
        +  "accountCode",
        +  "routeToken"
        +]
    • Changedbrc_create_sales_credit_note2 fields changed
      • addedInput schema / properties / routeToken
        Added value: +{
        +  "description": "Opaque routeToken from brc_route_request for this action workflow. Required for transactional tools. Routing permission only — does not replace preview-before-posting or confirmWrite.",
        +  "minLength": 1,
        +  "type": "string"
        +}
      • changedInput schema / required
        Previous value: -[
        -  "companyName",
        -  "customerId",
        -  "acCode",
        -  "note",
        -  "entryDate",
        -  "procDate",
        -  "bookTranTypeId",
        -  "analysisCategoryId",
        -  "accountCode",
        -  "description",
        -  "netAmount",
        -  "vatRateId",
        -  "vatPercentage",
        -  "productId",
        -  "productCode",
        -  "quantity",
        -  "unitPrice",
        -  "saleRepId",
        -  "saleRepCode"
        -]New value: +[
        +  "companyName",
        +  "customerId",
        +  "acCode",
        +  "note",
        +  "entryDate",
        +  "procDate",
        +  "bookTranTypeId",
        +  "analysisCategoryId",
        +  "accountCode",
        +  "description",
        +  "netAmount",
        +  "vatRateId",
        +  "vatPercentage",
        +  "productId",
        +  "productCode",
        +  "quantity",
        +  "unitPrice",
        +  "saleRepId",
        +  "saleRepCode",
        +  "routeToken"
        +]
    • Changedbrc_create_sales_credit_note_gen_ref2 fields changed
      • addedInput schema / properties / routeToken
        Added value: +{
        +  "description": "Opaque routeToken from brc_route_request for this action workflow. Required for transactional tools. Routing permission only — does not replace preview-before-posting or confirmWrite.",
        +  "minLength": 1,
        +  "type": "string"
        +}
      • changedInput schema / required
        Previous value: -[
        -  "companyName",
        -  "payload"
        -]New value: +[
        +  "companyName",
        +  "payload",
        +  "routeToken"
        +]
    • Changedbrc_create_sales_entry2 fields changed
      • addedInput schema / properties / routeToken
        Added value: +{
        +  "description": "Opaque routeToken from brc_route_request for this action workflow. Required for transactional tools. Routing permission only — does not replace preview-before-posting or confirmWrite.",
        +  "minLength": 1,
        +  "type": "string"
        +}
      • changedInput schema / required
        Previous value: -[
        -  "companyName",
        -  "customerId",
        -  "acCode",
        -  "note",
        -  "entryDate",
        -  "procDate",
        -  "bookTranTypeId",
        -  "analysisCategoryId",
        -  "accountCode",
        -  "description",
        -  "netAmount",
        -  "vatRateId",
        -  "vatPercentage"
        -]New value: +[
        +  "companyName",
        +  "customerId",
        +  "acCode",
        +  "note",
        +  "entryDate",
        +  "procDate",
        +  "bookTranTypeId",
        +  "analysisCategoryId",
        +  "accountCode",
        +  "description",
        +  "netAmount",
        +  "vatRateId",
        +  "vatPercentage",
        +  "routeToken"
        +]
    • Changedbrc_create_sales_invoice2 fields changed
      • addedInput schema / properties / routeToken
        Added value: +{
        +  "description": "Opaque routeToken from brc_route_request for this action workflow. Required for transactional tools. Routing permission only — does not replace preview-before-posting or confirmWrite.",
        +  "minLength": 1,
        +  "type": "string"
        +}
      • changedInput schema / required
        Previous value: -[
        -  "companyName",
        -  "customerId",
        -  "acCode",
        -  "entryDate",
        -  "procDate",
        -  "bookTranTypeId",
        -  "analysisCategoryId",
        -  "accountCode",
        -  "description",
        -  "netAmount",
        -  "vatRateId",
        -  "vatPercentage",
        -  "productId",
        -  "productCode",
        -  "quantity",
        -  "unitPrice",
        -  "saleRepId",
        -  "saleRepCode"
        -]New value: +[
        +  "companyName",
        +  "customerId",
        +  "acCode",
        +  "entryDate",
        +  "procDate",
        +  "bookTranTypeId",
        +  "analysisCategoryId",
        +  "accountCode",
        +  "description",
        +  "netAmount",
        +  "vatRateId",
        +  "vatPercentage",
        +  "productId",
        +  "productCode",
        +  "quantity",
        +  "unitPrice",
        +  "saleRepId",
        +  "saleRepCode",
        +  "routeToken"
        +]
    • Changedbrc_create_sales_invoice_gen_ref2 fields changed
      • addedInput schema / properties / routeToken
        Added value: +{
        +  "description": "Opaque routeToken from brc_route_request for this action workflow. Required for transactional tools. Routing permission only — does not replace preview-before-posting or confirmWrite.",
        +  "minLength": 1,
        +  "type": "string"
        +}
      • changedInput schema / required
        Previous value: -[
        -  "companyName",
        -  "payload"
        -]New value: +[
        +  "companyName",
        +  "payload",
        +  "routeToken"
        +]
    • Changedbrc_create_sales_rep2 fields changed
      • addedInput schema / properties / routeToken
        Added value: +{
        +  "description": "Opaque routeToken from brc_route_request for this action workflow. Required for transactional tools. Routing permission only — does not replace preview-before-posting or confirmWrite.",
        +  "minLength": 1,
        +  "type": "string"
        +}
      • changedInput schema / required
        Previous value: -[
        -  "companyName",
        -  "code",
        -  "name"
        -]New value: +[
        +  "companyName",
        +  "code",
        +  "name",
        +  "routeToken"
        +]
    • Changedbrc_create_supplier2 fields changed
      • addedInput schema / properties / routeToken
        Added value: +{
        +  "description": "Opaque routeToken from brc_route_request for this action workflow. Required for transactional tools. Routing permission only — does not replace preview-before-posting or confirmWrite.",
        +  "minLength": 1,
        +  "type": "string"
        +}
      • changedInput schema / required
        Previous value: -[
        -  "companyName",
        -  "payload"
        -]New value: +[
        +  "companyName",
        +  "payload",
        +  "routeToken"
        +]
    • Changedbrc_delete_accrual2 fields changed
      • addedInput schema / properties / routeToken
        Added value: +{
        +  "description": "Opaque routeToken from brc_route_request for this action workflow. Required for transactional tools. Routing permission only — does not replace preview-before-posting or confirmWrite.",
        +  "minLength": 1,
        +  "type": "string"
        +}
      • changedInput schema / required
        Previous value: -[
        -  "companyName",
        -  "id",
        -  "timestamp"
        -]New value: +[
        +  "companyName",
        +  "id",
        +  "timestamp",
        +  "routeToken"
        +]
    • Changedbrc_delete_allocation_resolver2 fields changed
      • addedInput schema / properties / routeToken
        Added value: +{
        +  "description": "Opaque routeToken from brc_route_request for this action workflow. Required for transactional tools. Routing permission only — does not replace preview-before-posting or confirmWrite.",
        +  "minLength": 1,
        +  "type": "string"
        +}
      • changedInput schema / required
        Previous value: -[
        -  "companyName",
        -  "id"
        -]New value: +[
        +  "companyName",
        +  "id",
        +  "routeToken"
        +]
    • Changedbrc_delete_bank_account2 fields changed
      • addedInput schema / properties / routeToken
        Added value: +{
        +  "description": "Opaque routeToken from brc_route_request for this action workflow. Required for transactional tools. Routing permission only — does not replace preview-before-posting or confirmWrite.",
        +  "minLength": 1,
        +  "type": "string"
        +}
      • changedInput schema / required
        Previous value: -[
        -  "companyName",
        -  "id"
        -]New value: +[
        +  "companyName",
        +  "id",
        +  "routeToken"
        +]
    • Changedbrc_delete_cash_payment2 fields changed
      • addedInput schema / properties / routeToken
        Added value: +{
        +  "description": "Opaque routeToken from brc_route_request for this action workflow. Required for transactional tools. Routing permission only — does not replace preview-before-posting or confirmWrite.",
        +  "minLength": 1,
        +  "type": "string"
        +}
      • changedInput schema / required
        Previous value: -[
        -  "companyName",
        -  "id"
        -]New value: +[
        +  "companyName",
        +  "id",
        +  "routeToken"
        +]
    • Changedbrc_delete_cash_receipt2 fields changed
      • addedInput schema / properties / routeToken
        Added value: +{
        +  "description": "Opaque routeToken from brc_route_request for this action workflow. Required for transactional tools. Routing permission only — does not replace preview-before-posting or confirmWrite.",
        +  "minLength": 1,
        +  "type": "string"
        +}
      • changedInput schema / required
        Previous value: -[
        -  "companyName",
        -  "id"
        -]New value: +[
        +  "companyName",
        +  "id",
        +  "routeToken"
        +]
    • Changedbrc_delete_customer2 fields changed
      • addedInput schema / properties / routeToken
        Added value: +{
        +  "description": "Opaque routeToken from brc_route_request for this action workflow. Required for transactional tools. Routing permission only — does not replace preview-before-posting or confirmWrite.",
        +  "minLength": 1,
        +  "type": "string"
        +}
      • changedInput schema / required
        Previous value: -[
        -  "companyName",
        -  "id"
        -]New value: +[
        +  "companyName",
        +  "id",
        +  "routeToken"
        +]
    • Changedbrc_delete_nominal_journal_batch2 fields changed
      • addedInput schema / properties / routeToken
        Added value: +{
        +  "description": "Opaque routeToken from brc_route_request for this action workflow. Required for transactional tools. Routing permission only — does not replace preview-before-posting or confirmWrite.",
        +  "minLength": 1,
        +  "type": "string"
        +}
      • changedInput schema / required
        Previous value: -[
        -  "companyName",
        -  "id",
        -  "timestamp"
        -]New value: +[
        +  "companyName",
        +  "id",
        +  "timestamp",
        +  "routeToken"
        +]
    • Changedbrc_delete_payment2 fields changed
      • addedInput schema / properties / routeToken
        Added value: +{
        +  "description": "Opaque routeToken from brc_route_request for this action workflow. Required for transactional tools. Routing permission only — does not replace preview-before-posting or confirmWrite.",
        +  "minLength": 1,
        +  "type": "string"
        +}
      • changedInput schema / required
        Previous value: -[
        -  "companyName",
        -  "id"
        -]New value: +[
        +  "companyName",
        +  "id",
        +  "routeToken"
        +]
    • Changedbrc_delete_prepayment2 fields changed
      • addedInput schema / properties / routeToken
        Added value: +{
        +  "description": "Opaque routeToken from brc_route_request for this action workflow. Required for transactional tools. Routing permission only — does not replace preview-before-posting or confirmWrite.",
        +  "minLength": 1,
        +  "type": "string"
        +}
      • changedInput schema / required
        Previous value: -[
        -  "companyName",
        -  "id",
        -  "timestamp"
        -]New value: +[
        +  "companyName",
        +  "id",
        +  "timestamp",
        +  "routeToken"
        +]
    • Changedbrc_delete_product2 fields changed
      • addedInput schema / properties / routeToken
        Added value: +{
        +  "description": "Opaque routeToken from brc_route_request for this action workflow. Required for transactional tools. Routing permission only — does not replace preview-before-posting or confirmWrite.",
        +  "minLength": 1,
        +  "type": "string"
        +}
      • changedInput schema / required
        Previous value: -[
        -  "companyName",
        -  "id"
        -]New value: +[
        +  "companyName",
        +  "id",
        +  "routeToken"
        +]
    • Changedbrc_delete_purchase2 fields changed
      • addedInput schema / properties / routeToken
        Added value: +{
        +  "description": "Opaque routeToken from brc_route_request for this action workflow. Required for transactional tools. Routing permission only — does not replace preview-before-posting or confirmWrite.",
        +  "minLength": 1,
        +  "type": "string"
        +}
      • changedInput schema / required
        Previous value: -[
        -  "companyName",
        -  "id"
        -]New value: +[
        +  "companyName",
        +  "id",
        +  "routeToken"
        +]
    • Changedbrc_delete_quote2 fields changed
      • addedInput schema / properties / routeToken
        Added value: +{
        +  "description": "Opaque routeToken from brc_route_request for this action workflow. Required for transactional tools. Routing permission only — does not replace preview-before-posting or confirmWrite.",
        +  "minLength": 1,
        +  "type": "string"
        +}
      • changedInput schema / required
        Previous value: -[
        -  "companyName",
        -  "id"
        -]New value: +[
        +  "companyName",
        +  "id",
        +  "routeToken"
        +]
    • Changedbrc_delete_sales_credit_note2 fields changed
      • addedInput schema / properties / routeToken
        Added value: +{
        +  "description": "Opaque routeToken from brc_route_request for this action workflow. Required for transactional tools. Routing permission only — does not replace preview-before-posting or confirmWrite.",
        +  "minLength": 1,
        +  "type": "string"
        +}
      • changedInput schema / required
        Previous value: -[
        -  "companyName",
        -  "id"
        -]New value: +[
        +  "companyName",
        +  "id",
        +  "routeToken"
        +]
    • Changedbrc_delete_sales_entry2 fields changed
      • addedInput schema / properties / routeToken
        Added value: +{
        +  "description": "Opaque routeToken from brc_route_request for this action workflow. Required for transactional tools. Routing permission only — does not replace preview-before-posting or confirmWrite.",
        +  "minLength": 1,
        +  "type": "string"
        +}
      • changedInput schema / required
        Previous value: -[
        -  "companyName",
        -  "id"
        -]New value: +[
        +  "companyName",
        +  "id",
        +  "routeToken"
        +]
    • Changedbrc_delete_sales_invoice2 fields changed
      • addedInput schema / properties / routeToken
        Added value: +{
        +  "description": "Opaque routeToken from brc_route_request for this action workflow. Required for transactional tools. Routing permission only — does not replace preview-before-posting or confirmWrite.",
        +  "minLength": 1,
        +  "type": "string"
        +}
      • changedInput schema / required
        Previous value: -[
        -  "companyName",
        -  "id"
        -]New value: +[
        +  "companyName",
        +  "id",
        +  "routeToken"
        +]
    • Changedbrc_delete_sales_rep2 fields changed
      • addedInput schema / properties / routeToken
        Added value: +{
        +  "description": "Opaque routeToken from brc_route_request for this action workflow. Required for transactional tools. Routing permission only — does not replace preview-before-posting or confirmWrite.",
        +  "minLength": 1,
        +  "type": "string"
        +}
      • changedInput schema / required
        Previous value: -[
        -  "companyName",
        -  "id"
        -]New value: +[
        +  "companyName",
        +  "id",
        +  "routeToken"
        +]
    • Changedbrc_delete_supplier2 fields changed
      • addedInput schema / properties / routeToken
        Added value: +{
        +  "description": "Opaque routeToken from brc_route_request for this action workflow. Required for transactional tools. Routing permission only — does not replace preview-before-posting or confirmWrite.",
        +  "minLength": 1,
        +  "type": "string"
        +}
      • changedInput schema / required
        Previous value: -[
        -  "companyName",
        -  "id"
        -]New value: +[
        +  "companyName",
        +  "id",
        +  "routeToken"
        +]
    • Changedbrc_find_help_resources3 fields changed
      • removedInput schema / properties / connectionRef
        Removed value: -{
        -  "description": "Opaque Red connection reference returned by brc_confirm_company_connection. Pass this exact value on every later tool call when the MCP client rotates session ids (for example Vibe/Mistral). Keep reusing the same connectionRef after successful tool calls — do not start a new connection because a lookup returned empty or partial data. It is not an API key and does not contain credentials.",
        -  "type": "string"
        -}
      • changedInput schema / properties / source / description
        Previous value: -"Optional source filter: freshdesk, customer_docs, recorded_webinar, upcoming_webinar, or all."New value: +"Optional source filter: freshdesk, customer_docs, recorded_webinar, youtube_video, upcoming_webinar, or all."
      • changedInput schema / properties / source / enum
        Previous value: -[
        -  "freshdesk",
        -  "customer_docs",
        -  "recorded_webinar",
        -  "upcoming_webinar",
        -  "all"
        -]New value: +[
        +  "freshdesk",
        +  "customer_docs",
        +  "recorded_webinar",
        +  "youtube_video",
        +  "upcoming_webinar",
        +  "all"
        +]
    • Changedbrc_generate_sales_invoice_from_quote2 fields changed
      • addedInput schema / properties / routeToken
        Added value: +{
        +  "description": "Opaque routeToken from brc_route_request for this action workflow. Required for transactional tools. Routing permission only — does not replace preview-before-posting or confirmWrite.",
        +  "minLength": 1,
        +  "type": "string"
        +}
      • changedInput schema / required
        Previous value: -[
        -  "companyName",
        -  "quoteId"
        -]New value: +[
        +  "companyName",
        +  "quoteId",
        +  "routeToken"
        +]
    • Changedbrc_get_deployment_policy1 field changed
      • removedInput schema / properties / connectionRef
        Removed value: -{
        -  "description": "Opaque Red connection reference returned by brc_confirm_company_connection. Pass this exact value on every later tool call when the MCP client rotates session ids (for example Vibe/Mistral). Keep reusing the same connectionRef after successful tool calls — do not start a new connection because a lookup returned empty or partial data. It is not an API key and does not contain credentials.",
        -  "type": "string"
        -}
    • Changedbrc_get_help_resource_details2 fields changed
      • removedInput schema / properties / connectionRef
        Removed value: -{
        -  "description": "Opaque Red connection reference returned by brc_confirm_company_connection. Pass this exact value on every later tool call when the MCP client rotates session ids (for example Vibe/Mistral). Keep reusing the same connectionRef after successful tool calls — do not start a new connection because a lookup returned empty or partial data. It is not an API key and does not contain credentials.",
        -  "type": "string"
        -}
      • changedInput schema / properties / resourceId / description
        Previous value: -"Resource ID from brc_find_help_resources, for example customer_docs:bank-reconciliation or freshdesk:1001."New value: +"Resource ID from brc_red_help or brc_find_help_resources, for example customer_docs:bank-reconciliation or freshdesk:1001."
    • Changedbrc_getting_started1 field changed
      • removedInput schema / properties / connectionRef
        Removed value: -{
        -  "description": "Opaque Red connection reference returned by brc_confirm_company_connection. Pass this exact value on every later tool call when the MCP client rotates session ids (for example Vibe/Mistral). Keep reusing the same connectionRef after successful tool calls — do not start a new connection because a lookup returned empty or partial data. It is not an API key and does not contain credentials.",
        -  "type": "string"
        -}
    • Changedbrc_process_vat_category_rates2 fields changed
      • addedInput schema / properties / routeToken
        Added value: +{
        +  "description": "Opaque routeToken from brc_route_request for this action workflow. Required for transactional tools. Routing permission only — does not replace preview-before-posting or confirmWrite.",
        +  "minLength": 1,
        +  "type": "string"
        +}
      • changedInput schema / required
        Previous value: -[
        -  "companyName"
        -]New value: +[
        +  "companyName",
        +  "routeToken"
        +]
    • Addedbrc_red_help
    • Changedbrc_reopen_quote2 fields changed
      • addedInput schema / properties / routeToken
        Added value: +{
        +  "description": "Opaque routeToken from brc_route_request for this action workflow. Required for transactional tools. Routing permission only — does not replace preview-before-posting or confirmWrite.",
        +  "minLength": 1,
        +  "type": "string"
        +}
      • changedInput schema / required
        Previous value: -[
        -  "companyName",
        -  "id"
        -]New value: +[
        +  "companyName",
        +  "id",
        +  "routeToken"
        +]
    • Addedbrc_route_request
    • Changedbrc_send_email_statement2 fields changed
      • addedInput schema / properties / routeToken
        Added value: +{
        +  "description": "Opaque routeToken from brc_route_request for this action workflow. Required for transactional tools. Routing permission only — does not replace preview-before-posting or confirmWrite.",
        +  "minLength": 1,
        +  "type": "string"
        +}
      • changedInput schema / required
        Previous value: -[
        -  "companyName",
        -  "customerId"
        -]New value: +[
        +  "companyName",
        +  "customerId",
        +  "routeToken"
        +]
    • Changedbrc_send_quote_email2 fields changed
      • addedInput schema / properties / routeToken
        Added value: +{
        +  "description": "Opaque routeToken from brc_route_request for this action workflow. Required for transactional tools. Routing permission only — does not replace preview-before-posting or confirmWrite.",
        +  "minLength": 1,
        +  "type": "string"
        +}
      • changedInput schema / required
        Previous value: -[
        -  "companyName",
        -  "quoteId"
        -]New value: +[
        +  "companyName",
        +  "quoteId",
        +  "routeToken"
        +]
    • Changedbrc_send_sales_invoice_email2 fields changed
      • addedInput schema / properties / routeToken
        Added value: +{
        +  "description": "Opaque routeToken from brc_route_request for this action workflow. Required for transactional tools. Routing permission only — does not replace preview-before-posting or confirmWrite.",
        +  "minLength": 1,
        +  "type": "string"
        +}
      • changedInput schema / required
        Previous value: -[
        -  "companyName",
        -  "salesInvoiceId"
        -]New value: +[
        +  "companyName",
        +  "salesInvoiceId",
        +  "routeToken"
        +]
    • Changedbrc_update_accrual2 fields changed
      • addedInput schema / properties / routeToken
        Added value: +{
        +  "description": "Opaque routeToken from brc_route_request for this action workflow. Required for transactional tools. Routing permission only — does not replace preview-before-posting or confirmWrite.",
        +  "minLength": 1,
        +  "type": "string"
        +}
      • changedInput schema / required
        Previous value: -[
        -  "companyName",
        -  "id",
        -  "acCode",
        -  "entryDate",
        -  "procDate",
        -  "reference",
        -  "total",
        -  "timestamp"
        -]New value: +[
        +  "companyName",
        +  "id",
        +  "acCode",
        +  "entryDate",
        +  "procDate",
        +  "reference",
        +  "total",
        +  "timestamp",
        +  "routeToken"
        +]
    • Changedbrc_update_allocations2 fields changed
      • addedInput schema / properties / routeToken
        Added value: +{
        +  "description": "Opaque routeToken from brc_route_request for this action workflow. Required for transactional tools. Routing permission only — does not replace preview-before-posting or confirmWrite.",
        +  "minLength": 1,
        +  "type": "string"
        +}
      • changedInput schema / required
        Previous value: -[
        -  "companyName",
        -  "bookTranId",
        -  "allocationResolvers"
        -]New value: +[
        +  "companyName",
        +  "bookTranId",
        +  "allocationResolvers",
        +  "routeToken"
        +]
    • Changedbrc_update_bank_account2 fields changed
      • addedInput schema / properties / routeToken
        Added value: +{
        +  "description": "Opaque routeToken from brc_route_request for this action workflow. Required for transactional tools. Routing permission only — does not replace preview-before-posting or confirmWrite.",
        +  "minLength": 1,
        +  "type": "string"
        +}
      • changedInput schema / required
        Previous value: -[
        -  "companyName",
        -  "id"
        -]New value: +[
        +  "companyName",
        +  "id",
        +  "routeToken"
        +]
    • Changedbrc_update_cash_payment2 fields changed
      • addedInput schema / properties / routeToken
        Added value: +{
        +  "description": "Opaque routeToken from brc_route_request for this action workflow. Required for transactional tools. Routing permission only — does not replace preview-before-posting or confirmWrite.",
        +  "minLength": 1,
        +  "type": "string"
        +}
      • changedInput schema / required
        Previous value: -[
        -  "companyName",
        -  "id"
        -]New value: +[
        +  "companyName",
        +  "id",
        +  "routeToken"
        +]
    • Changedbrc_update_cash_receipt2 fields changed
      • addedInput schema / properties / routeToken
        Added value: +{
        +  "description": "Opaque routeToken from brc_route_request for this action workflow. Required for transactional tools. Routing permission only — does not replace preview-before-posting or confirmWrite.",
        +  "minLength": 1,
        +  "type": "string"
        +}
      • changedInput schema / required
        Previous value: -[
        -  "companyName",
        -  "id"
        -]New value: +[
        +  "companyName",
        +  "id",
        +  "routeToken"
        +]
    • Changedbrc_update_customer2 fields changed
      • addedInput schema / properties / routeToken
        Added value: +{
        +  "description": "Opaque routeToken from brc_route_request for this action workflow. Required for transactional tools. Routing permission only — does not replace preview-before-posting or confirmWrite.",
        +  "minLength": 1,
        +  "type": "string"
        +}
      • changedInput schema / required
        Previous value: -[
        -  "companyName",
        -  "id"
        -]New value: +[
        +  "companyName",
        +  "id",
        +  "routeToken"
        +]
    • Changedbrc_update_nominal_journal_batch2 fields changed
      • addedInput schema / properties / routeToken
        Added value: +{
        +  "description": "Opaque routeToken from brc_route_request for this action workflow. Required for transactional tools. Routing permission only — does not replace preview-before-posting or confirmWrite.",
        +  "minLength": 1,
        +  "type": "string"
        +}
      • changedInput schema / required
        Previous value: -[
        -  "companyName",
        -  "id",
        -  "entryDate",
        -  "procDate",
        -  "total",
        -  "timestamp",
        -  "accountTransactions"
        -]New value: +[
        +  "companyName",
        +  "id",
        +  "entryDate",
        +  "procDate",
        +  "total",
        +  "timestamp",
        +  "accountTransactions",
        +  "routeToken"
        +]
    • Changedbrc_update_payment2 fields changed
      • addedInput schema / properties / routeToken
        Added value: +{
        +  "description": "Opaque routeToken from brc_route_request for this action workflow. Required for transactional tools. Routing permission only — does not replace preview-before-posting or confirmWrite.",
        +  "minLength": 1,
        +  "type": "string"
        +}
      • changedInput schema / required
        Previous value: -[
        -  "companyName",
        -  "id"
        -]New value: +[
        +  "companyName",
        +  "id",
        +  "routeToken"
        +]
    • Changedbrc_update_prepayment2 fields changed
      • addedInput schema / properties / routeToken
        Added value: +{
        +  "description": "Opaque routeToken from brc_route_request for this action workflow. Required for transactional tools. Routing permission only — does not replace preview-before-posting or confirmWrite.",
        +  "minLength": 1,
        +  "type": "string"
        +}
      • changedInput schema / required
        Previous value: -[
        -  "companyName",
        -  "id",
        -  "acCode",
        -  "entryDate",
        -  "procDate",
        -  "reference",
        -  "total",
        -  "timestamp"
        -]New value: +[
        +  "companyName",
        +  "id",
        +  "acCode",
        +  "entryDate",
        +  "procDate",
        +  "reference",
        +  "total",
        +  "timestamp",
        +  "routeToken"
        +]
    • Changedbrc_update_product2 fields changed
      • addedInput schema / properties / routeToken
        Added value: +{
        +  "description": "Opaque routeToken from brc_route_request for this action workflow. Required for transactional tools. Routing permission only — does not replace preview-before-posting or confirmWrite.",
        +  "minLength": 1,
        +  "type": "string"
        +}
      • changedInput schema / required
        Previous value: -[
        -  "companyName",
        -  "id"
        -]New value: +[
        +  "companyName",
        +  "id",
        +  "routeToken"
        +]
    • Changedbrc_update_purchase2 fields changed
      • addedInput schema / properties / routeToken
        Added value: +{
        +  "description": "Opaque routeToken from brc_route_request for this action workflow. Required for transactional tools. Routing permission only — does not replace preview-before-posting or confirmWrite.",
        +  "minLength": 1,
        +  "type": "string"
        +}
      • changedInput schema / required
        Previous value: -[
        -  "companyName",
        -  "id"
        -]New value: +[
        +  "companyName",
        +  "id",
        +  "routeToken"
        +]
    • Changedbrc_update_quote2 fields changed
      • addedInput schema / properties / routeToken
        Added value: +{
        +  "description": "Opaque routeToken from brc_route_request for this action workflow. Required for transactional tools. Routing permission only — does not replace preview-before-posting or confirmWrite.",
        +  "minLength": 1,
        +  "type": "string"
        +}
      • changedInput schema / required
        Previous value: -[
        -  "companyName",
        -  "id"
        -]New value: +[
        +  "companyName",
        +  "id",
        +  "routeToken"
        +]
    • Changedbrc_update_sales_credit_note2 fields changed
      • addedInput schema / properties / routeToken
        Added value: +{
        +  "description": "Opaque routeToken from brc_route_request for this action workflow. Required for transactional tools. Routing permission only — does not replace preview-before-posting or confirmWrite.",
        +  "minLength": 1,
        +  "type": "string"
        +}
      • changedInput schema / required
        Previous value: -[
        -  "companyName",
        -  "id"
        -]New value: +[
        +  "companyName",
        +  "id",
        +  "routeToken"
        +]
    • Changedbrc_update_sales_entry2 fields changed
      • addedInput schema / properties / routeToken
        Added value: +{
        +  "description": "Opaque routeToken from brc_route_request for this action workflow. Required for transactional tools. Routing permission only — does not replace preview-before-posting or confirmWrite.",
        +  "minLength": 1,
        +  "type": "string"
        +}
      • changedInput schema / required
        Previous value: -[
        -  "companyName",
        -  "id"
        -]New value: +[
        +  "companyName",
        +  "id",
        +  "routeToken"
        +]
    • Changedbrc_update_sales_invoice2 fields changed
      • addedInput schema / properties / routeToken
        Added value: +{
        +  "description": "Opaque routeToken from brc_route_request for this action workflow. Required for transactional tools. Routing permission only — does not replace preview-before-posting or confirmWrite.",
        +  "minLength": 1,
        +  "type": "string"
        +}
      • changedInput schema / required
        Previous value: -[
        -  "companyName",
        -  "id"
        -]New value: +[
        +  "companyName",
        +  "id",
        +  "routeToken"
        +]
    • Changedbrc_update_sales_rep2 fields changed
      • addedInput schema / properties / routeToken
        Added value: +{
        +  "description": "Opaque routeToken from brc_route_request for this action workflow. Required for transactional tools. Routing permission only — does not replace preview-before-posting or confirmWrite.",
        +  "minLength": 1,
        +  "type": "string"
        +}
      • changedInput schema / required
        Previous value: -[
        -  "companyName",
        -  "id"
        -]New value: +[
        +  "companyName",
        +  "id",
        +  "routeToken"
        +]
    • Changedbrc_update_supplier2 fields changed
      • addedInput schema / properties / routeToken
        Added value: +{
        +  "description": "Opaque routeToken from brc_route_request for this action workflow. Required for transactional tools. Routing permission only — does not replace preview-before-posting or confirmWrite.",
        +  "minLength": 1,
        +  "type": "string"
        +}
      • changedInput schema / required
        Previous value: -[
        -  "companyName",
        -  "id"
        -]New value: +[
        +  "companyName",
        +  "id",
        +  "routeToken"
        +]
  6. 79 tool updates
    • Changedbrc_batch_cash_payments2 fields changed
      • removedInput schema / properties / routeToken
        Removed value: -{
        -  "description": "Opaque routeToken from brc_route_request for this action workflow. Required for transactional tools. Routing permission only — does not replace preview-before-posting or confirmWrite.",
        -  "minLength": 1,
        -  "type": "string"
        -}
      • changedInput schema / required
        Previous value: -[
        -  "companyName",
        -  "items",
        -  "routeToken"
        -]New value: +[
        +  "companyName",
        +  "items"
        +]
    • Changedbrc_batch_cash_receipts2 fields changed
      • removedInput schema / properties / routeToken
        Removed value: -{
        -  "description": "Opaque routeToken from brc_route_request for this action workflow. Required for transactional tools. Routing permission only — does not replace preview-before-posting or confirmWrite.",
        -  "minLength": 1,
        -  "type": "string"
        -}
      • changedInput schema / required
        Previous value: -[
        -  "companyName",
        -  "items",
        -  "routeToken"
        -]New value: +[
        +  "companyName",
        +  "items"
        +]
    • Changedbrc_batch_customers2 fields changed
      • removedInput schema / properties / routeToken
        Removed value: -{
        -  "description": "Opaque routeToken from brc_route_request for this action workflow. Required for transactional tools. Routing permission only — does not replace preview-before-posting or confirmWrite.",
        -  "minLength": 1,
        -  "type": "string"
        -}
      • changedInput schema / required
        Previous value: -[
        -  "companyName",
        -  "items",
        -  "routeToken"
        -]New value: +[
        +  "companyName",
        +  "items"
        +]
    • Changedbrc_batch_payments2 fields changed
      • removedInput schema / properties / routeToken
        Removed value: -{
        -  "description": "Opaque routeToken from brc_route_request for this action workflow. Required for transactional tools. Routing permission only — does not replace preview-before-posting or confirmWrite.",
        -  "minLength": 1,
        -  "type": "string"
        -}
      • changedInput schema / required
        Previous value: -[
        -  "companyName",
        -  "items",
        -  "routeToken"
        -]New value: +[
        +  "companyName",
        +  "items"
        +]
    • Changedbrc_batch_products2 fields changed
      • removedInput schema / properties / routeToken
        Removed value: -{
        -  "description": "Opaque routeToken from brc_route_request for this action workflow. Required for transactional tools. Routing permission only — does not replace preview-before-posting or confirmWrite.",
        -  "minLength": 1,
        -  "type": "string"
        -}
      • changedInput schema / required
        Previous value: -[
        -  "companyName",
        -  "items",
        -  "routeToken"
        -]New value: +[
        +  "companyName",
        +  "items"
        +]
    • Changedbrc_batch_purchases2 fields changed
      • removedInput schema / properties / routeToken
        Removed value: -{
        -  "description": "Opaque routeToken from brc_route_request for this action workflow. Required for transactional tools. Routing permission only — does not replace preview-before-posting or confirmWrite.",
        -  "minLength": 1,
        -  "type": "string"
        -}
      • changedInput schema / required
        Previous value: -[
        -  "companyName",
        -  "items",
        -  "routeToken"
        -]New value: +[
        +  "companyName",
        +  "items"
        +]
    • Changedbrc_batch_quotes2 fields changed
      • removedInput schema / properties / routeToken
        Removed value: -{
        -  "description": "Opaque routeToken from brc_route_request for this action workflow. Required for transactional tools. Routing permission only — does not replace preview-before-posting or confirmWrite.",
        -  "minLength": 1,
        -  "type": "string"
        -}
      • changedInput schema / required
        Previous value: -[
        -  "companyName",
        -  "items",
        -  "routeToken"
        -]New value: +[
        +  "companyName",
        +  "items"
        +]
    • Changedbrc_batch_sales_credit_notes2 fields changed
      • removedInput schema / properties / routeToken
        Removed value: -{
        -  "description": "Opaque routeToken from brc_route_request for this action workflow. Required for transactional tools. Routing permission only — does not replace preview-before-posting or confirmWrite.",
        -  "minLength": 1,
        -  "type": "string"
        -}
      • changedInput schema / required
        Previous value: -[
        -  "companyName",
        -  "items",
        -  "routeToken"
        -]New value: +[
        +  "companyName",
        +  "items"
        +]
    • Changedbrc_batch_sales_entries2 fields changed
      • removedInput schema / properties / routeToken
        Removed value: -{
        -  "description": "Opaque routeToken from brc_route_request for this action workflow. Required for transactional tools. Routing permission only — does not replace preview-before-posting or confirmWrite.",
        -  "minLength": 1,
        -  "type": "string"
        -}
      • changedInput schema / required
        Previous value: -[
        -  "companyName",
        -  "items",
        -  "routeToken"
        -]New value: +[
        +  "companyName",
        +  "items"
        +]
    • Changedbrc_batch_sales_invoices2 fields changed
      • removedInput schema / properties / routeToken
        Removed value: -{
        -  "description": "Opaque routeToken from brc_route_request for this action workflow. Required for transactional tools. Routing permission only — does not replace preview-before-posting or confirmWrite.",
        -  "minLength": 1,
        -  "type": "string"
        -}
      • changedInput schema / required
        Previous value: -[
        -  "companyName",
        -  "items",
        -  "routeToken"
        -]New value: +[
        +  "companyName",
        +  "items"
        +]
    • Changedbrc_batch_sales_reps2 fields changed
      • removedInput schema / properties / routeToken
        Removed value: -{
        -  "description": "Opaque routeToken from brc_route_request for this action workflow. Required for transactional tools. Routing permission only — does not replace preview-before-posting or confirmWrite.",
        -  "minLength": 1,
        -  "type": "string"
        -}
      • changedInput schema / required
        Previous value: -[
        -  "companyName",
        -  "items",
        -  "routeToken"
        -]New value: +[
        +  "companyName",
        +  "items"
        +]
    • Changedbrc_batch_suppliers2 fields changed
      • removedInput schema / properties / routeToken
        Removed value: -{
        -  "description": "Opaque routeToken from brc_route_request for this action workflow. Required for transactional tools. Routing permission only — does not replace preview-before-posting or confirmWrite.",
        -  "minLength": 1,
        -  "type": "string"
        -}
      • changedInput schema / required
        Previous value: -[
        -  "companyName",
        -  "items",
        -  "routeToken"
        -]New value: +[
        +  "companyName",
        +  "items"
        +]
    • Changedbrc_close_quote2 fields changed
      • removedInput schema / properties / routeToken
        Removed value: -{
        -  "description": "Opaque routeToken from brc_route_request for this action workflow. Required for transactional tools. Routing permission only — does not replace preview-before-posting or confirmWrite.",
        -  "minLength": 1,
        -  "type": "string"
        -}
      • changedInput schema / required
        Previous value: -[
        -  "companyName",
        -  "id",
        -  "routeToken"
        -]New value: +[
        +  "companyName",
        +  "id"
        +]
    • Changedbrc_create_accrual2 fields changed
      • removedInput schema / properties / routeToken
        Removed value: -{
        -  "description": "Opaque routeToken from brc_route_request for this action workflow. Required for transactional tools. Routing permission only — does not replace preview-before-posting or confirmWrite.",
        -  "minLength": 1,
        -  "type": "string"
        -}
      • changedInput schema / required
        Previous value: -[
        -  "companyName",
        -  "acCode",
        -  "entryDate",
        -  "procDate",
        -  "reference",
        -  "total",
        -  "routeToken"
        -]New value: +[
        +  "companyName",
        +  "acCode",
        +  "entryDate",
        +  "procDate",
        +  "reference",
        +  "total"
        +]
    • Changedbrc_create_bank_account2 fields changed
      • removedInput schema / properties / routeToken
        Removed value: -{
        -  "description": "Opaque routeToken from brc_route_request for this action workflow. Required for transactional tools. Routing permission only — does not replace preview-before-posting or confirmWrite.",
        -  "minLength": 1,
        -  "type": "string"
        -}
      • changedInput schema / required
        Previous value: -[
        -  "companyName",
        -  "routeToken"
        -]New value: +[
        +  "companyName"
        +]
    • Changedbrc_create_cash_payment2 fields changed
      • removedInput schema / properties / routeToken
        Removed value: -{
        -  "description": "Opaque routeToken from brc_route_request for this action workflow. Required for transactional tools. Routing permission only — does not replace preview-before-posting or confirmWrite.",
        -  "minLength": 1,
        -  "type": "string"
        -}
      • changedInput schema / required
        Previous value: -[
        -  "companyName",
        -  "note",
        -  "total",
        -  "routeToken"
        -]New value: +[
        +  "companyName",
        +  "note",
        +  "total"
        +]
    • Changedbrc_create_cash_receipt2 fields changed
      • removedInput schema / properties / routeToken
        Removed value: -{
        -  "description": "Opaque routeToken from brc_route_request for this action workflow. Required for transactional tools. Routing permission only — does not replace preview-before-posting or confirmWrite.",
        -  "minLength": 1,
        -  "type": "string"
        -}
      • changedInput schema / required
        Previous value: -[
        -  "companyName",
        -  "routeToken"
        -]New value: +[
        +  "companyName"
        +]
    • Changedbrc_create_customer2 fields changed
      • removedInput schema / properties / routeToken
        Removed value: -{
        -  "description": "Opaque routeToken from brc_route_request for this action workflow. Required for transactional tools. Routing permission only — does not replace preview-before-posting or confirmWrite.",
        -  "minLength": 1,
        -  "type": "string"
        -}
      • changedInput schema / required
        Previous value: -[
        -  "companyName",
        -  "payload",
        -  "routeToken"
        -]New value: +[
        +  "companyName",
        +  "payload"
        +]
    • Changedbrc_create_nominal_journal_batch2 fields changed
      • removedInput schema / properties / routeToken
        Removed value: -{
        -  "description": "Opaque routeToken from brc_route_request for this action workflow. Required for transactional tools. Routing permission only — does not replace preview-before-posting or confirmWrite.",
        -  "minLength": 1,
        -  "type": "string"
        -}
      • changedInput schema / required
        Previous value: -[
        -  "companyName",
        -  "entryDate",
        -  "procDate",
        -  "total",
        -  "accountTransactions",
        -  "routeToken"
        -]New value: +[
        +  "companyName",
        +  "entryDate",
        +  "procDate",
        +  "total",
        +  "accountTransactions"
        +]
    • Changedbrc_create_payment2 fields changed
      • removedInput schema / properties / routeToken
        Removed value: -{
        -  "description": "Opaque routeToken from brc_route_request for this action workflow. Required for transactional tools. Routing permission only — does not replace preview-before-posting or confirmWrite.",
        -  "minLength": 1,
        -  "type": "string"
        -}
      • changedInput schema / required
        Previous value: -[
        -  "companyName",
        -  "note",
        -  "total",
        -  "bankAccountId",
        -  "bankAccountCode",
        -  "routeToken"
        -]New value: +[
        +  "companyName",
        +  "note",
        +  "total",
        +  "bankAccountId",
        +  "bankAccountCode"
        +]
    • Changedbrc_create_prepayment2 fields changed
      • removedInput schema / properties / routeToken
        Removed value: -{
        -  "description": "Opaque routeToken from brc_route_request for this action workflow. Required for transactional tools. Routing permission only — does not replace preview-before-posting or confirmWrite.",
        -  "minLength": 1,
        -  "type": "string"
        -}
      • changedInput schema / required
        Previous value: -[
        -  "companyName",
        -  "acCode",
        -  "entryDate",
        -  "procDate",
        -  "reference",
        -  "total",
        -  "routeToken"
        -]New value: +[
        +  "companyName",
        +  "acCode",
        +  "entryDate",
        +  "procDate",
        +  "reference",
        +  "total"
        +]
    • Changedbrc_create_product2 fields changed
      • removedInput schema / properties / routeToken
        Removed value: -{
        -  "description": "Opaque routeToken from brc_route_request for this action workflow. Required for transactional tools. Routing permission only — does not replace preview-before-posting or confirmWrite.",
        -  "minLength": 1,
        -  "type": "string"
        -}
      • changedInput schema / required
        Previous value: -[
        -  "companyName",
        -  "payload",
        -  "routeToken"
        -]New value: +[
        +  "companyName",
        +  "payload"
        +]
    • Changedbrc_create_purchase2 fields changed
      • removedInput schema / properties / routeToken
        Removed value: -{
        -  "description": "Opaque routeToken from brc_route_request for this action workflow. Required for transactional tools. Routing permission only — does not replace preview-before-posting or confirmWrite.",
        -  "minLength": 1,
        -  "type": "string"
        -}
      • changedInput schema / required
        Previous value: -[
        -  "companyName",
        -  "supplierId",
        -  "acCode",
        -  "note",
        -  "entryDate",
        -  "procDate",
        -  "bookTranTypeId",
        -  "analysisCategoryId",
        -  "accountCode",
        -  "description",
        -  "netAmount",
        -  "vatRateId",
        -  "vatPercentage",
        -  "routeToken"
        -]New value: +[
        +  "companyName",
        +  "supplierId",
        +  "acCode",
        +  "note",
        +  "entryDate",
        +  "procDate",
        +  "bookTranTypeId",
        +  "analysisCategoryId",
        +  "accountCode",
        +  "description",
        +  "netAmount",
        +  "vatRateId",
        +  "vatPercentage"
        +]
    • Changedbrc_create_purchase_gen_ref2 fields changed
      • removedInput schema / properties / routeToken
        Removed value: -{
        -  "description": "Opaque routeToken from brc_route_request for this action workflow. Required for transactional tools. Routing permission only — does not replace preview-before-posting or confirmWrite.",
        -  "minLength": 1,
        -  "type": "string"
        -}
      • changedInput schema / required
        Previous value: -[
        -  "companyName",
        -  "supplierId",
        -  "acCode",
        -  "note",
        -  "entryDate",
        -  "procDate",
        -  "bookTranTypeId",
        -  "analysisCategoryId",
        -  "accountCode",
        -  "description",
        -  "netAmount",
        -  "vatRateId",
        -  "vatPercentage",
        -  "routeToken"
        -]New value: +[
        +  "companyName",
        +  "supplierId",
        +  "acCode",
        +  "note",
        +  "entryDate",
        +  "procDate",
        +  "bookTranTypeId",
        +  "analysisCategoryId",
        +  "accountCode",
        +  "description",
        +  "netAmount",
        +  "vatRateId",
        +  "vatPercentage"
        +]
    • Changedbrc_create_quote2 fields changed
      • removedInput schema / properties / routeToken
        Removed value: -{
        -  "description": "Opaque routeToken from brc_route_request for this action workflow. Required for transactional tools. Routing permission only — does not replace preview-before-posting or confirmWrite.",
        -  "minLength": 1,
        -  "type": "string"
        -}
      • changedInput schema / required
        Previous value: -[
        -  "companyName",
        -  "customerOwnerId",
        -  "acCode",
        -  "customerOwnerName",
        -  "comments",
        -  "entryDate",
        -  "procDate",
        -  "saleRepId",
        -  "saleRepCode",
        -  "productId",
        -  "productCode",
        -  "quantity",
        -  "unitPrice",
        -  "vatRateId",
        -  "vatPercentage",
        -  "tranNote",
        -  "analysisCategoryId",
        -  "accountCode",
        -  "routeToken"
        -]New value: +[
        +  "companyName",
        +  "customerOwnerId",
        +  "acCode",
        +  "customerOwnerName",
        +  "comments",
        +  "entryDate",
        +  "procDate",
        +  "saleRepId",
        +  "saleRepCode",
        +  "productId",
        +  "productCode",
        +  "quantity",
        +  "unitPrice",
        +  "vatRateId",
        +  "vatPercentage",
        +  "tranNote",
        +  "analysisCategoryId",
        +  "accountCode"
        +]
    • Changedbrc_create_quote_gen_ref2 fields changed
      • removedInput schema / properties / routeToken
        Removed value: -{
        -  "description": "Opaque routeToken from brc_route_request for this action workflow. Required for transactional tools. Routing permission only — does not replace preview-before-posting or confirmWrite.",
        -  "minLength": 1,
        -  "type": "string"
        -}
      • changedInput schema / required
        Previous value: -[
        -  "companyName",
        -  "customerOwnerId",
        -  "acCode",
        -  "customerOwnerName",
        -  "comments",
        -  "entryDate",
        -  "procDate",
        -  "saleRepId",
        -  "saleRepCode",
        -  "productId",
        -  "productCode",
        -  "quantity",
        -  "unitPrice",
        -  "vatRateId",
        -  "vatPercentage",
        -  "tranNote",
        -  "analysisCategoryId",
        -  "accountCode",
        -  "routeToken"
        -]New value: +[
        +  "companyName",
        +  "customerOwnerId",
        +  "acCode",
        +  "customerOwnerName",
        +  "comments",
        +  "entryDate",
        +  "procDate",
        +  "saleRepId",
        +  "saleRepCode",
        +  "productId",
        +  "productCode",
        +  "quantity",
        +  "unitPrice",
        +  "vatRateId",
        +  "vatPercentage",
        +  "tranNote",
        +  "analysisCategoryId",
        +  "accountCode"
        +]
    • Changedbrc_create_sales_credit_note2 fields changed
      • removedInput schema / properties / routeToken
        Removed value: -{
        -  "description": "Opaque routeToken from brc_route_request for this action workflow. Required for transactional tools. Routing permission only — does not replace preview-before-posting or confirmWrite.",
        -  "minLength": 1,
        -  "type": "string"
        -}
      • changedInput schema / required
        Previous value: -[
        -  "companyName",
        -  "customerId",
        -  "acCode",
        -  "note",
        -  "entryDate",
        -  "procDate",
        -  "bookTranTypeId",
        -  "analysisCategoryId",
        -  "accountCode",
        -  "description",
        -  "netAmount",
        -  "vatRateId",
        -  "vatPercentage",
        -  "productId",
        -  "productCode",
        -  "quantity",
        -  "unitPrice",
        -  "saleRepId",
        -  "saleRepCode",
        -  "routeToken"
        -]New value: +[
        +  "companyName",
        +  "customerId",
        +  "acCode",
        +  "note",
        +  "entryDate",
        +  "procDate",
        +  "bookTranTypeId",
        +  "analysisCategoryId",
        +  "accountCode",
        +  "description",
        +  "netAmount",
        +  "vatRateId",
        +  "vatPercentage",
        +  "productId",
        +  "productCode",
        +  "quantity",
        +  "unitPrice",
        +  "saleRepId",
        +  "saleRepCode"
        +]
    • Changedbrc_create_sales_credit_note_gen_ref2 fields changed
      • removedInput schema / properties / routeToken
        Removed value: -{
        -  "description": "Opaque routeToken from brc_route_request for this action workflow. Required for transactional tools. Routing permission only — does not replace preview-before-posting or confirmWrite.",
        -  "minLength": 1,
        -  "type": "string"
        -}
      • changedInput schema / required
        Previous value: -[
        -  "companyName",
        -  "payload",
        -  "routeToken"
        -]New value: +[
        +  "companyName",
        +  "payload"
        +]
    • Changedbrc_create_sales_entry2 fields changed
      • removedInput schema / properties / routeToken
        Removed value: -{
        -  "description": "Opaque routeToken from brc_route_request for this action workflow. Required for transactional tools. Routing permission only — does not replace preview-before-posting or confirmWrite.",
        -  "minLength": 1,
        -  "type": "string"
        -}
      • changedInput schema / required
        Previous value: -[
        -  "companyName",
        -  "customerId",
        -  "acCode",
        -  "note",
        -  "entryDate",
        -  "procDate",
        -  "bookTranTypeId",
        -  "analysisCategoryId",
        -  "accountCode",
        -  "description",
        -  "netAmount",
        -  "vatRateId",
        -  "vatPercentage",
        -  "routeToken"
        -]New value: +[
        +  "companyName",
        +  "customerId",
        +  "acCode",
        +  "note",
        +  "entryDate",
        +  "procDate",
        +  "bookTranTypeId",
        +  "analysisCategoryId",
        +  "accountCode",
        +  "description",
        +  "netAmount",
        +  "vatRateId",
        +  "vatPercentage"
        +]
    • Changedbrc_create_sales_invoice2 fields changed
      • removedInput schema / properties / routeToken
        Removed value: -{
        -  "description": "Opaque routeToken from brc_route_request for this action workflow. Required for transactional tools. Routing permission only — does not replace preview-before-posting or confirmWrite.",
        -  "minLength": 1,
        -  "type": "string"
        -}
      • changedInput schema / required
        Previous value: -[
        -  "companyName",
        -  "customerId",
        -  "acCode",
        -  "entryDate",
        -  "procDate",
        -  "bookTranTypeId",
        -  "analysisCategoryId",
        -  "accountCode",
        -  "description",
        -  "netAmount",
        -  "vatRateId",
        -  "vatPercentage",
        -  "productId",
        -  "productCode",
        -  "quantity",
        -  "unitPrice",
        -  "saleRepId",
        -  "saleRepCode",
        -  "routeToken"
        -]New value: +[
        +  "companyName",
        +  "customerId",
        +  "acCode",
        +  "entryDate",
        +  "procDate",
        +  "bookTranTypeId",
        +  "analysisCategoryId",
        +  "accountCode",
        +  "description",
        +  "netAmount",
        +  "vatRateId",
        +  "vatPercentage",
        +  "productId",
        +  "productCode",
        +  "quantity",
        +  "unitPrice",
        +  "saleRepId",
        +  "saleRepCode"
        +]
    • Changedbrc_create_sales_invoice_gen_ref2 fields changed
      • removedInput schema / properties / routeToken
        Removed value: -{
        -  "description": "Opaque routeToken from brc_route_request for this action workflow. Required for transactional tools. Routing permission only — does not replace preview-before-posting or confirmWrite.",
        -  "minLength": 1,
        -  "type": "string"
        -}
      • changedInput schema / required
        Previous value: -[
        -  "companyName",
        -  "payload",
        -  "routeToken"
        -]New value: +[
        +  "companyName",
        +  "payload"
        +]
    • Changedbrc_create_sales_rep2 fields changed
      • removedInput schema / properties / routeToken
        Removed value: -{
        -  "description": "Opaque routeToken from brc_route_request for this action workflow. Required for transactional tools. Routing permission only — does not replace preview-before-posting or confirmWrite.",
        -  "minLength": 1,
        -  "type": "string"
        -}
      • changedInput schema / required
        Previous value: -[
        -  "companyName",
        -  "code",
        -  "name",
        -  "routeToken"
        -]New value: +[
        +  "companyName",
        +  "code",
        +  "name"
        +]
    • Changedbrc_create_supplier2 fields changed
      • removedInput schema / properties / routeToken
        Removed value: -{
        -  "description": "Opaque routeToken from brc_route_request for this action workflow. Required for transactional tools. Routing permission only — does not replace preview-before-posting or confirmWrite.",
        -  "minLength": 1,
        -  "type": "string"
        -}
      • changedInput schema / required
        Previous value: -[
        -  "companyName",
        -  "payload",
        -  "routeToken"
        -]New value: +[
        +  "companyName",
        +  "payload"
        +]
    • Changedbrc_delete_accrual2 fields changed
      • removedInput schema / properties / routeToken
        Removed value: -{
        -  "description": "Opaque routeToken from brc_route_request for this action workflow. Required for transactional tools. Routing permission only — does not replace preview-before-posting or confirmWrite.",
        -  "minLength": 1,
        -  "type": "string"
        -}
      • changedInput schema / required
        Previous value: -[
        -  "companyName",
        -  "id",
        -  "timestamp",
        -  "routeToken"
        -]New value: +[
        +  "companyName",
        +  "id",
        +  "timestamp"
        +]
    • Changedbrc_delete_allocation_resolver2 fields changed
      • removedInput schema / properties / routeToken
        Removed value: -{
        -  "description": "Opaque routeToken from brc_route_request for this action workflow. Required for transactional tools. Routing permission only — does not replace preview-before-posting or confirmWrite.",
        -  "minLength": 1,
        -  "type": "string"
        -}
      • changedInput schema / required
        Previous value: -[
        -  "companyName",
        -  "id",
        -  "routeToken"
        -]New value: +[
        +  "companyName",
        +  "id"
        +]
    • Changedbrc_delete_bank_account2 fields changed
      • removedInput schema / properties / routeToken
        Removed value: -{
        -  "description": "Opaque routeToken from brc_route_request for this action workflow. Required for transactional tools. Routing permission only — does not replace preview-before-posting or confirmWrite.",
        -  "minLength": 1,
        -  "type": "string"
        -}
      • changedInput schema / required
        Previous value: -[
        -  "companyName",
        -  "id",
        -  "routeToken"
        -]New value: +[
        +  "companyName",
        +  "id"
        +]
    • Changedbrc_delete_cash_payment2 fields changed
      • removedInput schema / properties / routeToken
        Removed value: -{
        -  "description": "Opaque routeToken from brc_route_request for this action workflow. Required for transactional tools. Routing permission only — does not replace preview-before-posting or confirmWrite.",
        -  "minLength": 1,
        -  "type": "string"
        -}
      • changedInput schema / required
        Previous value: -[
        -  "companyName",
        -  "id",
        -  "routeToken"
        -]New value: +[
        +  "companyName",
        +  "id"
        +]
    • Changedbrc_delete_cash_receipt2 fields changed
      • removedInput schema / properties / routeToken
        Removed value: -{
        -  "description": "Opaque routeToken from brc_route_request for this action workflow. Required for transactional tools. Routing permission only — does not replace preview-before-posting or confirmWrite.",
        -  "minLength": 1,
        -  "type": "string"
        -}
      • changedInput schema / required
        Previous value: -[
        -  "companyName",
        -  "id",
        -  "routeToken"
        -]New value: +[
        +  "companyName",
        +  "id"
        +]
    • Changedbrc_delete_customer2 fields changed
      • removedInput schema / properties / routeToken
        Removed value: -{
        -  "description": "Opaque routeToken from brc_route_request for this action workflow. Required for transactional tools. Routing permission only — does not replace preview-before-posting or confirmWrite.",
        -  "minLength": 1,
        -  "type": "string"
        -}
      • changedInput schema / required
        Previous value: -[
        -  "companyName",
        -  "id",
        -  "routeToken"
        -]New value: +[
        +  "companyName",
        +  "id"
        +]
    • Changedbrc_delete_nominal_journal_batch2 fields changed
      • removedInput schema / properties / routeToken
        Removed value: -{
        -  "description": "Opaque routeToken from brc_route_request for this action workflow. Required for transactional tools. Routing permission only — does not replace preview-before-posting or confirmWrite.",
        -  "minLength": 1,
        -  "type": "string"
        -}
      • changedInput schema / required
        Previous value: -[
        -  "companyName",
        -  "id",
        -  "timestamp",
        -  "routeToken"
        -]New value: +[
        +  "companyName",
        +  "id",
        +  "timestamp"
        +]
    • Changedbrc_delete_payment2 fields changed
      • removedInput schema / properties / routeToken
        Removed value: -{
        -  "description": "Opaque routeToken from brc_route_request for this action workflow. Required for transactional tools. Routing permission only — does not replace preview-before-posting or confirmWrite.",
        -  "minLength": 1,
        -  "type": "string"
        -}
      • changedInput schema / required
        Previous value: -[
        -  "companyName",
        -  "id",
        -  "routeToken"
        -]New value: +[
        +  "companyName",
        +  "id"
        +]
    • Changedbrc_delete_prepayment2 fields changed
      • removedInput schema / properties / routeToken
        Removed value: -{
        -  "description": "Opaque routeToken from brc_route_request for this action workflow. Required for transactional tools. Routing permission only — does not replace preview-before-posting or confirmWrite.",
        -  "minLength": 1,
        -  "type": "string"
        -}
      • changedInput schema / required
        Previous value: -[
        -  "companyName",
        -  "id",
        -  "timestamp",
        -  "routeToken"
        -]New value: +[
        +  "companyName",
        +  "id",
        +  "timestamp"
        +]
    • Changedbrc_delete_product2 fields changed
      • removedInput schema / properties / routeToken
        Removed value: -{
        -  "description": "Opaque routeToken from brc_route_request for this action workflow. Required for transactional tools. Routing permission only — does not replace preview-before-posting or confirmWrite.",
        -  "minLength": 1,
        -  "type": "string"
        -}
      • changedInput schema / required
        Previous value: -[
        -  "companyName",
        -  "id",
        -  "routeToken"
        -]New value: +[
        +  "companyName",
        +  "id"
        +]
    • Changedbrc_delete_purchase2 fields changed
      • removedInput schema / properties / routeToken
        Removed value: -{
        -  "description": "Opaque routeToken from brc_route_request for this action workflow. Required for transactional tools. Routing permission only — does not replace preview-before-posting or confirmWrite.",
        -  "minLength": 1,
        -  "type": "string"
        -}
      • changedInput schema / required
        Previous value: -[
        -  "companyName",
        -  "id",
        -  "routeToken"
        -]New value: +[
        +  "companyName",
        +  "id"
        +]
    • Changedbrc_delete_quote2 fields changed
      • removedInput schema / properties / routeToken
        Removed value: -{
        -  "description": "Opaque routeToken from brc_route_request for this action workflow. Required for transactional tools. Routing permission only — does not replace preview-before-posting or confirmWrite.",
        -  "minLength": 1,
        -  "type": "string"
        -}
      • changedInput schema / required
        Previous value: -[
        -  "companyName",
        -  "id",
        -  "routeToken"
        -]New value: +[
        +  "companyName",
        +  "id"
        +]
    • Changedbrc_delete_sales_credit_note2 fields changed
      • removedInput schema / properties / routeToken
        Removed value: -{
        -  "description": "Opaque routeToken from brc_route_request for this action workflow. Required for transactional tools. Routing permission only — does not replace preview-before-posting or confirmWrite.",
        -  "minLength": 1,
        -  "type": "string"
        -}
      • changedInput schema / required
        Previous value: -[
        -  "companyName",
        -  "id",
        -  "routeToken"
        -]New value: +[
        +  "companyName",
        +  "id"
        +]
    • Changedbrc_delete_sales_entry2 fields changed
      • removedInput schema / properties / routeToken
        Removed value: -{
        -  "description": "Opaque routeToken from brc_route_request for this action workflow. Required for transactional tools. Routing permission only — does not replace preview-before-posting or confirmWrite.",
        -  "minLength": 1,
        -  "type": "string"
        -}
      • changedInput schema / required
        Previous value: -[
        -  "companyName",
        -  "id",
        -  "routeToken"
        -]New value: +[
        +  "companyName",
        +  "id"
        +]
    • Changedbrc_delete_sales_invoice2 fields changed
      • removedInput schema / properties / routeToken
        Removed value: -{
        -  "description": "Opaque routeToken from brc_route_request for this action workflow. Required for transactional tools. Routing permission only — does not replace preview-before-posting or confirmWrite.",
        -  "minLength": 1,
        -  "type": "string"
        -}
      • changedInput schema / required
        Previous value: -[
        -  "companyName",
        -  "id",
        -  "routeToken"
        -]New value: +[
        +  "companyName",
        +  "id"
        +]
    • Changedbrc_delete_sales_rep2 fields changed
      • removedInput schema / properties / routeToken
        Removed value: -{
        -  "description": "Opaque routeToken from brc_route_request for this action workflow. Required for transactional tools. Routing permission only — does not replace preview-before-posting or confirmWrite.",
        -  "minLength": 1,
        -  "type": "string"
        -}
      • changedInput schema / required
        Previous value: -[
        -  "companyName",
        -  "id",
        -  "routeToken"
        -]New value: +[
        +  "companyName",
        +  "id"
        +]
    • Changedbrc_delete_supplier2 fields changed
      • removedInput schema / properties / routeToken
        Removed value: -{
        -  "description": "Opaque routeToken from brc_route_request for this action workflow. Required for transactional tools. Routing permission only — does not replace preview-before-posting or confirmWrite.",
        -  "minLength": 1,
        -  "type": "string"
        -}
      • changedInput schema / required
        Previous value: -[
        -  "companyName",
        -  "id",
        -  "routeToken"
        -]New value: +[
        +  "companyName",
        +  "id"
        +]
    • Changedbrc_find_help_resources3 fields changed
      • addedInput schema / properties / connectionRef
        Added value: +{
        +  "description": "Opaque Red connection reference returned by brc_confirm_company_connection. Pass this exact value on every later tool call when the MCP client rotates session ids (for example Vibe/Mistral). Keep reusing the same connectionRef after successful tool calls — do not start a new connection because a lookup returned empty or partial data. It is not an API key and does not contain credentials.",
        +  "type": "string"
        +}
      • changedInput schema / properties / source / description
        Previous value: -"Optional source filter: freshdesk, customer_docs, recorded_webinar, youtube_video, upcoming_webinar, or all."New value: +"Optional source filter: freshdesk, customer_docs, recorded_webinar, upcoming_webinar, or all."
      • changedInput schema / properties / source / enum
        Previous value: -[
        -  "freshdesk",
        -  "customer_docs",
        -  "recorded_webinar",
        -  "youtube_video",
        -  "upcoming_webinar",
        -  "all"
        -]New value: +[
        +  "freshdesk",
        +  "customer_docs",
        +  "recorded_webinar",
        +  "upcoming_webinar",
        +  "all"
        +]
    • Changedbrc_generate_sales_invoice_from_quote2 fields changed
      • removedInput schema / properties / routeToken
        Removed value: -{
        -  "description": "Opaque routeToken from brc_route_request for this action workflow. Required for transactional tools. Routing permission only — does not replace preview-before-posting or confirmWrite.",
        -  "minLength": 1,
        -  "type": "string"
        -}
      • changedInput schema / required
        Previous value: -[
        -  "companyName",
        -  "quoteId",
        -  "routeToken"
        -]New value: +[
        +  "companyName",
        +  "quoteId"
        +]
    • Changedbrc_get_deployment_policy1 field changed
      • addedInput schema / properties / connectionRef
        Added value: +{
        +  "description": "Opaque Red connection reference returned by brc_confirm_company_connection. Pass this exact value on every later tool call when the MCP client rotates session ids (for example Vibe/Mistral). Keep reusing the same connectionRef after successful tool calls — do not start a new connection because a lookup returned empty or partial data. It is not an API key and does not contain credentials.",
        +  "type": "string"
        +}
    • Changedbrc_get_help_resource_details2 fields changed
      • addedInput schema / properties / connectionRef
        Added value: +{
        +  "description": "Opaque Red connection reference returned by brc_confirm_company_connection. Pass this exact value on every later tool call when the MCP client rotates session ids (for example Vibe/Mistral). Keep reusing the same connectionRef after successful tool calls — do not start a new connection because a lookup returned empty or partial data. It is not an API key and does not contain credentials.",
        +  "type": "string"
        +}
      • changedInput schema / properties / resourceId / description
        Previous value: -"Resource ID from brc_red_help or brc_find_help_resources, for example customer_docs:bank-reconciliation or freshdesk:1001."New value: +"Resource ID from brc_find_help_resources, for example customer_docs:bank-reconciliation or freshdesk:1001."
    • Changedbrc_getting_started1 field changed
      • addedInput schema / properties / connectionRef
        Added value: +{
        +  "description": "Opaque Red connection reference returned by brc_confirm_company_connection. Pass this exact value on every later tool call when the MCP client rotates session ids (for example Vibe/Mistral). Keep reusing the same connectionRef after successful tool calls — do not start a new connection because a lookup returned empty or partial data. It is not an API key and does not contain credentials.",
        +  "type": "string"
        +}
    • Changedbrc_process_vat_category_rates2 fields changed
      • removedInput schema / properties / routeToken
        Removed value: -{
        -  "description": "Opaque routeToken from brc_route_request for this action workflow. Required for transactional tools. Routing permission only — does not replace preview-before-posting or confirmWrite.",
        -  "minLength": 1,
        -  "type": "string"
        -}
      • changedInput schema / required
        Previous value: -[
        -  "companyName",
        -  "routeToken"
        -]New value: +[
        +  "companyName"
        +]
    • Removedbrc_red_help
    • Changedbrc_reopen_quote2 fields changed
      • removedInput schema / properties / routeToken
        Removed value: -{
        -  "description": "Opaque routeToken from brc_route_request for this action workflow. Required for transactional tools. Routing permission only — does not replace preview-before-posting or confirmWrite.",
        -  "minLength": 1,
        -  "type": "string"
        -}
      • changedInput schema / required
        Previous value: -[
        -  "companyName",
        -  "id",
        -  "routeToken"
        -]New value: +[
        +  "companyName",
        +  "id"
        +]
    • Removedbrc_route_request
    • Changedbrc_send_email_statement2 fields changed
      • removedInput schema / properties / routeToken
        Removed value: -{
        -  "description": "Opaque routeToken from brc_route_request for this action workflow. Required for transactional tools. Routing permission only — does not replace preview-before-posting or confirmWrite.",
        -  "minLength": 1,
        -  "type": "string"
        -}
      • changedInput schema / required
        Previous value: -[
        -  "companyName",
        -  "customerId",
        -  "routeToken"
        -]New value: +[
        +  "companyName",
        +  "customerId"
        +]
    • Changedbrc_send_quote_email2 fields changed
      • removedInput schema / properties / routeToken
        Removed value: -{
        -  "description": "Opaque routeToken from brc_route_request for this action workflow. Required for transactional tools. Routing permission only — does not replace preview-before-posting or confirmWrite.",
        -  "minLength": 1,
        -  "type": "string"
        -}
      • changedInput schema / required
        Previous value: -[
        -  "companyName",
        -  "quoteId",
        -  "routeToken"
        -]New value: +[
        +  "companyName",
        +  "quoteId"
        +]
    • Changedbrc_send_sales_invoice_email2 fields changed
      • removedInput schema / properties / routeToken
        Removed value: -{
        -  "description": "Opaque routeToken from brc_route_request for this action workflow. Required for transactional tools. Routing permission only — does not replace preview-before-posting or confirmWrite.",
        -  "minLength": 1,
        -  "type": "string"
        -}
      • changedInput schema / required
        Previous value: -[
        -  "companyName",
        -  "salesInvoiceId",
        -  "routeToken"
        -]New value: +[
        +  "companyName",
        +  "salesInvoiceId"
        +]
    • Changedbrc_update_accrual2 fields changed
      • removedInput schema / properties / routeToken
        Removed value: -{
        -  "description": "Opaque routeToken from brc_route_request for this action workflow. Required for transactional tools. Routing permission only — does not replace preview-before-posting or confirmWrite.",
        -  "minLength": 1,
        -  "type": "string"
        -}
      • changedInput schema / required
        Previous value: -[
        -  "companyName",
        -  "id",
        -  "acCode",
        -  "entryDate",
        -  "procDate",
        -  "reference",
        -  "total",
        -  "timestamp",
        -  "routeToken"
        -]New value: +[
        +  "companyName",
        +  "id",
        +  "acCode",
        +  "entryDate",
        +  "procDate",
        +  "reference",
        +  "total",
        +  "timestamp"
        +]
    • Changedbrc_update_allocations2 fields changed
      • removedInput schema / properties / routeToken
        Removed value: -{
        -  "description": "Opaque routeToken from brc_route_request for this action workflow. Required for transactional tools. Routing permission only — does not replace preview-before-posting or confirmWrite.",
        -  "minLength": 1,
        -  "type": "string"
        -}
      • changedInput schema / required
        Previous value: -[
        -  "companyName",
        -  "bookTranId",
        -  "allocationResolvers",
        -  "routeToken"
        -]New value: +[
        +  "companyName",
        +  "bookTranId",
        +  "allocationResolvers"
        +]
    • Changedbrc_update_bank_account2 fields changed
      • removedInput schema / properties / routeToken
        Removed value: -{
        -  "description": "Opaque routeToken from brc_route_request for this action workflow. Required for transactional tools. Routing permission only — does not replace preview-before-posting or confirmWrite.",
        -  "minLength": 1,
        -  "type": "string"
        -}
      • changedInput schema / required
        Previous value: -[
        -  "companyName",
        -  "id",
        -  "routeToken"
        -]New value: +[
        +  "companyName",
        +  "id"
        +]
    • Changedbrc_update_cash_payment2 fields changed
      • removedInput schema / properties / routeToken
        Removed value: -{
        -  "description": "Opaque routeToken from brc_route_request for this action workflow. Required for transactional tools. Routing permission only — does not replace preview-before-posting or confirmWrite.",
        -  "minLength": 1,
        -  "type": "string"
        -}
      • changedInput schema / required
        Previous value: -[
        -  "companyName",
        -  "id",
        -  "routeToken"
        -]New value: +[
        +  "companyName",
        +  "id"
        +]
    • Changedbrc_update_cash_receipt2 fields changed
      • removedInput schema / properties / routeToken
        Removed value: -{
        -  "description": "Opaque routeToken from brc_route_request for this action workflow. Required for transactional tools. Routing permission only — does not replace preview-before-posting or confirmWrite.",
        -  "minLength": 1,
        -  "type": "string"
        -}
      • changedInput schema / required
        Previous value: -[
        -  "companyName",
        -  "id",
        -  "routeToken"
        -]New value: +[
        +  "companyName",
        +  "id"
        +]
    • Changedbrc_update_customer2 fields changed
      • removedInput schema / properties / routeToken
        Removed value: -{
        -  "description": "Opaque routeToken from brc_route_request for this action workflow. Required for transactional tools. Routing permission only — does not replace preview-before-posting or confirmWrite.",
        -  "minLength": 1,
        -  "type": "string"
        -}
      • changedInput schema / required
        Previous value: -[
        -  "companyName",
        -  "id",
        -  "routeToken"
        -]New value: +[
        +  "companyName",
        +  "id"
        +]
    • Changedbrc_update_nominal_journal_batch2 fields changed
      • removedInput schema / properties / routeToken
        Removed value: -{
        -  "description": "Opaque routeToken from brc_route_request for this action workflow. Required for transactional tools. Routing permission only — does not replace preview-before-posting or confirmWrite.",
        -  "minLength": 1,
        -  "type": "string"
        -}
      • changedInput schema / required
        Previous value: -[
        -  "companyName",
        -  "id",
        -  "entryDate",
        -  "procDate",
        -  "total",
        -  "timestamp",
        -  "accountTransactions",
        -  "routeToken"
        -]New value: +[
        +  "companyName",
        +  "id",
        +  "entryDate",
        +  "procDate",
        +  "total",
        +  "timestamp",
        +  "accountTransactions"
        +]
    • Changedbrc_update_payment2 fields changed
      • removedInput schema / properties / routeToken
        Removed value: -{
        -  "description": "Opaque routeToken from brc_route_request for this action workflow. Required for transactional tools. Routing permission only — does not replace preview-before-posting or confirmWrite.",
        -  "minLength": 1,
        -  "type": "string"
        -}
      • changedInput schema / required
        Previous value: -[
        -  "companyName",
        -  "id",
        -  "routeToken"
        -]New value: +[
        +  "companyName",
        +  "id"
        +]
    • Changedbrc_update_prepayment2 fields changed
      • removedInput schema / properties / routeToken
        Removed value: -{
        -  "description": "Opaque routeToken from brc_route_request for this action workflow. Required for transactional tools. Routing permission only — does not replace preview-before-posting or confirmWrite.",
        -  "minLength": 1,
        -  "type": "string"
        -}
      • changedInput schema / required
        Previous value: -[
        -  "companyName",
        -  "id",
        -  "acCode",
        -  "entryDate",
        -  "procDate",
        -  "reference",
        -  "total",
        -  "timestamp",
        -  "routeToken"
        -]New value: +[
        +  "companyName",
        +  "id",
        +  "acCode",
        +  "entryDate",
        +  "procDate",
        +  "reference",
        +  "total",
        +  "timestamp"
        +]
    • Changedbrc_update_product2 fields changed
      • removedInput schema / properties / routeToken
        Removed value: -{
        -  "description": "Opaque routeToken from brc_route_request for this action workflow. Required for transactional tools. Routing permission only — does not replace preview-before-posting or confirmWrite.",
        -  "minLength": 1,
        -  "type": "string"
        -}
      • changedInput schema / required
        Previous value: -[
        -  "companyName",
        -  "id",
        -  "routeToken"
        -]New value: +[
        +  "companyName",
        +  "id"
        +]
    • Changedbrc_update_purchase2 fields changed
      • removedInput schema / properties / routeToken
        Removed value: -{
        -  "description": "Opaque routeToken from brc_route_request for this action workflow. Required for transactional tools. Routing permission only — does not replace preview-before-posting or confirmWrite.",
        -  "minLength": 1,
        -  "type": "string"
        -}
      • changedInput schema / required
        Previous value: -[
        -  "companyName",
        -  "id",
        -  "routeToken"
        -]New value: +[
        +  "companyName",
        +  "id"
        +]
    • Changedbrc_update_quote2 fields changed
      • removedInput schema / properties / routeToken
        Removed value: -{
        -  "description": "Opaque routeToken from brc_route_request for this action workflow. Required for transactional tools. Routing permission only — does not replace preview-before-posting or confirmWrite.",
        -  "minLength": 1,
        -  "type": "string"
        -}
      • changedInput schema / required
        Previous value: -[
        -  "companyName",
        -  "id",
        -  "routeToken"
        -]New value: +[
        +  "companyName",
        +  "id"
        +]
    • Changedbrc_update_sales_credit_note2 fields changed
      • removedInput schema / properties / routeToken
        Removed value: -{
        -  "description": "Opaque routeToken from brc_route_request for this action workflow. Required for transactional tools. Routing permission only — does not replace preview-before-posting or confirmWrite.",
        -  "minLength": 1,
        -  "type": "string"
        -}
      • changedInput schema / required
        Previous value: -[
        -  "companyName",
        -  "id",
        -  "routeToken"
        -]New value: +[
        +  "companyName",
        +  "id"
        +]
    • Changedbrc_update_sales_entry2 fields changed
      • removedInput schema / properties / routeToken
        Removed value: -{
        -  "description": "Opaque routeToken from brc_route_request for this action workflow. Required for transactional tools. Routing permission only — does not replace preview-before-posting or confirmWrite.",
        -  "minLength": 1,
        -  "type": "string"
        -}
      • changedInput schema / required
        Previous value: -[
        -  "companyName",
        -  "id",
        -  "routeToken"
        -]New value: +[
        +  "companyName",
        +  "id"
        +]
    • Changedbrc_update_sales_invoice2 fields changed
      • removedInput schema / properties / routeToken
        Removed value: -{
        -  "description": "Opaque routeToken from brc_route_request for this action workflow. Required for transactional tools. Routing permission only — does not replace preview-before-posting or confirmWrite.",
        -  "minLength": 1,
        -  "type": "string"
        -}
      • changedInput schema / required
        Previous value: -[
        -  "companyName",
        -  "id",
        -  "routeToken"
        -]New value: +[
        +  "companyName",
        +  "id"
        +]
    • Changedbrc_update_sales_rep2 fields changed
      • removedInput schema / properties / routeToken
        Removed value: -{
        -  "description": "Opaque routeToken from brc_route_request for this action workflow. Required for transactional tools. Routing permission only — does not replace preview-before-posting or confirmWrite.",
        -  "minLength": 1,
        -  "type": "string"
        -}
      • changedInput schema / required
        Previous value: -[
        -  "companyName",
        -  "id",
        -  "routeToken"
        -]New value: +[
        +  "companyName",
        +  "id"
        +]
    • Changedbrc_update_supplier2 fields changed
      • removedInput schema / properties / routeToken
        Removed value: -{
        -  "description": "Opaque routeToken from brc_route_request for this action workflow. Required for transactional tools. Routing permission only — does not replace preview-before-posting or confirmWrite.",
        -  "minLength": 1,
        -  "type": "string"
        -}
      • changedInput schema / required
        Previous value: -[
        -  "companyName",
        -  "id",
        -  "routeToken"
        -]New value: +[
        +  "companyName",
        +  "id"
        +]
  7. 79 tool updates
    • Changedbrc_batch_cash_payments2 fields changed
      • addedInput schema / properties / routeToken
        Added value: +{
        +  "description": "Opaque routeToken from brc_route_request for this action workflow. Required for transactional tools. Routing permission only — does not replace preview-before-posting or confirmWrite.",
        +  "minLength": 1,
        +  "type": "string"
        +}
      • changedInput schema / required
        Previous value: -[
        -  "companyName",
        -  "items"
        -]New value: +[
        +  "companyName",
        +  "items",
        +  "routeToken"
        +]
    • Changedbrc_batch_cash_receipts2 fields changed
      • addedInput schema / properties / routeToken
        Added value: +{
        +  "description": "Opaque routeToken from brc_route_request for this action workflow. Required for transactional tools. Routing permission only — does not replace preview-before-posting or confirmWrite.",
        +  "minLength": 1,
        +  "type": "string"
        +}
      • changedInput schema / required
        Previous value: -[
        -  "companyName",
        -  "items"
        -]New value: +[
        +  "companyName",
        +  "items",
        +  "routeToken"
        +]
    • Changedbrc_batch_customers2 fields changed
      • addedInput schema / properties / routeToken
        Added value: +{
        +  "description": "Opaque routeToken from brc_route_request for this action workflow. Required for transactional tools. Routing permission only — does not replace preview-before-posting or confirmWrite.",
        +  "minLength": 1,
        +  "type": "string"
        +}
      • changedInput schema / required
        Previous value: -[
        -  "companyName",
        -  "items"
        -]New value: +[
        +  "companyName",
        +  "items",
        +  "routeToken"
        +]
    • Changedbrc_batch_payments2 fields changed
      • addedInput schema / properties / routeToken
        Added value: +{
        +  "description": "Opaque routeToken from brc_route_request for this action workflow. Required for transactional tools. Routing permission only — does not replace preview-before-posting or confirmWrite.",
        +  "minLength": 1,
        +  "type": "string"
        +}
      • changedInput schema / required
        Previous value: -[
        -  "companyName",
        -  "items"
        -]New value: +[
        +  "companyName",
        +  "items",
        +  "routeToken"
        +]
    • Changedbrc_batch_products2 fields changed
      • addedInput schema / properties / routeToken
        Added value: +{
        +  "description": "Opaque routeToken from brc_route_request for this action workflow. Required for transactional tools. Routing permission only — does not replace preview-before-posting or confirmWrite.",
        +  "minLength": 1,
        +  "type": "string"
        +}
      • changedInput schema / required
        Previous value: -[
        -  "companyName",
        -  "items"
        -]New value: +[
        +  "companyName",
        +  "items",
        +  "routeToken"
        +]
    • Changedbrc_batch_purchases2 fields changed
      • addedInput schema / properties / routeToken
        Added value: +{
        +  "description": "Opaque routeToken from brc_route_request for this action workflow. Required for transactional tools. Routing permission only — does not replace preview-before-posting or confirmWrite.",
        +  "minLength": 1,
        +  "type": "string"
        +}
      • changedInput schema / required
        Previous value: -[
        -  "companyName",
        -  "items"
        -]New value: +[
        +  "companyName",
        +  "items",
        +  "routeToken"
        +]
    • Changedbrc_batch_quotes2 fields changed
      • addedInput schema / properties / routeToken
        Added value: +{
        +  "description": "Opaque routeToken from brc_route_request for this action workflow. Required for transactional tools. Routing permission only — does not replace preview-before-posting or confirmWrite.",
        +  "minLength": 1,
        +  "type": "string"
        +}
      • changedInput schema / required
        Previous value: -[
        -  "companyName",
        -  "items"
        -]New value: +[
        +  "companyName",
        +  "items",
        +  "routeToken"
        +]
    • Changedbrc_batch_sales_credit_notes2 fields changed
      • addedInput schema / properties / routeToken
        Added value: +{
        +  "description": "Opaque routeToken from brc_route_request for this action workflow. Required for transactional tools. Routing permission only — does not replace preview-before-posting or confirmWrite.",
        +  "minLength": 1,
        +  "type": "string"
        +}
      • changedInput schema / required
        Previous value: -[
        -  "companyName",
        -  "items"
        -]New value: +[
        +  "companyName",
        +  "items",
        +  "routeToken"
        +]
    • Changedbrc_batch_sales_entries2 fields changed
      • addedInput schema / properties / routeToken
        Added value: +{
        +  "description": "Opaque routeToken from brc_route_request for this action workflow. Required for transactional tools. Routing permission only — does not replace preview-before-posting or confirmWrite.",
        +  "minLength": 1,
        +  "type": "string"
        +}
      • changedInput schema / required
        Previous value: -[
        -  "companyName",
        -  "items"
        -]New value: +[
        +  "companyName",
        +  "items",
        +  "routeToken"
        +]
    • Changedbrc_batch_sales_invoices2 fields changed
      • addedInput schema / properties / routeToken
        Added value: +{
        +  "description": "Opaque routeToken from brc_route_request for this action workflow. Required for transactional tools. Routing permission only — does not replace preview-before-posting or confirmWrite.",
        +  "minLength": 1,
        +  "type": "string"
        +}
      • changedInput schema / required
        Previous value: -[
        -  "companyName",
        -  "items"
        -]New value: +[
        +  "companyName",
        +  "items",
        +  "routeToken"
        +]
    • Changedbrc_batch_sales_reps2 fields changed
      • addedInput schema / properties / routeToken
        Added value: +{
        +  "description": "Opaque routeToken from brc_route_request for this action workflow. Required for transactional tools. Routing permission only — does not replace preview-before-posting or confirmWrite.",
        +  "minLength": 1,
        +  "type": "string"
        +}
      • changedInput schema / required
        Previous value: -[
        -  "companyName",
        -  "items"
        -]New value: +[
        +  "companyName",
        +  "items",
        +  "routeToken"
        +]
    • Changedbrc_batch_suppliers2 fields changed
      • addedInput schema / properties / routeToken
        Added value: +{
        +  "description": "Opaque routeToken from brc_route_request for this action workflow. Required for transactional tools. Routing permission only — does not replace preview-before-posting or confirmWrite.",
        +  "minLength": 1,
        +  "type": "string"
        +}
      • changedInput schema / required
        Previous value: -[
        -  "companyName",
        -  "items"
        -]New value: +[
        +  "companyName",
        +  "items",
        +  "routeToken"
        +]
    • Changedbrc_close_quote2 fields changed
      • addedInput schema / properties / routeToken
        Added value: +{
        +  "description": "Opaque routeToken from brc_route_request for this action workflow. Required for transactional tools. Routing permission only — does not replace preview-before-posting or confirmWrite.",
        +  "minLength": 1,
        +  "type": "string"
        +}
      • changedInput schema / required
        Previous value: -[
        -  "companyName",
        -  "id"
        -]New value: +[
        +  "companyName",
        +  "id",
        +  "routeToken"
        +]
    • Changedbrc_create_accrual2 fields changed
      • addedInput schema / properties / routeToken
        Added value: +{
        +  "description": "Opaque routeToken from brc_route_request for this action workflow. Required for transactional tools. Routing permission only — does not replace preview-before-posting or confirmWrite.",
        +  "minLength": 1,
        +  "type": "string"
        +}
      • changedInput schema / required
        Previous value: -[
        -  "companyName",
        -  "acCode",
        -  "entryDate",
        -  "procDate",
        -  "reference",
        -  "total"
        -]New value: +[
        +  "companyName",
        +  "acCode",
        +  "entryDate",
        +  "procDate",
        +  "reference",
        +  "total",
        +  "routeToken"
        +]
    • Changedbrc_create_bank_account2 fields changed
      • addedInput schema / properties / routeToken
        Added value: +{
        +  "description": "Opaque routeToken from brc_route_request for this action workflow. Required for transactional tools. Routing permission only — does not replace preview-before-posting or confirmWrite.",
        +  "minLength": 1,
        +  "type": "string"
        +}
      • changedInput schema / required
        Previous value: -[
        -  "companyName"
        -]New value: +[
        +  "companyName",
        +  "routeToken"
        +]
    • Changedbrc_create_cash_payment2 fields changed
      • addedInput schema / properties / routeToken
        Added value: +{
        +  "description": "Opaque routeToken from brc_route_request for this action workflow. Required for transactional tools. Routing permission only — does not replace preview-before-posting or confirmWrite.",
        +  "minLength": 1,
        +  "type": "string"
        +}
      • changedInput schema / required
        Previous value: -[
        -  "companyName",
        -  "note",
        -  "total"
        -]New value: +[
        +  "companyName",
        +  "note",
        +  "total",
        +  "routeToken"
        +]
    • Changedbrc_create_cash_receipt2 fields changed
      • addedInput schema / properties / routeToken
        Added value: +{
        +  "description": "Opaque routeToken from brc_route_request for this action workflow. Required for transactional tools. Routing permission only — does not replace preview-before-posting or confirmWrite.",
        +  "minLength": 1,
        +  "type": "string"
        +}
      • changedInput schema / required
        Previous value: -[
        -  "companyName"
        -]New value: +[
        +  "companyName",
        +  "routeToken"
        +]
    • Changedbrc_create_customer2 fields changed
      • addedInput schema / properties / routeToken
        Added value: +{
        +  "description": "Opaque routeToken from brc_route_request for this action workflow. Required for transactional tools. Routing permission only — does not replace preview-before-posting or confirmWrite.",
        +  "minLength": 1,
        +  "type": "string"
        +}
      • changedInput schema / required
        Previous value: -[
        -  "companyName",
        -  "payload"
        -]New value: +[
        +  "companyName",
        +  "payload",
        +  "routeToken"
        +]
    • Changedbrc_create_nominal_journal_batch2 fields changed
      • addedInput schema / properties / routeToken
        Added value: +{
        +  "description": "Opaque routeToken from brc_route_request for this action workflow. Required for transactional tools. Routing permission only — does not replace preview-before-posting or confirmWrite.",
        +  "minLength": 1,
        +  "type": "string"
        +}
      • changedInput schema / required
        Previous value: -[
        -  "companyName",
        -  "entryDate",
        -  "procDate",
        -  "total",
        -  "accountTransactions"
        -]New value: +[
        +  "companyName",
        +  "entryDate",
        +  "procDate",
        +  "total",
        +  "accountTransactions",
        +  "routeToken"
        +]
    • Changedbrc_create_payment2 fields changed
      • addedInput schema / properties / routeToken
        Added value: +{
        +  "description": "Opaque routeToken from brc_route_request for this action workflow. Required for transactional tools. Routing permission only — does not replace preview-before-posting or confirmWrite.",
        +  "minLength": 1,
        +  "type": "string"
        +}
      • changedInput schema / required
        Previous value: -[
        -  "companyName",
        -  "note",
        -  "total",
        -  "bankAccountId",
        -  "bankAccountCode"
        -]New value: +[
        +  "companyName",
        +  "note",
        +  "total",
        +  "bankAccountId",
        +  "bankAccountCode",
        +  "routeToken"
        +]
    • Changedbrc_create_prepayment2 fields changed
      • addedInput schema / properties / routeToken
        Added value: +{
        +  "description": "Opaque routeToken from brc_route_request for this action workflow. Required for transactional tools. Routing permission only — does not replace preview-before-posting or confirmWrite.",
        +  "minLength": 1,
        +  "type": "string"
        +}
      • changedInput schema / required
        Previous value: -[
        -  "companyName",
        -  "acCode",
        -  "entryDate",
        -  "procDate",
        -  "reference",
        -  "total"
        -]New value: +[
        +  "companyName",
        +  "acCode",
        +  "entryDate",
        +  "procDate",
        +  "reference",
        +  "total",
        +  "routeToken"
        +]
    • Changedbrc_create_product2 fields changed
      • addedInput schema / properties / routeToken
        Added value: +{
        +  "description": "Opaque routeToken from brc_route_request for this action workflow. Required for transactional tools. Routing permission only — does not replace preview-before-posting or confirmWrite.",
        +  "minLength": 1,
        +  "type": "string"
        +}
      • changedInput schema / required
        Previous value: -[
        -  "companyName",
        -  "payload"
        -]New value: +[
        +  "companyName",
        +  "payload",
        +  "routeToken"
        +]
    • Changedbrc_create_purchase2 fields changed
      • addedInput schema / properties / routeToken
        Added value: +{
        +  "description": "Opaque routeToken from brc_route_request for this action workflow. Required for transactional tools. Routing permission only — does not replace preview-before-posting or confirmWrite.",
        +  "minLength": 1,
        +  "type": "string"
        +}
      • changedInput schema / required
        Previous value: -[
        -  "companyName",
        -  "supplierId",
        -  "acCode",
        -  "note",
        -  "entryDate",
        -  "procDate",
        -  "bookTranTypeId",
        -  "analysisCategoryId",
        -  "accountCode",
        -  "description",
        -  "netAmount",
        -  "vatRateId",
        -  "vatPercentage"
        -]New value: +[
        +  "companyName",
        +  "supplierId",
        +  "acCode",
        +  "note",
        +  "entryDate",
        +  "procDate",
        +  "bookTranTypeId",
        +  "analysisCategoryId",
        +  "accountCode",
        +  "description",
        +  "netAmount",
        +  "vatRateId",
        +  "vatPercentage",
        +  "routeToken"
        +]
    • Changedbrc_create_purchase_gen_ref2 fields changed
      • addedInput schema / properties / routeToken
        Added value: +{
        +  "description": "Opaque routeToken from brc_route_request for this action workflow. Required for transactional tools. Routing permission only — does not replace preview-before-posting or confirmWrite.",
        +  "minLength": 1,
        +  "type": "string"
        +}
      • changedInput schema / required
        Previous value: -[
        -  "companyName",
        -  "supplierId",
        -  "acCode",
        -  "note",
        -  "entryDate",
        -  "procDate",
        -  "bookTranTypeId",
        -  "analysisCategoryId",
        -  "accountCode",
        -  "description",
        -  "netAmount",
        -  "vatRateId",
        -  "vatPercentage"
        -]New value: +[
        +  "companyName",
        +  "supplierId",
        +  "acCode",
        +  "note",
        +  "entryDate",
        +  "procDate",
        +  "bookTranTypeId",
        +  "analysisCategoryId",
        +  "accountCode",
        +  "description",
        +  "netAmount",
        +  "vatRateId",
        +  "vatPercentage",
        +  "routeToken"
        +]
    • Changedbrc_create_quote2 fields changed
      • addedInput schema / properties / routeToken
        Added value: +{
        +  "description": "Opaque routeToken from brc_route_request for this action workflow. Required for transactional tools. Routing permission only — does not replace preview-before-posting or confirmWrite.",
        +  "minLength": 1,
        +  "type": "string"
        +}
      • changedInput schema / required
        Previous value: -[
        -  "companyName",
        -  "customerOwnerId",
        -  "acCode",
        -  "customerOwnerName",
        -  "comments",
        -  "entryDate",
        -  "procDate",
        -  "saleRepId",
        -  "saleRepCode",
        -  "productId",
        -  "productCode",
        -  "quantity",
        -  "unitPrice",
        -  "vatRateId",
        -  "vatPercentage",
        -  "tranNote",
        -  "analysisCategoryId",
        -  "accountCode"
        -]New value: +[
        +  "companyName",
        +  "customerOwnerId",
        +  "acCode",
        +  "customerOwnerName",
        +  "comments",
        +  "entryDate",
        +  "procDate",
        +  "saleRepId",
        +  "saleRepCode",
        +  "productId",
        +  "productCode",
        +  "quantity",
        +  "unitPrice",
        +  "vatRateId",
        +  "vatPercentage",
        +  "tranNote",
        +  "analysisCategoryId",
        +  "accountCode",
        +  "routeToken"
        +]
    • Changedbrc_create_quote_gen_ref2 fields changed
      • addedInput schema / properties / routeToken
        Added value: +{
        +  "description": "Opaque routeToken from brc_route_request for this action workflow. Required for transactional tools. Routing permission only — does not replace preview-before-posting or confirmWrite.",
        +  "minLength": 1,
        +  "type": "string"
        +}
      • changedInput schema / required
        Previous value: -[
        -  "companyName",
        -  "customerOwnerId",
        -  "acCode",
        -  "customerOwnerName",
        -  "comments",
        -  "entryDate",
        -  "procDate",
        -  "saleRepId",
        -  "saleRepCode",
        -  "productId",
        -  "productCode",
        -  "quantity",
        -  "unitPrice",
        -  "vatRateId",
        -  "vatPercentage",
        -  "tranNote",
        -  "analysisCategoryId",
        -  "accountCode"
        -]New value: +[
        +  "companyName",
        +  "customerOwnerId",
        +  "acCode",
        +  "customerOwnerName",
        +  "comments",
        +  "entryDate",
        +  "procDate",
        +  "saleRepId",
        +  "saleRepCode",
        +  "productId",
        +  "productCode",
        +  "quantity",
        +  "unitPrice",
        +  "vatRateId",
        +  "vatPercentage",
        +  "tranNote",
        +  "analysisCategoryId",
        +  "accountCode",
        +  "routeToken"
        +]
    • Changedbrc_create_sales_credit_note2 fields changed
      • addedInput schema / properties / routeToken
        Added value: +{
        +  "description": "Opaque routeToken from brc_route_request for this action workflow. Required for transactional tools. Routing permission only — does not replace preview-before-posting or confirmWrite.",
        +  "minLength": 1,
        +  "type": "string"
        +}
      • changedInput schema / required
        Previous value: -[
        -  "companyName",
        -  "customerId",
        -  "acCode",
        -  "note",
        -  "entryDate",
        -  "procDate",
        -  "bookTranTypeId",
        -  "analysisCategoryId",
        -  "accountCode",
        -  "description",
        -  "netAmount",
        -  "vatRateId",
        -  "vatPercentage",
        -  "productId",
        -  "productCode",
        -  "quantity",
        -  "unitPrice",
        -  "saleRepId",
        -  "saleRepCode"
        -]New value: +[
        +  "companyName",
        +  "customerId",
        +  "acCode",
        +  "note",
        +  "entryDate",
        +  "procDate",
        +  "bookTranTypeId",
        +  "analysisCategoryId",
        +  "accountCode",
        +  "description",
        +  "netAmount",
        +  "vatRateId",
        +  "vatPercentage",
        +  "productId",
        +  "productCode",
        +  "quantity",
        +  "unitPrice",
        +  "saleRepId",
        +  "saleRepCode",
        +  "routeToken"
        +]
    • Changedbrc_create_sales_credit_note_gen_ref2 fields changed
      • addedInput schema / properties / routeToken
        Added value: +{
        +  "description": "Opaque routeToken from brc_route_request for this action workflow. Required for transactional tools. Routing permission only — does not replace preview-before-posting or confirmWrite.",
        +  "minLength": 1,
        +  "type": "string"
        +}
      • changedInput schema / required
        Previous value: -[
        -  "companyName",
        -  "payload"
        -]New value: +[
        +  "companyName",
        +  "payload",
        +  "routeToken"
        +]
    • Changedbrc_create_sales_entry2 fields changed
      • addedInput schema / properties / routeToken
        Added value: +{
        +  "description": "Opaque routeToken from brc_route_request for this action workflow. Required for transactional tools. Routing permission only — does not replace preview-before-posting or confirmWrite.",
        +  "minLength": 1,
        +  "type": "string"
        +}
      • changedInput schema / required
        Previous value: -[
        -  "companyName",
        -  "customerId",
        -  "acCode",
        -  "note",
        -  "entryDate",
        -  "procDate",
        -  "bookTranTypeId",
        -  "analysisCategoryId",
        -  "accountCode",
        -  "description",
        -  "netAmount",
        -  "vatRateId",
        -  "vatPercentage"
        -]New value: +[
        +  "companyName",
        +  "customerId",
        +  "acCode",
        +  "note",
        +  "entryDate",
        +  "procDate",
        +  "bookTranTypeId",
        +  "analysisCategoryId",
        +  "accountCode",
        +  "description",
        +  "netAmount",
        +  "vatRateId",
        +  "vatPercentage",
        +  "routeToken"
        +]
    • Changedbrc_create_sales_invoice2 fields changed
      • addedInput schema / properties / routeToken
        Added value: +{
        +  "description": "Opaque routeToken from brc_route_request for this action workflow. Required for transactional tools. Routing permission only — does not replace preview-before-posting or confirmWrite.",
        +  "minLength": 1,
        +  "type": "string"
        +}
      • changedInput schema / required
        Previous value: -[
        -  "companyName",
        -  "customerId",
        -  "acCode",
        -  "entryDate",
        -  "procDate",
        -  "bookTranTypeId",
        -  "analysisCategoryId",
        -  "accountCode",
        -  "description",
        -  "netAmount",
        -  "vatRateId",
        -  "vatPercentage",
        -  "productId",
        -  "productCode",
        -  "quantity",
        -  "unitPrice",
        -  "saleRepId",
        -  "saleRepCode"
        -]New value: +[
        +  "companyName",
        +  "customerId",
        +  "acCode",
        +  "entryDate",
        +  "procDate",
        +  "bookTranTypeId",
        +  "analysisCategoryId",
        +  "accountCode",
        +  "description",
        +  "netAmount",
        +  "vatRateId",
        +  "vatPercentage",
        +  "productId",
        +  "productCode",
        +  "quantity",
        +  "unitPrice",
        +  "saleRepId",
        +  "saleRepCode",
        +  "routeToken"
        +]
    • Changedbrc_create_sales_invoice_gen_ref2 fields changed
      • addedInput schema / properties / routeToken
        Added value: +{
        +  "description": "Opaque routeToken from brc_route_request for this action workflow. Required for transactional tools. Routing permission only — does not replace preview-before-posting or confirmWrite.",
        +  "minLength": 1,
        +  "type": "string"
        +}
      • changedInput schema / required
        Previous value: -[
        -  "companyName",
        -  "payload"
        -]New value: +[
        +  "companyName",
        +  "payload",
        +  "routeToken"
        +]
    • Changedbrc_create_sales_rep2 fields changed
      • addedInput schema / properties / routeToken
        Added value: +{
        +  "description": "Opaque routeToken from brc_route_request for this action workflow. Required for transactional tools. Routing permission only — does not replace preview-before-posting or confirmWrite.",
        +  "minLength": 1,
        +  "type": "string"
        +}
      • changedInput schema / required
        Previous value: -[
        -  "companyName",
        -  "code",
        -  "name"
        -]New value: +[
        +  "companyName",
        +  "code",
        +  "name",
        +  "routeToken"
        +]
    • Changedbrc_create_supplier2 fields changed
      • addedInput schema / properties / routeToken
        Added value: +{
        +  "description": "Opaque routeToken from brc_route_request for this action workflow. Required for transactional tools. Routing permission only — does not replace preview-before-posting or confirmWrite.",
        +  "minLength": 1,
        +  "type": "string"
        +}
      • changedInput schema / required
        Previous value: -[
        -  "companyName",
        -  "payload"
        -]New value: +[
        +  "companyName",
        +  "payload",
        +  "routeToken"
        +]
    • Changedbrc_delete_accrual2 fields changed
      • addedInput schema / properties / routeToken
        Added value: +{
        +  "description": "Opaque routeToken from brc_route_request for this action workflow. Required for transactional tools. Routing permission only — does not replace preview-before-posting or confirmWrite.",
        +  "minLength": 1,
        +  "type": "string"
        +}
      • changedInput schema / required
        Previous value: -[
        -  "companyName",
        -  "id",
        -  "timestamp"
        -]New value: +[
        +  "companyName",
        +  "id",
        +  "timestamp",
        +  "routeToken"
        +]
    • Changedbrc_delete_allocation_resolver2 fields changed
      • addedInput schema / properties / routeToken
        Added value: +{
        +  "description": "Opaque routeToken from brc_route_request for this action workflow. Required for transactional tools. Routing permission only — does not replace preview-before-posting or confirmWrite.",
        +  "minLength": 1,
        +  "type": "string"
        +}
      • changedInput schema / required
        Previous value: -[
        -  "companyName",
        -  "id"
        -]New value: +[
        +  "companyName",
        +  "id",
        +  "routeToken"
        +]
    • Changedbrc_delete_bank_account2 fields changed
      • addedInput schema / properties / routeToken
        Added value: +{
        +  "description": "Opaque routeToken from brc_route_request for this action workflow. Required for transactional tools. Routing permission only — does not replace preview-before-posting or confirmWrite.",
        +  "minLength": 1,
        +  "type": "string"
        +}
      • changedInput schema / required
        Previous value: -[
        -  "companyName",
        -  "id"
        -]New value: +[
        +  "companyName",
        +  "id",
        +  "routeToken"
        +]
    • Changedbrc_delete_cash_payment2 fields changed
      • addedInput schema / properties / routeToken
        Added value: +{
        +  "description": "Opaque routeToken from brc_route_request for this action workflow. Required for transactional tools. Routing permission only — does not replace preview-before-posting or confirmWrite.",
        +  "minLength": 1,
        +  "type": "string"
        +}
      • changedInput schema / required
        Previous value: -[
        -  "companyName",
        -  "id"
        -]New value: +[
        +  "companyName",
        +  "id",
        +  "routeToken"
        +]
    • Changedbrc_delete_cash_receipt2 fields changed
      • addedInput schema / properties / routeToken
        Added value: +{
        +  "description": "Opaque routeToken from brc_route_request for this action workflow. Required for transactional tools. Routing permission only — does not replace preview-before-posting or confirmWrite.",
        +  "minLength": 1,
        +  "type": "string"
        +}
      • changedInput schema / required
        Previous value: -[
        -  "companyName",
        -  "id"
        -]New value: +[
        +  "companyName",
        +  "id",
        +  "routeToken"
        +]
    • Changedbrc_delete_customer2 fields changed
      • addedInput schema / properties / routeToken
        Added value: +{
        +  "description": "Opaque routeToken from brc_route_request for this action workflow. Required for transactional tools. Routing permission only — does not replace preview-before-posting or confirmWrite.",
        +  "minLength": 1,
        +  "type": "string"
        +}
      • changedInput schema / required
        Previous value: -[
        -  "companyName",
        -  "id"
        -]New value: +[
        +  "companyName",
        +  "id",
        +  "routeToken"
        +]
    • Changedbrc_delete_nominal_journal_batch2 fields changed
      • addedInput schema / properties / routeToken
        Added value: +{
        +  "description": "Opaque routeToken from brc_route_request for this action workflow. Required for transactional tools. Routing permission only — does not replace preview-before-posting or confirmWrite.",
        +  "minLength": 1,
        +  "type": "string"
        +}
      • changedInput schema / required
        Previous value: -[
        -  "companyName",
        -  "id",
        -  "timestamp"
        -]New value: +[
        +  "companyName",
        +  "id",
        +  "timestamp",
        +  "routeToken"
        +]
    • Changedbrc_delete_payment2 fields changed
      • addedInput schema / properties / routeToken
        Added value: +{
        +  "description": "Opaque routeToken from brc_route_request for this action workflow. Required for transactional tools. Routing permission only — does not replace preview-before-posting or confirmWrite.",
        +  "minLength": 1,
        +  "type": "string"
        +}
      • changedInput schema / required
        Previous value: -[
        -  "companyName",
        -  "id"
        -]New value: +[
        +  "companyName",
        +  "id",
        +  "routeToken"
        +]
    • Changedbrc_delete_prepayment2 fields changed
      • addedInput schema / properties / routeToken
        Added value: +{
        +  "description": "Opaque routeToken from brc_route_request for this action workflow. Required for transactional tools. Routing permission only — does not replace preview-before-posting or confirmWrite.",
        +  "minLength": 1,
        +  "type": "string"
        +}
      • changedInput schema / required
        Previous value: -[
        -  "companyName",
        -  "id",
        -  "timestamp"
        -]New value: +[
        +  "companyName",
        +  "id",
        +  "timestamp",
        +  "routeToken"
        +]
    • Changedbrc_delete_product2 fields changed
      • addedInput schema / properties / routeToken
        Added value: +{
        +  "description": "Opaque routeToken from brc_route_request for this action workflow. Required for transactional tools. Routing permission only — does not replace preview-before-posting or confirmWrite.",
        +  "minLength": 1,
        +  "type": "string"
        +}
      • changedInput schema / required
        Previous value: -[
        -  "companyName",
        -  "id"
        -]New value: +[
        +  "companyName",
        +  "id",
        +  "routeToken"
        +]
    • Changedbrc_delete_purchase2 fields changed
      • addedInput schema / properties / routeToken
        Added value: +{
        +  "description": "Opaque routeToken from brc_route_request for this action workflow. Required for transactional tools. Routing permission only — does not replace preview-before-posting or confirmWrite.",
        +  "minLength": 1,
        +  "type": "string"
        +}
      • changedInput schema / required
        Previous value: -[
        -  "companyName",
        -  "id"
        -]New value: +[
        +  "companyName",
        +  "id",
        +  "routeToken"
        +]
    • Changedbrc_delete_quote2 fields changed
      • addedInput schema / properties / routeToken
        Added value: +{
        +  "description": "Opaque routeToken from brc_route_request for this action workflow. Required for transactional tools. Routing permission only — does not replace preview-before-posting or confirmWrite.",
        +  "minLength": 1,
        +  "type": "string"
        +}
      • changedInput schema / required
        Previous value: -[
        -  "companyName",
        -  "id"
        -]New value: +[
        +  "companyName",
        +  "id",
        +  "routeToken"
        +]
    • Changedbrc_delete_sales_credit_note2 fields changed
      • addedInput schema / properties / routeToken
        Added value: +{
        +  "description": "Opaque routeToken from brc_route_request for this action workflow. Required for transactional tools. Routing permission only — does not replace preview-before-posting or confirmWrite.",
        +  "minLength": 1,
        +  "type": "string"
        +}
      • changedInput schema / required
        Previous value: -[
        -  "companyName",
        -  "id"
        -]New value: +[
        +  "companyName",
        +  "id",
        +  "routeToken"
        +]
    • Changedbrc_delete_sales_entry2 fields changed
      • addedInput schema / properties / routeToken
        Added value: +{
        +  "description": "Opaque routeToken from brc_route_request for this action workflow. Required for transactional tools. Routing permission only — does not replace preview-before-posting or confirmWrite.",
        +  "minLength": 1,
        +  "type": "string"
        +}
      • changedInput schema / required
        Previous value: -[
        -  "companyName",
        -  "id"
        -]New value: +[
        +  "companyName",
        +  "id",
        +  "routeToken"
        +]
    • Changedbrc_delete_sales_invoice2 fields changed
      • addedInput schema / properties / routeToken
        Added value: +{
        +  "description": "Opaque routeToken from brc_route_request for this action workflow. Required for transactional tools. Routing permission only — does not replace preview-before-posting or confirmWrite.",
        +  "minLength": 1,
        +  "type": "string"
        +}
      • changedInput schema / required
        Previous value: -[
        -  "companyName",
        -  "id"
        -]New value: +[
        +  "companyName",
        +  "id",
        +  "routeToken"
        +]
    • Changedbrc_delete_sales_rep2 fields changed
      • addedInput schema / properties / routeToken
        Added value: +{
        +  "description": "Opaque routeToken from brc_route_request for this action workflow. Required for transactional tools. Routing permission only — does not replace preview-before-posting or confirmWrite.",
        +  "minLength": 1,
        +  "type": "string"
        +}
      • changedInput schema / required
        Previous value: -[
        -  "companyName",
        -  "id"
        -]New value: +[
        +  "companyName",
        +  "id",
        +  "routeToken"
        +]
    • Changedbrc_delete_supplier2 fields changed
      • addedInput schema / properties / routeToken
        Added value: +{
        +  "description": "Opaque routeToken from brc_route_request for this action workflow. Required for transactional tools. Routing permission only — does not replace preview-before-posting or confirmWrite.",
        +  "minLength": 1,
        +  "type": "string"
        +}
      • changedInput schema / required
        Previous value: -[
        -  "companyName",
        -  "id"
        -]New value: +[
        +  "companyName",
        +  "id",
        +  "routeToken"
        +]
    • Changedbrc_find_help_resources3 fields changed
      • removedInput schema / properties / connectionRef
        Removed value: -{
        -  "description": "Opaque Red connection reference returned by brc_confirm_company_connection. Pass this exact value on every later tool call when the MCP client rotates session ids (for example Vibe/Mistral). Keep reusing the same connectionRef after successful tool calls — do not start a new connection because a lookup returned empty or partial data. It is not an API key and does not contain credentials.",
        -  "type": "string"
        -}
      • changedInput schema / properties / source / description
        Previous value: -"Optional source filter: freshdesk, customer_docs, recorded_webinar, upcoming_webinar, or all."New value: +"Optional source filter: freshdesk, customer_docs, recorded_webinar, youtube_video, upcoming_webinar, or all."
      • changedInput schema / properties / source / enum
        Previous value: -[
        -  "freshdesk",
        -  "customer_docs",
        -  "recorded_webinar",
        -  "upcoming_webinar",
        -  "all"
        -]New value: +[
        +  "freshdesk",
        +  "customer_docs",
        +  "recorded_webinar",
        +  "youtube_video",
        +  "upcoming_webinar",
        +  "all"
        +]
    • Changedbrc_generate_sales_invoice_from_quote2 fields changed
      • addedInput schema / properties / routeToken
        Added value: +{
        +  "description": "Opaque routeToken from brc_route_request for this action workflow. Required for transactional tools. Routing permission only — does not replace preview-before-posting or confirmWrite.",
        +  "minLength": 1,
        +  "type": "string"
        +}
      • changedInput schema / required
        Previous value: -[
        -  "companyName",
        -  "quoteId"
        -]New value: +[
        +  "companyName",
        +  "quoteId",
        +  "routeToken"
        +]
    • Changedbrc_get_deployment_policy1 field changed
      • removedInput schema / properties / connectionRef
        Removed value: -{
        -  "description": "Opaque Red connection reference returned by brc_confirm_company_connection. Pass this exact value on every later tool call when the MCP client rotates session ids (for example Vibe/Mistral). Keep reusing the same connectionRef after successful tool calls — do not start a new connection because a lookup returned empty or partial data. It is not an API key and does not contain credentials.",
        -  "type": "string"
        -}
    • Changedbrc_get_help_resource_details2 fields changed
      • removedInput schema / properties / connectionRef
        Removed value: -{
        -  "description": "Opaque Red connection reference returned by brc_confirm_company_connection. Pass this exact value on every later tool call when the MCP client rotates session ids (for example Vibe/Mistral). Keep reusing the same connectionRef after successful tool calls — do not start a new connection because a lookup returned empty or partial data. It is not an API key and does not contain credentials.",
        -  "type": "string"
        -}
      • changedInput schema / properties / resourceId / description
        Previous value: -"Resource ID from brc_find_help_resources, for example customer_docs:bank-reconciliation or freshdesk:1001."New value: +"Resource ID from brc_red_help or brc_find_help_resources, for example customer_docs:bank-reconciliation or freshdesk:1001."
    • Changedbrc_getting_started1 field changed
      • removedInput schema / properties / connectionRef
        Removed value: -{
        -  "description": "Opaque Red connection reference returned by brc_confirm_company_connection. Pass this exact value on every later tool call when the MCP client rotates session ids (for example Vibe/Mistral). Keep reusing the same connectionRef after successful tool calls — do not start a new connection because a lookup returned empty or partial data. It is not an API key and does not contain credentials.",
        -  "type": "string"
        -}
    • Changedbrc_process_vat_category_rates2 fields changed
      • addedInput schema / properties / routeToken
        Added value: +{
        +  "description": "Opaque routeToken from brc_route_request for this action workflow. Required for transactional tools. Routing permission only — does not replace preview-before-posting or confirmWrite.",
        +  "minLength": 1,
        +  "type": "string"
        +}
      • changedInput schema / required
        Previous value: -[
        -  "companyName"
        -]New value: +[
        +  "companyName",
        +  "routeToken"
        +]
    • Addedbrc_red_help
    • Changedbrc_reopen_quote2 fields changed
      • addedInput schema / properties / routeToken
        Added value: +{
        +  "description": "Opaque routeToken from brc_route_request for this action workflow. Required for transactional tools. Routing permission only — does not replace preview-before-posting or confirmWrite.",
        +  "minLength": 1,
        +  "type": "string"
        +}
      • changedInput schema / required
        Previous value: -[
        -  "companyName",
        -  "id"
        -]New value: +[
        +  "companyName",
        +  "id",
        +  "routeToken"
        +]
    • Addedbrc_route_request
    • Changedbrc_send_email_statement2 fields changed
      • addedInput schema / properties / routeToken
        Added value: +{
        +  "description": "Opaque routeToken from brc_route_request for this action workflow. Required for transactional tools. Routing permission only — does not replace preview-before-posting or confirmWrite.",
        +  "minLength": 1,
        +  "type": "string"
        +}
      • changedInput schema / required
        Previous value: -[
        -  "companyName",
        -  "customerId"
        -]New value: +[
        +  "companyName",
        +  "customerId",
        +  "routeToken"
        +]
    • Changedbrc_send_quote_email2 fields changed
      • addedInput schema / properties / routeToken
        Added value: +{
        +  "description": "Opaque routeToken from brc_route_request for this action workflow. Required for transactional tools. Routing permission only — does not replace preview-before-posting or confirmWrite.",
        +  "minLength": 1,
        +  "type": "string"
        +}
      • changedInput schema / required
        Previous value: -[
        -  "companyName",
        -  "quoteId"
        -]New value: +[
        +  "companyName",
        +  "quoteId",
        +  "routeToken"
        +]
    • Changedbrc_send_sales_invoice_email2 fields changed
      • addedInput schema / properties / routeToken
        Added value: +{
        +  "description": "Opaque routeToken from brc_route_request for this action workflow. Required for transactional tools. Routing permission only — does not replace preview-before-posting or confirmWrite.",
        +  "minLength": 1,
        +  "type": "string"
        +}
      • changedInput schema / required
        Previous value: -[
        -  "companyName",
        -  "salesInvoiceId"
        -]New value: +[
        +  "companyName",
        +  "salesInvoiceId",
        +  "routeToken"
        +]
    • Changedbrc_update_accrual2 fields changed
      • addedInput schema / properties / routeToken
        Added value: +{
        +  "description": "Opaque routeToken from brc_route_request for this action workflow. Required for transactional tools. Routing permission only — does not replace preview-before-posting or confirmWrite.",
        +  "minLength": 1,
        +  "type": "string"
        +}
      • changedInput schema / required
        Previous value: -[
        -  "companyName",
        -  "id",
        -  "acCode",
        -  "entryDate",
        -  "procDate",
        -  "reference",
        -  "total",
        -  "timestamp"
        -]New value: +[
        +  "companyName",
        +  "id",
        +  "acCode",
        +  "entryDate",
        +  "procDate",
        +  "reference",
        +  "total",
        +  "timestamp",
        +  "routeToken"
        +]
    • Changedbrc_update_allocations2 fields changed
      • addedInput schema / properties / routeToken
        Added value: +{
        +  "description": "Opaque routeToken from brc_route_request for this action workflow. Required for transactional tools. Routing permission only — does not replace preview-before-posting or confirmWrite.",
        +  "minLength": 1,
        +  "type": "string"
        +}
      • changedInput schema / required
        Previous value: -[
        -  "companyName",
        -  "bookTranId",
        -  "allocationResolvers"
        -]New value: +[
        +  "companyName",
        +  "bookTranId",
        +  "allocationResolvers",
        +  "routeToken"
        +]
    • Changedbrc_update_bank_account2 fields changed
      • addedInput schema / properties / routeToken
        Added value: +{
        +  "description": "Opaque routeToken from brc_route_request for this action workflow. Required for transactional tools. Routing permission only — does not replace preview-before-posting or confirmWrite.",
        +  "minLength": 1,
        +  "type": "string"
        +}
      • changedInput schema / required
        Previous value: -[
        -  "companyName",
        -  "id"
        -]New value: +[
        +  "companyName",
        +  "id",
        +  "routeToken"
        +]
    • Changedbrc_update_cash_payment2 fields changed
      • addedInput schema / properties / routeToken
        Added value: +{
        +  "description": "Opaque routeToken from brc_route_request for this action workflow. Required for transactional tools. Routing permission only — does not replace preview-before-posting or confirmWrite.",
        +  "minLength": 1,
        +  "type": "string"
        +}
      • changedInput schema / required
        Previous value: -[
        -  "companyName",
        -  "id"
        -]New value: +[
        +  "companyName",
        +  "id",
        +  "routeToken"
        +]
    • Changedbrc_update_cash_receipt2 fields changed
      • addedInput schema / properties / routeToken
        Added value: +{
        +  "description": "Opaque routeToken from brc_route_request for this action workflow. Required for transactional tools. Routing permission only — does not replace preview-before-posting or confirmWrite.",
        +  "minLength": 1,
        +  "type": "string"
        +}
      • changedInput schema / required
        Previous value: -[
        -  "companyName",
        -  "id"
        -]New value: +[
        +  "companyName",
        +  "id",
        +  "routeToken"
        +]
    • Changedbrc_update_customer2 fields changed
      • addedInput schema / properties / routeToken
        Added value: +{
        +  "description": "Opaque routeToken from brc_route_request for this action workflow. Required for transactional tools. Routing permission only — does not replace preview-before-posting or confirmWrite.",
        +  "minLength": 1,
        +  "type": "string"
        +}
      • changedInput schema / required
        Previous value: -[
        -  "companyName",
        -  "id"
        -]New value: +[
        +  "companyName",
        +  "id",
        +  "routeToken"
        +]
    • Changedbrc_update_nominal_journal_batch2 fields changed
      • addedInput schema / properties / routeToken
        Added value: +{
        +  "description": "Opaque routeToken from brc_route_request for this action workflow. Required for transactional tools. Routing permission only — does not replace preview-before-posting or confirmWrite.",
        +  "minLength": 1,
        +  "type": "string"
        +}
      • changedInput schema / required
        Previous value: -[
        -  "companyName",
        -  "id",
        -  "entryDate",
        -  "procDate",
        -  "total",
        -  "timestamp",
        -  "accountTransactions"
        -]New value: +[
        +  "companyName",
        +  "id",
        +  "entryDate",
        +  "procDate",
        +  "total",
        +  "timestamp",
        +  "accountTransactions",
        +  "routeToken"
        +]
    • Changedbrc_update_payment2 fields changed
      • addedInput schema / properties / routeToken
        Added value: +{
        +  "description": "Opaque routeToken from brc_route_request for this action workflow. Required for transactional tools. Routing permission only — does not replace preview-before-posting or confirmWrite.",
        +  "minLength": 1,
        +  "type": "string"
        +}
      • changedInput schema / required
        Previous value: -[
        -  "companyName",
        -  "id"
        -]New value: +[
        +  "companyName",
        +  "id",
        +  "routeToken"
        +]
    • Changedbrc_update_prepayment2 fields changed
      • addedInput schema / properties / routeToken
        Added value: +{
        +  "description": "Opaque routeToken from brc_route_request for this action workflow. Required for transactional tools. Routing permission only — does not replace preview-before-posting or confirmWrite.",
        +  "minLength": 1,
        +  "type": "string"
        +}
      • changedInput schema / required
        Previous value: -[
        -  "companyName",
        -  "id",
        -  "acCode",
        -  "entryDate",
        -  "procDate",
        -  "reference",
        -  "total",
        -  "timestamp"
        -]New value: +[
        +  "companyName",
        +  "id",
        +  "acCode",
        +  "entryDate",
        +  "procDate",
        +  "reference",
        +  "total",
        +  "timestamp",
        +  "routeToken"
        +]
    • Changedbrc_update_product2 fields changed
      • addedInput schema / properties / routeToken
        Added value: +{
        +  "description": "Opaque routeToken from brc_route_request for this action workflow. Required for transactional tools. Routing permission only — does not replace preview-before-posting or confirmWrite.",
        +  "minLength": 1,
        +  "type": "string"
        +}
      • changedInput schema / required
        Previous value: -[
        -  "companyName",
        -  "id"
        -]New value: +[
        +  "companyName",
        +  "id",
        +  "routeToken"
        +]
    • Changedbrc_update_purchase2 fields changed
      • addedInput schema / properties / routeToken
        Added value: +{
        +  "description": "Opaque routeToken from brc_route_request for this action workflow. Required for transactional tools. Routing permission only — does not replace preview-before-posting or confirmWrite.",
        +  "minLength": 1,
        +  "type": "string"
        +}
      • changedInput schema / required
        Previous value: -[
        -  "companyName",
        -  "id"
        -]New value: +[
        +  "companyName",
        +  "id",
        +  "routeToken"
        +]
    • Changedbrc_update_quote2 fields changed
      • addedInput schema / properties / routeToken
        Added value: +{
        +  "description": "Opaque routeToken from brc_route_request for this action workflow. Required for transactional tools. Routing permission only — does not replace preview-before-posting or confirmWrite.",
        +  "minLength": 1,
        +  "type": "string"
        +}
      • changedInput schema / required
        Previous value: -[
        -  "companyName",
        -  "id"
        -]New value: +[
        +  "companyName",
        +  "id",
        +  "routeToken"
        +]
    • Changedbrc_update_sales_credit_note2 fields changed
      • addedInput schema / properties / routeToken
        Added value: +{
        +  "description": "Opaque routeToken from brc_route_request for this action workflow. Required for transactional tools. Routing permission only — does not replace preview-before-posting or confirmWrite.",
        +  "minLength": 1,
        +  "type": "string"
        +}
      • changedInput schema / required
        Previous value: -[
        -  "companyName",
        -  "id"
        -]New value: +[
        +  "companyName",
        +  "id",
        +  "routeToken"
        +]
    • Changedbrc_update_sales_entry2 fields changed
      • addedInput schema / properties / routeToken
        Added value: +{
        +  "description": "Opaque routeToken from brc_route_request for this action workflow. Required for transactional tools. Routing permission only — does not replace preview-before-posting or confirmWrite.",
        +  "minLength": 1,
        +  "type": "string"
        +}
      • changedInput schema / required
        Previous value: -[
        -  "companyName",
        -  "id"
        -]New value: +[
        +  "companyName",
        +  "id",
        +  "routeToken"
        +]
    • Changedbrc_update_sales_invoice2 fields changed
      • addedInput schema / properties / routeToken
        Added value: +{
        +  "description": "Opaque routeToken from brc_route_request for this action workflow. Required for transactional tools. Routing permission only — does not replace preview-before-posting or confirmWrite.",
        +  "minLength": 1,
        +  "type": "string"
        +}
      • changedInput schema / required
        Previous value: -[
        -  "companyName",
        -  "id"
        -]New value: +[
        +  "companyName",
        +  "id",
        +  "routeToken"
        +]
    • Changedbrc_update_sales_rep2 fields changed
      • addedInput schema / properties / routeToken
        Added value: +{
        +  "description": "Opaque routeToken from brc_route_request for this action workflow. Required for transactional tools. Routing permission only — does not replace preview-before-posting or confirmWrite.",
        +  "minLength": 1,
        +  "type": "string"
        +}
      • changedInput schema / required
        Previous value: -[
        -  "companyName",
        -  "id"
        -]New value: +[
        +  "companyName",
        +  "id",
        +  "routeToken"
        +]
    • Changedbrc_update_supplier2 fields changed
      • addedInput schema / properties / routeToken
        Added value: +{
        +  "description": "Opaque routeToken from brc_route_request for this action workflow. Required for transactional tools. Routing permission only — does not replace preview-before-posting or confirmWrite.",
        +  "minLength": 1,
        +  "type": "string"
        +}
      • changedInput schema / required
        Previous value: -[
        -  "companyName",
        -  "id"
        -]New value: +[
        +  "companyName",
        +  "id",
        +  "routeToken"
        +]
  8. 157 tool updates
    • First observedbrc_batch_cash_payments
    • First observedbrc_batch_cash_receipts
    • First observedbrc_batch_customers
    • First observedbrc_batch_payments
    • First observedbrc_batch_products
    • First observedbrc_batch_purchases
    • First observedbrc_batch_quotes
    • First observedbrc_batch_sales_credit_notes
    • First observedbrc_batch_sales_entries
    • First observedbrc_batch_sales_invoices
    • First observedbrc_batch_sales_reps
    • First observedbrc_batch_suppliers
    • First observedbrc_check_transaction_settings
    • First observedbrc_clear_all_company_api_keys
    • First observedbrc_clear_audit_log
    • First observedbrc_clear_company_api_key
    • First observedbrc_close_quote
    • First observedbrc_company_readiness_check
    • First observedbrc_confirm_company_connection
    • First observedbrc_create_accrual
    • First observedbrc_create_bank_account
    • First observedbrc_create_cash_payment
    • First observedbrc_create_cash_receipt
    • First observedbrc_create_customer
    • First observedbrc_create_nominal_journal_batch
    • First observedbrc_create_payment
    • First observedbrc_create_prepayment
    • First observedbrc_create_product
    • First observedbrc_create_purchase
    • First observedbrc_create_purchase_gen_ref
    • First observedbrc_create_quote
    • First observedbrc_create_quote_gen_ref
    • First observedbrc_create_sales_credit_note
    • First observedbrc_create_sales_credit_note_gen_ref
    • First observedbrc_create_sales_entry
    • First observedbrc_create_sales_invoice
    • First observedbrc_create_sales_invoice_gen_ref
    • First observedbrc_create_sales_rep
    • First observedbrc_create_supplier
    • First observedbrc_delete_accrual
    • First observedbrc_delete_allocation_resolver
    • First observedbrc_delete_bank_account
    • First observedbrc_delete_cash_payment
    • First observedbrc_delete_cash_receipt
    • First observedbrc_delete_customer
    • First observedbrc_delete_nominal_journal_batch
    • First observedbrc_delete_payment
    • First observedbrc_delete_prepayment
    • First observedbrc_delete_product
    • First observedbrc_delete_purchase
    • First observedbrc_delete_quote
    • First observedbrc_delete_sales_credit_note
    • First observedbrc_delete_sales_entry
    • First observedbrc_delete_sales_invoice
    • First observedbrc_delete_sales_rep
    • First observedbrc_delete_supplier
    • First observedbrc_find_help_resources
    • First observedbrc_generate_sales_invoice_from_quote
    • First observedbrc_get_accrual
    • First observedbrc_get_bank_account
    • First observedbrc_get_cash_payment
    • First observedbrc_get_cash_receipt
    • First observedbrc_get_company_api_key_status
    • First observedbrc_get_company_logo
    • First observedbrc_get_company_options
    • First observedbrc_get_company_processing_settings
    • First observedbrc_get_company_reference_settings
    • First observedbrc_get_company_setup_config
    • First observedbrc_get_customer
    • First observedbrc_get_customer_opening_balance
    • First observedbrc_get_deployment_policy
    • First observedbrc_get_financial_year
    • First observedbrc_get_help_resource_details
    • First observedbrc_get_nom_ac_ledger_by_ids
    • First observedbrc_get_nominal_account_ledger_by_id
    • First observedbrc_get_nominal_journal_batch
    • First observedbrc_get_payment
    • First observedbrc_get_prepayment
    • First observedbrc_get_product
    • First observedbrc_get_purchase
    • First observedbrc_get_quote
    • First observedbrc_get_sales_credit_note
    • First observedbrc_get_sales_entry
    • First observedbrc_get_sales_invoice
    • First observedbrc_get_sales_rep
    • First observedbrc_get_supplier
    • First observedbrc_get_supplier_opening_balance
    • First observedbrc_getting_started
    • First observedbrc_grouped_nominal_accounts_report
    • First observedbrc_list_accounts
    • First observedbrc_list_accruals
    • First observedbrc_list_allocated_transactions
    • First observedbrc_list_allocation_resolvers
    • First observedbrc_list_analysis_categories
    • First observedbrc_list_audit_log
    • First observedbrc_list_bank_accounts
    • First observedbrc_list_book_tran_types
    • First observedbrc_list_cash_payments
    • First observedbrc_list_cash_receipts
    • First observedbrc_list_category_types
    • First observedbrc_list_company_contexts
    • First observedbrc_list_company_settings
    • First observedbrc_list_customer_account_trans
    • First observedbrc_list_customer_op_bal_trans
    • First observedbrc_list_customer_quotes
    • First observedbrc_list_customers
    • First observedbrc_list_customers_without_dormant
    • First observedbrc_list_nominal_accounts
    • First observedbrc_list_nominal_journal_batches
    • First observedbrc_list_owner_type_groups
    • First observedbrc_list_owner_types
    • First observedbrc_list_payments
    • First observedbrc_list_prepayments
    • First observedbrc_list_product_types
    • First observedbrc_list_products
    • First observedbrc_list_products_without_dormant
    • First observedbrc_list_purchases
    • First observedbrc_list_quotes
    • First observedbrc_list_sales
    • First observedbrc_list_sales_credit_notes
    • First observedbrc_list_sales_entries
    • First observedbrc_list_sales_invoices
    • First observedbrc_list_sales_reps
    • First observedbrc_list_supplier_account_trans
    • First observedbrc_list_supplier_op_bal_trans
    • First observedbrc_list_suppliers
    • First observedbrc_list_user_defined_fields
    • First observedbrc_list_vat_analysis_types
    • First observedbrc_list_vat_categories
    • First observedbrc_list_vat_rates
    • First observedbrc_list_vat_types
    • First observedbrc_multi_company_nom_ac_report
    • First observedbrc_open_edu_admin
    • First observedbrc_process_vat_category_rates
    • First observedbrc_reopen_quote
    • First observedbrc_send_email_statement
    • First observedbrc_send_quote_email
    • First observedbrc_send_sales_invoice_email
    • First observedbrc_start_company_connection
    • First observedbrc_update_accrual
    • First observedbrc_update_allocations
    • First observedbrc_update_bank_account
    • First observedbrc_update_cash_payment
    • First observedbrc_update_cash_receipt
    • First observedbrc_update_customer
    • First observedbrc_update_nominal_journal_batch
    • First observedbrc_update_payment
    • First observedbrc_update_prepayment
    • First observedbrc_update_product
    • First observedbrc_update_purchase
    • First observedbrc_update_quote
    • First observedbrc_update_sales_credit_note
    • First observedbrc_update_sales_entry
    • First observedbrc_update_sales_invoice
    • First observedbrc_update_sales_rep
    • First observedbrc_update_supplier
    • First observedbrc_validate_transaction_date

Frequently Asked Questions

Discussions

No comments yet. Be the first to start the discussion!

Related MCP Connectors

Related MCP Servers

  • A
    license
    Not graded
    quality
    B
    maintenance
    Hosted MCP server for Exact Online. Ask questions, pull reports, and prepare bookings you approve first.
    MIT
  • A
    license
    Not graded
    quality
    A
    maintenance
    MCP server for ConnectWise PSA (Manage) enabling ticket management, time entry, and read-only lookups of companies, contacts, and configurations with role-based access control and bring-your-own-API-keys support.
    459
    5
    MIT
Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.

TDQS

B3.2/5.0
Disambiguation4/5

Most tools have a clear single resource-and-action focus, and the systematic naming helps an agent separate create/get/update/delete/list operations. The main confusion risks are the help/search cluster (red_help, find_help_resources, get_help_resource_details) and the payment/cash-payment/batch-payment variants, which require careful reading of the descriptions to avoid misselection.

Naming Consistency4/5

The brc_ prefix with snake_case verb_noun naming is used consistently across the vast majority of tools, e.g. brc_list_customers, brc_create_sales_invoice, brc_delete_purchase. A few noun-style names like brc_company_readiness_check, brc_grouped_nominal_accounts_report, and brc_red_help break the pattern, but these are minor deviations.

Tool Count1/5

159 tools is an extreme count for an MCP server, well beyond the 50+ threshold described as an extreme mismatch. While the accounting domain is broad, the surface is inflated by batch variants, generated-reference variants, and without-dormant list variants that could be consolidated.

Completeness4/5

Core accounting entities have strong lifecycle coverage: customers, suppliers, products, sales reps, bank accounts, quotes, sales invoices/entries/credit notes, purchases, payments, cash receipts, accruals, prepayments, and nominal journal batches all support relevant CRUD and batch operations. Minor gaps include the quote update being limited to the reference only, no update/create tools for VAT categories or company settings, and email sending being limited to quotes, invoices, and statements.